on 02-07-2006 6:43 PM
Hi,
We have an HR->XI->JMS scenario and the idoc to be managed contain all trips in the same Idoc HRTRPR01. However, we want to send only one trip per idoc.
My question is, how can I within XI, when receiving all trips, perform a selection of all idoc segment's record that belongs to a trip and send it on the same idoc structure, but only one trip per idoc.
Example:
IDOC RECEIVED:
Segment_A:
trip_1 - header
trip_2 - header
trip_3 - header
Segment_B:
trip_1 - line 1
trip_1 - line 2
trip_2 - line 1
trip_3 - line 1
FINAL IDOC:
Message_01
Segment_A:
trip_1 - header
Segment_B:
trip_1 - line 1
trip_1 - line 2
Message_02
Segment_A:
trip_2 - header
Segment_B:
trip_2 - line 1
I hope I've been clear enough.
Can you guys give me some tips how can I perform it?
Thanks in advance,
Luis
Hi,
Use Java Mapping for the segregating the trips.
Regards,
Moorthy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Please see if this is of some use:
<b>Source Structure:</b>
......<IDOC> Occurance (1..1)
.........<Segment_A> Occurance (1..1)
............<TRIP> Occurance (1..unbounded)
...............<Header> Occurance (1..1)
.........<Segment_B> Occurance (1..1)
............<TRIP>Occurance (1..unbounded)
...............<Line>Occurance (1..unbounded)
<b>Target Structure</b>
......<IDOC> Occurance (1..1)
.........<Segment_A> Occurance (1..1)
............<Header> Occurance (1..1)
.........<Segment_B> Occurance (1..1)
............<Line>Occurance (1..unbounded)
<b>Mapping:</b>
<b>Note:</b>
While doing mapping go to Message Tab chnage the Target Message occurance to (0..unbounded). This will give you extra Message and Messagea1 nodes in the Mapping(Design tab).
<b>Rules:</b>
<TRIP>(of Segment_A with context as IDOC) --><IDOC>
<Header>(NO CONTEXT CHANGE)--><Header>
<Line>(NO CONTEXT CHANGE)--><Line>
<b>Offline Test Data(Duirng mapping):</b>
<b>Input:</b>
<?xml version="1.0" encoding="UTF-8"?>
<Messages>
<Message1>
<IDOC>
<Segment_A>
<TRIP>
<Header>trip1_H</Header>
</TRIP>
<TRIP>
<Header>trip2_H</Header>
</TRIP>
</Segment_A>
<Segment_B>
<TRIP1>
<Line>tirp1_L1</Line>
<Line>tirp1_L2</Line>
</TRIP1>
<TRIP1>
<Line>tirp2_L</Line>
</TRIP1>
</Segment_B>
</IDOC>
</Message1>
</Messages>
<b>Output:</b>
<?xml version="1.0" encoding="UTF-8"?>
<Messages>
<Message1>
<IDOC>
<Segment_A>
<Header>trip1_H</Header>
</Segment_A>
<Segment_B>
<Line>tirp1_L1</Line>
<Line>tirp1_L2</Line>
</Segment_B>
</IDOC>
<IDOC>
<Segment_A>
<Header>trip2_H</Header>
</Segment_A>
<Segment_B>
<Line>tirp2_L</Line>
</Segment_B>
</IDOC>
</Message1>
</Messages>
<b>Example Realtime testdata:</b>
<?xml version="1.0" encoding="UTF-8"?>
<IDOC>
<Segment_A>
<TRIP>
<Header>trip1_H</Header>
</TRIP>
<TRIP>
<Header>trip2_H</Header>
</TRIP>
</Segment_A>
<Segment_B>
<TRIP1>
<Line>tirp1_L1</Line>
<Line>tirp1_L2</Line>
</TRIP1>
<TRIP1>
<Line>tirp2_L</Line>
</TRIP1>
</Segment_B>
</IDOC>
<b>Note:</b>
During Interface Mapping in design tab you have to change the occurane of the target interface to (0..Unbounded)
During Interface Determination in Integration Directory, you have to choose Extended(radio button) if you are in SP 14. If you are less than sp14 you have to choose the BPM to collect the multiple messages coming out of Mapping and then send each message one after another using a Block(for-each).
Regards,
KNS Kumar.
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.