Skip to Content
Author's profile photo Former Member

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

         ShipNotice                                 E72

          Invoice                                       E81

          OrderCreate                              E41

          OrderChange                            E45


      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
      1.   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:

Preamble: This handles the information global to document.


Service Header: This contains the information about transaction routing and  processing for the given transaction.

Service Content: This contains the actual action message, for example Invoice.

Attachments: Attachments are optional.

Following RNIF message security guidelines, CIDX messages are also signed and above message definition also has
“Signature Length” details if the message is digitally signed.

   5. Business Package for CIDX:    

   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


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:



Below is the screenshot of CIDX ERP Software Component:


   6. CIDX Adapter in PI:

The CIDX adapter in PI is based on the Chem eStandards envelope and security. It is used for exchange of messages between PI and CIDX complaint system. The CIDX adapter supports the Single-action asynchronous business transaction.

When we are using CIDX adapter, there is a naming convention for communication/Business component that is assigned to the channel. This specification is runtime relavant.

Follow the below naming convention when you are creating the business component.

   Name: CIDX<Transactioncode>_<Version>_<Role>

   <Transaction code> is the ChemXML transaction code for example E41 for OrderCreate and E81 for Invoice,
    for this refer section2.


   <Version> is the version of the Chem eStandard. If version is 3.0 then mention the version as 30.

  <Role> 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.


Example: CIDXE41_202_Buyer

      6.1 .  CIDX Sender Adapter:

  Below are the screenshots of Sender CIDX communication channel.




  Below is how the values in channel gets mapped to the service header:

Message Protocol Specific Information:


  • 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:
    1. Weak : The signal message
      (confirmation/exception) is sent before message processing on Integration
      Server is complete.
    2. Strong : The signal message
      (confirmation/exception) is not sent until confirmation has been received from
      the Integration Server.

Security Policy:


  • 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:

   Below are the screenshots of Receiver CIDX communication channel.




To know how to specify the values, refer message protocol specification under section 6.1.

Sample Service Header is below which can be seen in communication channel monitoring.


Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Rama,

      Nice explanation. Must read for those who wants to develop CIDX scenarios in SAP XI/PI.

      Thank you.