Using Concurrent Programs

This chapter covers the following topics:

Overview of Concurrent Programs

A concurrent program is an instance of an execution file. Concurrent programs use a concurrent program executable to locate the correct execution file. Several concurrent programs may use the same execution file to perform their specific tasks, each having different parameter defaults. Concurrent manager runs in the background waiting for a concurrent program to be submitted. As soon as a concurrent program is submitted, it is put into an execution queue by concurrent manager. Concurrent manager also manages the concurrent execution of concurrent programs.

Concurrent programs associated with the Open Interface Table move the data from interface table to base tables. While other concurrent programs execute the business logic and application-level processing for Oracle E-Business Suite.

Accessing Concurrent Programs

Use Oracle E-Business Suite Module Browser to access concurrent programs either by browsing through product family or by performing a search to locate your desired concurrent programs.

Custom Concurrent programs

For custom concurrent programs, they are displayed in the Oracle E-Business Suite Module Browser under the Other Interfaces > Custom Objects > Concurrent Programs node.

Browsing and Selecting a Custom Concurrent Program

the picture is described in the document text

Alternatively, you can perform a search to locate your desired custom concurrent programs.

Searching for a Custom Concurrent Program

the picture is described in the document text

Design-Time Tasks for Concurrent Programs

This section describes how to configure the Oracle E-Business Suite Adapter to use concurrent programs.

SOA Composite Application with BPEL Process Scenario

Take Open Interface: Order Import concurrent program (OEOIMP) as an example. This concurrent program allows you to run the Order Import process to retrieve order details from the Order Management open interface tables to create sales orders.

When a request of creating an order is received, order details will be passed and inserted into Open Interface tables (OE_HEADER_IFACE_ALL and OE_LINES_IFACE_ALL). Once the insertion is completed, the concurrent program is invoked to import order data from Open Interface tables to Order Management base tables.

When the SOA Composite application with BPEL process has been successfully executed after deployment, you should find the order is created in Oracle E-Business Suite. The purchase order ID should be the same as the payload input value.

Prerequisites to Configuring Concurrent Programs

Populating Applications Context Header Variables

You need to populate certain variables in the BPEL PM in order to provide context information for Oracle E-Business Suite. The context information is required for a transaction in order for an Oracle E-Business Suite user that has sufficient privileges to run the program.

The context is set taking into account the values passed for the header properties including Username, Responsibility, Responsibility Application, Security Group, and NLS Language. If the values for the new header properties Responsibility Application, Security Group, and NLS Language are not passed, context information will be determined based on Username and Responsibility.

The default Username is SYSADMIN, the default Responsibility is SYSTEM ADMINISTRATOR, the default Security Group Key is Standard, and the default NLS Language is US.

You can change the default values specified in the generated WSDL. This is a static way of changing the context information. These values would apply to all invocations of the deployed business process. However, if you need to provide different context information for different invocations of the business process, then you can dynamically populate the header values. The context information can be specified by configuring an Invoke activity.

For more information about applications context, see Supporting for Normalized Message Properties.

SOA Composite Application with BPEL Process Creation Flow

Based on the process scenario, the following design-time tasks are explained in this chapter:

  1. Create a new SOA Composite application with BPEL process

  2. Add partner links

  3. Add a partner link for File Adapter

  4. Configure Invoke activities

  5. Configure Assign activities

Creating a New SOA Composite Application with BPEL Project

To create a new SOA Composite application with BPEL project

  1. Open JDeveloper BPEL Designer.

  2. Click New Application in the Application Navigator.

    The New Gallery page appears. Select SOA Application from the Items list.

    The New Gallery Page

    the picture is described in the document text

    Click OK.

  3. The Create SOA Application - Name your application page is displayed.

    The Create SOA Application - Name your application Page

    the picture is described in the document text

    Enter an appropriate name for the application in the Application Name field.

  4. Click Next. The Create SOA Application - Name your project page is displayed.

    Enter an appropriate name for the project in the Project Name field. For example, OrderImportConcurrentProgram.

    Notice that SOA Suite is shown in the Project Features section.

    The Create SOA Application - Name your project Page

    the picture is described in the document text

  5. Click Next. The Create SOA Application - Configure SOA settings page is displayed.

    The Create SOA Application - Configure SOA settings Page

    the picture is described in the document text

  6. Leave the default Standard Composite selection unchanged for the Start from field.

    Select Composite With BPEL Process from the Standard Composite list, and then click Finish. You have created a new application, and a SOA project. This automatically creates a SOA Composite.

    The Create BPEL Process page is displayed.

  7. Leave the default BPEL 2.0 Specification selection unchanged. This creates a BPEL project that supports the BPEL 2.0 specification.

    Enter an appropriate name for the BPEL process in the Name field. For example, OrderImportConcurrentProgram.

    Select Asynchronous BPEL Process in the Template field. Click OK.

    An asynchronous BPEL process is created with the Receive and Reply activities. The required source files including bpel and wsdl, using the name you specified (for example, OrderImportConcurrentProgram.bpel and OrderImportConcurrentProgram.wsdl) and OrderImportConcurrentProgram (composite.xml) are also generated.

  8. Navigate to SOA folder and click OrderImportConcurrentProgram (composite.xml) to view the composite diagram.

    Oracle JDeveloper Composite Diagram

    the picture is described in the document text

    Double click on the OrderImportConcurrentProgram component to open the BPEL process.

Adding Partner Links

The next task is to add a partner link to the BPEL process. A partner link defines the link name, type, and the role of the BPEL process that interacts with the partner service.

Based on the BPEL process scenario discussed earlier, the following two partner links need to be configured:

To add the first partner link

  1. Click BPEL Services in the Component palette.

    Drag and drop Oracle E-Business Suite (formerly known as Oracle Applications) from the BPEL Services list into the right Partner Link swim lane of the process diagram. The Oracle E-Business Suite Reference page appears.

    Enter a service name in the Name field. For example, InsertOrder.

  2. Click Next. The Service Connection page appears.

    Specifying a Database Service Connection

    the picture is described in the document text

  3. You can perform either one of the following options for your database connection:

    Note: You need to connect to the database where Oracle E-Business Suite is running.

    • You can create a new database connection by clicking the Create a New Database Connection icon.

      How to define a new database connection, see Create a New Database Connection.

    • You can select an existing database connection that you have configured earlier from the Connection drop-down list.

      The Service Connection page will be displayed with the selected connection information. The JNDI (Java Naming and Directory Interface) name corresponding to the database connection appears automatically in the Database Server JNDI Name field. Alternatively, you can specify a JNDI name.

      Note: When you specify a JNDI name, the deployment descriptor of the Oracle E-Business Suite Adapter must associate this JNDI name with configuration properties required by the adapter to access the database.

      The JNDI name acts as a placeholder for the connection used when your service is deployed to the BPEL server. This enables you to use different databases for development and later for production.

      Note: For more information about JNDI concepts, refer to Oracle Fusion Middleware Understanding Technology Adapters.

  4. Click Next in the Service Connection dialog box. You can add a concurrent program by browsing through the list of concurrent programs available in Oracle E-Business Suite.

    If you are connecting to Oracle E-Business Suite Release 12, then the IREP File not present dialog box appears indicating that Adapter could not find the Oracle Integration Repository data file corresponding to the database you are connecting in your workspace. Absence of the data file would make browsing or searching of Integration Repository tree considerably slow. You can choose to extract the data file and create a local copy of the Integration Repository data file. Once it is created successfully, Adapter will pick it up automatically next time and retrieve data from your local Integration Repository.

    You can select one of the following options:

    • Click Yes to extract the Integration Repository data file.

      After the system successfully creates a local copy of the Integration Repository data file, next time when you connect to the database, you will find the IRep Data File field appears in the Operation dialog box indicating where your local copy exists with the creation date and time as part of the file name.

      Using the Local Integration Repository Data File

      the picture is described in the document text

    • Click No to query the Integration Repository data file from the live database you are connecting to display the Integration Repository tree.

    In this example, click No. Click Next in the Operation page to open the Oracle E-Business Suite Module Browser.

  5. Oracle E-Business Suite Module Browser includes the various product families that are available in Oracle E-Business Suite. Expand the tree nodes to locate your desired interface. Concurrent programs can be found under the Open Interfaces category.

    Navigate to Order Management Suite (OM_PF) > Order Management (ONT) > Sales Order (ONT_SALES_ORDER) > OpenInterfaces >Order Management Sales Orders Open Interface (OEOIMP) > Tables to select OE_HEADERS_IFACE_ALL.

    Selecting a Concurrent Program from the Module Browser

    the picture is described in the document text

    Note: If a selected interface table has pre-configured flexfield mappings available, a pop-up window appears allowing you to decide if you want to use these pre-configured mappings. Click Yes to display these mappings as part of the flexfield definitions in the Configure Flexfields region. You can modify them later if needed.

    Click No to indicate that you will not use these mappings and the pop-up window disappears.

    Configuring Flexfield Mapping Data for the Selected Open Interface Table

    Please note that an open interface table is selected in this example as part of the partner link creation. Oracle E-Business Suite Adapter provides flexfield support for open interface tables. Once the table is selected in the module browser, you can either configure flexfield mappings for the table that has flexfields defined in Oracle E-Business Suite or use current data without further flexfield mapping configuration.

    Perform either one of the following tasks in the Oracle E-Business Suite Module Browser:

  6. In this example, click OK. The Application Interface page appears with the selected open table.

    Adapter Configuration Wizard - Application Interface Page

    the picture is described in the document text

  7. Click Get Object to open the module browser again to select another open interface table OE_LINES_IFACE_ALL using the same navigation path Order Management Suite (OM_PF) > Order Management (ONT) > Sales Order (ONT_SALES_ORDER) > OpenInterfaces >Order Management Sales Orders Open Interface (OEOIMP) > Tables to select OE_LINES_IFACE_ALL.

    Click OK. The Application Interface page appears with the two selected tables.

    Adapter Configuration Wizard - Application Interface Page

    the picture is described in the document text

    Click OK.

  8. Click Next. The Operation Type page is displayed.

    Adapter Configuration Wizard - Operation Type Page

    the picture is described in the document text

    Select the Perform an Operation on a Table radio button and then choose the Insert check box. Ensure that the Select check box is deselected.

  9. Click Next. The Select Table page is displayed.

    Adapter Configuration Wizard - Select Table Page

    the picture is described in the document text

    Select OE_HEADERS_IFACE_ALL as the root database table for this service's query.

  10. Click Next. The Define Primary Keys page is displayed.

    Adapter Configuration Wizard - Define Primary Keys Page for OE_HEADERS_IFACE_ALL

    the picture is described in the document text

    Select the following primary keys for the OE_HEADERS_IFACE_ALL table:

    • ORDER_SOURCE_ID

    • ORIG_SYS_DOCUMENT_REF

    Click Next.

    Select the same primary keys for the OE_LINES_IFACE_ALL table.

  11. Click Next. The Relationships page appears. Click Create to open the Create Relationship dialog.

    Defining Relationships

    the picture is described in the document text

    Enter the following information to define the relationship between the header and the detail table:

    • Select the OE_HEADERS_IFACE_ALL as the parent table and OE_LINES_IFACE_ALL as the child table.

    • Select the mapping type: OE_HEADERS_IFACE_ALL has a 1:M Relationship with OE_LINES_IFACE_ALL

      Note: If foreign key constraints between tables already exist in the database, then two relationships are created automatically while importing tables. One of the relationships is 1:M relationship from the source table, which is the table containing the foreign key constraints, to the target table. The other relationship is a 1:1 back pointer from the target table to the source table.

    • Select the Private Owned check box.

    • Associate the foreign key fields with the primary key fields:

      • OE_HEADERS_IFACE_ALL.ORDER_SOURCE_ID: ORDER_SOURCE_ID

      • OE_HEADERS_IFACE_ALL.ORIG_SYS_DOCUMENT_REF: ORIG_SYS_DOCUMENT_REF

    • The Relationship Name field is populated automatically by default. You can optionally specify a new name for the relationship you are creating.

    Click OK. The newly created relationship information appears in the Relationships page.

    Adapter Configuration Wizard - Relationships Page

    the picture is described in the document text

  12. Click Next. The Attribute Filtering page appears. Leave default selections unchanged.

    Adapter Configuration Wizard - Attribute Filtering Page

    the picture is described in the document text

    Click Next. The Advanced Options page appears.

    Click Next.

  13. Click Finish. The wizard generates the WSDL file corresponding to the selected interface. This WSDL file is now available for the partner link.

To add the second partner link

  1. Click BPEL Services in the Component palette.

    Drag and drop Oracle E-Business Suite (formerly known as Oracle Applications) from the BPEL Services list into the right Partner Link swim lane of the process diagram. The Oracle E-Business Suite Reference page appears.

    Enter a service name in the Name field. For example, ImportOrderCP.

  2. Click Next. The Service Connection dialog appears.

  3. You can perform either one of the following options for your database connection:

    Note: You need to connect to the database where Oracle E-Business Suite is running.

    • You can create a new database connection by clicking the Create a New Database Connection icon.

      How to define a new database connection, see Create a New Database Connection.

    • You can select an existing database connection that you have configured earlier from the Connection drop-down list.

      The Service Connection page will be displayed with the selected connection information. The JNDI (Java Naming and Directory Interface) name corresponding to the database connection appears automatically in the Database Server JNDI Name field. Alternatively, you can specify a JNDI name.

      Note: When you specify a JNDI name, the deployment descriptor of the Oracle E-Business Suite Adapter must associate this JNDI name with configuration properties required by the adapter to access the database.

      The JNDI name acts as a placeholder for the connection used when your service is deployed to the BPEL server. This enables you to use different databases for development and later for production.

      Note: For more information about JNDI concepts, refer to Oracle Fusion Middleware Understanding Technology Adapters.

  4. Once you have completed creating a new connection for the service, you can add a concurrent program by browsing through the list available in Oracle E-Business Suite.

    Click Next.

    If you are connecting to Oracle E-Business Suite Release 12, then the IREP File not present dialog appears indicating that Adapter could not find the Oracle Integration Repository data file corresponding to the database you are connecting to Oracle E-Business Suite in your workspace. Absence of the data file would make browsing or searching of Integration Repository tree considerably slow. You can choose to extract the data file and create a local copy of the Integration Repository data file. Once it is created successfully, Adapter will pick it up automatically next time and retrieve data from your local Integration Repository.

    You can select one of the following options:

    • Click Yes to extract the Integration Repository data file.

      After the system successfully creates a local copy of the Integration Repository data file, next time when you connect to the database, you will find the IRep Data File field appears in the Operation dialog indicating where your local copy exists with the creation date and time as part of the file name.

      Using the Local Integration Repository Data File

      the picture is described in the document text

    • Click No to query the Integration Repository data file from the live database you are connecting to display the Integration Repository tree.

    In this example, click Next in the Operation page to open the Oracle E-Business Suite Module Browser.

  5. The Oracle E-Business Suite Module Browser combines interface data from Oracle Integration Repository with information about the additional interfaces supported by Oracle E-Business Suite Adapter, organized in a tree hierarchy.

    Navigate to Order Management Suite (OM_PF) >Order Management (ONT) > Sales Order (ONT_SALES_ORDER) > OpenInterfaces > Order Management Sales Orders Open Interface > ConcurrentPrograms to select a concurrent program OEOIMP (OEOIMP).

    Selecting a Concurrent Program from the Module Browser

    the picture is described in the document text

  6. Click OK. The Application Interface page appears.

    Adapter Configuration Wizard - Application Interface Page

    the picture is described in the document text

  7. Click Next, then click Finish to complete the process. The partner link is created with the required WSDL settings. The wizard also generates the WSDL file corresponding to the XML schema. This WSDL file is now available for the partner link.

Adding Partner Links for File Adapter

Use this step to configure a BPEL process by synchronously reading payload from an input file to obtain the order details and concurrent program details.

Configure the following two partner links:

  1. To obtain order details from an input file through Synchronous Read operation.

  2. To obtain concurrent program details from an input file through Synchronous Read operation.

To add the first Partner Link for File Adapter to read order details:

  1. In Oracle JDeveloper BPEL Designer, click BPEL Services in the Component palette.

    Drag and drop File Adapter from the BPEL Services list into the right Partner Link swim lane before the first partner link InsertOrder. The File Adapter Reference page appears.

    Specifying a File Reference Name

    the picture is described in the document text

    Enter a name for the File Adapter service, for example, getOrderDetails.

  2. Click Next. The Adapter Interface page appears.

    Specifying the Adapter Interface

    the picture is described in the document text

    Select the Define from operation and schema (specified later) radio button and click Next.

    The File Server Connection page appears. Leave the default value unchanged for the File Server JNDI Name field.

    Click Next

  3. In the Operation page, specify the operation type. For example, select the Synchronous Read File radio button. This automatically populates the Operation Name field.

    Specifying the Operation

    the picture is described in the document text

    Click Next to access the File Directories page.

  4. Select the Logical Name radio button and specify directory for incoming files, such as inputDir.

    Ensure the Delete files after successful retrieval check box is not selected.

    Configuring the Input File

    the picture is described in the document text

    Click Next to open the File Name page.

  5. Enter the name of the file for the synchronous read file operation. For example, enter order_data.xml. Click Next. The Messages page appears.

  6. Select the 'browse for schema file' icon next to the URL field to open the Type Chooser.

    Click Type Explorer and select Project Schema Files > InsertOrder_table.xsd > OeHeadersIfaceAllCollection. Click OK.

    The selected schema information will be automatically populated in the URL and Schema Element fields.

    Specifying Message Schema

    the picture is described in the document text

  7. Click Next and then Finish. This completes the configuration and create the partner link with the required WSDL settings for the File Adapter service. The wizard also generates the WSDL file corresponding to the partner link. The main Create Partner Link dialog box appears, specifying the new WSDL file getOrderDetails.wsdl.

    The getOrderDetails Partner Link appears in the BPEL process diagram.

To add the second Partner Link for File Adapter to read concurrent program details:

  1. In Oracle JDeveloper BPEL Designer, click BPEL Services in the Component palette.

    Drag and drop File Adapter from the BPEL Services list into the right Partner Link swim lane after the first File Adapter partner link getOrderDetails. The File Adapter Reference page appears.

    Specifying a File Adapter Reference Name

    the picture is described in the document text

    Enter a name for the File Adapter service, such as getCPDetails.

  2. Click Next. The Adapter Interface page appears.

    Specifying the Adapter Interface

    the picture is described in the document text

    Select the Define from operation and schema (specified later) radio button and click Next.

    The File Server Connection page appears. Leave the default value unchanged for the File Server JNDI Name field.

    Click Next

    the picture is described in the document text

  3. In the Operation page, specify the operation type. For example, select the Synchronous Read File radio button. This automatically populates the Operation Name field.

    Specifying the Operation

    the picture is described in the document text

    Click Next to access the File Directories page.

  4. Select the Logical Name radio button and specify directory for incoming files, such as inputDir.

    Ensure the Delete files after successful retrieval check box is not selected.

    Configuring the Input File

    the picture is described in the document text

    Click Next to open the File Name page.

  5. Enter the name of the file for the synchronous read file operation. For example, enter cp_data.xml. Click Next to open the Messages page.

  6. Select the 'browse for schema file' icon next to the URL field to open the Type Chooser.

    Click Type Explorer and select Project Schema Files > ImportOrderCP_sp.xsd > InputParameters. Click OK.

    The selected schema information will be automatically populated in the URL and Schema Element fields.

  7. Click Next and then Finish. his completes the configuration and create the partner link with the required WSDL settings for the File Adapter service. The wizard also generates the WSDL file corresponding to the partner link. The main Create Partner Link dialog box appears, specifying the new WSDL file getCPDetails.wsdl.

    The getCPDetails Partner Link appears in the BPEL process diagram. Double click the Partner Link service icon to open the Edit Partner Link dialog and view the details.

Configuring Invoke Activities

After adding and configuring partner links, you need to configure the following four Invoke activities:

  1. To get the order details by invoking the getOrderDetails partner link through Synchronous Read operation to read the order from an input file.

  2. To get the concurrent program details by invoking the getCPDetails partner link through Synchronous Read operation to read the concurrent program information from an input file.

  3. To insert order data into Open Interface tables by invoking InsertOrder partner link.

  4. To import order data from Open Interface tables to Oracle E-Business Suite by invoking ImportOrderCP concurrent program partner link.

To add the first Invoke activity for a partner link to get order details:

  1. In Oracle JDeveloper BPEL Designer, expand the BPEL Constructs from the Component Palette. Drag and drop the first Invoke activity from the Web Service section into the center swim lane of the process diagram, between the receiveInput and callbackClient activities.

    Adding an Invoke Activity

    the picture is described in the document text

  2. Link the Invoke activity to the getOrderDetails service. The Edit Invoke dialog appears.

  3. Enter a name for the Invoke activity. In the Input tab, ensure the Input Variable radio button is selected. Click the Create icon next to the Input Variable field to create a new variable. The Create Variable dialog box appears.

  4. Select Global Variable, then enter a name for the variable. You can also accept the default name. Click OK.

  5. In the Output tab, ensure the Output Variable radio button is selected. Click the Create icon next to the Output Variable field to create a new variable. The Create Variable dialog box appears.

  6. Select Global Variable, then enter a name for the variable. You can also accept the default name. Click OK to return to the Edit Invoke dialog box.

    Displaying the Invoke Activity Details

    the picture is described in the document text

    Click Apply and then OK to finish configuring the Invoke activity.

    The Invoke activity appears in the process diagram.

To add the second Invoke activity for a partner link to get concurrent program details:

  1. In JDeveloper BPEL Designer, expand the BPEL Constructs from the Component Palette. Drag and drop the second Invoke activity from the Web Service section into the center swim lane of the process diagram right after the first Invoke activity.

  2. Link the Invoke activity to the getCPDetails service. The Edit Invoke dialog appears.

  3. Repeat Step 3 to Step 6 described in the first Invoke activity procedure.

    The input and output variables should be populated in the Edit Invoke dialog box.

    Displaying the Invoke Activity Details

    the picture is described in the document text

To add the third Invoke activity for a partner link to insert order data into Open Interface tables:

  1. In JDeveloper BPEL Designer, expand the BPEL Constructs from the Component Palette. Drag and drop the third Invoke activity from the Web Service section into the center swim lane of the process diagram, between the second Invoke and callbackClient activities.

  2. Link the Invoke activity to the InsertOrder service. The Edit Invoke dialog box appears.

  3. Repeat Step 3 to Step 4 described in the first Invoke activity procedure. Click OK in the Edit Invoke dialog box to finish configuring the second Invoke activity.

    Displaying the Invoke Activity Details

    the picture is described in the document text

To add the fourth Invoke activity for a partner link to import the order information to Oracle E-Business Suite:

  1. In JDeveloper BPEL Designer, expand the BPEL Constructs from the Component Palette. Drag and drop the fourth Invoke activity from the Web Service section into the center swim lane of the process diagram, between the third Invoke and callbackClient activities.

  2. Link the Invoke activity to the ImportOrderCP service. The Edit Invoke dialog box appears.

  3. Repeat Step 3 to Step 6 described in the first Invoke activity procedure.

    The input and output variables should be populated in the Edit Invoke dialog box.

  4. Setting Header Properties for Applications Context

    Use the following steps to set the header message properties required to pass applications context required to complete the BPEL process:

    1. Select the Properties tab in the Edit Invoke dialog box.

    2. Click the Create icon. The To Property dialog appears.

    3. Select the jca.apps.Username property from the Name drop-down list.

      Selecting a Property

      the picture is described in the document text

    4. Select the Expression radio button and enter 'OPERATIONS' as the property value.

      Click OK.

    5. Repeat Step 2 to Step 4 to assign the following properties:

      • 'Order Management Super User, Vision Operations (USA)' for jca.apps.Responsibility.

      • 204 for jca.apps.ORG_ID

  5. Click Apply and then OK to complete the Invoke activity.

Configuring Assign Activities

Based on the BPEL process scenario, you need to configure the following two Assign activities:

  1. To pass the output of File Adapter's Synchronous Read (getOrderDetails) service as an input to the Open InterfaceInsertOrder service.

  2. To set the payload of the Concurrent Program (ImportOrderCP) service.

To add the first Assign activity:

  1. In JDeveloper BPEL Designer, expand the BPEL Constructs from the Component Palette.

    Drag and drop the first Assign activity from the Basic Activities section into the center swim lane of the process diagram, between the first and second Invoke activities that you just created earlier.

  2. Double-click the Assign activity to access the Edit Assign dialog.

    Click the General tab to enter a name for the Assign activity. For example, SetOrderDetails.

  3. Select the Copy Rules tab and expand the target trees:

    • In the From navigation tree, navigate to Variable > Process > Variables > Invoke_SynchRead_OutputVariable and select body.

    • In the To navigation tree, navigate to Variable > Process > Variables > Invoke_insert_InputVariable and select OeHeadersIfaceAllCollection.

    Drag the source node (body) to connect to the target node (OeHeadersIfaceAllCollection) that you just specified. This creates a line that connects the source and target nodes. The copy rule is displayed in the From and To sections at the bottom of the Edit Assign dialog box.

    Assigning Parameters

    the picture is described in the document text

  4. Click Apply and then OK to complete the configuration of the Assign activity.

To add the second Assign activity:

  1. In JDeveloper BPEL Designer, expand the BPEL Constructs from the Component Palette.

    Drag and drop the second Assign activity from the Basic Activities section into the center swim lane of the process diagram, between the third and fourth Invoke activities that you just created earlier.

  2. Double-click the Assign activity to access the Edit Assign dialog.

    Click the General tab to enter a name for the Assign activity. For example, SetCPDetails.

  3. Select the Copy Rules tab and expand the target trees:

    • In the From navigation tree, navigate to Variable > Process > Variables > Invoke_SynchRead_OutputVariable_1 and select body.

    • In the To navigation tree, navigate to Variable > Process > Variables > Invoke_ImportOrderCP_InputVariable and select InputParameters.

    Drag the source node (body) to connect to the target node (InputParameters) that you just specified. This creates a line that connects the source and target nodes. The copy rule is displayed in the From and To sections at the bottom of the Edit Assign dialog box.

    Assigning Parameters

    the picture is described in the document text

  4. Click Apply and then OK to complete the configuration of the Assign activity.

Displaying BPEL Process Diagram

the picture is described in the document text

Click the OrderImportConcurrentProgram (composite.xml) to display the composite diagram:

Displaying Composite Diagram

the picture is described in the document text

Note: Click the Source tab of OrderImportConcurrentProgram (composite.xml) to enter a value for the physical directory inputDir for the reference getOrderDetails and getCPDetails (such as /usr/tmp).

<property name="inputDir" type="xs:string" many="false" override="may">/usr/tmp</property>

Run-Time Tasks for Concurrent Programs

After designing the SOA Composite application with BPEL process, the next step is to deploy, run and monitor it.

  1. Deploy the SOA Composite application with BPEL process

  2. Test the Deployed SOA Composite application with BPEL process

  3. Verify records in Oracle E-Business Suite

Deploying the SOA Composite Application with BPEL Process

To invoke the services from the BPEL client contained in the SOA composite, the SOA composite needs to be deployed to the Oracle WebLogic managed server. This can be achieved using Oracle JDeveloper. Once the composite is deployed, it can be tested from the Oracle Enterprise Manager Fusion Middleware Control Console.

Prerequisites

Before deploying the SOA composite with BPEL process using Oracle JDeveloper, you must have established the connectivity between the design-time environment and the run-time server. For more information, see Configuring the Data Source in Oracle WebLogic Server and Creating an Application Server Connection.

Note: If a local instance of the WebLogic Server is used, start the WebLogic Server by selecting Run > Start Server Instance from Oracle JDeveloper. Once the WebLogic Admin Server "DefaultServer" instance is successfully started, the <Server started in Running mode> and DefaultServer started message in the Running:DefaultServer and Messages logs should appear.

To deploy the SOA Composite application with BPEL process

  1. Select the SOA Composite project in the Applications Navigator.

  2. Right-click the project name, then select Deploy > [project name] > [serverConnection] from the menu that appears.

    For example, you can select Deploy > OrderImportConcurrentProgram > soa-server1 to deploy the process if you have the connection set up appropriately.

    Note: If this is the first time to set up server connection, then the Deployment Action window appears. Select 'Deploy to Application Server' and click Next.

    In the Deploy Configuration window, ensure the following information is selected before clicking Next to add a new application server:

    • New Revision ID: 1.0

    • Mark composite revision as default: Select this check box.

    • Overwrite any existing composites with the same revision ID: Select this check box.

    The steps to create a new Oracle WebLogic Server connection from JDeveloper are covered in Creating an Application Server Connection.

  3. In the Select Server page, select 'soa-server1' that you have established the server connection earlier. Click Next.

  4. In the SOA Servers page, accept the default target SOA Server ('soa-server1') selection.

    Click Next and Finish.

    If you are deploying the composite for the first time from your Oracle JDeveloper session, the Authorization Request window appears. Enter username and password information specified during Oracle SOA Suite installation. Click OK.

  5. Deployment processing starts. Monitor deployment progress and check for successful compilation in the SOA - Log window.

    Verify that the deployment is successful in the Deployment - Log window.

Testing the Deployed SOA Composite Application with BPEL Process

Once the BPEL process contained in a SOA Composite application is deployed, you can manage and monitor the process from the Oracle Enterprise Manager Fusion Middleware Control Console. You can also test the process and the integration interface by manually initiating the process.

To test the deployed SOA Composite application with BPEL process

  1. Navigate to Oracle Enterprise Manager Fusion Middleware Control Console (http://<servername>:<portnumber>/em). The composite you deployed is displayed in the Applications Navigation tree.

  2. Enter username (such as weblogic) and password and click Login to log in to a farm.

    You may need to select an appropriate target instance farm if there are multiple target Oracle Enterprise Manager Fusion Middleware Control Console farms.

  3. From the Farm base domain, expand the SOA > soa-infra > soa-infra (soa_server1) > default to navigate through the SOA Infrastructure home page and menu to access your deployed SOA composite applications running in the SOA Infrastructure for that managed server.

    Note: The Farm menu always displays at the top of the navigator. As you expand the SOA folder in the navigator and click the links displayed beneath it, the SOA Infrastructure menu becomes available at the top of the page.

    Click the SOA composite application that you want to initiate (such as 'OrderImportConcurrentProgram') from the SOA Infrastructure.

    Viewing Deployed SOA Composites

    the picture is described in the document text

    Click Test at the top of the page.

  4. The Test Web Service page for initiating an instance appears. You can specify the XML payload data to use in the Input Arguments section.

    Enter the input string required by the process and click Test Web Service to initiate the process.

    Testing Web Service

    the picture is described in the document text

    The test results appear in the Response tab upon completion.

  5. Displaying the Results in the Response Tab

    the picture is described in the document text

    Click Launch Flow Trace in the Test Web Service page. The Flow Trace page is displayed.

    In the Trace section, you should find the sequence of the message flow for the service binding component (orderimportconcurrentprogram_client_ep), BPEL component (OrderImportConcurrentProgram), and reference binding components (getOrderDetails, getCPDetails, InsertOrder and ImportOrderCP). All involved components have successfully received and processed messages.

    Displaying Execution Status in the Flow Trace Page

    the picture is described in the document text

    If any error occurred during the test, you should find it in the Faults section.

  6. Click your BPEL service component instance link (such as OrderImportConcurrentProgram) to display the Instances page where you can view execution details for the BPEL activities in the Audit Trail tab.

    Click the Flow tab to check the BPEL process flow diagram. Click an activity of the process diagram to view the activity details and flow of the payload through the process.

Verifying Records in Oracle E-Business Suite

To validate the BPEL process, log on to Oracle E-Business Suite forms to check the status of the Concurrent Program execution. Once it is successfully executed, the purchase order should also be created in Oracle E-Business Suite applications.

To verify records in Oracle E-Business Suite applications

  1. Log in to Oracle E-Business Suite with the Order Management Super User, Vision Operations (USA) responsibility.

  2. Choose Orders, Return > Sales Order to open the Sales Orders form.

    Verifying the Sales Order Creation

    the picture is described in the document text

  3. Search for an order by pressing F11 key. In the Customer PO field, enter the order ID present in the xml file. For example, enter order_id_01 and press CTRL+F11 keys to execute the query.

  4. You should find the newly created order appears with order ID order_id_01.

    Select the Line Items tab to verify the quantity and item type of the order which should be the same as that present in the xml file

  5. Alternatively, you can also validate the result by querying the database with the following SQL statement:

    Select orig_sys_document_ref from oe_order_headers_all where orig_sys_document_ref = 'order_id_01';

Troubleshooting

If you experience problems with your concurrent program integration, you can take the following troubleshooting steps:

Enable logging for Adapter to see if the issue is on the middleware side. For information on how to enable logging, see Enabling Logging for Adapters.