How to Invoke Orchestrations or Notifications from Event Rules in JD Edwards

The B98ORCH Business Function in the Oracle JD Edwards platform serves to invoke orchestrations or notifications from event rules scripting language. We’ll walk you through this simple process step by step.

Our team often builds various orchestrations in JD Edwards for project initiatives, and tests them using either the JDE orchestrator client or third party clients like Postman, SoapUI, etc. In many of these cases, a frequently asked question has arose – “can a user invoke orchestrations or notifications from event rules scripting language?”

The answer to this question is, yes! Within the JD Edwards platform, there is a business function titled B98ORCH that can be used to specifically invoke orchestrations or notifications from event rules. I recently discovered this through a requirement to invoke an orchestration from the table trigger, which was actually easier than I thought.

invoke orchestrations and notifications

Smartbridge is an Oracle Gold Partner

Explore our partnership

Invoke Orchestrations or Notifications – Step by Step

So, let’s see how we can use this business function in a real scenario. To start, you’ll need to make a call to the function B98ORCH in your event rule, and the map the parameter as explained by the picture and table below:

invoke orchestration and notifications

Let’s detail the parameters in this business function by the table below. This table will detail the parameters in the “data item” category to the right of the image above.

Parameter:What to Pass:In/Out:Required?
szName_FUNCNMName of the Orchestration or Notification or the UDO name of Orchestration or Notification (e.g. “MyOrchestration”)InYES
szType_WOTYPUse accordingly: ORCH – Orchestration, NTF – NotificationInYES
cWaitForResponse0 or Blank – asynchronous processing (default). 1 – Synchronous processingInNO
cErrorError flag returned as 1 if an error occurredOutNO
szInputString_REPTEXTJSON string as input (32,000 characters)InNO
szName_ENTRNM* (20 available)Name of the input parameters to the orchestration or notification (e.g. ShortItemNumber, BranchPlant…)InNO
szValue_TSTRING* (20 available)Value of the input parameters to the orchestration or notification (e.g. VA szShortItemNumber, TK BusinessUnit…)InNO
szOutName_ENTRNM* (20 available)Name of the output parameters from the orchestration or notificationOutNO
szOutValue_TSTRING* (20 available)Value of the output parameters from the orchestration or notificationOutNO
szOutputString_REPTEXTJSON String output (32000 Characters), Only if called in synchronous modeOutNO

B98ORCH Limitations and Considerations

Here are some limitations to this business function:

  • If the length of the input/output JSON string is more than 32,000 characters in length, this business function cannot be used as-is.

  • Input parameters to the orchestrations should be less than 21.

  • This function cannot return more than 20 output parameters.

Likewise, here are some design planning considerations when attempting to invoke orchestrations or notifications through this business function:

  • Use an asynchronous call to avoid timeouts.

  • Design the solution, considering the number of calls made to the orchestrations or notifications (the execution of the events).

  • Transaction processing: The transaction rollback, in case of timeouts or fails, but the operations performed by the orchestration will not be rolled back.

  • UDO Security: The function communicates with the AIS Server to invoke orchestration or notifications. Therefore, the user who invokes it should have at-least view security on UDO on the orchestration/notification and all the related components called by the function.

A BONUS Tip to Conclude

As the “icing on the cake” of this initiative, here’s a bonus tip to leave you with. While walking through these steps, did you notice all the input and output parameters are string type? If not, they are!

Because orchestrations receive and return all inputs/outputs in string form, you need to pass parameters that are of other data types. Convert them to string before passing through the function to more efficiently invoke orchestrations or notifications.

Looking for more on JD Edwards?

Explore more insights and expertise at smartbridge.com/jdedwards

There’s more to explore at Smartbridge.com!

Sign up to be notified when we publish articles, news, videos and more!