ebXML BPSS Correlation Service

The ebXML BPSS Correlation service tracks the BPSS transaction, BPSS activities within a transaction, and documents within a BPSS activity.

The following table provides an overview of the ebXML BPSS Correlation service:

System name BPSSCorrelation
Graphical Process Modeler (GPM) categories All Services, Internet B2B > ebXML
Description Interfaces with the Correlation API to track transactions, activities, and documents going out and coming in as part of an ebXML message.
Business usage Tracks the:
  • BPSS transaction
  • BPSS activities within a transaction
  • Documents within a BPSS activity
Usage example A business process that needs to track the BPSS activities can invoke this service by passing the required parameters.
Preconfigured? Yes
Requires third-party files? No
Platform availability All supported Sterling B2B Integrator platforms
Related services No
Application requirements No
Initiates business processes? No
Invocation Runs as part of a business process.
Business process context considerations No
Returned status values None
Restrictions None

Implementing the ebXML BPSS Correlation Service

To implement the ebXML BPSS Correlation service, complete the following tasks:
  1. Create a ebXML BPSS Correlation service configuration. See Managing Services and Adapters.
  2. Configure the ebXML BPSS Correlation service. For information, see Configuring the ebXML BPSS Correlation Service.
  3. Use the ebXML BPSS Correlation service in a business process.

Configuring the ebXML BPSS Correlation Service

To configure the ebXML BPSS Correlation service, you must define following fields in the GPM:

Field Description
Config Name of the service configuration.
conversation_id The conversation_id of the ebXML message. Required.
cpa_id A valid Collaboration Protocol Agreement (CPA) ID. Required.
action Indicates to the service what action needs to be performed. Required. Valid values are:
  • SELECT
  • INSERT
  • UPDATE
DBValues The amount of information passed within the DBValues node varies depending on the action. Required.

ebXML BPSS Correlation Service Business Process Usage

When the action is SELECT, an attempt is made to retrieve the transaction ID. The status values shown in the following examples are:
  • 0 = WAITING
  • 1 = COMPLETED
  • 9 = FAILED

The InDoc should contain the following values when the action is SELECT:

<inDoc>
   <DBValues>
      <tp_name>Sterling 2</tp_name>
      <status>0</status>
   </DBValues> 
</inDoc>

When the action is INSERT, an attempt is made to insert the values shown in the following example:

<inDoc>
   <DBValues>
      <tp_name>Sterling 2</tp_name>
      <status>0</status>
      <trx_id>sgcentennial::4bdb20:f74ba603b7:-71f9</trx_id>
      <time_to_perform>1440</time_to_perform>
      <role_name>buyer</role_name>
      <start_time>1062126842123</start_time>
      <transaction_type>IssuePurchaseOrder</transaction_type>
   </DBValues> 
</inDoc>
When the action is UPDATE, an attempt is made to insert the values shown in the following example. The status values shown are:
  • 1 = COMPLETED
  • 9 = FAILED
<inDoc>
   <DBValues>
      <trx_id>sgcentennial::4bdb20:f74ba603b7:-71f9</trx_id>
      <activity>RequestPurchaseOrder</activity>
      <doc_id>sgcentennial:4bdb20:f74ba603b7:-6166</doc_id>
      <ctr>1</ctr>
      <workflow_id>7015</workflow_id>
      <status>1</status>
      <end_time>1062140580230</end_time>
      <exception_workflow_id>0</exception_workflow_id>
   </DBValues>
 </inDoc>

Output from Service to Business Process

The following parameters are passed from the service to a business process:

Field Description
OutValues Contains the retrieved values. Only applicable when the input action parameter is SELECT. Optional.

The following output values will only be returned if a successful selection is made:

<OutValues>
   <OutDoc>
      <trx_id>sgcentennial::4bdb20:f74ba603b7:-71f9</trx_id>
      <time_to_perform>2880</time_to_perform>
   </OutDoc> 
</OutValues>

The following parameters need to be passed to the service when it is being Run with the output message set to processActivity:

Field Description
action Indicates to the service what action needs to be performed. Required. Valid values are:
  • SELECT
  • INSERT
  • UPDATE

When the action is SELECT, an attempt is made to retrieve the count of the activity name corresponding to the transaction ID:

<inDoc>
   <DBValues>
      <trx_id>sgcentennial::4bdb20:f74ba603b7:-71f9</trx_id>
      <activity>RequestPurchaseOrder</activity>
   </DBValues> 
</inDoc>

When the action is SELECT_ID, an attempt is made to retrieve the business process ID of the activity:

<inDoc>
   <DBValues>
      <trx_id>sgcentennial::4bdb20:f74ba603b7:-71f9</trx_id>
      <activity>RequestPurchaseOrder</activity>
   </DBValues> 
</inDoc>

When the action is INSERT, an attempt is made to insert the values in the following example:

<inDoc>
   <DBValues>
      <trx_id>sgcentennial::4bdb20:f74ba603b7:-71f9</trx_id>
      <time_to_perform>2880</time_to_perform>
      <workflow_id>7015</workflow_id>
      <timeStamp>1062126848411</timeStamp>
      <activity>RequestPurchaseOrder</activity>
      <process_flow>send</process_flow>
   </DBValues> 
</inDoc>

Output from Service to Business Process

The following parameters are passed from the service to a business process when the input action is SELECT or SELECT_ID:

Field Description
OutValues Contains the retrieved values. Only applicable when the input action parameter is set to SELECT or SELECT_ID.

The following output values will only be returned if a successful selection (that is, action=SELECT) is made:

<OutValues>
   <OutDoc>
      <result>1</result>
   </OutDoc> 
</OutValues>

The following output values will only be returned if a successful workflow_id selection (that is, action=SELECT_ID) is made:

<OutValues>
   <OutDoc>
      <workflow_id>1018</ workflow_id >
   </OutDoc> 
</OutValues>

The following parameters need to be passed from the business process to the service when it runs with the output message set to processDocument:

Field Description
action Indicates to the service what action needs to be performed. Required. Valid value is INSERT.

When the action is INSERT, an attempt is made to insert the values shown below. The ctr value show below indicates the nth document. Typically, the insertion of the documents is done in a loop:

<inDoc>
   <DBValues>
      <trx_id>sgcentennial::4bdb20:f74ba603b7:-71f9</trx_id>
      <activity>ConfirmPurchaseOrder</activity>
      <doc_id>sgcentennial:4bdb20:f74ba603b7:-6166</doc_id>
      <ctr>1</ctr>
   </DBValues>
 </inDoc>

Business Process Example

The following example assumes that the nodes DBValues are found in the process data:

<operation>
	<participant name="BPSSCorrelation"/>
	<output message="processTransaction">
	<assign to="conversation_id" from="conversation_id/text()"/>
	<assign to="cpa_id" from="cpa_id/text()"/>
	<assign to="action" from="'SELECT'"/>
	<assign to="inDoc" from="DBValues"/>
	</output>
	<input message="TransactionResponse">
	<assign to="DBValues/trx_id" from="OutValues/OutDoc/trx_id/text()"/>
	<assign to="DBValues/time_to_perform" 
       from="OutValues/OutDoc/time_to_perform/text()"/>
	</input> 
</operation> 
<operation>
	<participant name="BPSSCorrelation"/>
	<output message="processActivity">
	<assign to="action" from="'SELECT'"/>
	<assign to="inDoc" from="DBValues"/>
	</output>
	<input message="ActivityResponse">
	<assign to="DBValues/result" from="OutValues/OutDoc/result/text()"/>
	</input> 
</operation> 
<operation>
	<participant name="BPSSCorrelation"/>
	<output message="processDocument">
	<assign to="action" from="'INSERT'"/>
	<assign to="inDoc" from="DBValues"/>
	</output>
	<input message="DocumentResponse">
	<assign to="." from="*"/>
	</input> 
</operation>