Estou com um imenso problema na customização da custom.pll (na verdade não é exatamente essa custom, mas uma alternativa chamada por ela).
Ocorre que o processo aparentemente esta rodando normalmente, mas no final do processo retorna um erro (FRM:40700: Esta Trigger não existe: SPECIAL15).
É algum bug da oracle ou tem como resolver esse problema?
O meu codigo esta abaixo.
PACKAGE BODY MRS_AP_CUS_CON_059_PK IS
PROCEDURE mrs_ap_event_p(event_name IN VARCHAR2) IS
mi_id menuitem;
BEGIN
--
IF event_name = 'WHEN-NEW-BLOCK-INSTANCE' THEN
--
mi_id := find_menu_item('SPECIAL.SPECIAL15');
--
app_special2.instantiate('SPECIAL15', 'Validação de Lote de NFF');
set_menu_item_property(mi_id, displayed, property_true);
set_menu_item_property(mi_id, enabled, property_true);
--
ELSIF event_name = 'SPECIAL15' THEN
--
---<Inicio Atualização por Fernando Hein>---
declare
v_meaning fnd_lookups.meaning%type;
v_sob_id gl_sets_of_books.set_of_books_id%type;
v_param_org_id ap_holds_all.org_id%type;
v_x varchar2(240);
l_nRequest_id number;
l_last_record varchar2(50);
l_user_id fnd_user.user_id%TYPE;
begin
select meaning
INTO v_meaning
from fnd_lookups
where lookup_type = 'YES_NO'
and lookup_code = 'N';
v_sob_id := FND_PROFILE.VALUE('GL_SET_OF_BKS_ID');
v_param_org_id := name_in('INV_SUM_FOLDER.ORG_ID');
l_user_id := FND_PROFILE.VALUE('USER_ID');
go_block('BAT_SUM_FOLDER');
First_Record;
loop
v_x := name_in('BAT_SUM_FOLDER.OPERATING_UNIT');
l_nRequest_id := fnd_request.submit_request('SQLAP'
,'APPRVL'
,NULL --Obrigatório NULL
,NULL --Obrigatório NULL
,FALSE --Obrigatório FALSE
,v_param_org_id
,'All'
,NULL
,NULL
,NULL
,NULL
,NULL
,v_x
,l_user_id
,v_sob_id
,v_meaning
,'1000'
,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''
,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''
,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''
,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''
,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''
,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''
,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''
,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,''
,'' ,'' ,'' ,'' ,'' );
l_last_record := name_in('SYSTEM.LAST_RECORD');
IF l_last_record = 'TRUE' THEN
exit;
ELSE
next_record;
END IF;
end loop;
END;
END IF;
--
END;
END;