Generic IDoc routing

By using the SAPInput node in passthrough mode, IBM® Integration Bus can receive any IDoc and route it according to IDoc type.

The message definition for a generic IDoc in ALE passthrough mode contains four fields. Three of these fields are control information:
  • The transaction ID
  • The queue name (if qRFC is used)
  • The name of the IDoc type
The fourth field is a hexBinary field that contains the entire IDoc in a raw, unparsed format. You can use the DataObject parser to parse this raw format to a full logical structure of a specific IDoc if you provide a library that contains the definition for that IDoc type. To parse raw IDocs, you must use an MQInput node with the Message domain property set to DataObject, and the Message format property set to SAP ALE IDoc.

When passthrough mode is not used, the library contains a fully parsed IDoc structure. These structures are specific to each IDoc, therefore the library must have a type defined for every IDoc that could be received by the .inadapter component. This library is determined by the RFC Program ID that is configured on the adapter and the ALE or RFC configuration on the SAP side. This behavior can affect how message models are managed.

Whenever you need to develop message flows in isolation, where each flow is to handle a different type of IDoc, the ALE parsed mode is not appropriate because all flows have a common denominator (the library), which needs to be changed whenever a new IDoc type is added.

By using the generic passthrough mode, you can create a routing message flow that uses the IDoc type field of the generic IDoc model to separate IBM MQ queues, for example. You can create message flows that deal with each different IDoc type. If the set of discovered IDocs is extended, you can create a message flow and a library (which contains just the new IDoc), then deploy them, without the need to change existing message flows or libraries.

By using this method, you can also use a single RFC program ID to receive all IDoc types, while still allowing individual IDoc processing.