Sender File Adapter. Fixed Lengths and Field Separator

Hello guys,
I have a doubt in Sender File Adapter with Content Conversion.
I have a text file like:
a,b,c,,e
I have the configuration in the adapter:
Register.fieldNames: a,b,c,d,e
Register.fieldSeparator: ,
The question I have is can I format the length of the text when i create the XML?
I woul like to create the XML like:
<Row>
  <Register>
    <a>a   </a>
    <a>b  </a>
    <a>c  </a>
    <a>   </a>
    <a>e   </a>
  </Register>
</Row>
I would like that when I create the file in Field A I have length = 4, but I have only 1 in the entry, and I want to fill the rest of the length with spaces.
I tried with FieldFixedLengths but when I test it the fields are not being formatted and take the commas as part of the field.
I know that this can be done in Receiver File Adapter, you leave for example one field of 5 length and you format it to 12 length with spaces.
Is this possible for Sender File ADapter?
Many thanks.
Regards,
Xavi.

hi,
See the example given in this bog, in this blog the string has been splited into different fields as per the field length, so you may use the same concept to get your output.
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
I hope it helps you.
Regards,
Sarvesh

Similar Messages

  • 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.

  • Sender File Adapter - FCC - No incoming field separator - How to do FCC?

    Hi,
    I have a sender File adapter and I need to do the File Content Conversion but there apparently no incoming field separator and the file ocntains just running text - no data records but just information.
    For example the incoming file is something like:
                                    The Hongkong and Shanghai Banking Corporation Limited                      27JAN2009       PAGE 1
                                    Incorporated in Hong Kong with limited liability
    ABC IAL LIMITED                                                               ABU DHABI, UAE
    ABC MIDDLE EAST                                                               Account No.     001-8888888
    ABU DHABI                                                                       Payment Set     AAA
    BBB MAIL BOX NO.99                                                             Contact Person  ABC LIMITED
                                                   7777777777                      Telephone
                                                     AUTOPAY LIST - PROCESSED
                                                     (AUTOPAY-OUT SALARY)
    Payment Date           27JAN2009
    First Party Narrative  .                             66666666
    Second Party Narrative .
    The Message type that I am mapping to contains:
    MT_XXXX
         WA
              Item
              Item2
              Item3
    This is so that the information can be mapped to different field areas and send across to the Receiver Mail Adapter. In the mail i receive, i get the running text. I tried giving the field separator as '0x09' but it is not working.
    I have also tried WA..fieldContentFormatting to nothing but again no luck.
    I have tried with Recordset Sequence with Ascending and variable and have also tried Recordsets per Message with * and blank - but it did not help.
    Please advice.
    Regards,
    Archana

    Hi,
    I assumed that it was tab but when I made the change in FCC, it did not work.
    I would still like to have a output where it looks like below if more than 2 types of information in 1 line as below:
    ABC IAL LIMITED                     ABU DHABI, UAE  
    ABC MIDDLE EAST                  Account No. 001-9999999999999  
    and not something like:
    ABC IAL LIMITED ABU DHABI, UAE   
    ABC MIDDLE EAST Account No. 001-999999999999
    I am not sure what to do here.
    Help please.
    Regards,
    Archana

  • 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.

  • 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....

  • 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 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...

  • Zero size files in Sender File Adapter

    Hello!
    I have the problem with my Sender File Adapter (ftp).
    Sometimes in ftp directory there are empty files or messages with a zero-sized payload.
    This situation cause an error and Adapter "sleep" until I save-active it in a configuration. (before I removed the 0-size file...).
    Any suggestion?
    Thanks
    Alessandro

    Hi ,
    What the note states is that if your Sender File adapter picks up and empty file, then it would not trigger any message at all.
    So, if what that note says is correct, then I guess for the empty file, the adapter would not ve passed any message to the integration engine.
    Is there any entry in SXMB_MONI? If yes, then it means some message is actaully being passed by the adapter engine to the integration engine which shouldnt have happened at all.
    What does the error message in the File Adapter state?
    Regards,
    Bhavesh

  • File missing from Sender File Adapter

    Hi,
    I have got some serious issue in the production environment where the file picked up by the J2EE Sender File Adapter has disappeared and I can't see any trace in sxmb_moni, adapter engine monitoring, integration server monitoring within the Message Monitoring.
    I have tried increasing the log to 1 in the sxmb_adm-->integration server configuration, still no help.
    Can somebody please suggest where should I look at.
    TIA.
    Ranjan Koirala
    The issue was that I was using a separate queue name and somehow the queue was corrupted thats why the message was not going anywhere.
    Message was edited by: Ranjan Koirala

    Ranjan,
    Incase you are trying to find out what happened to your message, one option could be to use the JMS commands - in particular 'JMS LIST DEADMSGS'. this command i believe lists the destinations for all the dead message on the server.
    regards,
    Sapknowledge

  • System error when send file with Sender File Adapter

    Hi all,
    I have configured a "File To ABAP Proxy" scenario. After configuring, i executed a "Test Configuration" in Integration Directory and it's all OK. But this file unable to reach into ABAP Proxy Target. In the Runtime WorkBench\Message Monitoring,  I get an error message in below:
    Engine: Adapter Engine     
    Status: *System Error     *
    Start: 15.08.2008 14:04:01     
    End: 15.08.2008 14:19:01           
    Sender Service: BS_XI_SERVER     
    Interface Servic: urn://FILE_TO_PROXY
    MI_EMPLOYEE_OB
    In this case, I don't know why my Sender File Adapter is error and why status is "System Error" and why it can't reach into Target System. Can it concern a role user?
    ( For more clearly: I configured the source file and the path correctly. And i used the xml file with the content and the document name correctly. In general, the Sender Adapter File don't convert the sender file and its content is same as the Payload in the "Test Configuration", i think it is all OK.)
    Could anyone please help me to resolve this problem, anyone can explain this error, how can i resolve this error?
    Thanks a lot in advance,
    Vinh Vo

    Hi Chirag,
    1.I source structure is very simple as below:
    <ns0:MT_MATERIAL xmlns:ns0="urn://FILE_TO_PROXY">
       <MATERIAL>
          <WERKS>1000</WERKS>
          <MATNR>MAT00001</MATNR>
          <MAKTX>Chemical Material</MAKTX>
       </MATERIAL>
    </ns0:MT_MATERIAL>
    2. the Communication Channel Monitoring in Runtim WorkBench\Adapter Engine is OK for my Sender File Communication Channel, it's in Blue Light.
    However, i don't know what's FCC?
    Thanks and best regards,
    Vinh Vo

  • 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

  • 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

  • Sender file Adapter without Key field

    my File structure will be as follows
    <HEADER>
    <DATA1>
    <DATA2>
    <DATA3>
    <HEADER>
    <ITEM>
    <ITEM1>
    <ITEM2>
    <ITEM3>
    <ITEM>
    WHERE i do have flat file will be as follows
    10001,20081902,US
    10,soda,1
    30,soda,4
    40,soda,5
    10002,20081902,US
    10,steel,1
    30,steel,4
    40,steel,5
    how to pick this file using FCC from sendere flat file adapter without keyfields , and i can use fixed length also

    Hi,
    with multiple nodes structure( like header and item in your case) you need to have a key field to process this file to a desidered structure using FCC.
    Alternatively you can pick all these records as a single node type and classify it as header/items in your mapping by identifiing how each one differs frm other.
    ~SaNv...

  • Sender file adapter Adapter with out Key field

    Hi All
                 i do have have a requirment ,Sender file adapter , for FCC but file is  with out Key field
    HEADER>
    <DATA1>
    <DATA2>
    <DATA3>
    <HEADER>              file structure
    <ITEM>
    <ITEM1>
    <ITEM2>
    <ITEM3>
    <ITEM
    and the file si
    '10001,20081902,US
    10,soda,1
    30,soda,4
    40,soda,5
    10002,20081902,US
    10,steel,1
    30,steel,4
    40,steel,5
    , and i need to identify the Header and Item using there lenght only , please anyone as idea abt this help me

    Why to post the same question TWICE... in 30 min ? you don't like the answers ?
    File content Conversion Issuse for a Sender File Adapter

  • Key field value in outbound/sender file adapter

    Hi,
    I have a flat file coming in PI. The structre for the same is
    1. Detail record line ocurs n number of time
    2.Summary record line occurs only once at the end
    I have defined a datatype as follows
    <DT>
       <Recordset>
            <Detail>
               All the detail fields
            </Detail>
           <Summary>
               All the summary fields
           </Summary>
    </Recordset>
    </DT>
    Now the number of detail record is not know. But there is only one summary record.
    In the sender file adapter do we need to configure the keyfield paramter? If the number of detail record is * .
    The problem is the input file does not has any key field to parse/identify the detail or sumary record.
    Any alternative?
    Thanks

    hi ,
      if you have two structures so do like this:
    Recordset strucrure                detail,summary*
    detail.fieldFixedlength          :          10,20
    detail.fieldNames                 :        xxx,yyy
    summary.fieldFixedlength     :         10,20
    summary.fieldNames           :        www,vvv
    rest configuration will be same.
    hope this will help.
    regards
    HONEY

Maybe you are looking for