One File Adapter, many xml types

Hi,
I have to use file sender adapter to read files from a directory.  The files are in XML format. Each file has a different XML structure and I can not distinguish by the name file the type of XML that goes into the file. How can I do that ?.
Thanks.
Best regards

Hi Francisco,
hopefully you solved the issue already, but maybe someone else has the same issue.
I just faced the same challenge.
In my scenario the all message types have the same receiver but different inbound interfaces and mappings should be used.
I solved it by checking the root element with a xpath content based routing in the interface determination.
It's important that you register the different namespaces used by the message types and then just insert the root element name and as compare operation select EX
In my sample I have to deal with two message types which use different namespaces.
message type1 eCH-0020:delivery xmlns:eCH-0020="http://www.ech.ch/xmlns/eCH-0020/2"
message type2 eCH-0078:eventReport xmlns:eCH-0078="http://www.ech.ch/xmlns/eCH-0078/2"
Therfore I inserted both namespaces in the table of the expression editor
prefix eCH-0020     namespace http://www.ech.ch/xmlns/eCH-0020/2
prefix eCH-0078     namespace http://www.ech.ch/xmlns/eCH-0078/
the value of the prefix is up to you, I decided to use descriptive namespaces
and then insert follwing XPATH expressions
/eCH-0078:eventReport  EX
/eCH-0020:delivery EX
that's it
hope this helps.
Best regards,
Jochen

Similar Messages

  • File Adapter - Attribute xml.documentName

    Hi,
    We are on XI 2.0 SP05.  We are having trouble with the inbound file adapter configuration of the attributes xml.documentName and xml.structureTitle.
    Identified in the file adapter are:
    xml.structureTitle=DT_XXX
    xml.documentName=MT_XXX
    But, the flat file gets converted with the standard
    <resultset>
      <row>
      <test />
      </row>
    </resultset>
    Any help in this matter is greatly appreciated.
    Thanks in advance,
    Doo

    Hi Doo,
    I am assuming you are using mode FILE2XMBWITHROWCONVERSION.
    Only xml.structureTitle can be set in this mode. the XML document will look like this:
    <resultset>
    <structureTitle>
      <fieldName1>...
    If you are using mode FILE2XMBWITHSTRUCTURECONVERSION, you have to set
    xml.recordsetStructure=<nameA,nA,nameB,nB...>
    xml.recordsetName=<rsName>
    xml.recordsetNamespace=<rsNamespace>
    xml.documentName=...
    xml.nameA.structureTitle=...
    Please follow carefully the adapter documentation.
    Regards,
    Hart

  • File Adapter : read XML file with data validation and file rejection ?

    Hello,
    In order to read a XML file with the file adapter, I have defined a XSD that I have imported to my project.
    Now the File Adapter reads the file correctly but it does not give an error when:
    - the data types are not valid. Ex: dateTime is expected in a node and a string is provided
    - the XML file has invalid attributes.
    How can I manage error handling for XML files ?
    Should I write my own Java XPath function to validate the file after is processed ? (here is an example for doing this : http://www.experts-exchange.com/Web/Web_Languages/XML/Q_21058568.html)
    Thanks.

    one option is to specify validateXML on the partnerlink (that describes the file adapter endpoint) such as shown here
    <partnerLinkBinding name="StarLoanService">
    <property name="wsdlLocation"> http://<hostname>:9700/orabpel/default/StarLoan/StarLoan?wsdl</property>
    <property name="validateXML">true</property>
    </partnerLinkBinding>
    hth clemens

  • File adapter problem - xml file

    Is there a way to define in the sender file adapter the document name for a XML file?
    This is the xml file that arrives to XI,
    <?xml version="1.0" encoding="UTF-8" ?>
    <dataroot generated="">
    <Materials1>
      <CODE>FAMILY</CODE>
      <TYPE>A75</TYPE>
      <NAME_EN>LUBRICANT</NAME_EN>
      <NAME_ES>LUBRICANTES</NAME_ES>
      <NAME_DE>LUBRICANT_GERMAN</NAME_DE>
        </Materials1>
      </dataroot>
    I have to define the name of the Message Type as "dataroot" in order to avoid problems at mapping time. The problem is that I get from MDM the same structure begin each time,
    <dataroot generated="">
    Is there a way to define the XML Document Name in the Sender File Adapter?

    Hello Rob,
    FOr ""dataroot" element "generated" is the attribute.... define this attbute in the datatype as well..
    Thanks,
    Himadri

  • OESB File Adapter (Read .xml file to Write .xml)

    Hi All,
    The fileRead adapter of reading xml format file not writing the content to another xml file.
    In detail, I have a xml file of type (myschema.xsd) to pick using read operation will transform to output directory as xml format (pls find attachment as myschema1.xsd) is not writing the content in out xml file rather writing an empty elements. The same thing working with CSV to CSV.
    Has anybody come across the same? Also found out the same issue with BPEL file adapter as well.
    Any light on this will very much appreciated
    myschema.xsd
    +<?xml version="1.0" encoding="windows-1252" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org" targetNamespace="http://www.example.org/readFile" xmlns:ns1="http://www.example.org/readFile" elementFormDefault="qualified">
    <xsd:element name="Opportulity">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="Customer" type="ns1:Customer" />
    <xsd:element name="Account" type="ns1:Account" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="Customer">
    <xsd:sequence>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Account">
    <xsd:sequence>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>+
    myschema1.xsd
    +<?xml version="1.0" encoding="windows-1252" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org" targetNamespace="http://www.example.org/writeFile" xmlns:ns1="http://www.example.org/writeFile" elementFormDefault="qualified">
    <xsd:element name="Customer">
    <xsd:complexType>
    <xsd:sequence>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>+
    Regards
    Venkata Madhu

    xslt
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
    <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
    <mapSources>
    <source type="WSDL">
    <schema location="readFile.wsdl"/>
    <rootElement name="Opportulity" namespace="http://www.example.org/readFile"/>
    </source>
    </mapSources>
    <mapTargets>
    <target type="WSDL">
    <schema location="writeFile.wsdl"/>
    <rootElement name="Customer" namespace="http://www.example.org/writeFile"/>
    </target>
    </mapTargets>
    <!-- GENERATED BY ORACLE XSL MAPPER 10.1.3.3.0(build 070615.0525) AT [TUE FEB 03 17:58:26 GMT+05:30 2009]. -->
    ?>
    <xsl:stylesheet version="1.0"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:pc="http://xmlns.oracle.com/pcbpel/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns0="http://www.w3.org/2001/XMLSchema"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/file/writeFile/"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:imp1="http://www.example.org/readFile"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns2="http://www.example.org/writeFile"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/file/readFile/"
    xmlns:hdr="http://xmlns.oracle.com/pcbpel/adapter/file/"
    exclude-result-prefixes="xsl plt pc ns0 jca imp1 tns hdr ns1 ns2 bpws ehdr hwf xp20 xref ora ids orcl">
    <xsl:template match="/">
    <ns2:Customer>
    <ns2:RoleType>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:RoleType"/>
    </ns2:RoleType>
    <ns2:FirstName>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:FirstName"/>
    </ns2:FirstName>
    <ns2:LastName>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:LastName"/>
    </ns2:LastName>
    <ns2:CustomerID>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:CustomerID"/>
    </ns2:CustomerID>
    <ns2:Nationality>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:Nationality"/>
    </ns2:Nationality>
    <ns2:Phone>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:Phone"/>
    </ns2:Phone>
    <ns2:EmailAddress>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:EmailAddress"/>
    </ns2:EmailAddress>
    <ns2:AddressLine1>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:AddressLine1"/>
    </ns2:AddressLine1>
    <ns2:AddressLine2>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:AddressLine2"/>
    </ns2:AddressLine2>
    <ns2:City>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:City"/>
    </ns2:City>
    <ns2:State>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:State"/>
    </ns2:State>
    <ns2:County>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:County"/>
    </ns2:County>
    <ns2:Postal>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:Postal"/>
    </ns2:Postal>
    <ns2:Country>
    <xsl:value-of select="/imp1:Opportulity/imp1:Customer/imp1:Country"/>
    </ns2:Country>
    </ns2:Customer>
    </xsl:template>
    </xsl:stylesheet>
    Venkata Madhu

  • File Adapter write XML file with special characters

    Hi,
    I have a BPEL processes which use DB adapter to retrieve record and output in a XML document using File Adapter.
    In the table, some records contain these special characters - ">" , "<" , "." . I was expecting the file adapter will convert it to escape characters, but it didn't happen. it just put the same value back to the XML file, which cause other system to reject the file. Do anyone know how to resolve this ?
    The version of SOA is 10.1.3.4
    Thanks for the help.
    Calvin
    Edited by: user12018221 on May 25, 2011 1:48 PM

    one option is to specify validateXML on the partnerlink (that describes the file adapter endpoint) such as shown here
    <partnerLinkBinding name="StarLoanService">
    <property name="wsdlLocation"> http://<hostname>:9700/orabpel/default/StarLoan/StarLoan?wsdl</property>
    <property name="validateXML">true</property>
    </partnerLinkBinding>
    hth clemens

  • File Adapter strips XML Schema content?

    I'm currently using WLI 7.0 and the File Adapter. When I create an event through
    WLAI and attach my xml schema, WLAI is stripping values from my schema. Is this
    by design?
    Node before import:
    <xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded">
    Node after import:
    <xsd:any minOccurs="0" maxOccurs="unbounded">
    The processContents value is very important since I don't want validation to occur
    on this node. Any ideas?
    Thanks.

    I'm currently using WLI 7.0 and the File Adapter. When I create an event through
    WLAI and attach my xml schema, WLAI is stripping values from my schema. Is this
    by design?
    Node before import:
    <xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded">
    Node after import:
    <xsd:any minOccurs="0" maxOccurs="unbounded">
    The processContents value is very important since I don't want validation to occur
    on this node. Any ideas?
    Thanks.

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

  • From ONE file to Many  IDocs in many systems

    Hi,
    In my scenario i have the input file like below
    HEADER;EMPNO;EMPNAME;TARGETSYSTEM
    ITEMHEADER;DESG;LEVEL
    HEADER;EMPNO;EMPNAME;TARGETSYSTEM
    ITEMHEADER;DESG;LEVEL
    HEADER;EMPNO;EMPNAME;TARGETSYSTEM
    ITEMHEADER;DESG;LEVEL
    Here TARGETSYSTEM values are SAPG1,SAPG2 and SAPG3
    for each one HEADER and ITEMHEADER i have to create one idoc in the respective receiver system based on the TARGETSYSTEM value.
    Based on the TARGETSYSTEM value, idocs should be created in to the respective system.
    But problem is :
    Its creating 3 idocs in first system, same 3 idocs in second system and same 3 idocs in third system also.
    But i want to create one idoc in 1st system and second  idoc in 2nd system and third idoc in 3rd system based on the TARGETSYSTEM value.
    please help me, how to solve this problem
    Thanks & Regards,
    Vijji

    Hi Vijaya laksmi,
    I have seen ur question.
    appriciate for doing file to muliple idocs first
    without BPM, u can do this scenario ok
    but while doing this scenario, u have to do idoc with max occurence ie first, after importing idoc, u have to export to xml file and change occurence inplace of "min occurence "  write " min. occurence and Max. occurnce=" and then import this in External definition then u can use this in scenario for multiple idoc. Here don't require more interface mappings ok. u can do this only  with one interface mapping. while generating idoc, at the time u have to save and send as multiple idocs how many u have to send to receiver systems just give the no how many idocs. 
    Even though you won't get it i will send file to multiple idoc scenario ok
    all the best
    regards
    Peera

  • File Adapter - Multiple Record Types to same Target

    I am currently reading in a fixed length file and loading into a table.
    The issue is, some of the lines in my file differ by two spaces at the end. See example below.
    For example,
    Record 1 might look like :
    DD/MM/YY - length of 8
    Record 2 might look like:
    DD/MM/YY{space}{space} - length of 10
    and they both go into the same date column of my target
    Question 1) Is there a way for BPEL to skip the two spaces at the end of each line for Record 2
    Queston 2) I have currently created multiple record types for the two types but it won't allow me in my transformation to map them both to the "date" column in the target table. It says multiple nodes cannot be mapped to the target
    Any help would be appreciated.

    Hi,
    Unfortunately the IKM SQLDR doesn't have the "when" condition to be wrote at ctl file.
    If you wish a simple solution, just add an option (drop me a email if you want a LKM with this)
    The point is:
    With a single option, you will control the when ctl clause and, for instance, can define:
    1) create 2 datastores (1 for each file)
    2) the first position will be a column at each datastore
    3) write the when condition to this first column at the LKM in the interface.
    Does it help you?

  • How to insert data coming from 2 different file adapters in to one DB adapt

    Hi
    i want insert data in to database containing two diffferent tables, so i imported tables in to DB adapter by creating relation ships.But, data for two tables are in xml format & two are in different locations.So, i used 2 file adapters to get data from 2 different & i used BPEL(Define service later) Service. now in bpel i used receive activity to receive one file adapter data ( i checked create instance in receive) then used transform activiy for tranformation & finally invoke activity to invoke DB adapteer........similarly i repeated sequetially to 2 file adapter, by keeping 2nd receive(no need to check create instance) next to invoke.*Problem is after deployment finished only data coming from 1st receive is inserting to the table...& 2 nd receive not working it showing as Pending & showing as Asynchronus Call back inte console*
    I configured all the adapters perfectly..........Can any one can help me how to Commit 2 nd receive to insert data in the 2nd table
    Regards,
    jay

    Thank u both for ur replay.........
    I am doing this in 11g there is no problem regarding transform activity.
    My requirement is
    two different files from two different folders in a drive & we can't use one file adapter bcoz both have different columns(only few are common columns) so we use two different xsd's .So, i am using two file adapters to insert in database having two different tables with respect to two different files data coming from two file adapters. i am using one DB adapter to insert bcoz both tables are in same database with relationships & i used BPEL(define service later) .
    NOW PLEASE SUGGEST ME THE FLOW IN BPEL TO INSERT BOTH FILES IN THERE RESPECTIVE TABLES IN DATABASE.
    The flow i did 1st file adater--->receive--->transform---->invoke----->DB adapter.....Then again repeating this as keeping 2nd receive below 1st invoke
    2nd file adapter-------->2nd receive---->2nd invoke------>same DB adapter
    MY problem is only data coming from 1st process is inserting & 2nd one is not working as i discussed earlier........I USED READ FILE OPTION, UNCHECKED DELETE FILES OPTION & SET DIFFERENT POLLING FREQUENCY FOR BOTH FILE ADAPTERS.
    I tried to set correlation but it is not working & later tried i kept non-blocking invoke as TRUE in DB adapter also didn't work...........also i tried this transaction property in bpel component _<property name="bpel.config.transaction"_
    many="false" type="xs:string">required / requiresNew</property>...............BUT NO CHANGE...........
    Regards,
    jay
    Edited by: 910162 on Apr 5, 2012 12:38 AM

  • Need help with reading XML using File Adapter

    I have created a simple BPEL process that uses a file adapter to read files containing XML messages of a simple xsd schema. But when reading the xml, I get the following error message:
    [2010/03/01 23:43:13] Invalid data: The value for variable "Receive_1_Read_InputVariable", part "revision-report" does not match the schema definition for this part.The invalid xml document is shown below: More...
    [2010/03/01 23:43:13] "{http://schemas.oracle.com/bpel/extension}invalidVariables" has been thrown. less
    -<invalidVariables xmlns="http://schemas.oracle.com/bpel/extension">
    -<part name="code">
    <code>
    9710
    </code>
    </part>
    -<part name="summary">
    <summary>
    Invalid xml document.
    According to the xml schemas, the xml document is invalid. The reason is: Error::cvc-complex-type.4: Attribute 'doc' must appear on element 'revision-report'.
    Error::cvc-complex-type.4: Attribute 'model' must appear on element 'revision-report'.
    Error::cvc-complex-type.4: Attribute 'pubdate' must appear on element 'revision-report'.
    Error::cvc-complex-type.2.4.b: The content of element 'revision-report' is not complete. One of '{"http://xmlns.oracle.com/xmlfile":alternategroup}' is expected.
    Please make sure that the xml document is valid against your schemas.
    </summary>
    </part>
    </invalidVariables>
    It seems that there is some issue with the namespace, but even after trying out various combinations, I am not able to resolve this.
    Here the message schema (xsd):
    <?xml version="1.0" encoding="UTF-8" ?>
    <xs:schema elementFormDefault="qualified"
    targetNamespace="http://xmlns.oracle.com/xmlfile"
    xmlns:tns="http://xmlns.oracle.com/xmlfile"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="revision-report">
    <xs:complexType>
    <xs:sequence maxOccurs="unbounded">
    <xs:element name="alternategroup">
    <xs:complexType>
    <xs:attribute name="name" use="required" type="xs:string"/>
    <xs:attribute name="Desc" use="required" type="xs:string"/>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    <xs:attribute name="doc" use="required" type="xs:string"/>
    <xs:attribute name="model" use="required" type="xs:string"/>
    <xs:attribute name="pubdate" use="required" type="xs:string"/>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    And here is the xml file to be read by the file adapter:
    <?xml version="1.0" encoding="UTF-8" ?>
    <revision-report doc="doc2" model="model4" pubdate="pubdate5">
    <alternategroup Name="ABC" Desc="ABC-Desc">
    </alternategroup>
    <alternategroup Name="DEF" Desc="DEF-Desc">
    </alternategroup>
    <alternategroup Name="GHI" Desc="GHI-Desc">
    </alternategroup>
    </revision-report>
    Appreciate any help.
    Thanks in advance for your attention.
    Jay

    Thanks for your response.
    I am not sure if there is any easier way, but I tried out the following tool available on the net to check an xml against a xsd:
    http://tools.decisionsoft.com/schemaValidate/
    There were a few issues, that I corrected and finally had a xsd and xml that were matching and valid. I tried this out in my file reading BPEL process, but the error still remained the same!
    Here is my updated/simplified xsd and xml:
    <?xml version="1.0" encoding="UTF-8" ?>
    <xs:schema targetNamespace="http://xmlns.oracle.com/xmlfile"
    xmlns:tns="http://xmlns.oracle.com/xmlfile"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://xmlns.oracle.com/xmlfile">
    <xs:element name="revision-report">
    <xs:complexType>
    <xs:sequence>
    <xs:element maxOccurs="unbounded" ref="alternategroup"/>
    </xs:sequence>
    <xs:attribute name="doc" use="required" type="xs:string"/>
    <xs:attribute name="model" use="required" type="xs:string"/>
    <xs:attribute name="pubdate" use="required" type="xs:string"/>
    </xs:complexType>
    </xs:element>
    <xs:element name="alternategroup">
    <xs:complexType>
    <xs:attribute name="Name" use="required" type="xs:string"/>
    <xs:attribute name="Desc" use="required" type="xs:string"/>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    <?xml version="1.0" encoding="UTF-8" ?>
    <revision-report doc="doc2" model="model4" pubdate="pubdate5" xmlns="http://xmlns.oracle.com/xmlfile">
    <alternategroup Name="ABC" Desc="ABC-Desc"/>
    <alternategroup Name="DEF" Desc="DEF-Desc"/>
    <alternategroup Name="GHI" Desc="GHI-Desc"/>
    </revision-report>
    I even tried the option that is available in JDeveloper to generate a sample xml from a xsd (when in the context of a Transformation activity). The xml generated by this also seems exactly like the one above.
    So, I am not able to figure out why my BPEL process errors out with the message Invalid xml document.

  • Is XI Mapping dependent on the Adapter Type ??? JDBC  versus File Adapter

    Gretings,
    I am setting a scenario JDBC (Access) -> XI -> Idoc ->R3.
    First I set up the scenarion File ->XI ->IDOC. Everything worked fine, and the I tried to use JDBC adapter instead of the File Adapter. The JDBC adapter is able to retrieve the data from the Access Database but I got a mapping problem only the Idoc control record was filled, the data segment are empty.
    This mapping was working fine in the case of a File adapter !!!
    Here is the XML File in a case of File Adapter :
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns:POS_TRANSACTION xmlns:ns="http://aramco.com/XI/POS_OIL">
      <DATE>11/17/2004</DATE>
      <TIME>08:25:03</TIME>
      <TRANS_CODE>01</TRANS_CODE>
      <CUSTOMER>1235</CUSTOMER>
      <AMOUNT>105</AMOUNT>
      <POS_ID>1000</POS_ID>
      </ns:POS_TRANSACTION>
    And then The XML file in a case of JDBC adapter :
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns:POS_TRANSACTION xmlns:ns="http://aramco.com/XI/POS_OIL">
    - <row>
      <DATE>11/17/2004</DATE>
      <TIME>00:00:07</TIME>
      <TRANS_CODE>01</TRANS_CODE>
      <CUSTOMER>23456</CUSTOMER>
      <AMOUNT>1456</AMOUNT>
      <POS_ID>1000</POS_ID>
      </row>
      </ns:POS_TRANSACTION>
    what is really strange is SAP XI mapping process should be adapter independent ! why am I having this problem ?
    Any help is more than welcome.
    Regards,
    Mustapha

    Hallo Mustapha,
    as far as i know, it is currently not possible to omit the row tag. Looking at the technique behind it, it makes sense: the JDBC Adapter polls a database with an SQL Statement and what gets back from the database is a resultset with zero, one or more rows (compare JDBC Classes, where you have java.sql.ResultSet). I guess, that maybe in later versions, it could be possible to customize the row tag to any name you want, but it will never be possible to completely omit it, as SQL statements can retrieve several rows and then you need to be able to differentiate between the rows. 
    best regards
    Christine

  • Receiver File channel for XML files: with carriage return

    Hi all,
    we are using a receiver FILE channel to generate an XML file that is sent to an external partner.
    The XML file looks good in a parser (IExplorer). But in fact there are not carriage return / line feeds between the XML tags
    of the XML payload in the file.
    Our partner now requires the XML file in a more vertical structure which means: for every tag a separate line (like it is displayed in a parser)
    Does anybody know a more general way to convert to a vertical XML structure (so with carriage return line feed).
    There is one entry in the SDN dealing with this topic but suggesting using an UDF. I think this is a very specific way.
    I don't think it is a good way to change/enhance the message mapping just because of a general formating change.
    Is it better to use an XSLT mapping as a second step in the interface mapping or a JAVA adapter module to convert ?
    any experiences? suggestions? examples?
    Thank you very much
    best regards
    Hans
    examples:
    original by XI receiver FILE adapter
    <?xml version="1.0" encoding="UTF-8"?>
    <MT_batchStatus><type>BS</type><header><message><messageSender>SENDER</messageSender><messageDate>20090723143720</messageDate> ... and so on
    required:
    <?xml version="1.0" encoding="UTF-8"?>
    <MT_batchStatus>
    <type>BS</type>
    <header>
    <message>
    <messageSender>SENDER</messageSender>
    <messageDate>20090723143720</messageDate>
    ... and so on

    >
    Hans Georg Walter wrote:
    > Is it better to use an XSLT mapping as a second step in the interface mapping or a JAVA adapter module to convert ?
    > any experiences? suggestions? examples?
    In such a case, the best is to write an generic XSLT or Java mapping that will attempt to do the pretty printing/formatting of the xml.
    The advantage of a generic one is that you can reuse the same class/jar for many other scenarios.
    so the flow will be as below in your interface mapping;
    1. your specific source to target mapping
    2. the generic formatting class

  • Can the File Adapter handle Multiple Record Layouts in COBOL?

    I am trying to parse flat files that have a record type field in the first four characters on each record. As a test I tried to use the following record definitions:
    01 CONTRACT-HEADER.
    05 RECORD-TYPE PIC X(4).
    05 TRANSACTION-TYPE PIC X.
    05 CONTRACT-NUMBER PIC X(32).
    05 CONTRACT-RELEASE-NBR PIC X(30).
    05 CONTRACT-FILLER PIC X(2025).
    01 CONTRACT-LINEITEM.
    05 RECORD-TYPE PIC X(4).
    05 TRANSACTION-TYPE PIC X.
    05 LINE-FILLER PIC X(1664).
    I also tried smaller records with simple test data. When I press the "test" button in the native file adapter the XML is never generated if I have more than one record type as above. Suppose that the contract-header record type always has the string "X001" in it, while the contract-lineitem always has "X015" in the record-type. I chose Us-ascii and chose $eol as a delimiter. The file on my windows computer has carriage return line feed after each record. I know that the fixed length converter works, but because the records really have 50 fields on each record type and are long, I don't think I can actually use that one in one sitting. Has anyone ever gotten two different record lenght cobol definitions to work? Do I have to hand edit the XML to specify the delimiter? I don't see any delimter specified in the generated XML before I attempt the test.

    Rahul,
    I recommned you should use "|" as "," can be embedded in a text string. I guess you can pass a directive to use to deliver "|" delimited file :). If you want to handle both then you might have to write a shell script or bat to pass delimiter as an argument which will edit and replace your control file.
    Regards

Maybe you are looking for

  • Error message too big to fit onto screen and I can't scroll down

    I have compiled an email with a lot of addresses cc'd in it and the mail programme is bringing up an error message when I try to send it. The trouble is that the error message is so long that I can't see the end of it and it won't scroll down so I ca

  • Ati radeon hd 4870 for 1st generation mac pros?

    unfortunately the ati radeon hd 4870 is working for all mac pros except the first generation: http://store.apple.com/us/product/MB999ZM/A?fnode=MTY1NDA5OQ&mco=NDE4NDMxOA are there any other graphics cards that have a mini displayport connector and ar

  • Applescript Time Issue

    How would I tell Applescript to set iChat's status as the time until 11pm tonight. For example, if it was 1:45:00p.m. now, my status would read "9hrs 15min 0s until party" I want it to repeat every second so that it counts down by seconds. Thanks a l

  • How to specify the target for a command button action?

    Hi can anybody explain how to achieve the target feature, i mean i need to display the result of the action in a different window after clicking on the button. Is there anyway to achieve this? I want to click the button using Javascript.(using button

  • Problem in saving tiff from PS

    I am using LR 4.1, and PS6 with ACR 7.1, although I have this same issue PS 5.1 and ACR 6.7.  I select "edit in Photoshop", and when finished save as a tiff (same problem with PSD) in the same folder where the raw file (in my case CR2) is.  The saved