There is a lot of fuss around the Split adapter of Seeburger. Although there were certain blogs present on SDN explaining how to use Split module, there wasn't very clear explanation as where exactly this Split module is used and during a message flow, when does it gets executed. This article will therefore talk about the logic of using the Split adapter and Classifier module.
Note: Before reading this blog, it is assumed that basic Seeburger related terminologies like BIC, adapter modules etc are known.
The initial and most important thing to understand are the terminologies.
- An "EDI Document": is a single business document which usually refers to a single business transaction. E.g. 850 would be an EDI Document for PurchaseOrder.
- An "Interchange": is a document which may have multiple EDI Documents of similar or multiple types. An Interchange could therefore hold multiple Business transactions.
In a usual Business scenario, communicating partners sends entire Interchange and not individual Documents. Each EDI Document within an Interchange could be different. Therefore when we think about conversion of such an EDI file into its EDI-xml format, we cannot identify which Mapping would be used. Therefore before we do the actual mapping (which is done by BIC module), we need to ensure which mapping should be used. Manually identification and separation could be very much error prone and not a good solution too. Therefore Seeburger provides us an intelligent solution which automatically identifies and splits these files into separate messages. This is achieved using combination of Split Adapter and Classifier module.
Point to Ponder: Since this Interchange issue is only applicable to EDI files sent to PI, therefore these modules are used only at sender side. There is no logical requirement (known to me) to use them at receiver.
The logical flow of message therefore would be:
1. Message should be sent from Sender to PI. This would be say an EDI Interchange with multiple types of Documents. While entering PI through the sender channel (File, AS2 or X400), following module configuration is required.
2. First encounter happens with Classifier module which only classifies what all business documents does the Interchange holds and performs no change on the actual Message. This additional information is the actual Mapping information which is used further by BIC module.
3. Now the EDI Documen types within an Interchange are known. BIC module at Configuration Time has used the mappingName as AUTO which would mean that it will pick the mapping name information from Classifier module at runtime.. Based on this mapping information all EDI to EDI-xml conversion is done. Still no Split.
4. Another configuration with BIC module will suggest that Split of message is to be done or not.
5. The Split module in the next level creates a new message in PI terminology and sends it to Split Sender Adapter (channel). Suppose there are 5 purchase orders in one Interchange, then there would be 5 separate calls to Split adapter.
6. As soon as the above configuration is seen, there is a lookup made in the Seeburger Workbench for the specific mapping used. Based on the sender name and mapping used combination, the message flows further.
Point to Ponder: This is the second sender channel which is required for the same scenario. More sender agreements could be required based on the type of messages expected in the interchange.
Point to Ponder: It should also be clear logically that the module configuration I mentioned above should be in the sender channel when the file is received and not at the receiver side.