I have an issue that i thought was covered in the SAP BIT460 book but the method i am after doesnt have any detail.
I have a customer that wants to split a large file of unknown type (might be idoc/flat file or soap) into smaller sizes for processing speed in PI before it hits ECC.
I found this guide but its missing some detail and is hard to put together, could anybody better this and help me please?
https://blogs.sap.com/2006/06/29/message-splitting-using-the-graphical-mapping-tool/
Request clarification before answering.
It will be easy if you understand the splitting during a serialization method. If you are working with a XML in receive side like:
<MyXMLRoot>
<DATA1>9999</DATA1>
</MyXMLRoot>
and you would serialize this message, when in your message mapping you change the frequency from MT signature in target side will be see something like this in the target side:
<Message1>
<MyXMLRoot>
<DATA1>9999</DATA1>
</MyXMLRoot>
</Message1>
This new "Message1" node will be create automatically and, for example, target side is a IDOC Adapter, the adapter will understand what every occurrences from “MyXMLRoot” will be onde IDOC to be called. If you generate in your mapping 1.000 MyXMLRoot, all the information will be stored in the Table “Message1” and split to be called 1.000 times the respective IDOC
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi George,
What additional details you feel are missing...do you have your sample request & response payloads or source & target message structure so that I can help you.
--Priyanka
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
As an example, we have PO data like
<Source>
<line>
<PONumber>
<Item>
<Materials>
</line>
</Source>
Whereby the inbound file will contain one large file full of repeating instances of POnumber and each with their own sets of items and materials. Because the file has gotten so large i'd like to split it so i get the POnumber and all its materials etc into seperate files. I would like to be able to set a counter or quantity that i split the data by. Large file comes in, gets split in message mapping, 4 or more messages come out wiht equal size files and are sent to reciever. For example if the source file contained 1000 PO's split it out by 8, so you'd end up with 200 files per message sent to receiver.
Thanks.
Hi George,
Can you also send you target structure. Do you want split the source payload into multiple files, one file per PO? Splitting based on file size works for Binary file that doesn't require any processing. Refer https://blogs.sap.com/2011/12/26/fileftp-adapter-large-file-transfer-chunk-mode/
But, for your requirement, I feel splitting in mapping based on PO number is good. You can change the occurrence of target Message type to 0..unbounded and mapping something like below works.
PONumber-->remove context-->sort-->splitbyvalue change-->collapse context-->target message type
Provide your complete source and target structures to get more detailed mapping.
--Priyanka
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.