Creating Batch Processes
Custom batch jobs can be written using the plug-in driven batch job functionality supported by the Oracle Utilities Application Framework. There are three broad categories of batch jobs that may be implemented using plug-in driven batch.
Ad-hoc Processing. This covers any batch job that should select records in the system and perform some type of logic for each record.
The system provides a Select Records plug-in for retrieving the records in the system based on criteria. This plug-in requires the selection SQL (properly tuned) to be defined as a parameter. Logic in the plug-in script may be used to set filter criteria if needed. The plug-in script may be written using XPath scripting.
The system also provides a Process Record plug-in where each record may be reviewed and some appropriate action may be performed. This plug-in may be written in either XPath or Groovy scripting.
See also Chapter 5: Data Fix with Plug-In Driven Batch in the Oracle Utilities Cloud Service Live Operations Guide for more information.
Extract a Batch of Records. This covers any batch job that produces an extract of records. The same plug-in spots described for Ad-hoc processing are applicable here. The Select Records plug-in is used for selecting the records eligible for extraction, for example from as staging table. The Process Record plug-in us responsible for returning the data to be written to the extract for each record. This plug-in may be written in either XPath or Groovy scripting. However, because the output of the plug-in is one or more schema objects to include in the extract, XPath scripting may be better suited.
Upload Records from a File. This covers any batch job that needs to read a file and create records in the system based on the content. The system provides a File Upload plug-in spot. This plug-in is responsible for calling appropriate APIs to read the content of the file and store the data in appropriate tables, for example a staging table. This type of plug-in must use Groovy as the APIs are not accessible using the XPath scripting language.