File Adapter Delimited File

Hi All,
I am writing a delimited file using the file adapter, i have built the XSD using the native format builder. Inside the BPEL, i get the data using a query, this query returns the data with delimited information between fields, but the output XSD came in such a way that there is only one element which holds the entire record. At runtime i get the information from database lookup and assign that records to invoke input variable of file adapter.
XSD of target file adapter...
<?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://TargetNamespace.com/ReadFile"
targetNamespace="http://TargetNamespace.com/ReadFile"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
nxsd:version="NXSD"
nxsd:stream="chars"
nxsd:encoding="UTF-8"
>
<xsd:element name="Root-Element">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Child-Element" minOccurs="1" maxOccurs="unbounded" nxsd:style="array" nxsd:cellSeparatedBy="${eol}">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="C1" type="xsd:string" nxsd:style="fixedLength" nxsd:length="100" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
So, the thing is file is getting written to, but the records are getting right aligned, as you can see the length is 100, so the file i am writing is coming like
records starting with the spaces, but the data which i am getting doesn't return any spaces at the starting of the record, it has spaces in the middle and the end of the record. I want the records to be left aligned. Is there any property which i can set for the element in the XSD for the data that gets assigned to make it left aligned.
Please help Experts.
Thanks,
Naresh

You can see the option of adding padStyle as head.. More detail check the below link and search on padding option which helps u in alignment.
http://docs.oracle.com/cd/B31017_01/integrate.1013/b28994/nfb.htm

Similar Messages

  • Error in Receiver File adapter using File content Conversion

    Hi,
    I am getting the following error in the receiver file adapter.
    Conversion initialization failed: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter 'statement.fieldFixedLengths' or 'statement.fieldSeparator' is missing
    I am using the below parameters for FCC:
    Recordset Structure - statement
    statement.endSeparator - 'nl'
    statement.fieldSeparator - '0X09'
    statement.fieldNames -xblnr,wrbtr,newbs,kostl,newko,prctr,xref1,rke_wwfud,rke_wwst3,blart,bukrs,bldate,budat,gjahr,monat,ctype,waers,bktxt,posnr,wbs_element,mwxkz,businessplace,businessplace,c_waers,c_wrbtr,g_ctype,g_waers,g_wrbtr,h_ctype,h_waers,h_wrbtr,trade_id,lob,sgtxt,zuonr,reason_rev,ldgrp,tcode,lifnr
    ignoreRecordsetName - true
    Please let me know where i am going wrong.
    Thanks,
    Aparna

    Hi Aparna,
    I feel the problem in your content conversion parameters is with
    statement.fieldNames and ignoreRecordsetName
    When you are confirguring receiver file adapter for file content conversion the above one is not required. Please refer below link for details on configuring content conversion in file adapter
    [http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm]
    Hope this helps !!
    Regards,
    Amit

  • File Adapter or File  Transport which one will give more performance

    Hi all,
    File Adapter or File Transport which one will give more performance ? in OSB?
    Which one to select any one did performance analysis?
    Thanks
    Phani

    Why don't you just go read some benchmarks?
    http://www.barefeats.com/mbpp18.html

  • Sender File Adapter with file conversion

    Hi guys,
    I’m using a Sender File adapter with file conversion. The message to be processed has a structure with fixed lengths and in your content are some values that needs to be ignored.
    An example:
    value1  <b>value2</b>  value3…
    I want to ignore <b>value 2</b> but I can’t find a parameter for that! Do I need to define dummy fields on my data type and ignore those fields during mapping? Or there is a specific parameter for that?
    Thanks in advance,
    Ricardo.

    hi,
    there always is another way:)
    you can import the whole line to one field
    and cut it inside the adapter module
    (then you can define start and stop of the substring that you need to use)
    but of course it's not standard even though it's quite easy to achieve in java
    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>

  • How to convert Mail attachment file Tab Delimited file to XML.

    Hi PI Experts
        I have XI scenario: MAIL  XI SAP (ABAP Proxy), the process is
    1.     XI will receive tab delimited file as attachment in mail.
    2.     XI will convert the tab delimited file into XML, then map to the target structure.
    3.     Target will be posted into ECC through ABAP Proxy.
    Can anyone help me how can I convert the attachment file (i.e. Tab delimited file) to XML while configuring the sender side.
    Thanks in Advance

    I just grabed what I answered from another thread. It should work.
    Processing sequence as follows:
    1. localejbs/AF_Modules/PayloadSwapBean Local Enterprise Bean swap1
    2. localejbs/AF_Modules/MessageTransformBean Local Enterprise Bean tran1
    3. sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
    Module Configuration as follows: Fill the XXXX part with your info.
    swap1 swap.keyName payload-name
    swap1 swap.keyValue MailAttachment-1
    tran1 Transform.Class com.sap.aii.messaging.adapter.Conversion
    tran1 Transform.ContentType ext/xml;charset=utf-8
    tran1 xml.conversionType SimplePlain2XML
    tran1 xml.documentName XXXXXXX_Mail
    tran1 xml.documentNamespace http://XXXXX.com.au/XXXX
    tran1 xml.fieldSeparator \t
    tran1 xml.processFieldNames fromConfiguration
    tran1 xml.structureTitle rows
    Once you set up the above configuration, you will get one record at a time.
    Create a souce message interface like the followings:
    XXXXXXXXX_Mail
    rows
    record
    Target message interface:
    XXXXXXXXX
    rows
    field 1
    field 2
    field 3
    Write a UDF function to remove the TAB space
    public removeTABSpace(String record,Container container){
    //write your code here
    StringTokenizer st = new StringTokenizer(record,"\t",false);
    String t="";
    while (st.hasMoreElements()) t += st.nextElement();
    return t;
    Write another UDF to get the field 1 for example:
    public String getField1(String input,Container container){
    int counter=0;
    int beginIndex=0;
    int endIndex=0;
    int i;
    for (i=0;i<input.length();i++){
    if (input.charAt(i)==34){
    counter=counter+1;
    if (counter==1){
    beginIndex=i+1;
    counter=0;
    break;
    for (i=0;i<input.length();i++){
    if (input.charAt(i)==34){
    counter=counter+1;
    if (counter==2){
    endIndex=i;
    counter=0;
    break;
    input=input.substring(beginIndex,endIndex);
    return input;
    Get the mapping like the followings:
    record - removeTABSpace - getField1 - field 1
    If you need to get field 2, you will need to write another UDF similar to the above one to handle it.

  • File Adapter Complex File Type

    Hi All
    i have been pulling my hair out for the last to days with this issue.
    I have a CSV file(delimited by , and record delimtedd by EOL) that needs to be processed.. i am currently running into 2 issues.
    The file itself is a complex file type (not to complex) it has 4 differnt row types.
    Now one would think this is easy right.. you just use the file wizard, specificy the scan condition and voila. BUT ALAS..
    in my case the condition/record indicator exists only in the second column.. so the file adapter does not look at that column.
    1) the first problem is that i cannot split the file into its correct record types due to the fact that the scan indicator for the condition exits in the second column
    2) the second problem is that the file itself finishes with a blank line.. to the xsd is failing as its finding a EOL before it finds a , on the last line.
    If anyone has some input i will be VERY greatfull.
    Thanks

    Hi All
    i have been pulling my hair out for the last to days with this issue.
    I have a CSV file(delimited by , and record delimtedd by EOL) that needs to be processed.. i am currently running into 2 issues.
    The file itself is a complex file type (not to complex) it has 4 differnt row types.
    Now one would think this is easy right.. you just use the file wizard, specificy the scan condition and voila. BUT ALAS..
    in my case the condition/record indicator exists only in the second column.. so the file adapter does not look at that column.
    1) the first problem is that i cannot split the file into its correct record types due to the fact that the scan indicator for the condition exits in the second column
    2) the second problem is that the file itself finishes with a blank line.. to the xsd is failing as its finding a EOL before it finds a , on the last line.
    If anyone has some input i will be VERY greatfull.
    Thanks

  • Reciever File Adapter - Temp File Name Scheme using Variable Substitution

    How can I create a temporary file that uses variable substitution? 
    We are having a problem with files merging when we write files using the "Use Temporary File" setting on the FIle Adapter.  So two independent files are merging into a single file.  We are not using the "Append" setting.
    We would like to use a Temp File Name Scheme that would append the message id onto the temporary file name. 
    Using variable substitution we created a msgid variable.  When added to the temporary file name using %msgid% the temporary file name is created with %msgid% in the name instead of the actual message id.  We put the variable into the "File Name Scheme" as well and the end completed file used the message id in the name.
    Any Ideas?
    Thanks,
    Matt

    HI Matthew,
    Why are you adding the message id into the temporary file??
    I understand that you want the output of the filename to contain message id .. and hence you are using variable substitution for the same.
    Temporary file name will anyways get overwritten by the actual file name (here the actual filename will be using variable substituion).
    So i suggest to achieve your scenario you can add any name in the temporary file and maintain the desired filename you require as output in the variable subsititution.
    Temporary File Name option actually acts as a lock - unlock mechanism from PI side while the file is getting written to the file server so that while PI is writting the file no third party application batch program picks it up.
    I hope this helps.
    Cheers
    Dhwani

  • File Adapter: Dynamic file name

    Hello,
    I would like to use a filename like this:
    Name.<DOCNUM>.Direction.<Timestamp>
    For DOCNUM I use variable substitution. Works fine.
    For <Timestamp> I need a different format as the timestamp function
    in file adapter create. So I try to set up my timestamp in mapping like
    dynamic file name:
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "Timestamp");
    conf.put(key1, a);
    Input a is date function which creates my desired timestamp format. In file adapter I try this:
    Name.%DOCNUM%.Direction.%Timestamp%
    or
    Name.%DOCNUM%.Direction.Timestamp
    or
    Timestamp
    all doesn't work for Timestamp.
    So is there a possibility to configure a dynamic filename like this???
    Is there a possibility to access dynamic configuration variables in dynamic filename except
    the known for filename and directory??
    thanks
    chris
    Edited by: Christian Riekenberg on Mar 10, 2009 4:02 PM
    Edited by: Christian Riekenberg on Mar 10, 2009 4:05 PM

    your file name needs to be
    Name.<DOCNUM>.Direction.<Timestamp>
    dont use variable substitution. use only dynamic configuration and set the file name
    introduce a logic that will create the string
    Name.<DOCNUM>.Direction.<Timestamp>
    eg. String filename = "Name" + var_docnum + "Direction" + var_timestamp;
    then use the dynamic conf code to set the file name and use adapter specific properties in you adapter to retrieve it.
    Ref:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm

  • XI 3.0 File Adapter: Converting File Content in Sender Adapter

    Hi,
    This is probably a basic question but does anyone have an example of the parameters used when you are using the 'Converting File Content' option on the File Adapter ?
    Also, where do the record sets have to be defined ? Are these data types in the Integration Builder ?
    The documentation is to say the least a bit flaky.
    Any help would be appreciated.
    Kind regards
    Colin.

    Hello,
    I'm wondering if someone has experience setting up conversion for different record structures. The example shown (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

  • XI Receiver file adapter : Dyanmic File PATH

    Hi,
    Appreciate if someone could help me on the issue below:
    I have a receiver File adapter with a dynamic target directory as per below:
    Target directory: /test/YYYY/MM/DD
    the value for YYYY (Year) , MM (Month) and DD (Date) will be the date when the file being transfered from the sender.
    Appreciate if someone could help me to achieve this. I know we can use the variable substitution however it doesn't allow us to set a systems field such as sy-datum.
    Cheers,
    ZAB

    Hi,
    Populate this value in your payload , and then use Dynamic File Name concept of File Adapter.
    The dynamic filename generation concept is as follows.
    In your filename field. just give a variable with % symbols. (eg: %file% ).
    Now, under the option Variable Name Substitution, you can give how the value has to be created.
    It can be your interface name, sender service name, etc or it can be some value dynamically from your payload.
    For the former, your give
    message:interface_name ,etc
    and for the payload part you give,
    Payload: "your element root which u wanna acecss"
    Just check this link out,
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    And read the contents under variable substitution and it will help you understand the concepts better.
    If you have any clarifications, do get back,
    Regards,
    bhavesh

  • Receiver File Adapter - Create File on another SAP System

    I am working on a project that includes this requirement:  PDF files to be copied from a third party company via SFTP to a directory on our ECC system.
    We have worked out the sender side config, and the transfer of the files into PI works fine via SFTP.
    However, the PDF files are ending up in a directory on the PI system and not on our ECC system as expected.
    The receiver communication channel is set up as follows:
    Party = blank
    Communication Component = communication component of the ECC business system
    Adapter type = File
    ('Receiver' is ticked)
    Transport Protocol = File System (NFS)  (etc)
    Target directory = /tmp   (using this temporarily for testing)
    I would have thought using the ECC business system would mean the files would end up on that system, but instead they end up on the /tmp directory on the PI system.
    We are not permitted to use FTP between our SAP systems, so I can't go with that option.
    I've searched for help on this and only see conflicting and vague statements about whether the NFS protocol can or can't be used for transfer to another SAP system in the landscape. 
    Any suggestions and help on the above, and the best method of transferring the files to the end SAP system would be very appreciated.
    Regards,
    Christine

    remember that NFS means that it is referring to a file system on PI server.
    What you could do is mount a space on SAP PI onto SAP ECC so that ECC will be able to access the files on SAP PI.
    Guess that should solve the problem.

  • Receiver File Adapter with File content Conversion

    I have a requirement to send 2 different files to the target directory. Source is the same and different mapping for the 2 files.
    This I can achieve through multi-mapping but there is a problem. How can I use the File content for receiver File adapter which is using Multimapping.
    The structure of the 2 files also different.

    Why would you need FCC on receiver file adapter? If you need different files to be generated from the source, you could create two receiver channels with different mappings and just add them to the same Receiver Detemination. Isn't feasible?

  • File adapter:  Receiver File Content Conversion problem.. XML to CSV..!!

    Hi,
    I am facing some problem in FCC for Receiver adapter. It has to convert from XML to CSV File.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:PaymentFull_Target xmlns:ns0="http://sdn.com/Payment">
    - <RECORDSET>
    - <Header>
      <LineItem>1</LineItem>
      <SaleNumber>102</SaleNumber>
      <TransNumber>105</TransNumber>
      <Store>1326</Store>
      <variant>Z6</variant>
      <TransType>NEW</TransType>
      <Adjustm_Type />
    </Header>
    - <Header>
      <LineItem>2</LineItem>
      <SaleNumber>102</SaleNumber>
      <TransNumber>105</TransNumber>
      <Store>1326</Store>
      <variant>Z6</variant>
      <TransType>NEW</TransType>
      <Adjustm_Type />
    </Header>
    - <Header>
      <LineItem>3</LineItem>
      <SaleNumber>102</SaleNumber>
      <TransNumber>105</TransNumber>
      <Store>1326</Store>
      <variant>Z6</variant>
      <TransType>NEW</TransType>
      <Adjustm_Type />
    </Header>
    </RECORDSET>
    </ns0:PaymentFull_Target>
    Output File is coming only with lineitem values , remaining fields are not coming.
    *1,2,3*
    FCC Used...
    RecordSet Structure -- Header
    Header.fieldNames -
    LineItem,SaleNumber,TransNumber,Store,variant,TransType,Adjustm_Type
    Header.fieldSeparator-----   ,
    Header.endSeparator-----    'nl'
    Did I miss anything.. any idea whats going wrong?
    Thanks
    Deepthi

    Hi Deepthi,
    Mention the occurrence of header in Recordset
    You specify like this:
    Recordset: Header, *
    Header.fieldSeparator : u2018Field Separatoru2019
    -->For FCC on Receiver side you donu2019t have to mention the field names.
    -->The u2018endSeparatoru2019 parameter needs to given for substructure only
    Check this links:
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    /people/shabarish.vijayakumar/blog/2007/08/03/file-adapter-receiver--are-we-really-sure-about-the-concepts
    /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
    Rgds,
    Akhila

  • Problem in File Adapter jca.file.FileName

    Hello, I have problem in sending variable data to the file adapter property
    I have defined Variable FlowData of Type Element from a XSD
    When I am trying to assign the variable data to the File adapter it is throwing error
    *<bpelx:inputProperty name="jca.file.FileName"*
    variable="flowData"
    query="ns2:flowData/ns2:fileInfo/ns2:name"/>
    Error query "ns2:flowData/ns2:fileInfo/ns2:name" is invalid, because step 'ns2:flowData' is not valid.
    Please help me!!

    Hi,
    Try to add a slash */* at the beginning of the xpath...
    */ns2:flowData/ns2:fileInfo/ns2:name*
    Cheers,
    Vlad
    Give points - it is good etiquette to reward an answerer points (5 - helpful; 10 - correct) for their post if they answer your question
    https://forums.oracle.com/forums/ann.jspa?annID=330

  • Sender File Adapter: Flat file content conversion to "multileveled" XML

    Hi all,
    I would like to do following conversion with file adapter:
    - Input flat file schema:
    A...
    B,,,
    C:::
    - Desired XML form:
    <mesage>
      <A>
        <B>
          <C>:::</C>
        </B>
      </A>
    </message
    >
    All found examples (internet or XI documentation) do offer only "flat" XML option:
    <mesage>
      <A>...</A>
      <B>,,,</B>
      <C>:::</C>
    </message>
    Does anybody have an idea ?
    Thanx and regards
    Jurica

    File Adapters content conversion does not supprot such a nested strucutre currently.
    The only format supported is the one shown in ths link,
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    Either write a module that will do this conversion or Change the datatye for the source to the format shown in help.sap.
    Regards
    Bhavesh

Maybe you are looking for

  • IPod could not be updated because the file is corrupt.

    iTunes refueses to update my iPod touch to 2.0.1. The download appears in the que as 1.5kb (which it certainly isn't), and then after downloading, a message tells me the iPod can't update because the firmware file is corrupt. It also says to reconnec

  • How to update the posted documents with Business Area wise

    Dear experts Please suggest me how to update the posted documents with Business Area wise Ajeesh.s Moderator message: please do more research before asking, show what you have done yourself when asking. Edited by: Thomas Zloch on Nov 2, 2011 2:26 PM

  • Windows 2012R2 does not boot automatically after BSOD

    I have a Windows 2012R2 server with some critical applications. Sometimes one of that applications causes BSOD. It doesn't matter why - I need the server to reboot and continue running without manual intervention. Instead of it server restarts and th

  • LIghtrroom 1.1 problem 1 & 2 importing-copying from CF cards (raw)

    Hi. With Lightroom 1.0 I didn't had this problem, but since I updated to 1.1 and Im importing from CF cards (raw files) and this is very darn often, Lightroom comes up with problems either 1 or two and its not able to copy 1, 2, or 3 files. But if I

  • Problem importing MOV files into iPhoto

    I am getting an error when importing my iPhone mov files into iPhoto -- "The following file could not be imported. The file is in an unrecognized format". However the file plays ok with Quicktime. Can someone help me with this? Its a brand new mac an