Hi Experts,
I am using file channel in PI for converting IDoc flat file into xml. I am using the standard module SAP_XI_IDOC/IDOCFlatToXmlConvertor.
The problem is with IDoc administrative segment which is 63 character long as described below:
Segment name (30) + SAP client (3) + IDoc number (16) + number of SAP segments (6) + Number of the hierarchically higher SAP segment (6) +
+ Hierarchy level (2) = 63 chars.
Segment name, SAP client, IDoc number is fine. But I need to understand the functionality of 4th and 5th part in the above distribution.
number of SAP segment (excluding the header) --> If I generate an IDoc flat file, this 6 char field is generated as 000001, 000002, 000003 and so on ..
EDI_DC40 1200000000006044381731 3012 OILMAT05 | ZZIFS_OILMAT05 | ZSD_OILMAT | ZSD_OISAPPDL | LS PDLCLNT120 | SAPIDS001 LS DDSUD000 | 20141009143818 | 20141008121507 | |||||||||
E2MARAM007 | 120000000000604438100000100000002N 1000040 | 20100408 | 20140922 | ZFER 15121500 | EA | 199.040 | 183.040 | KG 208.000 | L | 0002 | 0.000 | 0.000 | 0.000 | 999 | 2 | |
E2OILMA001 | 120000000000604438100000200000103 | |||||||||||||||
E2MAKTM001 | 120000000000604438100000300000103 4Visco 2000 A3/B3 15W-40, 208L E4 | |||||||||||||||
E2MAKTM001 | 120000000000604438100000400000103 DVisco 2000 A3/B3 15W-40, 208L E4 | |||||||||||||||
E2MAKTM001 | 120000000000604438100000500000103 EVisco 2000 A3/B3 15W-40, 208L E4 | |||||||||||||||
E2MAKTM001 | 120000000000604438100000600000103 FVisco 2000 A3/B3 15W-40, 208L E4 | |||||||||||||||
E2MAKTM001 | 120000000000604438100000700000103 GVisco 2000 A3/B3 15W-40, 208L E4 |
So I expected that same way I could keep it in the IDoc text file which I have to convert into IDoc xml but this is creating a problem. I am not sure what should be correct pattern if I wish to create a file same way as I got from the standard output for IDoc text.If I keep the fields as 000001, 00002, 000003,
I get an error that IDoc could not be parsed properly by the sender channel.
For example, the following file is not read by the channel
EDI_DC40 1201000000000123456413 9011 SHPMNT05 | SHPMNT05 | SHPADV | SUD | SHPADVSAPIIV | LS Z4ECLN100 Barloworld | A000000026LS IIVCLNT001 | 20141014164458 | 20141014164458 | |
E2EDT20002 | 12010000000001234560000010000000112345678900002 301 01ABC123 | ||||||||
E2EDL20003 | 12010000000001234560000020000000200001005559876BNMK | CIFDE STADT | 01 | 14401005 | 20141014 | ||||
E2EDL21 | 120100000000012345600000300000002LF | ||||||||
E2EDT13001 | 120100000000012345600000400000002010 | 20141014 | 20141014 | ||||||
E2EDL24007 | 120100000000012345600000500000001000010146AF4 | E4-PE46XC-205l | AX SEKRABC54321 CASTROL ANVOL PE 46 XC8.000 | EA 1853.200 | 1982.000 | KGM | 00020002 | 05 |
If I keep some random values for 000001, 000002,000003, 000004 ...in above file (say 000001, 000004, 000006, 000009...), then the file is processed successfully (Idoc text to IDoc xml).
Am I doing something wrong here ?
Thanks,
Ravi.