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:
|
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
- Create a ebXML BPSS Correlation service configuration. See Managing Services and Adapters.
- Configure the ebXML BPSS Correlation service. For information, see Configuring the ebXML BPSS Correlation Service.
- 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:
|
DBValues | The amount of information passed within the DBValues node varies depending on the action. Required. |
ebXML BPSS Correlation Service Business Process Usage
- 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>
- 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:
|
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>