on 06-01-2006 1:50 PM
Hi
I am working with IDoc-XI-File Scenario. My file structure is;
DT_Details(0..unbounded)which has 31fields. The last field of DT_Details is Items(0..unbounded) which has some 10 fields and the last field of Items is SubItems(0..unbounded)which has 41fields.
My mapping is working fine. Also my scenario is working fine with .csv if my communication channel content conversion parameters are:
Recordset Structure : DT_Details,Items,SubItems
DT_Details.addHeaderLine : 0
DT_Details.fieldSeparator : ,
Items.fieldSeparator : ,
SubItems.fieldSeparator : ,
SubItems.endSeparator : 'nl'
Now my problem comes when I go with fixed length format. My communication channel content conversion parameters are:
Recordset Structure : DT_Details,Items,SubItems
DT_Details.addHeaderLine : 0
DT_Details.fieldFixedLengths : 9,9,7,10,9,7,10,10,10,2,2,8,8,4,2,3,1,4,2,2,12,1,3,1,1,1,1,1,15,9
Items.fieldFixedLengths : 10,10,2,2,8,8,4,2,3,1
SubItems.fieldFixedLengths : 4,2,1,3,1,1,1,1,1,15,12,9,10,9,3,3,2,2,2,2,2,2,2,2,2,2,30,30,4,4,1,4,3,3
SubItems.endSeparator : 'nl'
When I used this and run the scenario I get an error message in my File Receiver adapter stating:
Error: Message processing failed: Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Consistency error: more fields found in XML structure than specified in conversion parameters! (Value '01')', probably configuration error in file adapter (XML parser error)'
Any help would be appreciated......
Regards,
---Satish
Hi Satish,
which SP do you have?
Regards
Stefan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Satish
Most likely too late for you, but it might help someone else. I've encountered the same problem, or at least the same error message.
It looks like the adapter configuratioin does not allow subelements in the record set specified in "Recordset Structure". So if you have substructures in DT_Details,Items,SubItems, it will fail.
I had to rewrite my Data Type with this in mind. In your case it could look like this:
<root>
..<rec1>
....<DT_Details>
......<value1/>
....</DT_Details>
....<rec2>
......<Items>
........<value2/>
......</Items>
......<rec3>
........<SubItems>
..........<value3/>
........</SubItems>
......</rec3>
....</rec2>
..</rec1>
</root>
DT_Details occurs only once in rec1, but rec1 occurs as many times as DT_Details in the message.
Items occurs only once in rec2, but rec2 occurs as many times as Items in the DT_Details.
The adapter configuration should be the same.
Br
Elling
Hi Satish,
This type of error comes, if your xml output is not having all the fields..
In fixed length fields, you need to have all the fields with full length. i.e if there is no value in the field, you need to pass exact spaces as mentioned in the field length..
Hope this helps,
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,
Check if you have given exact number of fields in the the content conversion parameter <b>fieldFixedLengths</b>. Check once more if it is matching the number of fields.
Thanks,
Prakash
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Satish,
Even few months back I was also facing the same kind of problem though I am sure that all the content conversion parameters are right. Then the problem was with the number of fields mentioned in the fieldlength then I added this <b>fixedLengthTooShortHandling = Cut</b>
in my parameters. Better try this out and you can also give Ignore instead of Cut.
BTW in your post the number of fields is not matching please check once again.
Thanks,
Prakash
Prakash,
Actually I have disabled some fields earlier. So I havenot given the lengths for the disabled once. But now I have enabled all the fields and added my lengths to them also. So now what are the values I have given is:
Recordset Structure : DT_Details,Items,SubItems
DT_Details.addHeaderLine : 0
DT_Details.fieldFixedLengths : 9,9,7,10,9,7,10,10,10,2,2,8,8,4,2,3,1,4,2,2,12,1,3,1,1,1,1,1,15,5,9
DT_Details.fixedLengthTooShortHandling : Ignore
Items.fieldFixedLengths : 10,10,2,2,8,8,4,2,3,1
Items.fixedLengthTooShortHandling : Ignore
SubItems.fieldFixedLengths : 4,2,1,3,1,1,1,1,1,15,2,12,9,1,1,1,1,1,1,10,9,3,3,2,2,2,2,2,2,2,2,2,2,30,30,4,4,1,4,3,3
SubItems.fixedLengthTooShortHandling : Ignore
SubItems.endSeparator : 'nl'
I have an error message:
Error: Message processing failed: Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Consistency error: more fields found in XML structure than specified in conversion parameters! (Value '01')', probably configuration error in file adapter (XML parser error)'
From this what I see is (Value '01') this value is for my first field of my Item.
Hi Satish,
All your parameters looks fine. Lets do this check now take the final payload from SXMB_MONI and check if it has all fields. If not you need to assign a constant space to get a empty field in the output payload. There might be some blank fields coming form the source.
Thanks,
Prakash
hi,Satish
I think firstly you check the payload of your IDOC inbound message and then compare the each value of the IDOC's fields to the Fixedlengths in the ID file adapter,
maybe the the value length is more longer than the your defined Fixedlengths in ID.
From the error message, i think it is possible.
For example: the field value is '01' in the inbound message,but you defined the item.fixedlengths is 1, so the error comes like you encountered.
Best wishes.
Amanda
User | Count |
---|---|
81 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
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.