Business Process Automation
Utility Agent Actions
Utility agent actions are general purpose agent actions that are available to many business objects. Not all utility agent actions are available for all business objects.
Utility agent actions include support for notification and control flow. For example, IF, ELSE IF, ELSE, and END IF are special agent actions that implement branch logic within an automation agent. The IF agent action checks the business object for a condition. If met, subsequent agent actions continue to process until an ELSE IF, ELSE, or END IF agent action is encountered. If not, control is passed to the next ELSE IF, ELSE. or END IF agent action. The ELSE IF agent action also checks the business object for a condition and acts identically to the IF agent action. The Else and End If agent actions delineate control blocks and have no explicit behavior.
Related object looping performed in agent is limited in order to reduce the impact on performance of incorrect SQL Queries matching too many related records.
Limits are on the following agent actions:
- ADD DOCUMENT TO
- COPY FLEXFIELDS
- COPY FLEXFIELDS TO
- COPY INVOLVED PARTIES FROM
- COPY INVOLVED PARTIES TO
- COPY REFNUMS FROM
- COPY REFNUMS TO
- COPY REMARKS FROM
- COPY REMARKS TO
- Data Type Association Loops (e.g. an agent action applied SHIPMENT TO DOCUMENT)
- FOR
- FOR EACH
- IF - LINE ITEM
- LOCK
In addition, certain SKU operations selecting related shipments for update are limited.
The limit is set to 5000 related records. If the limit is exceeded, the agent fails. Only Oracle Support can modify this limit, for all objects or a particular type of related object.
Utility Action |
Description |
---|---|
Adds a contact's transactional interest in a particular event. The contact is notified of the event via the specified communication method and stylesheet. Transactional events are available on the following business objects:
For more information on transactional events, see Transactional Events and Message Notification. Parameters: Contact (required) Transactional Event: The event that will trigger the notification. This is required. Stylesheet Profile: The stylesheet profile used for this notification. |
|
This agent action allows for ad hoc notification and is similar to the Notify Contact agent action with the following differences:
Example: In order to use this agent action while dynamically looking up an email address from the database, an agent can be set up as follows:
Parameters: Contact Information (required) Communication Method: Limited to EMAIL and FAX. Subject: Text that is used in the subject of the notification. Stylesheet Profile: The XSL stylesheet that is used for this notification. |
|
See the Assign General Ledger Codes action. Parameters: Perspective: Values are B (buy), S (sell) or A (all) |
|
See the Assign Shipment General Ledger Codes action. |
|
Provides the ability to add variables to automation agents in order to make automation agent programming more flexible. Using agent variables, saved queries can be used to look up values that are not currently available to agents. These values can then be plugged into agents and used to perform specific agent actions. Variable names must have a prefix of $, for example, $sourceLocationGid By using the Assign Variable action with the Log action, you can add the result of ad-hoc queries to agent or system logs. Parameters: Variable Name: Oracle Transportation Management runs the saved query listed in the Saved Query field and assigns the result to this variable name. Saved Query: The query that is to be run as part of an agent. The result of this query is assigned to the above variable name. |
|
This agent action allows the Oracle Transportation Management automation agent to invoke an external web service. This makes it possible to invoke a business service in an external application as long as the service is wrapped as a web service. This in turn allows for a business process that spans across Oracle Transportation Management and other external applications to be set up within Oracle Transportation Management. |
|
This agent action allows you to copy flex field attributes from the object for which the agent is triggered to the associated objects. If there are multiple related objects, the flex fields are copied to each one. This agent action is available on the following agent types:
Parameters: Associated Object (data type association): Select the related target object to which flex fields are copied. FlexField Attributes: Select one or multiple flex field attributes which needs to be copied to the associated object. If flex field attributes are not selected then all the flex fields attributes are copied. Note: If the selected flex field attributes are not present in either of the associated objects then the agent action will fail. Note: The object on which this agent action is triggered, is locked, i.e. the source object (from which data is being copied) gets locked. Now the target object (to which data is being copied) can be locked to avoid simultaneous any overwrite operation. To avail this feature, you need to enable the optional feature 'AGENT LOOP LOCK SUPPRESSION'. By default, the feature is disabled. |
|
This agent action allows you to copy flex field attributes to the object for which the agent is triggered from the related objects. If there are multiple related objects, the flex field attributes are copied to each one. If there are multiple flex field attributes, all of them are copied. This agent action is available on the following agent types:
Parameters: Associated Object: Select the related object from which flex fields are copied. FlexField Attributes: Select one or multiple flex field attributes which needs to be copied to the associated object. If flex field attributes are not selected then all the flex fields attributes are copied. |
|
This agent action allows you to copy involved parties from the related objects to the object for which the agent is triggered. If there are multiple related objects, the involved parties are copied from each one. This agent action is available for the following business objects:
Parameters: Associated Object: Choose the target related object to which the involved parties will be copied. From/To Involved Party Qualifier: Specify a qualifier that will limit which involved parties are copied and which qualifier will be assigned after the copy. Note: The object on which this agent action is triggered, is locked, i.e. the source object (from which data is being copied) gets locked. Now the target object (to which data is being copied) can be locked to avoid simultaneous any overwrite operation. To avail this feature, you need to enable the optional feature 'AGENT LOOP LOCK SUPPRESSION'. By default, the feature is disabled. Note: If no qualifier is selected, all the involved parties from the source object will be copied on to the target object's selected qualifier. If no qualifier is selected on target object as well, all the involved parties from the source object will be copied on to the corresponding qualifiers of the target object. |
|
This agent action allows you to copy involved parties to the object for which the agent is triggered from the related objects. If there are multiple related objects, the involved parties are copied to each one. If there are multiple involved parties, all of them are copied. This agent action is available for the following business objects:
Parameters: Associated Object: Choose the target related object to which the involved parties will be copied. From/To Involved Party Qualifier: Specify a qualifier that will limit which involved parties are copied and which qualifier will be assigned after the copy. Note: If no qualifier is selected, all the involved parties from the source object will be copied on to the target object's selected qualifier. If no qualifier is selected on target object as well, all the involved parties from the source object will be copied on to the corresponding qualifiers of the target object. |
|
This agent action allows you to copy reference numbers from the related objects to the object for which the agent is triggered. If there are multiple related objects, the reference numbers are copied from each one. If there are multiple reference numbers, all of them are copied. This agent action is available on the following agent types:
Parameters: Associated Object: Choose the target related object to which the reference numbers will be copied. From/To Refnum Qualifier: Specify a qualifier that will limit which reference numbers are copied and which qualifier will be assigned after the copy. Note: If the object on which this agent action is triggered is locked, the source object (from which data is being copied) gets locked. Now the target object (to which data is being copied) can be locked to avoid simultaneous any overwrite operation. To avail this feature, you need to enable the optional feature 'AGENT LOOP LOCK SUPPRESSION'. By default, the feature is disabled. Note: If no qualifier is selected, all the reference numbers from the source object will be copied on to the target object's selected qualifier. If no qualifier is selected on target object as well, all the reference numbers from the source object will be copied on to the corresponding qualifiers of the target object. |
|
This agent action allows you to copy reference numbers to the related objects to the object for which the agent is triggered. If there are multiple related objects, the reference numbers are copied to each one. If there are multiple reference numbers, all of them are copied. This agent action is available on the following agent types:
Parameters: Associated Object: Choose the target related object to which the reference numbers will be copied. From/To Refnum Qualifier: Specify a qualifier that will limit which reference numbers are copied and which qualifier will be assigned after the copy. Note: If no qualifier is selected, all the reference numbers from the source object will be copied on to the target object's selected qualifier. If no qualifier is selected on target object as well, all the reference numbers from the source object will be copied on to the corresponding qualifiers of the target object. |
|
This agent action allows you to copy remarks from the related objects to the object for which the agent is triggered. If there are multiple related objects, the remarks are copied from each one. If there are multiple remarks, all of them are copied. This agent action is available on the following agent types:
Parameters: Associated Object: Choose the target related object to which the remarks will be copied. From/To Remark Qualifier: Specify a qualifier that will limit which remarks are copied and which qualifier will be assigned after the copy. Note: The object on which this agent action is triggered, is locked, i.e. the source object (from which data is being copied) gets locked. Now the target object (to which data is being copied) can be locked to avoid simultaneous any overwrite operation. To avail this feature, you need to enable the optional feature 'AGENT LOOP LOCK SUPPRESSION'. By default, the feature is disabled. Note: If no qualifier is selected, all the remarks from the source object will be copied on to the target object's selected qualifier. If no qualifier is selected on target object as well, all the remarks from the source object will be copied on to the corresponding qualifiers of the target object. |
|
This agent action allows you to copy remarks to the related objects for which the agent is triggered. If there are multiple related objects, the remarks are copied to each one. If there are multiple remarks, all of them are copied. This agent action is available on the following agent types:
Parameters: Associated Object: Choose the target related object to which the remarks will be copied. From/To Remark Qualifier: Specify a qualifier that will limit which remarks are copied and which qualifier will be assigned after the copy. Note: If no qualifier is selected, all the remarks from the source object will be copied on to the target object's selected qualifier. If no qualifier is selected on target object as well, all the remarks from the source object will be copied on to the corresponding qualifiers of the target object. |
|
This agent action executes a SQL DML statement or stored procedure directly against Oracle Transportation Management or related tables. Direct SQL Update supports insert, update, delete and merge statements. For the automatic update of caches, it is recommended that you use DML Returning. This mechanism asks the system to return a list of impacted records. Then the system broadcasts out any needed cache updates based on this list. Merge does not support DML Returning. If you are using merge, you will need to use another option (e.g. SQL Select) to specify what records were modified. Update supports DML Returning, but only if the update statement does not use sub-selects to update columns. Note: Only child elements of the parent object for which the agent runs can be modified. For example, shipment events are not considered children of shipments. For complete details, see Direct SQL Update Utility Agent Action. Parameters: SQL statement or a PL/SQL procedure Statement Type Refresh Cache Select SQL for Cache Refresh Enable Lock SQL Description |
|
Used to filter incoming XML on events with the Before Persist option on the automation agent event. Informs Oracle Transportation Management not to save the data into the database (e.g. the order base or shipment). |
|
Executes agent actions following the Else agent action, prior to the next Endif agent action. Only receives control if the preceding IF or Elseif agent action's condition was not met. |
|
Checks a condition and executes agent actions following the Elseif agent action, prior to the next Elseif, Else or Endif agent action. Only receives control if the preceding If or Elseif agent action's condition was not met. Automation agents can access values of in-memory objects in order to perform data checks. The check is available as an expression check in the IF and ELSEIF agent actions. The syntax of the expression to perform an in-memory check is as follows: #TABLE_NAME [PRIMARY KEY] / .../TABLE_NAME [PRIMARY KEY] / COLUMN_NAME VALUE Here TABLE_NAME refers to the table name of the data that is being accessed. It can extend n levels deep. The left side expression has to end with a column name (COLUMN_NAME) which is the specific set of data being accessed. Following are some additional rules and requirements for this functionality:
Parameters: Threshold: If within threshold tolerance, no agent action will occur. Passing Threshold Tolerance results in the agent actions defined in the Elseif agent action to occur. For example, if a weight tolerance was set up for an Order Base at 50 pounds, no agent actions would occur up until 50pounds. Any weight greater then 50 pounds triggers the agent actions defined within the Elseif agent action to occur. Expression Plugin Class Pass Always: the default is to process the action only if the saved condition is true. Select the check box to always process the agent action regardless of the saved condition. |
|
This agent action is used to terminate a FOR block of agent actions. This action is automatically added by the system and cannot be manually added. |
|
Ends an IF block of agent actions. Oracle Transportation Management automatically includes this agent action when you add an IF agent action to the action body. This action is automatically added by the system and cannot be manually added. |
|
Terminates a Lock statement. This action is automatically added by the system and cannot be manually added. |
|
This agent action will take the latitude and longitude values (these values will be populated from a saved query) for both source and destination points and will return the distance. To use this agent action:
Parameters: Source Latitude Variable Name Source Longitude Variable Name Destination Latitude Variable Name Destination Longitude Variable Name Distance Variable Name |
|
The FOR agent action determines the elements to loop through using a data type association. The object type of the "TO" object in the data type association determines the agent actions that will be available in the FOR loop. The FOR loop is available for all agent types. You can have multiple FOR loops as many as needed. These can be nested within one another. FOR loops support proper data type association actions within the block. E.g., a FOR loop from Tracking Event to Shipment can contain a data type association object of Shipment to Order Release. Once a data type association for the FOR loop is selected and saved, it cannot be edited. This would invalidate enclosed actions. Parameters: Associated Object (required) Lock: Locks each related object for the duration of the loop. Activity: Tracks the block with object lock diagnostics |
|
Executes the SQL stored in the SQL Check One field in the Saved Query and raises a custom event for each resulting GID returned from the SQL query. The first agent and the triggered agents form a parent-child relationship. The agent variables work as follows:
Parameters: Custom Event: A custom agent event. Create New Process: If selected, the related objects run in a separate workflow process. The initial agent does not wait for the related object actions to complete. This provides you a way to avoid deadlock potential when raising custom events. |
|
Automatically generates and assigns a reference number value based on the BN Type (business number type) specified and assigns the reference number qualifier specified in the parameter to this value. For example, you could create an agent that detects when new orders are added and then automatically assign an Order Reference Number of a specific value and qualifier. The BN type you select when running the Generate Refnum agent action must have a BN context that supports the type of reference number being generated. Supported reference number types for each context are indicated in the business number context. Parameters: Reference Number Qualifier ID |
|
Checks a condition and executes agent actions following the IF agent action, prior to the next Else, Elseif or Endif agent action. Like the Elseif agent action, the IF agent action can perform data checks on in-memory data objects. See Elseif for more information. When using a Replacement Value in an agent IF statement, the values must be separated by a space. For example, the following will not work: IF: #EARLY_DELIVERY_DATE=$JDE_DATE Instead, it must be (notice spaces around the = sign) IF: #EARLY_DELIVERY_DATE = $JDE_DATE The actual comparison for the expression of the values on either side of the operator (=) is a string comparison, so these value strings need to match exactly (case does not matter though). Parameters: Threshold: If within threshold tolerance, no agent action will occur. Passing Threshold Tolerance results in the agent actions defined in the If agent action to occur. For example, if a weight tolerance was set up for an Order Base at 50 pounds, no agent actions would occur up until 50pounds. Any weight greater then 50 pounds triggers the agent actions defined within the If agent action to occur. Expression Plugin Class Pass Always: the default is to process the action only if the saved condition is true. Mark the check box to always process the action regardless of the saved condition. |
|
This agent action takes an optional data query type association to determine which objects to lock. If left blank, the agent action locks the current business object for the duration of the block. This could be the agent's business object, if the action is top-level; or an associated business object, if the LOCK is part of a FOR loop or a data query type association. If a data query type association is provided, all related objects are locked for the duration of the block. Note that this differs from the FOR block as that action only locks one related object at a time. The agent actions with the LOCK block act on the business object, not a related object. This allows an agent to lock related order releases for a block of shipment agent actions, which can be useful to reduce redundant locking in data query type associations. The LOCK agent action takes an optional activity string, used to track the lock within object lock diagnostics. Parameters: Activity Associated Object |
|
Logs a message to the system/agent logs. By using the Assign Variable action with the Log action, you can add the result of ad-hoc queries to agent logs. Parameters: Message (any text) Destination: allow a message to be written to the System Log, the Agent Log, or both. If not defined, the default is the System Log. Severity: assign a severity to the logged message. If not defined, the default is Information. Note that Severity is only used by the agent log. Log ID: assign a specific Log ID to messages written to the System Log. If not defined, the default is Workflow. See Configuring Agent Logging and Statistics for more information on using this. |
|
This action checks to see if $transmission is available (i.e. the process firing the agent was triggered by an inbound transmission). If so, the action adds a record to the I_LOG table for $transmission and $transaction. Parameters: Message Class: This is a drop list with the values 'Information', 'Warning' or 'Error', mapping to the I_LOG.I_MESSAGE_CLASS values I/W/E. If set to Error, the integration subsystem will mark the entire transmission as FAILED. Message: This is the free-form remarks the agent writes to I_LOG.I_MESSAGE_TEXT. It can be up to 2000 characters long. Message Code: This is a text code, describing the type of message being sent to I_LOG.I_MESSAGE_CODE. If left blank, it is set to 'TRANSACTION_MESSAGE'. Written By: This is the originator of the I_LOG record, written to I_LOG.WRITTEN_BY. If left blank it is set to 'Agent <agent GID>' where <agent GID> is the GID of the agent invoking the action. |
|
Sends a notification of the event to a contact. Parameters: Subject: text that is used in the subject of the notification. You can define subjects. See Subject Property Key. Stylesheet Profile: the XSL stylesheet that is used for this notification. |
|
Sends a notification of the event to any contact assigned to the Involved Party Qualifier that you provide as a parameter. Parameters: Involved Party Subject: text that is used in the subject of the notification. Stylesheet Profile: the XSL stylesheet that is used for this notification. Based on Saved Query: When you use a saved query to find the involved party, Oracle Transportation Management incorporates the object GID of the agent as well as the involved party qualifier specified above into bind variables :1 and :2 respectively. The object GID must be linked to :1 and the qualifier must be :2, with the object GID appearing first. For example, the saved query should have a where clause similar to "SHIPMENT_GID=:1 and INVOLVED_PARTY_QUAL_GID = :2. |
|
Sends a notification of the event to the service provider assigned to the shipment. Parameters: Subject: text that is used in the subject of the notification. Stylesheet Profile: the XSL stylesheet that is used for this notification. |
|
Used to filter incoming XML on events with the Before Persist option on the agent event restrictions. Save the data into the database. |
|
Generates the reports defined in the Report Set and raises the REPORT - READY event. Parameters: Format Language Country Date Format Printer Number of Copies Page Ranges ODS: An ODS is an Offline Data Store. If you want to run the report against an offline database, such as one consisting of archived OTM data, enter the ODS. An ODS can be defined on the Data Source Manager. The optional feature "SEND DATE AND TIME FORMAT" is introduced to pass the time and date format to Business Intelligence Publisher (BIP) request with the attributes P_DATE_FORMAT, and P_TIME_FORMAT along with P_DATE_TIME_FORMAT while running the agent action "Print Document". If the optional feature is enabled, then the attributes P_DATE_FORMAT, P_TIME_FORMAT, and P_DATE_TIME_FORMAT are included in the BIP request. If the optional feature is disabled, then the attributes P_DATE_FORMAT, and P_TIME_FORMAT are not included in the BIP request along with P_DATE_TIME_FORMAT. |
|
See the Generate Document action. Parameters: Language Country Date Format |
|
Generates the specified report. Optionally attaches the report to a document on the business object. Parameters: Format Storage Allow Multiple Versions Language Country Date Format |
|
This agent action allows you to queue user-defined lifetime events into the LIFETIME data queue in response to related events. Parameters: Custom Event: A custom agent event. |
|
This agent action stops the processing of the current agent and transfers control to the agents error handler. It accepts an optional error message to return to any process waiting on the agent. Parameters: Error Message: the message to display and log when an error is raised. |
|
This agent action raises a custom event. The event is constrained by the agent type. This agent action provides a way to chain one agent to another agent. The first agent and the triggered agents form a parent-child relationship. The agent variables work as follows:
Parameters: Custom Event: A custom agent event. |
|
Raises an Oracle Transportation Management event. The first agent and the triggered agents form a parent-child relationship. The agent variables work as follows:
Parameter: Internal Event: a valid Oracle Transportation Management event. |
|
Parameter: |
|
Removes a contact's transactional interest in a particular event. Transactional events are available on the following business objects:
For more information on transactional events, see Transactional Events and Message Notification. Parameters: Transactional Event: The event that will trigger the notification. |
|
This agent action schedules a custom event to occur at a designated date and time. Parameters: Custom Event: A custom agent event. In At |
|
This agent action selects and posts as XML any allocations that are related to the selected business object. You can specify full text or ID only, remarks, the recipient external system, and whether or not to stage the transmission. Parameters: Notify Method: Communication method used to send the transmission. External System: The ID of system to which the XML document is transmitted. Remarks: Any text that you want sent with the XML document. Send ID Only Stage Transmission |
|
This agent action posts the business object as XML to an external system. You specify the recipient of the post, along with an optional transaction code and remarks. The agent action sets the processing code to the event and adds remarks for the agent ID. All transmissions sent out for the SHIPMENT - REMOVED event automatically go out as if the Send ID only check box is marked, regardless if it really is marked in the action. For other events, Oracle Transportation Management looks at the Send ID Only check box when building the transmission. Parameters: Notify Method: Communication method used to send the transmission. External System: The ID of external system where the XML document is transmitted. Reference Object Transaction Code Remark: any text that you want sent with the XML document. Send ID only: Oracle Transportation Management only sends the ID of the shipment. |
|
This agent action sets the Indicator field of buy and sell shipments, shipment group, order base, order release, tracking event, invoice, or bill to the specified indicator value. Parameters: Indicator Value: G (green), Y (yellow), R (red), W (white), B (blue), O (orange), and blank. |
|
Sets a valid internal status type/value for the business object. Parameters: Status Value: Includes status type and value. |
|
Sets an external status type/value for the following OTM Business objects: order base, order release, shipment, bill, and invoice. Also supports the following GTM business objects:contact, shipment, shipment line, transaction, and transaction line. Although agent and action conditions can key off of any set of statuses (internal and external), the Set Status action is constrained to external statuses. See the Set Internal Status agent action for setting internal Oracle Transportation Management status. Parameters: Status Value: an external status type and value. |
|
Send Rest Event |
Sends a notification message to advise external clients that, for example, updated resource content can be retrieved. Parameters: External System Reference Value Override Resource Name Send Reason |
This agent action assigns an image reference to a business object based on the conditions and object type defined in the agent. You can detach an image by selecting the corresponding Remove Image check box. Parameters: Image one through five. |
|
Halts the automation agent. Use this agent action to stop the agent based on some IF condition. |
|
Updates the status type to the status value configured in the event group. This agent action is not available for all agent types. |
|
Halts execution of the Oracle Transportation Management automation agent for the interval specified as input to the agent action. Once the interval period expires, the next agent action listed in the automation agent is executed. The WAIT agent action is only long-running if the wait time exceeds glog.agentAction.wait.numSecondsForLongRunningTask. Parameter: Seconds |