cancel
Showing results for 
Search instead for 
Did you mean: 

I am getting an error

praveen_vanga3
Participant
0 Kudos

I am getting below error in RWB.

Attempt to process file failed with java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Column value  too long (>3 for 2. column) - must stop', probably configuration error in file adapter (XML parser error)'.

Thanks

Vanga

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Praveen,

Your XSD seems to be right.

Right we can figure out if you configuration fits with your file, regarding the help.sap documentation:

Converting XML in the Receiver File/FTP Adapter to Text Format - Configuring the File/FTP Adapter in...


If you made an entry for NameA.fieldFixedLengths, the length of the separator is not added to this length.

Have you taken into account that you don't have to count the tab separator in your fieldFixedLenghts parameter?


You must make an entry for at least NameA.fieldFixedLengths or NameA.fieldSeparator.

If you have a fieldSeparator, why are you using  fieldFixedLenghts?

Finally, without count the tab character, are you really sure all records in the file have the length that you are setting in FCC?.

Regards.

Answers (4)

Answers (4)

iaki_vila
Active Contributor
0 Kudos

Hi Praveen,

Check that the file fits in all the records with fixed lengths that you have defined.

Check your XSD or DT sender schemas fits with you fixed lengths.

Regards.

praveen_vanga3
Participant
0 Kudos

Hi Iñaki Vila,

I have checked in XSD of data type, I can see the below XML code with all fields length.

   <xsd:complexType name="DT_Suppllier_Sync_Receiver">

      <xsd:annotation>

         <xsd:documentation xml:lang="EN">

         Data Type for Supplier Sync

         </xsd:documentation>

      </xsd:annotation>

      <xsd:sequence>

         <xsd:element name="Records" minOccurs="0">

            <xsd:complexType>

               <xsd:sequence>

                  <xsd:element name="PlantCode" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="4" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="SupplierCode" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="10" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="SupplierName" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="35" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="Address1" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="35" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="Address2" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="35" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="Address3" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="35" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="City" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="35" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="State" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="3" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="Zip" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="10" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

                  <xsd:element name="Country" minOccurs="0">

                     <xsd:simpleType>

                        <xsd:restriction base="xsd:string">

                           <xsd:maxLength value="3" />

                        </xsd:restriction>

                     </xsd:simpleType>

                  </xsd:element>

               </xsd:sequence>

            </xsd:complexType>

         </xsd:element>

      </xsd:sequence>

   </xsd:complexType>

</xsd:schema>

Thnaks

vanga

Former Member
0 Kudos

Hi,

Did you check ur file output after specifying below FCC parameter?

Record.fixedLengthTooShortHandling - Ignore

Once you do that u will see which field value is exceeding permissible length.

Thanks

Amit Srivastava

former_member184720
Active Contributor
0 Kudos

Other option is to add below parameter -

  xml.fixedLengthTooShortHandling=<handling>

Specify how you want the system to respond when column widths in the actual document exceed those defined in xml.fieldFixedLengths. The following values are permitted:

■  xml.fixedLengthTooShortHandling=Error

Error means that processing of the document is terminated.

■  xml.fixedLengthTooShortHandling=Cut

Cut means that a value is shortened to the maximum permitted length.

■  xml.fixedLengthTooShortHandling=Ignore

Ignore means that the system copies the value completely, regardless of it being too long. Subsequent columns are moved accordingly.

The default value is Error.



Configuring the Receiver File/FTP Adapter - SAP NetWeaver Exchange Infrastructure - SAP Library

praveen_vanga3
Participant
0 Kudos

Hi Hareesh,

I have checked both points which you mentioned in the previous thread.

a) Check the target payload after mapping and make sure all the fields are generated. In case any field is not created the FCC for fixed length files will fail.

b) Check the value being generated at the mentioned column value. Verify if its length matches the length of the field in that position.

In scenario , I am using Idoc to File .... source IDOC and in the target side I am using structure with 10 fields, all of them are strings....

In FCC, the below are my parameters.

Records.fieldFixedLengths 4,10,35,35,35,35,35,3,10,3

Records.fieldNames PlantCode,SupplierCode,SupplierName,Address1,Address2,Address3,City,State,Zip,Country

Records.endSeparator 'nl'

Records.fieldSeparator '0x09'

ignoreRecordsetName true

We are using Java stck and Adaptor AAE_IDOC.

Name of Idoc Cremas.

Thanks

Praveen

former_member184720
Active Contributor
0 Kudos

Can you provide post mapping xml as well?

iaki_vila
Active Contributor
0 Kudos

Hi Praveen

After to check Hareesh suggestion, you can check the question 7 in this wiki http://wiki.scn.sap.com/wiki/display/XI/Troubleshooting+the+File+Adapter

Regards.

former_member184720
Active Contributor
0 Kudos

Are you doing any content conversion? If so please validate your configuration.

As per your configuration there is a filed whose length should not be greater than 2 but it has got "3".

check your input payload