Skip to content

A Custom Event needs to Park a Shop Order via a background Deferred_Call (to avoid a mutating-trigger error from calling it directly), bundling several sub-fields like PARK_REASON and PARK_PERSON_ID into one Client_SYS attribute string that's itself nested inside an outer attribute string. The resulting call throws 'Field [PARK_REASON] has an invalid value format,' with the sub-fields clearly getting jumbled together rather than parsed correctly.

Answer

The specific attribute NAME used for the outer wrapping matters and must exactly match what the ultimately-called target API method expects internally — using a mismatched or made-up name for the outer attribute, rather than the name the target method's own internal parsing logic actually expects, causes the whole nested attribute string to be misparsed, with its sub-fields bleeding together into unrelated values instead of being extracted correctly. A more robust general alternative when this direct multi-parameter Deferred_Call approach proves fragile: add a small custom checkbox-style flag field to the object being changed, have a separate Custom Event trigger specifically off that flag being set, and have that event directly fetch the record's own OBJID/OBJVERSION via a cursor and call the target API method with a freshly built, correctly-named attribute set constructed right there in the event itself. This sidesteps needing to correctly reconstruct the whole parameter set through Deferred_Call's own single generic parameter mechanism, and also naturally avoids the original mutating-table problem, since the flag-triggered event runs outside the immediate mutating context.

← Browse Workflows and automation questions