cancel
Showing results for 
Search instead for 
Did you mean: 

Append error on field length

Former Member
0 Kudos

Hi all,

I've gotten the header/trailer removed in the sender communication channel using java mapping and now must take the resulting detail rows and only allow them to be 80 characters in length and in flat text format (as it was initially). Below is how I have content conversion set up on the receiver communication channel:

*note - if I remove the content conversion in the receiver channel concatenation of the files without the header/trailer works flawlessly but the message is still in pixml format. there is no issue with the append functionality, simply the output of the detail row set to a max of 80 characters followed by another detail row at 80 characters, etc. in flat text format***

Processing parameters: Append

file type: text

file encoding: blank

Recordset Structure: DetailRow

DetailRow.fieldNames Bytes4,RecId,Date1,Filler

DetailRow.fieldFixedLengths 4,6,6,64

DetailRow.addHeaderLine 0

DetailRow.endSeparator 'nl'

communication channel errors received in RWB:

Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Column value '1528W COFFEYVIL KSL 11011409UP COFFEYVIL KS 587970587970' too long (>6 for 2. column) - must stop', probably configuration error in file adapter (XML parser error)

Could not process due to error: java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Column value '1528W COFFEYVIL KSL 11011409UP COFFEYVIL KS 587970587970' too long (>6 for 2. column) - must stop', probably configuration error in file adapter (XML parser error)'

Can anyone lend a hand on this one?

Much thanks,

Don

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Don,

From the details of your error message in RWB, it is crystal clear that :


DetailRow.fieldNames	 Bytes4,RecId,Date1,Filler
DetailRow.fieldFixedLengths	 4,6,6,64

the RecId field whose length is declared to be 6 has got a value in the payload which is greater than 6. And no parameters have been used to tackle such a situation. So such an error has occured.

You can refer this link for getting hold of all the parameters that are used in receiver file adapter content converson:

http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm

I think your problem will be solved if you use DetailRow.fixedLengthTooShortHandling parameter in your Content Conversion.

If you want that the value is shortened to the maximum permitted length only, then use the value Cut for this parameter, else use the value Ignore which means that the system applies the value completely regardless of it being too long.

HOPE THIS HELPS YOU BUDDY!!!!!

THANKS

BISWAJIT

Former Member
0 Kudos

Thanks to all who replied!

DetailRow.fixedLengthTooShortHandling with a value of 'ignore' ended up solving the problem for a flawless flat text output.

Appreciate all the help!

Don

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Don,

As you have fixed the lengths for the fields, you need to provide the data as specified. You have fixed the length of the field "RecId" as 6 but in the payload it is more than 6 characters. Re-check the payload and process it. So, adapter engine is not able to do content conversion.

Thanks,

naveen_chichili
Active Contributor
0 Kudos

Hi Don,

As you have given field length as for the second column "6" and passing more than 6 characters in the input file.This is the reason it is failing in the content conversion .

Could you please check the length....and adjust accordingly so that you can pick your input file successfully.

Cheers!!!

Chichili.

Former Member
0 Kudos

Hi Don,

Check you payload in the target side.


DetailRow.fieldNames Bytes4,RecId,Date1,Filler
DetailRow.fieldFixedLengths 4,6,6,64

For the field RecId you have set the Fixed Length value as 6. I think the value in the payload for this field is greater than 6.

So the communication channel is failing.

Regards,

Aravind