Hello.
On the customer order screen, I made a new event, so, when a new line is created in the detail, I have to check the freeze price field, but nothing happens.
On the event action, I put the condition “NEW:PRICE_FREEZE = FREE”, in the code, I put this :
DECLARE
attr_ VARCHAR2(32000);
BEGIN
Client_SYS.Clear_Attr(attr_);
Client_SYS.Add_To_Attr('P_ROWKEY','&NEW:ROWKEY' , attr_);
transaction_sys.deferred_call('CustomPackage_API.CheckPriceFreeze','PARAMETER',attr_ ,'#Check the “price freeze” field');
END;
I defined the function like this :
PROCEDURE CheckPriceFreeze(P_ROWKEY VARCHAR2)
IS
v_attr varchar2(32000);
v_objid varchar2(200);
v_objversion varchar2(200);
v_result varchar2(32000);
BEGIN
SELECT OBJID, OBJVERSION into v_objid, v_objversion
FROM CUSTOMER_ORDER_LINE
WHERE OBJKEY=P_ROWKEY;
Client_SYS.Clear_Attr(v_attr);
Client_SYS.Add_To_Attr('PRICE_FREEZE_DB','FROZEN' , v_attr);
IFSAPP.CUSTOMER_ORDER_LINE_API.MODIFY__(v_result ,v_objid ,v_objversion , v_attr, 'DO' );
COMMIT;
END CheckPriceFreeze;
In the background jobs screen, I can see the call of the procedure, its status is set to posted…
I don’t know what’s wrong with my code, when I run the procedure via sql developer, the field is correctly checked...