on 04-20-2011 3:25 PM
Hi Experts,
I have an interface with source xml file size more than 200MB. I need to map it to Idoc and send it to ERP. I am planning to change wsdl of idoc(changing occurence 1.1 to 0.99999) to send multiple idocs in one message.
I want to split XML file somehow and send it. what are the different options i have to achieve that ? I am short of ideas.
I know if we have flat file, we can use recordset per message in sender file adapter.
OR
Cleint is willing to send it as a SOAP request, i do not want to use SOAP for such a big file.
Regards
Inder
Hi Inder,
As per sap recommendation we would be able to handle 100 MB, you need to tune your server by increasing the [arametersso that you would be able to handle the messages with big payload.
By default the parameter icm/HTTP/max_request_size_KB will be 10240 which can handle 100MB of file size.if you increase the parameter value by tuning ur system you can process a file bigger than that..
Please refer to the below links for reference....
[link1|http://help.sap.com/saphelp_nw04s/helpdata/en/58/108b02102344069e4a31758bc2c810/content.htm]
[link2|http://help.sap.com/saphelp_nwpi71/helpdata/de/95/1528d8ca4648869ec3ceafc975101c/content.htm]
as per the above suggestions the best practice is to sand as a multiple idocs splitting into chunks.
Cheers!!!!
Naveen.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
My question was that if we can split the xml somehow ? is it possible ? I have never seen any blog or way when we can split the xml.
The ways recommended by you guys are awesome, but still problem remains same "BIG FILE SIZE".
1) Recordset - limitation cant use with xml
2) IDOC 0 to unbounded - its a target, 200MB file will produce 1000's idoc in on message
3) Changingh message size in config - Will work, but slow down the system and affect other interfaces also.
Any way to split xml ? i just want to fidn out the way to split xml.
Regards
Inder
Just a thought. We had similar situation in our project. Getting everyday batch processing file of more than 100 mb and caused delay in processing. To avoid this, I modified the scenario from file to jdbc. Where Jdbc sender picks only limited number of records from source at a time and map it to proxy on the other side. This way I have control of pulling only limited number of records every time. You might consider if you could convert huge xml file to different source format, if the sender side has other option.
I dont see direct ways to split the xml file in to chunk. Also how do you handle mapping if the file is split into chunk?
I had a requirement and I am sure it will give you an idea about a new approach.
IDOC- PI- FIle:
We had to collect all the idoc's sent over a day and then send this file to a 3rd party using FTP. SO we achived this as follow:
ECC sends idoc as and when they are triggred--> PI recieves the idoc do the mapping and writes this data in a file with append mode -
This way we can collect the idocs (without BPM) and send the file once daily. This is working fine for me.
Hope it helps. LEt me know if you need further information on this approach !!
Hi,
>> Any way to split xml ? i just want to fidn out the way to split xml.
U can try using shell scripts for splitting the file in two or more based on the size.
Run the script in OS system command in sender communication Channel.
Keep the script in PI Application server and access it in the channel.
Cheers,
Souvik
Handling soap request for a large file is not good practice. PI 7.3 supports large file to handle. In your case requesting client to send multiple files is better way. Also you can send individual idocs for every source record at the target side. Please see Michal's blog about sending multiple idocs.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Inder,
>> i do not want to use SOAP for such a big file.
Yes, Agreed it is not advisable to send huge message .
>>Cleint is willing to send it as a SOAP request
Can you ask the client to chunk and send the message ?
Cheers
Agasthuri
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
25 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.