Skip to content

A Custom Event's PL/SQL call to `Transaction_SYS.Deferred_Call` (posting a background job to a custom procedure) fails every time with 'Too many declarations of Deferred_Call match this call,' even after renaming variables, the procedure, and moving it to a different package — while other custom events using Deferred_Call elsewhere work fine. What's actually causing the ambiguous-overload error?

Answer

Rather than calling Transaction_SYS.Deferred_Call directly against your own custom procedure's specific signature (which can trigger this overload-ambiguity error depending on the exact parameter types/count used), route it through the framework's own standard wrapper instead: build the PL/SQL you want to run as a plain string, wrap it using Message_SYS.Construct('UPD') plus Message_SYS.Add_Attribute(..., 'SQL', <your_statement_string>), and call Transaction_SYS.Deferred_Call targeting Fnd_Event_Action_API.Action_Executeonlinesql (a fixed, already-correctly-overloaded framework method) with that constructed message as the payload — rather than calling Deferred_Call against your own custom procedure's signature directly. This consistently avoids the ambiguous-overload error that a direct call to a custom procedure can trigger.

← Browse Developer Studio, deployment, and upgrades questions