As part of the element mapping process, Actions for data transformation or process control can be defined.
Actions are similar to prebuilt functions in that they may be called to perform a specific activity.
Oracle XML Gateway supports actions for data transformation involving math functions, string manipulation, and data conversion between Oracle's data format and OAG's data format.
Oracle XML Gateway supports a set of predefined actions for process control. This includes user-defined procedure and function calls to extend the integration with the Oracle E-Business Suite. Other common process control actions allow you to inquire on the status of a transaction and to manage the process flow based on the status. For serious errors, the transaction can be aborted with error messages returned to the sender via an Oracle Workflow process.
The actions supported by Oracle XML Gateway are listed in Appendix C.
Most Actions are defined on the target side of the Element Map with the exception of the Append Where Clause action type, which is defined on the source side of the Element Map if the source is based on database views or tables.
See Map Action Editor - Append Where Clause for a detailed description of this action and how to define it.
An Action may be defined for any of the following entities:
Element
An element is the smallest unit of a message. An action defined at the element level is applied to that element only.
Document
A document is a collection of elements representing a business document. An action defined at the document level is applied to the document.
Root
A root represents a collection of documents. An action defined at the root level is applied to all documents contained by the root.
Some actions are designed to be applied to the element only, while others are intended for the document only.
The processing sequence of a three-level document by the XML Gateway Execution Engine is described in the following table.
Refer to Pre Process, In Process, and Post Process Tabs, for a description of process stages.
| Level | Stage |
|---|---|
| Root | Preprocess |
| Root | In-Process |
| Header | Preprocess |
| Header | In-Process |
| Header | Postprocess |
| Line | Preprocess |
| Line | In-Process |
| Line | Postprocess |
| Line Detail | Preprocess |
| Line Detail | In-Process |
| Line Detail | Postprocess |
| Root | Postprocess |
Given the processing sequence described above, header data is processed before line data and line data is processed before detail data. Any upper level data element that has a dependency on lower level data elements (for example, sum of invoice lines) must be processed using an API call at the upper level. Once the upper level data is processed, it cannot be updated, although it can always be accessed.