After finishing a migration project of RosettaNet Interfaces to SAP PI, I thought that sharing my knowledge with SCN Community is a must.
I did found some information here that helped me during the implementation, but I still encountered a lot of problems that needed to be solved on my own.
As CIDX is technically mostly the same as RNIF11, below applies also to CIDX
The blog is divided into several parts and is more or less a list of things you should know or take care of when implementing interfaces with the RNIF or CIDX adapter.
First Part of this blog answers the question why understanding the standard is so important before implementing it.
What is RosettaNet?
I hope you forgive me when the description is short but I’d only explain things that have an technical impact.
Members of the RosettaNet Consortium are international companies that define the structure of message types to be exchanged between trading partners for common business transactions.
They call this message types PIPs (Partner Information Process) together with a three digit code.
The PIPs are organized in clusters, e.g. Cluster 3 are processes related to Order Management.
Each Cluster is organized in segments, e.g. Cluster 3C Returns and Finance
An example PIP of this segment would be electronic Invoicing with the PIP Number 3C3 “Notify of Invoice”
Behind each PIP is one or more XSD/DTD that describe the message structure of this PIP.
Most of the PIPs only have one message type – they are called one action PIPs.
An example for a two action PIP is 3A4 – Request Purchase order
The two actions here are the purchase order request and the corresponding purchase order confirmation.
For each PIP, RosettaNet has several versions. When RosettaNet changes the structure a new Revision number is issued.
They also have several status for each PIP, e.g. PIP 3A4 V02.00.00 can be draft or productive.
Which version should to be used? Well, that depends on your trading partner but if you don’t have any restriction the newest version that is in production would be a good choice as there are only smaller differences
The reason for explaining RosettaNet theory follows right way – Here are useful things that you should not forget:
Importing XSD/DTD versus SAP Standard Content
The above named PIPs will be your MessageType and ServiceInterface in PI
You have two options – Either manually import the XSD/DTD or use the SAP Standard Content
The SAP Standard Content already contains MessageType and ServiceInterface in the correct naming convention. As you might not have a license for this content or only want to have certain PIPs in your PI, you might prefer manually importing the XSD/DTD.
However, in order to download the XSD, you must have a login from http://www.rosettanet.org/
Alternatively, you might ask your trading partner to provide this to you.
The single action PIPs have one XSD/DTD that you will import as MessageType in PI (Two Action have – of course – two)
The runtime of the adapters assumes that you follow certain naming conventions for all of the objects that you create.
Your process will not work if you do not follow this convention (see SAP Help)
When you manually create the ServiceInterface, you will not just need the XSD/DTD but also the Spec Document.
This document is a wordfile that is packed together with the XSD/DTD. In this document, you will find the correct name for the Service Interface.
You will also need it for setting up the Integration Directory later on.
PIP 3C3 has one action called “Invoice Notification Action”
The Service Interface will have the name “InvoiceNotificationAction”
The namespace for this ServiceInterface is also fixed: http://sap.com/xi/RosettaNet/PIP3C3_V0101
Note, that the PIP-Version is also important at is part of the namespace whereas only the first four digits of the version are used.
V02.00.00 will be noted V0200 in PI
Once done, your tree in the Enterprise Service Builder should look like this:
Each PIP can theoretically be a sender or a receiver interface. There is no real direction, you can choose any type of interface but if have a certain direction you should choose either inbound or outbound (abstract is ok too)
DTD versus XSD
Newer PIPs are packed with both DTD and XSD. You can choose either of both but they are not the same. My experience was that the XSD has much more mandatory fields then the DTD. Whether the DTD or XSD shall be used therefore depends on the content that you want to fill into the XML file or requirements from your trading partner.
RosettaNet and PI-Proxy
I was not be able to generate a proxy for the RosettaNet-Interface (probably because of the sap-namespace)
Instead, I created a second Interface in a customer-namespace with the same message type and changed the Interface via simple interface determination.
So far enough for part one. Next Part will again start with theory on different RNIF Versions (1.1. versus 2.0), how a RosettaNet Message is built up and how it is transferred