Chemical Industry Standard Scenarios in SAP PI
I am writing this document which might be helpful for those who wants to develop chemical industry based scenarios in SAP XI/PI. This document explains about CIDX messages and how to configure objects in Integration Directory for CIDX adapter to map service header of ChemXML.
1. Introduction to CIDX:
Chemical Industry Data Exchange (CIDX) is an association to improve the speed of electronically conducting secure business between chemical companies and their business partners.
CIDX is serving the chemical companies those focus on the development of eBusiness Standards. These eBusiness Standards can also be called as Chem eStandards. CIDX is supported by major chemical companies.
Chem eStandards are developed for selling, buying and delivering the chemical products. These are based on XML.
Chem eStandards contain the below information:
- Partner Roles such as Seller and Buyer
- Activities performed between partners
- Type and Content of the business process documents
- Time, Security and Authentication
The Structure and Content exchanged are defined by XML DTDs (Document Type Definitions). These use transport protocols HTTP and SMTP.
At the end of 2008, CIDX transitioned its standards and operations to the Open Applications Group, Inc. (OAGi) and the American Chemistry
Council’s Chemical Information Technology Center (ChemITC), and ceased to exist as a corporation.
The Chem eStandards will continue to be supported for the foreseeable future while the Chemical Industry Council works towards their new goal.
Further details can be found at the below website:
2. CIDX Transaction Codes:
In CIDX, each transaction is assigned with an alphanumeric code. Below are some examples:
Transaction Name Transaction Code
You can refer the below link for more transaction codes:
3. CIDX Messages:
CIDX messages are based on RosettaNet Implementation Framework (RNIF) standard. Specifically, message protocol follows RNIF 1.1 – RNIF action and RNIF signal messages.
The content of the message is part of the Chem eStandards message documentation. The message contains business content such as ShipNotice and Invoice.
These are acknowledgements sent in response to Chem eStandards actions. Signal messages are usually exchanged asynchronously. They are either positive or negative in nature.
- Positive signal message
A receipt acknowledgment is a positive Chem eStandards signal message, It is sent when a message is received by a partner and is found to be a valid Chem eStandards action message. It is also used to track the message.
- Negative signal messages
- Receipt acknowledgment exception
This message is sent when a message is received by a partner and is found to be invalid with the corresponding DTD.
2. General exception
This message is sent to indicate an error in processing of the action message as regards business rules.
4. CIDX Message Structure:
CIDX Message definition has below format:
SAP Business packages for CIDX can be downloaded from the SAP Service Market Place website.
SAP Business Package consists of two Software components that contain integration content for CIDX. It comes in the .tpz format and we can import into the Enterprise Service Repository of SAP NetWeaver PI. Software Components are below.
- CIDX ERP
CIDX: The CIDX Software Component version contains different versions of CIDX standard interfaces in the form of External Definitions, Service Interfaces, Communication Channel Templates, and Process Integration Scenarios. The communication channel templates are used during the configuration of the CIDX adapter.
CIDX ERP: The CIDX ERP Software Component version contains process integration scenarios, operation mappings, message mappings between CIDX standard interfaces to SAP IDocs and vice versa, and the mapping templates.
Below are the screenshots of CIDX Software Component:
<Version> is the version of the Chem eStandard.
comes from the Chem eStandards Business Transaction specification like Buyer, Seller.
The CIDX adapter determines the name of the business component of the partner and current name of the
business component for an incoming CIDX action message that is based on the selected header fields of the RNIF 1.1 protocol service header.
- Under Current Business Service Code, specify which value is to be set before the service like <Value>Service
This value get mapped to ProcessControl/ServiceRoute/toService.BusinessServiceDescription/GlobalBusinessServiceCode
in Service header.
- Under Partner Business Service Code, specify which value is to be set before the service like <Value>Service
This value get mapped to ProcessControl/ServiceRoute/fromService.BusinessServiceDescription/GlobalBusinessServiceCode in Service header.
- Supply Chain Code is defined in the RNIF 1.1 standard. The values are available in the DTDs of the signal messages.
ChemXML Transaction Information:
- Under code, specify ChemXML transaction code for example E41.
This value get mapped to ProcessControl/ProcessIdentity/ GlobalProcessIndicatorCode in Service header.
- Under Version, specify the Version
This value get mapped to ProcessControl/ProcessIdentity/VersionIdentifier in Service header.
- Under Requesting Message, specify the name of the Chem
eStandard business transaction.
This value get mapped to ProcessControl/TransactionControl/ActionControl/ActionIdentity/GlobalBusinessActionCodein Service header.
- Under Current Role, specify the role of the Integration Server.
This value get mapped to ProcessControl/TransactionControl/PartnerRoleRoute/toRole.PartnerRoleDescription/GlobalPartnerRoleClassificationCodein Service header.
- Under Partner Role, specify the partner’s role.
This value get mapped to ProcessControl/TransactionControl/PartnerRoleRoute/fromRole.PartnerRoleDescription/GlobalPartnerRoleClassificationCode in Service header.
Message Exchange Controls:
- Under Number of Retries, specify how often the partner can attempt to resend CIDX messages
- Receipt Acknowledgment:
- Weak : The signal message
(confirmation/exception) is sent before message processing on Integration
Server is complete.
- Strong : The signal message
(confirmation/exception) is not sent until confirmation has been received from
the Integration Server.
- Select Sign Action Message when you want to sign the action message.
- Select Sign Signal Message when you want to sign the signal message.
- Select Non-Repudiation when you want to request a non-repudiation log for the transaction
When you select the above options, make entries in Sender Agreement for Certificates.
When you select transport protocol as HTTPS then select the authentication mode as “Certificate logon” and specify the Keystore View and Keystore Entry.
6.2. CIDX Receiver Adapter:
Sample Service Header is below which can be seen in communication channel monitoring.