Hi @hhy38 ,
I think your issue will be solved using this method “Shop_Order_History_API.Generate “ instead of using New__ method directly.
Thanks & best Regards,
Wimali
Hi @hhy38 ,
There is several errors in there, but your main challenge is that you cannot make a deferred call to a procedure that has output parameters.
Hi @hhy38,
You cannot call PROCEDURES having arguments of type IN/OUT or OUT with Transaction_SYS.Deferred_Call because you will get the below error in the background job,
Argument INFO_ is of type IN/OUT or OUT, which is not supported.
ORA-20105: Transaction.WRONG_ARGUMENT
This means you cannot call the standard New__, Modify__ and Remove__ PROCEDURES directly.
Option 1,
Find a similar PROCEDURE of the same API which gets the job done,
In your case Shop_Order_History_API.Generate (I'm not sure if this is available on App9).
DECLARE
id1_ NUMBER;
attr_ VARCHAR2(32000);
BEGIN
Client_SYS.Clear_Attr(attr_);
Client_SYS.Add_To_Attr('ORDER_NO_', '1', attr_);
Client_SYS.Add_To_Attr('RELEASE_NO_', '*', attr_);
Client_SYS.Add_To_Attr('SEQUENCE_NO_', '*', attr_);
Client_SYS.Add_To_Attr('MESSAGE_TEXT_', 'Message', attr_);
Client_SYS.Add_To_Attr('OLD_VALUE_', '1', attr_);
Client_SYS.Add_To_Attr('NEW_VALUE_', '2', attr_);
Client_SYS.Add_To_Attr('RESULT_KEY_', '', attr_);
Transaction_SYS.Deferred_Call(id_ => id1_,
procedure_name_ => 'Shop_Order_History_API.Generate',
argument_type_db_ => 'PARAMETER',
arguments_ => attr_,
description_ => 'Shop Order Configuration Changed');
END;
Option 2,
Cheers !
Dhananjaya.
@dhlelk, @Hans Andersen, @Wimali Athulathmudali Thanks for all answers.