on 08-27-2015 11:30 AM
Hi All,
I have completed the config for scenario File to IDOC scenario on PI 7.4
I am using FCC in my sender communication channel. The structure of the source message type is as below:
DT_xxxx
|__Header
|__Field1
|__Field2
|__LineItem
|__Field1
|__Field2
The scenario is working fine when both the records(Header, LineItem) are present in the input file. But when the input file contains only Header and Line item record is blank i am getting the error in sender channel as: Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR consistency check in recordset . The requirement is that even if the LineItem record is blank the IDOC should get posted.
The occurence for Header is 1 and LineItem is 0..999.
Below are the FCC parameters which i have configured in sender channel:
Recordset structure :Header,1,LineItem,9999
ignoreRecordsetName = true
Header.fieldSeparator
Header.fieldNames
Header.endSeparator
LineItem.fieldSeparator
LineItem.fieldNames
LineItem.endSeparator
Note: I cannot use Key values as there is no field in data that can be used as key.
Request you all to please give your valuable suggestions on how this can be achieved.
Thanks and Regards,
Diksha
Diksha,
Note: I cannot use Key values as there is no field in data that can be used as key.
key field is mandatory , where ever structure is not flat.
so ..you can just add key field in structure your own. there must be identifier for Header and lineitem
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Diksha,
Adding key mean, we need to data gainst that key so that data will split to header and lineitem.
also data which shared is not proper..can you please share exact data which contains header and lineitem data..and let us know which data would be as a header and which data would be lineitem?
Diksha,
I am asking in file how you will decide which line is belongs to header and which line belongs to line item. for example,
ABC,field1,field2,field3...
xyz,field1,field2,field3...
xyz,field1,field2,field3...
here we can say ABC record is header and xyz record is lineitem.
same like that you also can see some identifier in your test data , that identifier you can give keyfieldName in channel configuration. one for header and one for lineitem.
Hi,
Try by changing details as below.
Recordset structure :Header,1,LineItem,*
Also change value from ascending to variable.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Use the parameter ignoreRecordsetName
Suman
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.