One file Adapter NXSD file dynamic

Hi all,
I will get different inputs based on the input request ID i have to do write the file using file adapter .
so the question is if i have 10 files is it necessary to create 10 File adapters or can i achieve this using a single File adapter and multiple NXD or XSD files in a folder .
select the xsd or NXSD at runtime based on the input request ID.
The best thing with this approach is even for a new transformation request i will just add the xsd or NXSD in the folder and update the DB no need to create a file adapter from scratch.
Thanks
Phani

Hi,
You cannot change the XSD for a file adapter at runtime....u can choose to write an opaque file with an native format is not required option checked.

Similar Messages

  • 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

  • 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

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

  • 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

  • Native Format Builder in File Adapter - NXSD:ConditionValue

    Hello,
    I am trying to build a schema using the Native Format Builder in the File Adapter. I am using the option "Multiple Records of different types"
    The CSV file will look like the one shown below, the first column will have either DS, Shipping or an alpha numeric value (not a static value). How should the condition value look like for a dynamic value?
    <xsd:element name="RECORD1" nxsd:conditionValue="OrderDetailSKU"> - Static value, the value SKU will not change
    *<xsd:element name="RECORD2" nxsd:conditionValue="1"> - This value differs per order, it can be any number or alphabet or a combination of a number and an alphabet*
    <xsd:element name="RECORD3" nxsd:conditionValue="DS"> - Static value, the value SKU will not change
    <xsd:element name="RECORD4" nxsd:conditionValue="Shipping"> - Static value, the value SKU will not change
    SKU,VendorID,PurchaseOrderNumber,RefNum,OrderStatus,Invoice#,InvoiceAmt,FreightCharge,ProcessingFee,Qty,QtyOrdered,QtyShipped,Price,Net,TotalNoBoxes,BoxNo,BoxWeight,BoxWidth,BoxHeight,BoxLength,ShipMethod,TrackingNumber,StatusDate
    1,266219,648290074,648290074,Shipped,648290074,17,0,0,1,1,1,15,17,1,1,5,,,,UPSG,,
    DS,,648290074,648290074,Shipped,648290074,17,0,0,1,1,1,2,17,1,1,5,,,,UPSG,,
    Shipping,,648290074,648290074,Shipped,648290074,17,0,0,1,1,1,0,17,1,1,5,,,,UPSG,1Z4R3E350366250200,
    1,,648290075,648290075,Shipped,648290075,77,0,0,5,5,5,15,77,1,1,11,,,,UPSG,,
    DS,,648290075,648290075,Shipped,648290075,77,0,0,1,1,1,2,77,1,1,11,,,,UPSG,,
    Shipping,,648290075,648290075,Shipped,648290075,77,0,0,1,1,1,0,77,1,1,11,,,,UPSG,1Z4R3E350366250201,
    1,,648290076,648290076,Shipped,648290076,32,0,0,1,1,1,15,32,1,1,7,,,,UPSG,,
    2,,648290076,648290076,Shipped,648290076,32,0,0,1,1,1,15,32,1,1,7,,,,UPSG,,
    DS,,648290076,648290076,Shipped,648290076,32,0,0,1,1,1,2,32,1,1,7,,,,UPSG,,
    Shipping,,648290076,648290076,Shipped,648290076,32,0,0,1,1,1,0,32,1,1,7,,,,UPSG,1Z4R3E350366250202,
    1,,648290077,648290077,Shipped,648290077,107,0,0,2,2,2,15,107,1,1,11,,,,UPSG,,
    5,,648290077,648290077,Shipped,648290077,107,0,0,5,5,5,15,107,1,1,11,,,,UPSG,,
    DS,,648290077,648290077,Shipped,648290077,107,0,0,1,1,1,2,107,1,1,11,,,,UPSG,,
    Shipping,,648290077,648290077,Shipped,648290077,107,0,0,1,1,1,0,107,1,1,11,,,,UPSG,1Z4R3E350366250203,
    1,,648290079,648290079,Shipped,648290079,122,0,0,2,2,2,15,122,1,1,11,,,,UPSG,,
    2,,648290079,648290079,Shipped,648290079,122,0,0,3,3,3,15,122,1,1,11,,,,UPSG,,
    5,,648290079,648290079,Shipped,648290079,122,0,0,3,3,3,15,122,1,1,11,,,,UPSG,,
    DS,,648290079,648290079,Shipped,648290079,122,0,0,1,1,1,2,122,1,1,11,,,,UPSG,,
    Shipping,,648290079,648290079,Shipped,648290079,122,0,0,1,1,1,0,122,1,1,11,,,,UPSG,1Z4R3E350366250204,
    I need the above CSV to be translated to the below format for each order,
    <ns1:order>
         <ns2:order_number>648290076</ns2:order_number>
         <ns2:order_status>Shipped</ns2:order_status>
         <ns2:order_inv_number>648290076</ns2:order_inv_number>
         <ns2:order_inv_amt>32</ns2:order_inv_amt>
         <ns2:order_freight_charge>0</ns2:order_freight_charge>
         <ns2:item_Data>
              <ns0:vendor_item_number>1</ns0:vendor_item_number>
              <ns0:quantity_ordered>1</ns0:quantity_ordered>
              <ns0:quantity_shipped>1</ns0:quantity_shipped>
              <ns0:unit_cost>15</ns0:unit_cost>
              <ns0:extended_cost>32</ns0:extended_cost>
              <ns0:package_id>1</ns0:package_id>
         </ns2:item_Data>
         <ns2:package_Data>
              <ns0:package_id>1</ns0:package_id>
              <ns0:package_Items>
                   <ns0:vendor_item_number>1</ns0:vendor_item_number>
                   <ns0:quantity_shipped>1</ns0:quantity_shipped>
              </ns0:package_Items>
              <ns0:TrackingNo>
                   <ns0:TrackingNum>123456789</ns0:TrackingNum>
              </ns0:TrackingNo>
         </ns2:package_Data>
    </ns1:order>

    Hi Vlad,
    Thanks for the Idea, I tried using the Choice Condition and I am not sure what would be the condition, in my case, there are 3 record, the value in SKU will vary and differentiate the records. The first record (s) (based on no.of items in an order), the value in SKU column will be any value (alpha/numeric/alphanumeric), the next record will have "DS" in the SKU column and the next one will will "Shipping" in the SKU column. The example does look for "Yes" or "No" starting from the "70"th character in the line. I am not sure how to accommodate the condition to check whether the column* "SKU" contains an Item Number or "DS" or "Shipping". The poistion of the column "SKU" may vary every time, so I am not sure how to add a condition to verify that.
    Here is the Schema when I used "Delimited" in the choice condition,
    <?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/InboundService"
    targetNamespace="http://TargetNamespace.com/InboundService"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    nxsd:version="NXSD"
    nxsd:stream="chars"
    nxsd:encoding="US-ASCII"
    nxsd:hasHeader="true"
    nxsd:headerLines="1"
    nxsd:headerLinesTerminatedBy="${eol}"
    >
    <xsd:element name="OrderDetail">
    <xsd:complexType>
    <xsd:choice minOccurs="1" maxOccurs="unbounded" nxsd:choiceCondition="terminated" nxsd:terminatedBy=","*>
    <xsd:element name="ItemsRecord" type="tns:Items" nxsd:conditionValue="(!= DS) and (!= Shipping)" />
    <xsd:element name="DSRecord" type="tns:ProcessingFee" nxsd:conditionValue="DS" />
    <xsd:element name="ShippingRecord" type="tns:ShippingInfo" nxsd:conditionValue="Shipping" />
    </xsd:choice>
    </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="ShippingInfo">
    <xsd:sequence>
    <xsd:element name="OrderDetails" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="VendorID" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="PurchaseOrderNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="RefNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="OrderStatus" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="InvoiceNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="InvoiceAmt" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="FreightCharge" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="" />
    <xsd:element name="ProcessingFee" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="SKU" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTY" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTYOrdered" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTYShipped" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="Price" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="Net" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="TotalNoBoxes" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxNo" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxWeight" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxWidth" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxHeight" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxLength" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="ShipMethod" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="TrackingNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="StatusDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" />
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Items">
    <xsd:sequence>
    <xsd:element name="OrderDetail" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="VendorID" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="PurchaseOrderNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="RefNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="OrderStatus" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="InvoiceNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="InvoiceAmt" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="FreightCharge" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="ProcessingFee" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="SKU" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTY" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTYOrdered" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTYShipped" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="Price" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="Net" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="TotalNoBox" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxNo" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxWeight" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxWidth" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxHeight" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxLength" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="ShipMethod" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="TrackingNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="StatusDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" />
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="ProcessingFee">
    <xsd:sequence>
    <xsd:element name="OrderDetail" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="VendorID" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="PurchaseOrderNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="RefNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="OrderStatus" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="InvoiceNum" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="InvoiceAmt" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="FreightCharge" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="ProcessingFee" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="SKU" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTY" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTYOrdered" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="QTYShipped" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="Price" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="Net" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="TotelNoBoxes" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxNo" type="xsd:int" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxWeight" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxWidth" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxHeight" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="BoxLength" type="xsd:float" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="ShipMethod" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="TrackingNumber" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="StatusDate" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    I thank you once again for your valuable ideas and suggestions.
    Thanks,
    Venkatesh

  • CONFIGURE FILE ADAPTER ,get files one by one.

    HI,  I have cinfigure one system of FILE ADAPTER TO JDBC ADAPTER, is working OK, but I need to Know  how configure The FIle adapter to get files one by one from the folder , I have the channel configure between 30 seconds, but when come to look for the files has them all ... I need to get one by one the files.
    Help me... RGRDS.

    Hi ,
             What is the operating system of your PI server sytem? If its unix/linux you can achieve this using shell scripts, for windows systems you need batch files. The script/batch file would run in background continuously. It will check how many files are present in a directory (say xyz) . Then one by one transfer the files to directory(say abc)  from where PI picks up files at regular interval. you need to use "sleep()" command in script so that the script puts files after some time interval say 90 seconds. The polling interval of comm channel in PI should be set less than sleep time interval of the script.In file sender adpater configuration please set the Processing Parameters -> Processing Mode-> Delete/archive. The script before putting a file in "abc " checks presence of any files. If there are some files it goes to sleep mode for few seconds and continues checking unless "abc" is empty. Then the script moves(as we do cut and paste in windows) file in "abc" directory.
    regards
    Anupam

  • 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

  • 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

  • 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

  • Sender File Adapter with file conversion  Multimapping

    Hello all,
    i have to use multimapping with the file sender adapter
    XML for multimapping ist like this
    ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns1:KVNR_Senden_MT xmlns:ns1="urn:lsv.de/SENDER">
             <Inhalt>
                <KE/>
                <VF/>
                <BBNRAB/>
                <BBNREP/>
                <VERNR/>
                <ED/>
                <FEKZ/>
    in File adapter
    DocumentName Messages
    RecordsetName  Inhalt
    Recorset Struc Inhalt,20
    Inhalt.fieldFixedLength 4,5,6.....
    Inhalt.fieldNames        KE,VF,.....
    but were can I generate Message1?????
    any Hints?
    regards
    ralf

    sorry but the message tags will not be add dynamically
    i have change an existing message mapping 1:1 with file content conversion
    into a multimapping.
    by changing into multimapping the message was surrounded with
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>.......
    no changing in File Adapter an in the IE there was an error
    com.sap.aii.utilxi.misc.api.BaseRuntimeException geworfen: RuntimeException in Message-Mapping transformatio~.
    if i added the stuct
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>.......
    by hand and it works???
    so i think i had to add
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>.......
    to the file content conversion but i don't know how to do it???
    Ralf

  • File Adapter: Flat-file to XML

    New to the Oracle ESB.
    I am using the file adapter to read in a fixed-length flat file, have mapped it to an xsd and now I just want to dump the resulting xml into a directory. I don't see an obvious way to do this without converting it back to a flat file (by pointing the file writer back to a similar flat file xsd). Missing something obvious?
    Thank you!

    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

  • File adapter issue - files not processed (file name mask is *)

    Hi guys!
    I have a problem I never faced before. My file adapter doesn't process files in the source directory. When I put there exact file's name, it is processed. But when I use * , nothing happen. This is very strange. I was wondering, if problem can't be in that my PI box is UNIX and it's accessing Win filesystem.
    Any ideas, what to try?
    Thank you!
    Olian

    Yes, but I meant the one directory we're working in. We can write, delete there, so we should be able also use wildcards,  don't we?
    However, I tried it on a directory with 777 attributes. There is a file named clooo.ttt. When I run del .ttt I get Requested action not taken, file unavailable. The same for clooo. , clooo*,...  But when I type del clooo.ttt, the file is deleted...
    Any suggestions?
    Olian

  • File adapter: Additional files option and Archive option

    Hi all!
    I configure file adapter to take file with two additional files. Additional files is optional. Also I configure to processing mode to archive.
    So when I put all three files in folder everything works fine - all files are archived.
    Problems begins when I put not all additional files for example:
    1) when I put one main file and the <b>FIRST</b> additional file, files are archived, in communication channel monitoring i see error in message java.lang.NullPointerException, but message with payload transfers to IE successful.
    2) when I put one main file and the <b>SECOND</b> additional file, the main file archived, the SECOND  file <b>NOT</b> archived and stayed in source directory. In CC monitoring I see error message java.lang.NullPointerException, but message with payload transfers to IE successful.
    Please provide me with some solution, because I need to archive all files.
    Maxim.

    in file sender CC, thr is option to archive and error file store also..
    1)under processing mode - archive.. give the path thr..
    2) To archive source files where a permanent error occurred during processing, select Archive Faulty Source Files
    http://help.sap.com/saphelp_nwpi71/helpdata/en/44/658abd344a4de0e10000000a1553f7/frameset.htm

  • File adapter(write files with same extension as we read them)

    Hello
    I am trying to read file as an attachment using file adapter (it can be of any extension .pdf,.txt,.xml)
    I want to write this file using file adapter with the same extension i.e. whatever is read as it is....I am least bothered for reading the content inside the file so am reading it as an attachment..
    Please if anyone knows the answer..reply....

    I ran into a similar issue. As a workaround we ended up just using java to write the files out. When the File Adapter attempts to write out a file it first writes that file to a temp file and then copies that to the appropriate directory.
    I believe that when two or more threads were attempting to write at the same time the write was failing for one (but appearing to work in the console logs). I think a race condition may be created when two threads attempt to write using the File Adapter for access to the temp file. I contacted my oracle rep about it but they are always pretty worthless so I havent ever heard anything back concerning the issue.

Maybe you are looking for