File Adapter: Fixed length file read fails when all data not present

Hi
We have a BPEL process that reads fixed length data files. It works fine when all the data elements are available in the file but fails with 'rejected:10002' when even a single data is missing.
How to handle this situation in BPEL file adapter?
Are we doing something wrong or is this a normal functionality.
If yes, then is there any work around for this as this is a very usual business condition which may occur, where all data elements are not mandetory.
fixedLength
==========
2,3,3,2
Data - Successful
============
1234567890
2345678901
3456789012
Data - Failed
===========
1234567890
2345678901
345678901
Thanks in advance
Buddhadev

Hi Naveen,
      Do check the following things,
>>Note : I have been asked to give the Transport Protocol as "NFS" (Whether this is the problem???) I have summarized the complete details below. Please help me
       1.If your file resides on your local network/local computer give NFS(Network file system). if your file resides on a FTP location give FTP and also give the FTP log on parameters.
Additional Parameters
File_MT.fieldFixedLengths 10,10,5
File_MT.fieldNames VendorNumber,VendorName,City
File_MT.fieldSeparator
File_MT..processFieldNames fromConfiguration 
       2.If this structure does not match with the input file structure the file adapter wont pick up the file. So check for the help document provided by SAP in the following path.
help.sap.com  --> Documentation  --> SAPNetWeaver --> SAPNetWeaver '04 --> English --> process integration --> SAP Exchange Infrastructure --> connectivity --> Adapters --> File Adapter
       Your file contains three records
V123456789 A123456789 Bosto
V234567890 B123456789 Atlan
V334587900 C123456789 Austi
You have mentioned the fieldSeperator as space but there is no File_MT.endSeparator '/n'  which differentiates between each and every row (record).
        Parameters for Record set Structures mentioned in the sender adapter configuration does not match with the actual file structure .
        Try giving exact structures in the configuration of sender file adapter.
regards,
Aravindh.

Similar Messages

  • File Adapter Fixed Length File issue

    Hi,
    I have a fixed length flat file with each row 13 characters long. First character of each row represents a record type i.e. 0,1,2,3,4,5,6,7,8,9 here is my sample file:
    0123456     
    960373      
    A602710542583
    7602710542583
    1602750499275
    4602750499275
    1602750529800
    7602750529800
    1603030507732
    7603030507732
    1603030509055
    7603030509055
    1603030509229
    7603030509229
    2603600556240
    0603600566095
    2603600567460
    3603310536370
    5603310525810
    3603310531092
    3603310521842
    0603310521842
    3603310521842
    3603310521842
    860201450SA A
    560201451SA A
    560201452SA A
    560201453SAN
    1603630565355
    7603630565355
    1603630565500
    7603630565500
    9603460539390
    2603460535260
    3603790509870
    560200401ABIL
    660372TX066 
    660373TX01531
    660373TX01532
    860373TX066 
    660373TX068 
    360373TX09465
    660373TX09471Here is the schema
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://xmlns.oracle.com/pcbpel/tstSchema/SMP" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd" targetNamespace="http://xmlns.oracle.com/pcbpel/tstSchema/SMP" elementFormDefault="qualified" attributeFormDefault="qualified" nxsd:version="NXSD" nxsd:stream="chars">
         <element name="SMP">
              <complexType>
                   <choice maxOccurs="unbounded" nxsd:choiceCondition="fixedLength" nxsd:length="1">
                        <element ref="tns:smpRecords" nxsd:conditionValue="0" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="1" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="2" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="3" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="4" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="5" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="6" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="7" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="8" minOccurs="0" maxOccurs="unbounded"/>
                        <element ref="tns:smpRecords" nxsd:conditionValue="9" minOccurs="0" maxOccurs="unbounded"/>      
                   </choice>
              </complexType>
         </element>
         <element name="smpRecords" type="tns:smpRecordsType"/>
         <complexType name="smpRecordsType">
              <sequence>
                   <element name="data1" type="string" nxsd:style="fixedLength" nxsd:length="2" nxsd:padStyle="tail" nxsd:paddedBy=" "/>
                   <element name="data2" type="string" nxsd:style="fixedLength" nxsd:length="3" nxsd:padStyle="tail" nxsd:paddedBy=" "/>
                   <element name="emp" type="string" nxsd:style="terminated" nxsd:terminatedBy="${eol}"/>
              </sequence>
         </complexType>
    </schema>When I run the process I get the following output and that is not correct as the first character is also being shown in the output as opposed to be skipped as it is the record type and the output should start from second character.
    output
    <SMP>
    <smpRecords>
    <data1>12</data1>
    <data2>345</data2>
    <emp>6 </emp>
    </smpRecords>
    <smpRecords>
    <data1>96</data1>
    <data2>037</data2>
    <emp>3 </emp>
    </smpRecords>
    <smpRecords>
    <data1>A16</data1>
    <data2>027</data2>
    <emp>10542583</emp>
    </smpRecords>
    <smpRecords>
    <data1>76</data1>
    <data2>027</data2>
    <emp>10542583</emp>
    </smpRecords>
    <smpRecords>
    <data1>16</data1>
    <data2>027</data2>
    <emp>50499275</emp>
    </smpRecords>
    <smpRecords>
    <data1>46</data1>
    <data2>027</data2>
    <emp>50499275</emp>
    </smpRecords>
    <smpRecords>
    <data1>16</data1>
    <data2>027</data2>
    <emp>50529800</emp>
    </smpRecords>
    <smpRecords>
    <data1>76</data1>
    <data2>027</data2>
    <emp>50529800</emp>
    </smpRecords>
    <smpRecords>
    <data1>16</data1>
    <data2>030</data2>
    <emp>30507732</emp>
    </smpRecords>
    <smpRecords>
    <data1>76</data1>
    <data2>030</data2>
    <emp>30507732</emp>
    </smpRecords>
    <smpRecords>
    <data1>16</data1>
    <data2>030</data2>
    <emp>30509055</emp>
    </smpRecords>
    <smpRecords>
    <data1>76</data1>
    <data2>030</data2>
    <emp>30509055</emp>
    </smpRecords>
    <smpRecords>
    <data1>16</data1>
    <data2>030</data2>
    <emp>30509229</emp>
    </smpRecords>
    <smpRecords>
    <data1>76</data1>
    <data2>030</data2>
    <emp>30509229</emp>
    </smpRecords>
    <smpRecords>
    <data1>26</data1>
    <data2>036</data2>
    <emp>00556240</emp>
    </smpRecords>
    <smpRecords>
    <data1>06</data1>
    <data2>036</data2>
    <emp>00566095</emp>
    </smpRecords>
    <smpRecords>
    <data1>26</data1>
    <data2>036</data2>
    <emp>00567460</emp>
    </smpRecords>
    <smpRecords>
    <data1>36</data1>
    <data2>033</data2>
    <emp>10536370</emp>
    </smpRecords>
    <smpRecords>
    <data1>56</data1>
    <data2>033</data2>
    <emp>10525810</emp>
    </smpRecords>
    <smpRecords>
    <data1>36</data1>
    <data2>033</data2>
    <emp>10531092</emp>
    </smpRecords>
    <smpRecords>
    <data1>36</data1>
    <data2>033</data2>
    <emp>10521842</emp>
    </smpRecords>
    <smpRecords>
    <data1>06</data1>
    <data2>033</data2>
    <emp>10521842</emp>
    </smpRecords>
    <smpRecords>
    <data1>36</data1>
    <data2>033</data2>
    <emp>10521842</emp>
    </smpRecords>
    <smpRecords>
    <data1>36</data1>
    <data2>033</data2>
    <emp>10521842</emp>
    </smpRecords>
    <smpRecords>
    <data1>86</data1>
    <data2>020</data2>
    <emp>1450SA A</emp>
    </smpRecords>
    <smpRecords>
    <data1>56</data1>
    <data2>020</data2>
    <emp>1451SA A</emp>
    </smpRecords>
    <smpRecords>
    <data1>56</data1>
    <data2>020</data2>
    <emp>1452SA A</emp>
    </smpRecords>
    <smpRecords>
    <data1>56</data1>
    <data2>020</data2>
    <emp>1453SAN </emp>
    </smpRecords>
    <smpRecords>
    <data1>16</data1>
    <data2>036</data2>
    <emp>30565355</emp>
    </smpRecords>
    <smpRecords>
    <data1>76</data1>
    <data2>036</data2>
    <emp>30565355</emp>
    </smpRecords>
    <smpRecords>
    <data1>16</data1>
    <data2>036</data2>
    <emp>30565500</emp>
    </smpRecords>
    <smpRecords>
    <data1>76</data1>
    <data2>036</data2>
    <emp>30565500</emp>
    </smpRecords>
    <smpRecords>
    <data1>96</data1>
    <data2>034</data2>
    <emp>60539390</emp>
    </smpRecords>
    <smpRecords>
    <data1>26</data1>
    <data2>034</data2>
    <emp>60535260</emp>
    </smpRecords>
    <smpRecords>
    <data1>36</data1>
    <data2>037</data2>
    <emp>90509870</emp>
    </smpRecords>
    <smpRecords>
    <data1>56</data1>
    <data2>020</data2>
    <emp>0401ABIL</emp>
    </smpRecords>
    <smpRecords>
    <data1>66</data1>
    <data2>037</data2>
    <emp>2TX066 </emp>
    </smpRecords>
    <smpRecords>
    <data1>66</data1>
    <data2>037</data2>
    <emp>3TX015 </emp>
    </smpRecords>
    <smpRecords>
    <data1>66</data1>
    <data2>037</data2>
    <emp>3TX01531</emp>
    </smpRecords>
    <smpRecords>
    <data1>66</data1>
    <data2>037</data2>
    <emp>3TX01532</emp>
    </smpRecords>
    <smpRecords>
    <data1>86</data1>
    <data2>037</data2>
    <emp>3TX066 </emp>
    </smpRecords>
    <smpRecords>
    <data1>66</data1>
    <data2>037</data2>
    <emp>3TX068 </emp>
    </smpRecords>
    <smpRecords>
    <data1>36</data1>
    <data2>037</data2>
    <emp>3TX09465</emp>
    </smpRecords>
    <smpRecords>
    <data1>66</data1>
    <data2>037</data2>
    <emp>3TX09471</emp>
    </smpRecords>
    </SMP>As the output for the very first row comes up fine i.e. 0123456
    for this the output is
    <smpRecords>
    <data1>12</data1>
    <data2>345</data2>
    <emp>6 </emp>
    </smpRecords>But for all the rest it keeps adding the first character too i.e. 960373
    for this the output is wrong
    <smpRecords>
    <data1>96</data1>
    <data2>037</data2>
    <emp>3 </emp>
    </smpRecords>as the correct output should be:
    <smpRecords>
    <data1>60</data1>
    <data2>373</data2>
    <emp/>
    </smpRecords>Any idea what I am doing wrong or how I can fix the schema. Also if I add any character other than 0....9 for the first character it still picks up the record i.e. A602710542583
    as it should only process records starting with 0....9
    Thanks

    I tried using transformation to check if the starting 2 chars are 56 then output else continue but the ourput is blank even though I have multiple records that start with 56. Here is the xsl I have
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
      <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
      <mapSources>
        <source type="XSD">
          <schema location="test2.xsd"/>
          <rootElement name="SMP" namespace="http://xmlns.oracle.com/pcbpel/tstSchema/SMP"/>
        </source>
      </mapSources>
      <mapTargets>
        <target type="XSD">
          <schema location="test2.xsd"/>
          <rootElement name="SMP" namespace="http://xmlns.oracle.com/pcbpel/tstSchema/SMP"/>
        </target>
      </mapTargets>
      <!-- GENERATED BY ORACLE XSL MAPPER 10.1.2.0.2(build 060111.0746) AT [TUE OCT 31 08:47:08 CST 2006]. -->
    ?>
    <xsl:stylesheet version="1.0" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:tns="http://xmlns.oracle.com/pcbpel/tstSchema/SMP" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:ns0="http://www.w3.org/2001/XMLSchema" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd" exclude-result-prefixes="xsl tns ns0 nxsd ldap xp20 bpws ora orcl">
      <xsl:template match="/">
        <tns:SMP>
          <xsl:for-each select="/tns:SMP/tns:smpRecords">
            <xsl:if test="tns:data1 = '56'">
              <tns:smpRecords>
                <tns:data1>
                  <xsl:value-of select="tns:data1"/>
                </tns:data1>
                <tns:data2>
                  <xsl:value-of select="tns:data2"/>
                </tns:data2>
                <tns:emp>
                  <xsl:value-of select="tns:emp"/>
                </tns:emp>
              </tns:smpRecords>
            </xsl:if>
          </xsl:for-each>
        </tns:SMP>
      </xsl:template>
    </xsl:stylesheet>and here is the out I get
    <part   name="SMP" >
    <SMP/>
    </part>Any ideas what might be wrong in the xsl itself.
    Thanks

  • File Adapter fixed length Native format Builder schema not reading the data as expected

    Hi
    We are using a File Adapter for reading a fixed length data. Using the schema we are able to read the file but the places are incorrect. Following is the schema that we used and the payload.
    At the last you can find our expected read of data how it should be.
    With out the record type code we are not even reading the file. Hope there should be a correction in the schema. Please suggest
    Schema that we are using:
    <?xml version= '1.0' encoding= 'UTF-8' ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
         xmlns:tns="http://xmlns.energy.com/CreateReturnedItemGENVNDRPReqABCSImplFileAdapterReadReturnedItem"
         targetNamespace="http://xmlns.energy.com/CreateReturnedItemGENVNDRPReqABCSImplFileAdapterReadReturnedItem"
         elementFormDefault="qualified" attributeFormDefault="unqualified" nxsd:version="NXSD" nxsd:stream="chars"
         nxsd:encoding="US-ASCII">
        <xsd:element name="GENVNDRReturnedItem">
            <xsd:complexType>
                <xsd:sequence minOccurs="1" maxOccurs="unbounded" nxsd:choiceCondition="fixedLength" nxsd:length="1">
                    <xsd:element name="HeaderRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:startsWith="1">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="PriorityCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="2" nxsd:padStyle="tail"/>
                                <xsd:element name="ImmediateDstn" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="ImmediateOrgin" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="FileCrDt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="FileCrTm" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="4" nxsd:padStyle="tail"/>
                                <xsd:element name="FileIdMdfr" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="RecSize" type="xsd:string" nxsd:style="fixedLength" nxsd:length="3"
                                     nxsd:padStyle="tail"/>
                                <xsd:element name="BlockingFctr" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="2" nxsd:padStyle="tail"/>
                                <xsd:element name="FormatCd" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="ImmediateDstnNm" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="23" nxsd:padStyle="tail"/>
                                <xsd:element name="ImmediateOrginNm" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="23" nxsd:padStyle="tail"/>
                                <xsd:element name="RefCd" type="xsd:string" nxsd:style="fixedLength" nxsd:length="8"
                                     nxsd:padStyle="tail"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                    <xsd:element name="BatchHdrRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:startsWith="5">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="ServClsCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="3" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyName" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="16" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyDiscretionaryData" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="20" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyIdfn" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="StdClsCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="3" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyEntryDesc" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="CmpnyDescDate" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="EffEntryDate" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="SettlementDate" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="3" nxsd:padStyle="tail"/>
                                <xsd:element name="OrgntrStatusCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="OrgntrBatchCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="15" nxsd:padStyle="tail"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                    <xsd:element name="FileControlRec" nxsd:style="terminated" nxsd:terminatedBy="${eol}"
                         nxsd:startsWith="9">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element name="RecordTypeCode" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="1" nxsd:padStyle="tail"/>
                                <xsd:element name="BatchCnt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="BlockCnt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="6" nxsd:padStyle="tail"/>
                                <xsd:element name="EntryAddendaCnt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="8" nxsd:padStyle="tail"/>
                                <xsd:element name="EntryHash" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="10" nxsd:padStyle="tail"/>
                                <xsd:element name="TtlDbtEntryDlrAmt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="12" nxsd:padStyle="tail"/>
                                <xsd:element name="TtlCrdtEntryDlrAmt" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="12" nxsd:padStyle="tail"/>
                                <xsd:element name="Reserved" type="xsd:string" nxsd:style="fixedLength"
                                     nxsd:length="39" nxsd:padStyle="tail"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:schema>
    Sample data:
    1011390714890 0910000191406110449A094101MCSCLDA_TESTIN    
    XPLLS KNRGO CNNK         
    5200MCSCLDA_TESTIN  e-Bill         
    2390714890TELe-Bill     
    1406100001091000017000001
    6262759774891010000074743
    0000033793102651-013  U  HOLBACH KARLA & JAMES   1091000013925011
    799R01091000013925011 
    27597748                                       
    091000010000001
    820000000200275977480000000337930000000000002390714890                    
    091000010000001
    9000060000025000001200995048661000001265867000000000000                                 
    Read File receive Activity:
    <GENVNDRReturnedItem>
      <HeaderRec>
        <RecordTypeCode>0</RecordTypeCode>
        <PriorityCode>11</PriorityCode>
        <ImmediateDstn>390714890</ImmediateDstn>
        <ImmediateOrgin>0910000191</ImmediateOrgin>
        <FileCrDt>406110</FileCrDt>
        <FileCrTm>449A</FileCrTm>
        <FileIdMdfr>0</FileIdMdfr>
        <RecSize>941</RecSize>
        <BlockingFctr>01</BlockingFctr>
        <FormatCd>M</FormatCd>
        <ImmediateDstnNm>CSCLDA_TESTIN X</ImmediateDstnNm>
        <ImmediateOrginNm>PLLS KNRGO CNNK</ImmediateOrginNm>
        <RefCd></RefCd>
      </HeaderRec>
      <BatchHdrRec>
        <RecordTypeCode>2</RecordTypeCode>
        <ServClsCode>00M</ServClsCode>
        <CmpnyName>CSCLDA_TESTIN e</CmpnyName>
        <CmpnyDiscretionaryData>-Bill 2</CmpnyDiscretionaryData>
        <CmpnyIdfn>390714890T</CmpnyIdfn>
        <StdClsCode>ELe</StdClsCode>
        <CmpnyEntryDesc>-Bill</CmpnyEntryDesc>
        <CmpnyDescDate>1</CmpnyDescDate>
        <EffEntryDate>406100</EffEntryDate>
        <SettlementDate>001</SettlementDate>
        <OrgntrStatusCode>0</OrgntrStatusCode>
        <OrgntrBatchCode>91000017000001</OrgntrBatchCode>
      </BatchHdrRec>
      <FileControlRec>
        <RecordTypeCode>0</RecordTypeCode>
        <BatchCnt>000600</BatchCnt>
        <BlockCnt>000250</BlockCnt>
        <EntryAddendaCnt>00001200</EntryAddendaCnt>
        <EntryHash>9950486610</EntryHash>
        <TtlDbtEntryDlrAmt>000012658670</TtlDbtEntryDlrAmt>
        <TtlCrdtEntryDlrAmt>00000000000</TtlCrdtEntryDlrAmt>
        <Reserved></Reserved>
      </FileControlRec>
    </GENVNDRReturnedItem>
    Expected Read data how we are looking:
    <GENVNDRReturnedItem>
      <HeaderRec>
        <RecordTypeCode>0</RecordTypeCode>
        <PriorityCode>11</PriorityCode>
        <ImmediateDstn>39071489</ImmediateDstn>
        <ImmediateOrgin>0091000019</ImmediateOrgin>
        <FileCrDt>140611</FileCrDt>
        <FileCrTm>0449</FileCrTm>
        <FileIdMdfr>A</FileIdMdfr>
        <RecSize>094</RecSize>
        <BlockingFctr>10</BlockingFctr>
        <FormatCd>1</FormatCd>
        <ImmediateDstnNm>MCSCLDA_TESTIN</ImmediateDstnNm>
        <ImmediateOrginNm>XPLLS KNRGO CNNK</ImmediateOrginNm>
        <RefCd/>
      </HeaderRec>
      <BatchHdrRec>
        <RecordTypeCode>2</RecordTypeCode>
        <ServClsCode>200</ServClsCode>
        <CmpnyName>MCSCLDA_TESTIN</CmpnyName>
        <CmpnyDiscretionaryData>e-Bill</CmpnyDiscretionaryData>
        <CmpnyIdfn>2390714890</CmpnyIdfn>
        <StdClsCode>TEL</StdClsCode>
        <CmpnyEntryDesc>e-Bill</CmpnyEntryDesc>
        <CmpnyDescDate/>
        <EffEntryDate>140610</EffEntryDate>
        <SettlementDate>000</SettlementDate>
        <OrgntrStatusCode>1</OrgntrStatusCode>
        <OrgntrBatchCode>091000017000001</OrgntrBatchCode>
      </BatchHdrRec>
      <FileControlRec>
        <RecordTypeCode>0</RecordTypeCode>
        <BatchCnt>000060</BatchCnt>
        <BlockCnt>000025</BlockCnt>
        <EntryAddendaCnt>00000120</EntryAddendaCnt>
        <EntryHash>0995048661</EntryHash>
        <TtlDbtEntryDlrAmt>000001265867</TtlDbtEntryDlrAmt>
        <TtlCrdtEntryDlrAmt>000000000000</TtlCrdtEntryDlrAmt>
        <Reserved/>
      </FileControlRec>
    </GENVNDRReturnedItem>

    at step 8 of 9 of the file adapter wizard, the icon appears as a cog, on the right, with caption "define schema for native format".
    I have JDev 11..1.1.3.0
    The problem might be with the version of the SOA extensions you have installed....

  • Sender File Adapter - Fixed Length

    We have a Fixed File(Sender). With 3 fields. NO Header. Space is the separator for each fields
    VendorNumber  10 bytes
    VendorName    10 bytes
    City           5 bytes
    In the File we can have multiple records.
    The Root Node is Vendor.
    I am trying to define the SENDER FILE ADAPTER in the following way (I have referred mostly all the blogs) but my file is not picking up for some reason.
    File looks like this
    V123456789 A123456789 Bosto
    V234567890 B123456789 Atlan
    V334587900 C123456789 Austi
    Note : I have been asked to give the Transport Protocol as   "NFS" (Whether this is the problem???) I have summarised the complete details below. Please help me
    Adapter Type :  File       Sender
    Transport Protocol :  NFS
    Message Protocol   :  File Content Convervsion
    Adapter Engine     :  Integration Server
    FILE ACCESS PARAMETERS
    Source Directory :   /business
    file Name        :   vendor.txt
    Content Conversion Parameters
    Document Name :  Vendor
    Document NameSpace: http://sap.com/xi/XI/SplitAndMerge
    Recordsetname :  Message1
    Record Structure :  File_MT,*
    Recordset Sequence: Ascending
    Key Field type    :  String(Case Sensitive)
    Additional Parameters
    File_MT.fieldFixedLengths 10,10,5
    File_MT.fieldNames        VendorNumber,VendorName,City
    File_MT.fieldSeparator   
    File_MT..processFieldNames fromConfiguration.

    Hi Naveen,
          Do check the following things,
    >>Note : I have been asked to give the Transport Protocol as "NFS" (Whether this is the problem???) I have summarized the complete details below. Please help me
           1.If your file resides on your local network/local computer give NFS(Network file system). if your file resides on a FTP location give FTP and also give the FTP log on parameters.
    Additional Parameters
    File_MT.fieldFixedLengths 10,10,5
    File_MT.fieldNames VendorNumber,VendorName,City
    File_MT.fieldSeparator
    File_MT..processFieldNames fromConfiguration 
           2.If this structure does not match with the input file structure the file adapter wont pick up the file. So check for the help document provided by SAP in the following path.
    help.sap.com  --> Documentation  --> SAPNetWeaver --> SAPNetWeaver '04 --> English --> process integration --> SAP Exchange Infrastructure --> connectivity --> Adapters --> File Adapter
           Your file contains three records
    V123456789 A123456789 Bosto
    V234567890 B123456789 Atlan
    V334587900 C123456789 Austi
    You have mentioned the fieldSeperator as space but there is no File_MT.endSeparator '/n'  which differentiates between each and every row (record).
            Parameters for Record set Structures mentioned in the sender adapter configuration does not match with the actual file structure .
            Try giving exact structures in the configuration of sender file adapter.
    regards,
    Aravindh.

  • Fixed assets depreciation run fails when profit center not belong to Dim 1

    Hi all,
    I face the below issue:
    - Fixed assets depreciation run summarized by distribution rule fails with error when profit center does not belong to Dimension 1.
    I have search teh SAP notes and found the same issue. It says:
    -> SAP Business One Fixed Assets Add-on only supports cost accounting for Dimension 1
    Anyone knows whether 8.8 PL 13 also same issue?
    Does SAP planned to rectify this?
    Thanks.

    Dear Wei Lan, Veron Liu
    As described in the note 1371619 this is a limitation/definition of the current product version:
    No other note has been published so far on this subject, so what it is said on that note, it remains valid in 8.8
    In order to push for a change in product definition we recomend to post this request in
    /community [original link is broken]
    Kind regards
    Jose Antonio Castillo
    SAP Buisness One Support

  • Reading a fixed length file

    Hi All,
    I am trying to read a fixed length file with .DAT extension through an FTP Adapter. I am using a read(polling) operation.
    In the file there are three records(H,D,T). The length of all the three records is more than 100.When I am trying to build a schema for that file using native format builder, maximum position that i get is 100 and if i manually try to put the position beyond 100 say 120,while building the schema and then run the composite using the generated schema, the file is not polled from the location So if anyone could help me to clarify my doubts regarding reading of fixed length files.
    a. Can i read i fixed length file which contains records whose position is more than 100.
    b. If yes, then how do i do that?
    Any help is appreciated.
    Thanks in Advance.

    Here's one way to start. Extend this class for the particular functionality you want:import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    /** Processes binary files which have embedded data records. */
    public abstract class BinaryInputFile extends File
    * Class constructor.
    * @param fileName The input file name.
    * @throws NullPointerException if the <code>pathname</code> parameter is <code>null</code>
    protected BinaryInputFile(String fileName) throws NullPointerException
       super(fileName);
    * Reads the file, one line at a time, passing each line to the subclass� process()
    * function.
    * @throws IOException if an error occurs.
    public void process() throws IOException
       DataInputStream stream = new DataInputStream(new FileInputStream(this));
       process(stream);
    * Process the file data.
    * @param stream The input stream.
    protected abstract void process(DataInputStream stream);
    }

  • Flat file with fixed lengths to XI 3.0 using a Central File Adapter---Error

    Hi
    According to the following link
    /people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
    In Adapter Monitor I got the following error,
    In sender Adapter,
    Last message processing started 23:47:35 2008-10-25, Error: Conversion of complete file content to XML format failed around position 0 with java.lang.Exception: ERROR converting document line no. 1 according to structure 'Substr':java.lang.Exception: Consistency error: field(s) missing - specify 'lastFieldsOptional' parameter to allow this
      last retry interval started 23:47:35 2008-10-25
      length 15,000 secs
    some one help me out ?
    Thanks
    Ram

    from the blog you referenced -
    <u> /people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
    <b>goto step 4</b>
    <u>additional parameters</u>
    add as the last entry
    <recordset structure>.lastFieldsOptional            Yes
    e.g.,
      Substr.lastFieldsOptional            Yes

  • Reading fixed length file with different record types

    Hi,
    I need to read a fixed-length file with different record types, but the record identifier is in 31st position and not in 1st position.
    But if I give 31 as position in File adpater wizard, BPEL takes whole 1-31 as identifier.
    How we need to read such files.
    Thanks
    Ravdeep

    hi ,
    u cannot use the default wzard for this
    use some thing like this nxsd:lookAhead="30" nxsd:lookFor="S"have a look at the below link it has some examples
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/nfb.htm

  • Please help with reading fixed-length file

    I am reading a fixed-length file from a batch program and I need to read through each line, parsing out records in each, and replacing the first character in each line after I finish processing. I am using a RandomAccessFile, but I am not sure if this is best for my needs.
    Here is essentially the code that I am using:
    RandomAccessFile raf = new RandomAccessFile(File, "rw");
    int pointer = 0;
    int recordLength = 65;
    int counter = 0;
    string test = "X";
    pointer = raf.getFilePointer();
    while ((line = raf.readLine()) != null) {
    //set file pointer
    seek(counter * recordLength);
    counter ++;
    if (line.substring(0, 1).equals(test)) {
    continue;
    var1 = line.substring(7, 22);
    var2 = line.substring(23, 41);
    var3 = line.substring(42, 52);
    var4 = line.substring(53, 53);
    //PROCESSING
    raf.writeChar(test);

    Thanks for the suggestion. I think that the
    BufferedReader is the way that I will go. Do you
    happen to know the best way to update the 1st Char of
    each line as I'm reading each line using Buffered
    Writer?Hi,
    To update the first char of each line, you could read each line of the file into a StringBuffer, modify the value, and then write the value back out to the file.
    I had to do something similar.
    eg.
    StringBuffer buf = new StringBuffer();
    BufferedReader in = new BufferedReader(
        // data file source
    new FileReader(db_location));
    String s;
    // while there are still items to read
    while ((s = in.readLine()) != null)
        System.out.println("reading file");
        // split into component parts so we can modify
        StringTokenizer t = new StringTokenizer(s,",");
        int id = Integer.parseInt(t.nextToken());
        String code = t.nextToken();
        int quantity = Integer.parseInt(t.nextToken());
        // copy component parts into StringBuffer
        buf.append(id+",");
        buf.append(code+",");
        buf.append("\n");
         // use StringBuffer methods here to isolate first character
         // use StringBuffer methods to replace first value of input in buffer
         // eg.
              buf.replace(index,length,","+ new_code);
    // print out the StringBuffer to rewrite updated file
    PrintWriter output = new PrintWriter(
        new BufferedWriter(
        new FileWriter(db_location, false)));
    output.println(buf.toString());
    output.close();As always, there is more than one way to skin a cat. But this is my way.
    I think that JDK 1.4 has some new methods, but not 100% sure of that.
    //Daniel.

  • Send a flat file with fixed lengths to XI 3.0 using a Central File Adapter?

    Hello,
    I'm wondering if someone have experience setting up conversion for different record structures. The example shown,
    /people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter,
    (in a greate way) only picture one kind of structure.
    How should it be done if the file would contain
    10Mat1
    20100PCS
    The first record structure has columns
    ID(2),Material(10)
    The second redcord structure has columns
    ID(2),Quantity(3), Unit of messure (3)
    Brgds
    Kalle
    Message was edited by: Karl Bergstrom

    The configuration would be like follows:
    Content Conversion Parameters:
    Document Name: <your message type name>
    Document Namespace: <your message type namespace>
    Document Offset: <leave empty>
    Recordset Name: <any name>
    Recordset Namespace: <leave empty>
    Recordset Structure: row1,,row2,
    Recordset Sequence: any
    Recordsets per Message: *
    Key Field Name: ID
    Key Field Type: String
    Parameters for Recordset Structures:
    row1.fieldNames           ID,Material
    row1.fieldFixedLengths    2,10
    row1.keyFieldValue        10
    row2.fieldNames           ID,Quantity,UOM
    row2.fieldFixedLengths    2,3,3
    row2.keyFieldValue        20
    Instead of row1 and row2 you can choose any name.
    Regards
    Stefan

  • How to handle a fixed length file without newline?

    Hi Experts,
    I'd like to handle a fixed length file without newline by sender file adapter.
    A file like following.
    It contains three recores."AAXBBBXCCCCX" is one record.
    AA1BBB1CCCC1AA2BBB2CCCC2AA3BBB3CCCC3
    I tried that following two parameters set. But only first recored was read.
    fieldFixedLengths
    fieldFixedLengthType
    Please tell me how to handle.
    Thanks
    Shinya Kawagoe.

    For this case we wrote a simple Adapter Module inserting an end of line character after an offset.
    This way it can be reused in many interfaces.
    And reading the whole file may not be an option in case of large source files. May cause performance / memory issues.
    eolbean.offset = <recordLlen>
    XMLPayload xmlpayload = msg.getDocument();
    byte[] content = xmlpayload.getContent();
    byte crlf = 0x0A;
    int current = 0;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    int lines = content.length / recordLen;
    do
         lines--;
         baos.write(content, current, recordLen);
         if (lines > 0) // if other lines, eol required
              baos.write(crlf);
              current += recordLen;
    } while (lines > 0);
    xmlpayload.setContent(baos.toByteArray());
    baos.close();
    Audit.addAuditLogEntry(key, AuditLogStatus.SUCCESS,     MODULE + " Done EOLing.");

  • File adapter fixed lenght with justify

    Hi Developers ,
    I'm developing an interface JDBC - File , the file have a special format because is a flat file with fixed length and some of the fields have to a justified to left , it's possible do that with the file content conversion ????,
    the example of the file is :
    lenght fields :3,3,3
    xx , xx,xxx
    xx , xx,xxx
    xx , xx,xxx
    Regards

    Hi,
    Please see the below links
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    /people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1 - File to File Part 1
    /people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2 - File to File Part 2
    /people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter - FCC
    /people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter - FCC
    /people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns - FCC
    /people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file - FCC
    /people/harrison.holland5/blog/2006/12/20/xi-configuration-for-mdm-integration--sample-scenario - FCC - MDM
    /people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp - FCC
    /people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - FCC
    /people/mickael.huchet/blog/2006/09/18/xipi-how-to-exclude-files-in-a-sender-file-adapter - EOIO - File
    Regards
    Chilla...

  • Interface output file : tab limited vs flat file with fixed length

    hey guys,
    any idea on difference b/w to file type : flat file with fixed length or tab limited file
    thanks

    Tab Delimited:
    Two Field are seperated by a TAB
    eg. SANJAY    SINGH
    First field is First Name and Second is Sir Name.
    Nth field will be after N -1 tab
    Fixed Length:
    Every field has a fixed starting position and length
    eg. SANJAY     SINGH
    Here First field start from Position 1 and has lenght 10 and 2nd field start from 11th postion and has lenght 10.
    Fixed Length -> The lenght of each field is fixed, while in tab delimited the lenght of field is not fixed but we know it ends when the Seperatot (Tab) is encountered.

  • Gui_download issue - trailing spaces getting truncated for fixed length fil

    Hi All,
    I have a requirement where I need to download an internal table as a fixed length file.
    The code is as follows:
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    BIN_FILESIZE =
    FILENAME = L_FILE
    FILETYPE = 'ASC'
    APPEND = 'X'
    WRITE_FIELD_SEPARATOR = ' '
    HEADER = '00'
    TRUNC_TRAILING_BLANKS = ' '
    WRITE_LF = ' '
    COL_SELECT = ' '
    COL_SELECT_MASK = ' '
    DAT_MODE = ' '
    IMPORTING
    FILELENGTH =
    TABLES
    DATA_TAB = IT_TEXT
    EXCEPTIONS
    FILE_WRITE_ERROR = 1
    NO_BATCH = 2
    GUI_REFUSE_FILETRANSFER = 3
    INVALID_TYPE = 4
    NO_AUTHORITY = 5
    UNKNOWN_ERROR = 6
    HEADER_NOT_ALLOWED = 7
    Each row in the internal table IT_TEXT is 242 chars long.
    The FM is truncatinf the trailing blanks on the file. How do I get the FM to not truncate the trailing blanks in each row?
    My internal table has multiple rows and the number of rows on the table should be same as the number of rows on the downloaded file.
    I tried setting the WRITE_LF parameter to space.
    In this case, the trailing spaces are not truncated(which is as per my requirement), BUT all the rows in the internal table appear in a single line on the downloaded file instead of multiple rows.
    I also tried setting the TRUNC_TRAILING_BLANKS field to space but that does not work either. Spaces at the end of the row are still truncated.
    so the requirement is: the spaces at the end of each row should not be truncated and
    each row on the internal table should have a corresponding row on the downloaded file.
    (it is a fixed length file)
    I also tried using the following code
    class cl_abap_char_utilities definition load.
    DATA: BEGIN OF IT_TEXT OCCURS 0,
           TEXT(242) TYPE C,
           cr_lf TYPE c VALUE cl_abap_char_utilities=>cr_lf,
          END OF IT_TEXT.
    when i compile, i get the following error
    The type "CL_ABAP_CHAR_UTILITIES" is unknown.     
    Im using R/3 4.6C. Could this be a problem?     
    Please suggest a solution for this problem.
    Thanks!
    Sandeep
    Edited by: sandeep reddy on Jul 25, 2008 7:16 PM

    Hi,
    Try this..This worked..Add a dummy character at the end of the internal table...Then pass trunc_trailing_blanks   = ' '...
    PARAMETERS: p_file TYPE rlgrap-filename
                DEFAULT 'c:\test_download.txt'.
    DATA: BEGIN OF s_data,
            data TYPE char10,
            dummy,      " Added this.
          END OF s_data.
    DATA: t_data LIKE TABLE OF s_data.
    s_data-data = 'Test'.
    APPEND s_data TO t_data.
    s_data-data = 'Test2'.
    APPEND s_data TO t_data.
    s_data-data = 'Test3'.
    APPEND s_data TO t_data.
    s_data-data = 'Test4'.
    APPEND s_data TO t_data.
    * Download.
    DATA: v_file TYPE string.
    v_file = p_file.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename                = v_file
        trunc_trailing_blanks   = ' '
      TABLES
        data_tab                = t_data
      EXCEPTIONS
        file_write_error        = 1
        no_batch                = 2
        gui_refuse_filetransfer = 3
        invalid_type            = 4
        no_authority            = 5
        unknown_error           = 6
        header_not_allowed      = 7
        separator_not_allowed   = 8
        filesize_not_allowed    = 9
        header_too_long         = 10
        dp_error_create         = 11
        dp_error_send           = 12
        dp_error_write          = 13
        unknown_dp_error        = 14
        access_denied           = 15
        dp_out_of_memory        = 16
        disk_full               = 17
        dp_timeout              = 18
        file_not_found          = 19
        dataprovider_exception  = 20
        control_flush_error     = 21
        OTHERS                  = 22.
    Thanks
    Naren

  • XSLT Mapping : XML to Fixed Length File

    Hi,
    I have to code a XSLT mapping which converts the XML into a Fixed Length File Format. I am getting the output but it has some garbage values (Some extra spaces in front of first record and also extra blank lines before the first record)
    I am pasting my xsl sheet :
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:output method="text" indent="yes" media-type="text/plain"/>
         <xsl:template match="Employees">
              <xsl:for-each select="Employee">
                   <xsl:value-of select="Name"/>
                   <xsl:value-of select="ID"/>
                   <xsl:value-of select="ADD"/>
                   <xsl:text>&#xA;</xsl:text>
              </xsl:for-each>
         </xsl:template>
    My input XML file is as follows:
    <?xml version="1.0"?>
    <p1:Test02 xmlns:p1="http://www.infosys.com/xi/training/hyd/66289">
            <Employees>
              <Employee>
                 <Name>Anurag</Name>
                 <ID>1121</ID>
                 <ADD>Hyderabad</ADD>
             </Employee>
             <Employee>
                 <Name>Divya</Name>
                 <ID>1122</ID>
                 <ADD>Hyderabad</ADD>
             </Employee>
             <Employee>
                 <Name>Rasmi</Name>
                 <ID>1123</ID>
                 <ADD>Bangalore</ADD>
                </Employee>
         </Employees>
    </p1:Test02>
    And the output i am receiving is as follows:
        Anurag1121Hyderabad
    Divya1122Hyderabad
    Rasmi1123Bangalore
    Please do help.....

    hi,
    >>>>
    <xsl:output method="text" indent="yes" media-type="text/plain"/>
    you allow the spaces by using indent="yes"
    try with indent="no"
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Maybe you are looking for

  • For Each Loop - Urgent

    Hi, I am trying to use a For each loop: FE Agreement_No Customer 0.00 0.00<?end for-each?> This does not work. Does the code FE need to be grouped? Can anyone help? Thanks

  • Missing Scroll Bar from Applications Folder in Dock

    When I click the Applications Folder from the Dock in the Grid format, the scrollbar is missing. The only way to "scroll down," to other apps is by pressing the up/down arrow keys, in which the vertical bar briefly pops up but then disappears (no arr

  • Export terminated with ORA-00600: internal error code, arguments: [kcfrbd_1

    when i am taking an export of a particular table , i got following message. please help ORA-00600: internal error code, arguments: [kcfrbd_1], [0], [400], [], [], [], [], [] Export terminated successfully with warnings.

  • Why will my screen not turn back on after powering down iPhone?

    When my AT&GT 64gb iPhone 4s turns off, or dies, for some reason when I try to turn it back on, the phone itself turns on but the screen doesnt. Sometimes the screen will be a bright white, sometimes it will appear as if the LCD is cracked, and somet

  • Regarding characters validation

    Dear All i ma using 10G. I am writing this query for character validation .. Select TRANSLATE( lstring, '$ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/-?:().,''+{}', '$') FROM dual; It is working fine .. Now i created a table and sa