Custom UBE's set up as a Subsystem Job


Hi Everyone,

I have a list of custom UBE's that needs to run after every 1 minute. I am planning to set those as a subsystem to avoid performance issues. I read oracle support docs and found that we need to add record into F986113 through API ubeReport_AddSubsystemRecord using custom BSFN not sure every time or just once.

ubeReport_AddSubsystemRecord API need key values like order info(KCOO,DCTO,DOCO) or address number as a input. My UBE's do not have such Report interconnect key values as UBE's runs on custom status data selection. Is it possible for me to opt for subsystem option. my goal is just to run those UBE's every after 1 minute and avoid any performance issues.

JDE Version is 9.1

A subsystem job is actually a UBE that runs forever in a loop picking up those interconnect values. A subsystem job eliminates the lag of initializing a new process each time a call is made. It is suited for high volume processes like invoice or picklist print.

If you just want a job to run every 60 seconds it can be placed on the JDE scheduler to run at that frequency. Note that this doesn't avoid performance issues in the sense that you will have the job executing every minute regardless of whether there is data to process or not. I call this a polling UBE. It usually is not a problem to have a handful of jobs like this as long as they are quick running. What you don't want is for these jobs to backup in the queue. If the data selection is against an index and they complete execution in a say 20 seconds or less then it typically isn't a problem to use the 1 minute polling approach.
Yeah just schedule it, or launch it as a subsystem but add code into it so it wakes itself up every minute via a trigger F986113 and set the sleep time accordingly
But I'd just schedule it

And to answer your other questions.
Yes every time to need E1 to run a subsystem, you need a fresh record in F986113.
And yes, the UBE needs the data structure elements and then you need to add ER saying if RI <blank, perform my data selection