Question

Launch an event through another stop event

  • 26 March 2024
  • 2 replies
  • 30 views

Badge +3

Hello, is there any way to always bypass the stop-event? Because I would need one form (namely PurchasePartSupplManuf in PurchasePartSupplier) to be completely locked for changes via stop-event. But in order to be able that when I make a change in PartManufacturer in Part_Catalog, it automatically takes me to PurchasePartSupplManuf and ignores the stop-event to PurchasePartSupplManuf. I know I can set exceptions, through #USER_ID# but it is not good for this. 

For example i need with for break my stop event and make changes in PurchasePartSupplier

 

DECLARE
attr_ VARCHAR2(32000);
sql_msg_ VARCHAR2(32000);
stmt_ VARCHAR2(32000);
BEGIN
stmt_ :=
'DECLARE

info_ VARCHAR2(32000) := NULL;
attr_ VARCHAR2(32000);
p1_ VARCHAR2(32000) := '''';
p2_ VARCHAR2(32000) := '''';
row_key_ VARCHAR2(32000):=''&NEW:ROWKEY'';

CURSOR get_objid IS
SELECT * FROM PART_MANU_PART_NO WHERE OBJKEY =row_key_;

BEGIN

FOR part1_ IN (select * from PURCHASE_PART_SUPPLIER a where a.part_no=''&NEW:PART_NO''
)
LOOP
FOR REC IN get_objid LOOP


Client_Sys.Clear_Attr(attr_);
Client_Sys.Add_To_Attr(''PART_NO'', part1_.PART_NO , attr_);
Client_Sys.Add_To_Attr(''VENDOR_NO'', part1_.VENDOR_NO , attr_);
Client_Sys.Add_To_Attr(''CONTRACT'', part1_.CONTRACT , attr_);
Client_Sys.Add_To_Attr(''MANUFACTURER_ID'', REC.MANUFACTURER_NO, attr_);
Client_Sys.Add_To_Attr(''MANU_PART_NO'', REC.MANU_PART_NO, attr_);
Client_Sys.Add_To_Attr(''PREFERRED_MANU_PART_DB'', REC.PREFERRED_MANU_PART_DB, attr_);
--Client_Sys.Add_To_Attr(''PRINT'', ''False'', attr_);
Client_Sys.Add_To_Attr(''PRINT_DB'', ''FALSE'', attr_);


IFSAPP.PURCH_PART_SUPP_MANUF_PART_API.NEW__(info_,p1_,p2_,attr_ ,''DO'');

END LOOP;
END LOOP;
END; ';

sql_msg_ := Message_SYS.Construct('RELEASE');
Message_SYS.Add_Attribute(sql_msg_, 'SQL', stmt_);

Client_SYS.Clear_Attr(attr_);
Client_SYS.Add_To_Attr('SQL_DATA_', sql_msg_, attr_);
Client_SYS.Add_To_Attr('MSG_', '', attr_);

IFSAPP.Transaction_SYS.Deferred_Call('Fnd_Event_Action_API.Action_Executeonlinesql', 'PARAMETER', attr_,
Language_SYS.Translate_Constant('Event', 'UPDREV: PurchasePartSupplier' ));

END;

 


2 replies

Badge +3

In short, I would need to be able to say that an event where I change something in part_catalog is always triggered by the IFSAPP user and then I am able to make an exception in the stop-event.

Badge +1

Hi,

 

I am not very clear about your requirement, but how about using Fnd_Session_API.Get_Fnd_User?

Reply