Actions Category

The Actions category enables you to add assign, B2B, data stitch, healthcare, logger, map, note, notification, stage file, and wait actions to an integration.

Assign Values to Scalar Variables in an Assign Action

You can assign values to scalar variables in integrations with an assign action.

Note:

  • Variables created inside a scope action or a looping action (for example, a for-each or while action) are not directly accessible outside the scope/looping action. To access the variables (local) outside a scope/looping action, create a global variable using an assign action above the scope/looping action. Assign the local variable to this global variable and then use it outside the scope/loop action.

  • Values cannot be assigned to other variable types, such as complex types.

  1. Add an assign action to an integration in either of the following ways:
    • On the side of the canvas, click Actions Integration actions icon and drag the Assign action to the appropriate location.
    • Click Add icon at the location where you want to add the assign action, then select Assign.

    The Configure Assign panel opens.

  2. Click Edit Edit icon under Configure Assign to enter a name and optional description for the assign action.

  3. Click the + sign, then select a data type:
    • String: Create a string data type.
    • Fault: Catch and aggregate faults in parallel processing actions in schedule integrations. This operation is only supported in schedule integrations.
  4. If you select String:
    1. Enter a string variable name or select an existing variable from the list.


      The Sources elements are shown. The Input Sources tab is selected. The Functions tab is next to it. On the right, the Configure Assignment section is shown. A name and description field are shown below. Below this, the name in the Variable field is being selected from a list. To the right of this field are clear and switch to developer mode icons.

      The Operations field defaults to an equal sign (=) and cannot be changed.

    2. Enter a value between the single quotes.


      The Variable, Operation, and Value fields are shown.

    3. Add more string variables, when needed.


      The Configure Assignment panel shows the name and description fields at the top. Below this, five string variables are shown as defined.

  5. If you select Fault:
    1. Enter a fault variable name or select an existing fault from the list.
    2. Select an operation from the Operation list.
      • Append: Adds a new fault to the end of the fault list.
      • Clear: Removes all entries in the fault list.
    3. If you selected Append, click Edit Edit icon to select a fault from the mapper in the Value column. This option is not available with the Clear operation.


      The source errorCode element is mapped to the target errorCode element.

  6. Add more fault variables, as needed.
  7. Click Save.

Variable assignments can be of great complexity. You can use assignments in switch actions and maps. For example, the upper branch of a switch action is taken (if $FetchContactAssign = "failed"), which processes a contactCreateProcessing scope. Otherwise, a contactUpdateSkip scope is processed.

You can also configure the primary tracking variable and both custom field tracking variables (update and access values). You can map tracking variables to output variables or create complex expressions for an assign or switch activity.

  • All tracking variables are of type string (all that assignments support).

  • All three tracking variable entries are present even if you choose not to model them. The name and XPath can be empty for tracking.

  • Editing or deleting the tracking variables only updates the name and XPath nodes in that particular tracking variable element.

  • The tracking variables have static names. Therefore, it is possible to set a tracking variable somewhere in the flow, but not initialize it with a value and a name in the Tracking dialog.

  • The primary tracking variable cannot be assigned any value in between the flow.

  • You cannot create a new variable with the same names as any of the statically name tracking variables.

Related Documentation
The following sections provide examples of using an assign action in an integration:

Translate an EDI Document with the B2B Action

You can translate a message to or from the Electronic Data Interchange (EDI) format in an integration with the B2B action.

The B2B action translates an incoming EDI document into an Oracle Integration XML message and an outgoing Oracle Integration XML message into an EDI X12 document.

  1. Add a B2B action to the integration in either of the following ways:
    • On the right side of the canvas, click Actions Integration actions icon and drag the B2B action to the appropriate location.
    • Click Add icon at the location where you want to add the for-each action, then select B2B.
    The Configure B2B Action Wizard is displayed.
  2. Enter a name and optional description.
  3. Select how you want to use the B2B action, then click Continue.
    • B2B Trading Partner mode: Select to include B2B trading partner profiles and message persistence in your integration.
    • Standalone mode: Select to use the B2B action independently in your integration without a B2B trading partner profile or message persistence.
  4. If you select B2B Trading Partner mode, follow these wizard steps:
    1. Select the B2B message direction for this B2B action:
      • Inbound: The B2B message is sent from the trading partner to the host trading partner (partner where Oracle Integration is installed).
      • Outbound: The B2B message is sent from the host trading partner (partner where Oracle Integration is installed) to the trading partner.
    2. Select the operation for the B2B action to perform based on the direction.
      If You Selected... Then Select an Operation...
      Inbound
      • Fetch Message: Fetches a B2B business message from the persistence store, given a message identifier.
      • Translate: Translates an inbound EDI message to an Oracle Integration message.
      • Mark As Error: Marks a B2B business message with a failed processing status.
      Outbound
      • Translate: Translates an Oracle Integration message to an outbound EDI message.
      • Mark As Error: Marks a B2B business message with a failed processing status.
      • Fetch raw messages: Fetches a B2B business message payload from persistence stored for processing.
    3. If you select either of the following, the Select Data Format page is displayed.
      • Inbound message direction and Fetch Message operation
      • Outbound message direction and Translate operation
      1. Select the document definition for the B2B action to handle, and click Search to refresh the page.
      2. Select the document standard, version, and type.
      3. Click >.
    4. Review your selections on the Summary page, then click Done.
  5. If you select Standalone mode, follow these wizard steps:
    1. Specify the message translation and document format details.
      Element Description
      Select the direction in which to translate the message
      • Inbound EDI message to Oracle Integration message: When an integration receives an EDI document from a business partner, it is considered an inbound document (an EDI document is translated to XML).
      • Oracle Integration message to outbound EDI message: When an integration sends an EDI document to a business partner, it is considered an outbound document (an EDI document is generated from XML).
      Document Standard Select the document standard to follow when exchanging business documents between partners.
      • Custom
      • Delimited
      • EDIFACT
      • FixedLength
      • OAG
      • X12
      • X12HIPAA
      Document Version Select the version of the document standard to use.
      Document Type Select the document type (for example, purchase order, invoice, shipping notice, or others). The document types available for selection are based on the document version you selected.
      Document Definition Select the document definition that you created on the Documents page. For EDIFACT, X12, or X12HIPAA, you can also select Standard.

      See Create Custom Document Definitions in Using B2B for Oracle Integration 3.

      EDI Character Encoding Select the character encoding that the inbound EDI document is expected to use.
      Perform validations on input data
      • Yes: Validates the structure and data of an inbound EDI message. Enabling message validation has an impact on performance. If errors are found, translation does not succeed.
      • No: Errors are ignored during translation and the message is passed through in its current format.

        You can override this setting at runtime with the Validate request element in the mapper.

    2. Click Continue.
    3. Specify to optionally upload sample data to test that translation is successful.
      Element Description
      Run a test translation with sample data (optional) Select or drag and drop a sample file. To test inbound EDI message translation, upload an EDI document. To test outbound EDI message generation, upload an XML document.
      Translate Click to translate your sample data. Output is displayed in the Output of translation field. Any errors are displayed in the Error in translation field.
    4. Click Continue.
    5. Review your selections on the Summary page, then click Finish.

Build Complex Assignment Statements with a Data Stitch Action

You can incrementally build a message payload from one or more existing payloads with the data stitch action. The data stitch action provides a Configure Stitch panel that enables you to assign values to variables.

The data stitch action supports scalar and complex type variables, arrays, and partial and full message payloads. Complex variables are not limited to message payloads.

The data stitch action differs from the mapper and assign action in the following ways:

Mapper and Assign Action Capabilities Data Stitch Action Capabilities
Mapper: Only generates full message payloads. If you attempt to map into an existing message payload, a full replacement of that payload occurs. Supports both partial and full replacement of the message payload.
Assign action: Limited to scalar type variables. Complex objects or full payloads are not supported. Supports both scalar and complex type variables.
You can perform the following complex assignments (operations) on variables (and child elements of variables) with the data stitch action:
  • Append: Appends at the end of the repeating/unbounded target element, the selected element, or the value. For example, you have an existing purchase order payload containing five lines and want to add a sixth line. The data stitch action enables you to append a sixth line to the existing array of lines in the purchase order.
  • Assign: Places the selected value/element/attribute into the target element/attribute, overriding any existing data in the target element/attribute. For example, you want to change the current address in an existing purchase order. The data stitch action enables you to change the address. You can either map fields individually or copy the address object itself.
  • Remove: Removes the target element/attribute from the variable. For example, you have an existing purchase order payload and want to remove the price to enable the end point application to calculate a new price. The data stitch action enables you to remove the price. For repeating/unbounded elements, all instances are removed unless a specific instance is selected by index or predicates.
  1. Add a data stitch action to an integration in either of the following ways:
    • On the side of the canvas, click Actions Integration actions icon and drag the Data stitch action to the appropriate location.
    • Click Add icon at the location where you want to add the data stitch action, then select Data stitch.
    The Configure Stitch panel opens.


    The Configure Stitch panel shows the name and descriptions fields at the top. Below this is an Undefined Variable label with a Delete icon. Below this is the Variable field with a Clear icon and a Switch to Developer Mode icon. Below this is the Operation field with a value of Assign. Below this is a Value field with a Clear icon and a Switch to Developer Mode icon.

  2. Click Edit Edit icon under Configure Stitch to enter a name and optional description for the data stitch action.

  3. Click the Variable field and manually enter a variable name, select a variable from the drop-down list, or click Switch to Developer View Switch view icon to open the Sources tree for dragging a variable name.


    The Input Sources and Functions tabs are displayed. Below this is the Sources tree of elements. To the right is the Configure Stitch panel, which includes Name and Description fields at the top. Below this is the Variable field with a Clear icon and a Switch to Developer Mode icon. Below this is the Operation field with a value of Assign. Below this is a Value field with a Clear icon and a Switch to Developer Mode icon.

    Global variables and business identifier tracking variables are displayed for selection. A data element is a subcomponent of a variable. A complex variable conforms to a series of data elements.

  4. From the Operation list, select the operation to perform on the variable:
    • Append
    • Assign
    • Remove
  5. Click the Value field and specify a value in any of the following ways:
    • Entering manually.
    • Selecting from the list.
    • Clicking Switch to Developer ViewSwitch view icon to open the Sources tree.
    If you selected the Remove operation, the Value field is not displayed.
  6. Click + if you want to create additional complex assignment statements.
  7. When complete, click Save to save your statements and close the Configure Stitch panel.

    For this example, the following statement was created.


    The Configure Stitch panel is displayed, which includes Name and Description fields at the top. Below this is a defined expression. Below this are is Variable field with a Clear icon and a Switch to Developer Mode icon. Below this is the Operation field with a value of Assign. Below this is a Value field with a Clear icon and a Switch to Developer Mode icon.

    You can also define the sequence of variables to update. For example, if you want to copy an address, and then override a child element such as street, place these statements in the correct order of processing.

Convert HL7 Messages with a Healthcare Action

You can convert a message to or from HL7 format with a healthcare action in an integration. The healthcare action converts native inbound HL7 messages into Oracle Integration XML payloads for use in your integrations and generates native HL7 messages from Oracle Integration XML payloads to send to external applications that support HL7.

Note:

If your Oracle Integration instance does not include the Healthcare edition, you cannot drag the healthcare action into an integration. See Create an Oracle Integration Instance in Provisioning and Administering Oracle Integration 3.
  1. Add a healthcare action to the integration in either of the following ways:
    • On the right side of the canvas, click Actions Integration actions icon and drag the Healthcare action to the appropriate location.
    • Click Add icon at the location where you want to add the healthcare action, then select Healthcare.
    The Configure healthcare action call wizard is displayed.
  2. Enter the following details:
    Element Description
    Name Enter a name.
    Description Enter an optional descriptions for what this action does.
    Operation Select an operation to perform:
    • Convert message reference to document: Use this operation to identify the incoming message type and version. This operation returns a reference to a translated message and metadata needed to route the integration to an appropriate child integration to process the message. When you call the operation, you need to specify a list of HL7 documents with which you want to match.
    • Match and translate inbound message: Use this operation to convert inbound HL7-formatted messages into XML format.

      Specify the documents you want this action to receive. These are the documents that you configured during design time. This operation takes a raw HL7 message off the wire, parses it, and matches it with the document definition you select in the Choose documents section. The message is then converted to an Oracle Integration XML payload.

    • Translate to outbound message: Use this operation to convert an XML payload message to an outbound HL7 message.
    Choose documents

    This field is displayed if you select the Match and translate inbound message operation.

    Select all the HL7 message definitions that you expect to receive on the port number you configured for your MLLP Adapter connection. This integration receives and routes all messages sent to that port number.

    Documents that are not selected are ignored.

    If you created the integration in a project, only documents available in that project are visible for selection.

    Document

    This field is displayed if you select the Convert message reference to document or Translate to outbound message operation.

    Select the document to use.

    If you created the integration in a project, only documents available in that project are visible for selection.

    For example:
    • If you select Match and translate inbound message, the selected ADT_A08 message document is converted from HL7 format to an Oracle Integration XML-formatted message.


      The Configure - Configure healthcare action call page. Fields for Name, Description, Operation (Match and translate inbound message is selected), and Document fields are shown.

    • If you select Translate to outbound message, the selected ADT_A08 message is converted from an Oracle Integration XML message to an HL7-formatted message for delivery to an external application that supports HL7.


      The Configure - Configure healthcare action call page. Fields for Name, Description, Operation (Translate to outbound message is selected), and Document fields are shown.

    • If you select Convert message reference to document, the message reference is converted into a mappable payload. This operation returns the contents of the HL7 message as a variable in your integration that is ready to use in the business logic and mapper of your integration. The variable appears on the source side of the mapper.


      The Configure - Configure healthcare action call page. Fields for Name, Description, Operation (Convert message reference document is selected), and Document fields are shown.

  3. Click Finish.
Examples of using all three operations in a use case are provided. See Design Time and Runtime Overview of an Oracle Integration for Healthcare Use Case.

Log Messages with a Logger Action

You can log messages to the activity stream and diagnostic logs by adding the logger action at any point in the integration. You create a log message in the logger action that is a static message or variable-populated message.

Create a Logger Action

To create a logger action:

  1. Add a logger action to an integration in either of the following ways:
    • On the side of the canvas, click Actions Integration actions icon and drag the Log action to the appropriate location.
    • Click Add icon at the location where you want to add the log action, then select Log.

    The Configure Logger panel opens.

  2. Click Edit Edit icon under Configure Logger to enter a name and optional description for the log action.

  3. Select whether to always log this message or log it only when tracing is set to audit. You can enable tracing when you activate an integration. See Activate an Integration.

  4. Specify a static or variable-populated message to be displayed in the activity stream and diagnostic logs. Drag elements from the Sources tree to create a message.


    The Input Sources (which is selected) and Functions tab appear. Below is the Components section. Functions is selected, and then String. The concat function is selected. A description of concat appears below. On the right side is the Configure Logger panel. A logger description is provided, following by two radio buttons: Always (which is selected) and When tracing level is set to Audit. Below is the logger message.

  5. When complete, click Save. For this example, a log action is included in the integration.


    The while action is expanded to show an assign action and logger action.

Track the Status of a Logger Action During Runtime

During runtime, the messages in the loggers are written to the activity stream and diagnostic logs.

  1. In the navigation pane, click Observability, then Instances.
  2. Click the integration instance.
  3. Scroll through the activity stream.
  4. Select Download Download icon to download the logs.

  5. Open the zip file and view the log messages you created.

Add Placeholder Notes with a Note Action

You can add placeholder notes similar to sticky notes to an integration. For example, you have not yet defined an invoke connection and want to add a placeholder note in the integration indicating that you plan to define the invoke connection later. Another integration developer reads that note and may add the invoke connection or the note reminds you to add the invoke connection at a later time when you again work on the integration.

The note action is a design-time feature that does not impact runtime. Any changes to upstream or downstream actions in your integration do not impact the note action.
  1. Add a note action to an integration in either of the following ways:
    • On the side of the canvas, click Actions Integration actions icon and drag the Note action to the appropriate location.
    • Click Add icon at the location where you want to add the note action, then select Note.
    • Click Edit Edit icon under Configure Note to enter a name and optional description for the note action.

  2. Enter your notes, then click Save. You can add up to 256 characters.
  3. Hover over the icon to display the note text.

Send Notification Emails During Stages of the Integration with a Notification Action

You can send a notification email to relevant users at specific points in the processing of an integration. You can set the to, from, and subject parts of an email. You can create the body part of an email using parameters defined in the Expression Builder. You can also add attachments to the email if your integration includes them. The total size limit on a notification email is 1 MB for Oracle Integration and 2 MB for Oracle Integration Generation 2. Both the email body and attachment are considered in calculating the total size.

  1. Add a notification action to an integration in either of the following ways:
    • On the side of the canvas, click Actions Integration actions icon and drag the Notification action to the appropriate location.
    • Click Add icon at the location where you want to add the notification action, then select Notification.
  2. Click Edit Edit icon under Configure Notification to enter a name and optional description for the notification action.
  3. Click the To field.
    This opens the Sources tree for defining an expression and a second To field for editing immediately after the first field.
  4. Manually enter an email address, select from the drop-down list, or drag an element from the Sources tree to the To field:


    Sources tree shows a value of email that has been dragged to the To field. The To field includes clear and switch to developer view icons.

  5. Click the From field.
    This opens a second From field for editing immediately after the first field.


    The Input Sources tab is selected. The Functions tab is to the right. The Sources section is after this. On the right is the Add details of notification section. The To and From fields are after. The From field is selected for editing. Two icons appear to the right of this field.

  6. Manually enter an email address, select from the drop-down list, or drag an element from the Sources tree. For this example, an email element is dragged from the Sources tree.
    You can provide an email address in the From field that is approved as the sender for service failure alerts, system status reports, and integration error reports. You configure the approval email address to use in the From field on the Notifications page that is accessible by selecting Settings, and then Notifications.

    Note:

    If you send emails with the notification action and the From address is not one of the approved senders configured on the Notifications page, the From address defaults to the approved sender address of no-reply@mail.integration.region.ocp.oraclecloud.com. For example, if your region is Ashburn, the address is no-reply@mail.integration.us-ashburn-1.ocp.oraclecloud.com. See Configure Notification Emails.

    See Send System Status Reports with Notification Emails.

  7. Click the Subject field.
    This opens a second Subject field for editing immediately after the first field.
  8. Manually enter a subject in plain text, select from the drop-down list, or build an expression from the Source or Functions tree. To drag a function, ensure that you first select Switch to Developer View Switch view icon.

    For this example, a concat function is selected for use from the Functions section.

    concat ( 'Hello', name )
  9. Click the Body field.
    This opens a second Body field for editing immediately after the first field.
  10. Enter a message using plain text and plain HTML formatting that you create in a separate HTML editing tool and paste into this field or parameters that you create in the table immediately after this field. After creating parameters, enter them inside { } brackets.
    <html>
    <body>
    <p>Hello <strong><span style="color: #2925BF;">{name},</span></strong></p>
    <p><span style="color: #298022;"><strong>Welcome to Oracle Integration!</strong></span></p>
    </body>
    </html>
  11. Click + to add parameters.
  12. Enter a parameter name and description or build an expression.
  13. Click + to add attachments.
  14. Select the attachments to add.
  15. In the Attachments section, click + to open a page to select an attachment file.
    You can edit or delete attachments once added. Examples of attachments may include file reference attachments that are available for selection:
    • An attachment from a REST Adapter connection
    • A file reference from a stage file write operation
    • A file reference from an FTP Adapter download operation
  16. When complete, the Configure Notification panel looks as follows for this example:

    The Configure notifications panel shows name and description fields at the top. After this is the Add details of notification section. The To, From, Subject, and Body fields are after. After this is the Parameters section, with a value of name. After this is the Attachments section.

  17. Click Save.

When the email notification is received during integration runtime, the parameter name is replaced with a dynamic value.

Note:

  • Deleting the notification action does not impact downstream activities because a notification does not have any output. Changes in the upstream activities impact the notification when they are used either in the From, To, or Subject fields or in the body parameters. For example, if the name example used in this section is modified, the parameter assignment become invalid.

  • Notification actions are treated as asynchronous actions with no failure. For example, assume you include a notification action in an integration and disable the sendmail service on your host, which prevents you from receiving an email notification. The integration instance appears as completed on the Instances page and there is no error message in the instance. This is the expected behavior. You can only see an issue with the instance if you open the integration instance and view the notification action.

Set the content-type in a Notification Action

You can set the content-type in an email body of a notification action.

Delay Integration Processing for a Specified Time Period with a Wait Action

The wait action enables you to delay the processing of an integration for a specified period of time. Use this action in schedule integrations, asynchronous integrations, synchronous integrations, and fire-and-forget integrations. A typical use for this action is to invoke a specific operation at a certain time. You can specify literal values or build XPath expressions that you can configure with property values during runtime.

Create a Wait Action

  1. Add a wait action to an integration in either of the following ways:
    • On the side of the canvas, click Actions Integration actions icon and drag the Wait action to the appropriate location.
    • Click Add icon at the location where you want to add the wait action, then select Wait.

    The Configure wait panel opens.

  2. Click Edit Edit icon under Configure wait to enter a name and optional description for the wait action.

    Configure the time to wait before processing the integration in either of two ways:

  3. If you want to use literal (hard coded) values:
    1. Enter the number of seconds to wait before processing the integration. Literal values can only be in seconds, with no upper limit. The wait time cannot exceed the total running time of the integration.


      The Input sources tab (which is selected) and Functions tab are shown in the wait action. The Sources section appears below. To the right is the Configure wait section. A value of 60 has been entered into the field. To the right are clear and developer mode icons. In the upper right is an edit icon. To the right are four addition icons.

  4. If you want to enter an XPath expression:

    This option enables you to update a wait action parameter with an integration property value after the integration is activated. This update does not require a re-activation of the integration.

    1. Drag an element from the Input sources section.


      The Input sources tab (which is selected) and Functions tab are shown in the wait action. The Sources section appears expanded below. The Wait_integration_property_1 parameter has been dragged to the field in the Configure wait section on the right. To the right are clear and developer mode icons. In the upper right is an edit icon.

    2. Complete design of your integration and exit the integration canvas.
    3. Activate the integration.
    4. Hover your cursor over the integration, and select Actions Actions icon, then select Update property values.
    5. Enter a value to use at runtime in the New value field (for this example, 9 is entered). This value overrides the value provided in the Default value field.


      The Update property values section shows fields for Default value, Current value, and New value. A value of 9 has been added to the New value field.

    6. Run the integration and view the activity stream.
    7. Click View View icon for the action in front of the wait action (for this example, a logger action) and note that the integration property value is 9 and the wait action was initiated at 02:36:32 and the next action (for this example, a second logger action) was initiated at 02:36:41 (nine seconds later).


      The activity stream shows the following message between the logger action and the wait action: Before wait : Wait Integration Property Value is : 9. The time lapse between the wait action and the second logger action is nine seconds.

Track the Status of a Wait Action During Runtime

During runtime, you can track the status of the wait action on the Tracking page through the tracking diagram and activity stream for an activated integration.

  1. In the navigation pane, click Observability, then Instances.
  2. Click the business identifier value of the integration to track.

    The integration flow (including any wait actions) is displayed.

Related Documentation
The following sections provide examples of using a wait action in an integration: