1

I'm trying to initiate a background to the server, but I get errors. This is my PL/SQL script:

DECLARE
    attr_ VARCHAR2(32000);
BEGIN
    client_SYS.Clear_Attr(attr_);
    Client_SYS.Add_To_Attr('LINE_ITEM_NO_','8', attr_);
    Client_SYS.Add_To_Attr('ORDER_NO_','92298', attr_);
    Client_SYS.Add_To_Attr('RELEASE_NO_','*', attr_);
    Client_SYS.Add_To_Attr('SEQUENCE_NO_','*', attr_);

    Transaction_SYS.Deferred_Call('SHOP_MATERIAL_ALLOC_API.Unreserve', 'PARAMETER', attr_,'Description' );
    COMMIT;
END;

I get this ERROR from the background job:

"Argument INFO_ is of type IN/OUT or OUT, which is not supported. ORA-20105: Transaction.WRONG_ARGUMENT"

The procedure needs an info_ argument (Please see the function declaration below,) så I add this line:

Client_SYS.Add_To_Attr('INFO_',NULL, attr_);

But I get THE ERROR:

too many decalrations OF 'ADD_TO_ATTR' match this CALL


SHOP_MATERIAL_ALLOC_API.Unreserve(info_         => ,
                                  attr_         => ,
                                  order_no_     => ,
                                  release_no_   => ,
                                  sequence_no_  => ,
                                  line_item_no_ => )
Kresten
  • 810
  • 13
  • 36

1 Answers1

1

Transaction_SYS.Deferred_Call an only be executed with Procedures with IN type parameters. PLSQL functions or Procedures with IN OUT, OUT parameters are not supported.

  • Not what I was hoping for, but thanks anyway. Is there anyway out of this problem. Would it be possible to create a new deferred_call that ignores the OUT parameters? – Kresten Oct 14 '19 at 06:45
  • There's no standard way provided by IFS but what we usually do is create a custom Procedure which has only IN parameters which is called by `Transaction_SYS.Deferred_Call` and inside that calls the standard IFS Procedure or Function. – Damith Jinasena Oct 14 '19 at 07:19
  • 1
    OK, so do I, but I would be convenient to be able to start a deferred call from an event action. Thanks – Kresten Oct 14 '19 at 07:46