Message splitting and mapping of one source message to more than one target messages is required at many times. Some typical scenario is that we have a element in input message and based on the value of that element, a node of the input has to be mapped to one of the output message types.
Now consider this scenario. The input message is as follows.
Based on the value of the element(name), the node of input(details)should be directed to one of the two message types.
Input Message type
Output Message types
Create the Message Interfaces and also the corresponding Abstract Interfaces to work with BPM.
Message Mapping is very crucial. We have to map single source Message Type to Two Target Message Types. Click on the Messages tab in the Mapping Editor and choose the messages that are involved in the mapping both at the source and at the target side.
Once this is done we can see the set of messages involved in the mapping in the graphical editor. We can now perform mapping as usual. I have just used a user defined function that maps every element of the input message type to one of the two output message types based on value of element name.
Create the corresponding Interface Mapping and all the interfaces in involved are abstract.
The Mapping or the transformation that we have used requires an Integration Process. Create an integration process.
1. Receive step is invoked after start step which receives the input interface (inputabs) for the input file.
2. Transformation step: The transformation step has got one input (inputabs) and two outputs (outputabs , outputabs1)depending on the element value.
3. A fork steps then branches in to two branches.
A Receiver Determination step returns set of receivers configured for the outputabs interface in the directory and puts it into receiver which is a multiline container receiver element.
A send Step sends the output to the corresponding receiver that is got from the receiver element receiver.
A Receiver Determination step returns set of receiver configured for the outputabs interface in the directory and puts it into receiver1 which is a multiline container receiver element.
A send Step sends the output to the corresponding receiver that is got from the receiver element receiver1.
4. The fork step completes its operation and terminates in to the stop step.
Create sender agreement for the input file.
Receiver Determination plays a key role.
Three Receiver Determinations are required. One for the Sender to BPM and two others for BPM to the corresponding output files. In the Interface Determination for the two Receivers, specify the corresponding Interfaces.
Create Receiver agreements for the output files.
I hope this blog gives you a clear idea how to use BPM in message split.