Converting XML Message to EDI

Hi Experts,
I need a tool to convert XML message to EDI.

Hi,
Conversion Agent
Purpose
SAP Conversion Agent by Informatica is a data conversion system that enables you to create interfaces between any data formats and XML-based systems. The Conversion Agent can convert unstructured, semi-structured, and structured formats to XML, and the other way around.
The Conversion Agent comprises the Conversion Agent Studio and the Conversion Agent Engine. In the Conversion Agent Studio you can develop and configure data conversions. The Conversion Agent Engine executes the data conversions.
Conversion Agent in Process Integration
figer here-
In Process Integration you call the Conversion Agent by using an adapter module. For this purpose, you must integrate this module in the module processor of your adapter. You can only use the Conversion Agent with the SAP adapters of the Adapter Engine.
The module in the sender adapter uses a data conversion statement to call the Conversion Agent Engine and it then receives the converted XML document. In a receiver adapter the source format is XML.
For current information and FAQs for the Conversion Agent, see SAP Note 894815.
Features
If you want to use data transformations in Process Integration, you must perform the following steps after you have installed the Conversion Agent:
For information about installing the Conversion Agent, see Deploying and Using Conversion Agent and Getting Started with Conversion Agent.
       1.      Define your data transformation in the Conversion Agent Studio.
For more information, please see: Getting Started with Conversion Agent.
       2.      Configure a communication channel within your integration scenario.
More information: Communication channel.
       3.      In the adapter configuration under Modules, integrate the adapter module CMTransformModule in the adapter type for your communication channel.
○       Under Parameter Name in the Module Configuration, enter the name TransformationName, and under Parameter Value, enter the name of the data transformation you defined.
○       The document to be converted must be in the main payload of the message.
○       If the document to be converted is in an attachment, you can use the PayloadSwapBean module to exchange the payloads.
○       The adapter module can be integrated in all adapters that can be enhanced with additional modules (for example, the SOAP adapter or mail adapter).
For more information about integrating the adapter module, see Deploying and Using Conversion Agent.
For more information about integrating modules in an adapter, see: Module Processor
For more information about enhancing the module processor, see Extending the Module Chain in the Module Processor.
Getting Started with the Conversion Agent
To quickly get up to speed with the SAP NetWeaver Conversion Agent, read the following documentation:
Document Name
Deploying and Using Conversion Agent
Contents
Contains detailed information about how you can use the Conversion Agent in SAP NetWeaver. It also includes a description of how to deploy the adapter module for calling the Conversion Agent Engine.
Document Name
Getting Started with Conversion Agent
Contents
Uses exercises to introduce you to Conversion Agent Studio.
Also contains short installation instructions.
Conversion Agent Guides
The following guides are available:
Document Name
Conversion Agent Administratoru2019s Guide
Contents
Contains information on the following topics:
●      Installing the Conversion Agent Studio
●      Updating Conversion Agent projects
●      Configuration Editor
This editor enables you to configure the parameters of an existing Conversion Agent installation.
Document Name
Conversion Agent Studio Useru2019s Guide
Contents
Contains a description of all functions of the Conversion Agent Studio.
Document Name
Conversion Agent Engine Developeru2019s Guide
Contents
Contains information about how you enable transformations defined in the Conversion Agent Studio to be executed by the Conversion Agent Engine.
PS,Reward me if usefull
reg,
suresh

Similar Messages

  • How to convert XML message in text format by using HTTPS-Receiver adapter

    Is it possible to convert XML message in text format when we use HTTPS as the receiver adapter?
    If yes, how?
    Thanks!
    Mrudula

    Hi Mrudula,
    As far as i know there are no content conversion methodology for HTTPS as the recevier adapter.
    Also you can read through these links to confirm the same:
    http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/content.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/sap_xi/sapximst30.htm
    SAP NetWeaver - XML Communication Interface (CA-XML) [original link is broken]
    Regards,
    abhy
    note: reward the helpful.

  • How to convert XML to Binary in OSB Message flow

    Dear All,
    Can you please help me in converting XML to Binary in OSB Message flow.
    Please help.
    Thanks,

    ah ok, then you have to apply a transformation from XML to some fixed length format, EDI style
    probably you have 2 options: the traditional MFL
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/consolehelp/mfls.html
    or the (probably) more supported nXSD with a JCA adapter
    http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/nfb.htm
    I will let you digest this info and then we can continue.
    There are a number of threads in this forum on whether one technology is better than the other (as usual, google can assist you)

  • Getting different namespace in inbound XML message consumed by BPEL after translated from EDI to XML in B2B using Inbound Agreement

    Hello B2B Gurus,
    I am able to process B2B inbound  files successfully from Trading Partner --> B2B --> BPEL. When it comes to BPEL i am not able to parse/transform the received XML as i am getting selection failures in assign and empty nodes in transformation. When i look at the input XML payload which i received in ReceiveB2BConsume Payload i observed that i am getting namespace as " xmlns="NS_495C37A0921C418BB66A86A6E75B2CA120070312140549" instead of actual namespace xmlns="urn:oracle:b2b:X12/V4010/856" which is in my XSD as well and i am getting the XML start tag <?xml version="1.0" encoding="UTF-8" ?> 2 times. :
    <?xml version="1.0" encoding="UTF-8" ?>
      <?xml version="1.0" encoding="UTF-8" ?>
    <Transaction-856  xmlns="NS_495C37A0921C418BB66A86A6E75B2CA120070312140549" mlns:xsi="http://www.w3.org/2001/XMLSchema-instance" XDataVersion="1.0" Standard="X12" Version="V4010" CreatedDate="2013-08-21T16:33:57" CreatedBy="XEngine_2956" GUID="{00C28978-0AA1-11E3-88B9-80C16E7DC6DA}">
    <Internal-Properties>
    </Transaction-856>
    I went back and checked the XSD which i loaded in the B2B Console and i am having the following namespace
    "<xsd:schema xmlns="urn:oracle:b2b:X12/V4010/856" targetNamespace="urn:oracle:b2b:X12/V4010/856" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" elementFormDefault="qualified">"
    I am not sure why the XML translated from EDI in B2B console has the different namespace and XML start tag 2 times. Can you please help me resolve the issue. Let me know if i am missing anything.
    Thanks in Advance..

    Hi,
    Please set property as b2b.setDynamicNameSpace=false.
    To use EDI ecs and xsd files from Oracle B2B 10g version, set this property to true.
    When using EDI ecs and xsd files in Oracle B2B 11g which were used in Oracle B2B 10g, the XEngine may generate dynamic namespace for the translated xml. For example,
    xmlns="NS_31CA8D0F33324F95A0BF15D85539C27E20060518215520" 
    To turn off dynamic namespace generation for inbound EDI messages, set this property to false.
    Thanks
    Satendra Pare

  • Adapter Module to convert text message to XML

    Hello Experts,
    I am writing a custom adapter module to convert the text  content to XML message at the sender adapter end.
    I have followed the steps mentioned in the "HowToCreateModulesforJ2EEAdapterEngine" guide available on SDN.
    I have created the java logic in the process mesthod of the bean to conver the text message to XML paylod (don't know if it is correct). I do not have much idea about the Adpater API methods.
    Can anybody help me with the logic to convert the text msg to xml paylod using adapter frame work APIs or is there any way I can debug and test my logic in NWDS.
    Any help will be greatly appreciated.
    - Rajan

    Hi ,
    To convert Text message to XML why yiu want to go for Adapter Module?? Using file content conversion it self you can do it right?????
    There is no standard logic to convert text file to XML, the logic purely depends on your text message format.
    Regards,
    Raj

  • Developing custom translator for converting xml to edi

    Hi Gurus,
    I am trying to justify using Oracle B2B if my only requirement is to be able to translate data from flat files to EDI and vice versa.
    My use case is
    Application Data ------------> ESB ---------------------------------------> Custom Translator --------------------------> EDI Document
    ........................(flat file).................(flat file converted to XML)........................ convert xml to edi
    Is this solution possible. If so, can somebody share details about how to write these custom translators.
    tia,
    Amit

    Thanks so much for your responses.
    What I have seen so far is that if <G_SN1> contains two entries of <S_N1> then the error above is generated (Could only identify segment S_N1 as dirty!).
    For instance,
    <G_SN1><S_N1><D_98>VN</D_98><D_66>1</D_66><D_67>0000010003</D_67></S_N1> <S_N1><D_98>ST</D_98><D_66>1</D_66><D_67>0000010003</D_67></S_N1></G_SN1>
    Is there a way to modify the mapping in Seeburger in such a way that it would allow/accept two occurrence of <S_N1> under <G_SN1>?

  • Convert SOAP XML message to invoke JMSTransportPortType method

    I want to invoke a WS method in JMSTransportPortType. However, the request is a SOAP XML message. I wonder if there is a convenient way to convert a SOAP XML message to invoke JMSTransportPortType method.

    Would really appreciate some help with this issue. Thanks!

  • What is inbound XML message type and idoc type in Purchase Order response

    Hi ,
    We are on SRM 7 ECS , support pack SAPKIBKV08.
    We have a process in which vendor will send a Purchase Order response  which will be
    converted to XML format by a middleware. This XML message will come to
    SRM and post a POR. I want to do the EDI mapping for this XML message,
    but there is no message type and idoc type in SRM for Purchase Order
    response. How do I map my message type in SRM to the vendor sent fields
    in middleware .
    Please advise
    Rgds
    Sumendra

    Hi,
    You can process with XML without IDoc.
    Vendor->  (XML) -> PI -> (XML) -> SRM.
    Please check PurchaseOrderConfirmation_In in namespace "http://sap.com/xi/SRM/Procurement/Global".
    http://esworkplace.sap.com
    Regards,
    Masa

  • Getting error while converting xml to xsd

    I am getting error"The table (citeinfo) cannot be the child table to itself in nested relations"
    at "http://www.flame-ware.com/products/xml-2-xsd/Default.aspx", while converting
    xml into xsd so i can register.
    Wherever citeinfo is there it is giving error.
    Please look at bold and suggest solution
    thank you
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE metadata SYSTEM "http://www.fgdc.gov/metadata/fgdc-std-001-1998.dtd">
    <metadata>
    <idinfo>
    <citation>
    *<citeinfo>(1)*<origin>MRF</origin>
    <pubdate>20040512</pubdate>
    <pubtime>09000000</pubtime>
    <title>BAS_EASEMENT</title>
    <edition>1</edition>
    <geoform>vector digital data</geoform>
    <serinfo>
    <sername>One</sername>
    <issue>One</issue>
    </serinfo>
    <pubinfo>
    <pubplace>San Jose</pubplace>
    <publish>CITY</publish>
    </pubinfo>
    <othercit>None</othercit>
    <onlink>www.mrf.com</onlink>
    <lworkcit>
    *<citeinfo>(2)*<pubdate>20040512</pubdate>
    <pubtime>09000000</pubtime>
    <edition>1</edition>
    <geoform>vector digital data</geoform>
    <serinfo>
    <sername>One</sername>
    <issue>One</issue>
    </serinfo>
    <pubinfo>
    <pubplace>San Jose</pubplace>
    <publish>CITY</publish>
    </pubinfo>
    <othercit>None</othercit>
    <onlink>www.mrf.com</onlink>
    *</citeinfo>(2)*</lworkcit>
    *</citeinfo>(1)*</citation>
    <descript>
    <abstract>Easement</abstract>
    <purpose>E911 System</purpose>
    <supplinf>None</supplinf>
    </descript>
    <timeperd>
    <timeinfo>
    <sngdate>
    <caldate>20040512</caldate>
    <time>09000000</time>
    </sngdate>
    </timeinfo>
    <current>publication date</current>
    </timeperd>
    <status>
    <progress>Complete</progress>
    <update>As needed</update>
    </status>
    <spdom>
    <bounding>
    <westbc>
    -122.339</westbc>
    <eastbc>
    -121.0716</eastbc>
    <northbc>
    37.4900</northbc>
    <southbc>
    36.9086</southbc>
    </bounding>
    </spdom>
    <keywords>
    <theme>
    <themekt>Easement</themekt>
    <themekey>Easement</themekey>
    </theme>
    <place>
    <placekt>San Jose</placekt>
    <placekey>San Jose</placekey>
    </place>
    <stratum>
    <stratkt>None</stratkt>
    <stratkey>None</stratkey>
    </stratum>
    <temporal>
    <tempkt>None</tempkt>
    <tempkey>None</tempkey>
    </temporal>
    </keywords>
    <accconst>None</accconst>
    <useconst>None</useconst>
    <ptcontac>
    <cntinfo>
    <cntperp>
    <cntper>Earl Harris</cntper>
    <cntorg>City of San Jose</cntorg>
    </cntperp>
    <cntpos>Project Manager</cntpos>
    <cntaddr>
    <addrtype>Actual Address</addrtype>
    <address>801 N 1 ST</address>
    <city>San Jose</city>
    <state>CA</state>
    <postal>90000</postal>
    <country>USA</country>
    </cntaddr>
    <cntvoice>408.277.5626</cntvoice>
    <cnttdd>408.277.5626</cnttdd>
    <cntfax>408.298.8382</cntfax>
    <cntemail>[email protected]</cntemail>
    <hours>9-5</hours>
    <cntinst>None</cntinst>
    </cntinfo>
    </ptcontac>
    <browse>
    <browsen>None</browsen>
    <browsed>None</browsed>
    <browset>None</browset>
    </browse>
    <datacred>Unknown</datacred>
    <secinfo>
    <secsys>FGDC</secsys>
    <secclass>Confidential</secclass>
    <sechandl>Confidential Information</sechandl>
    </secinfo>
    <native>Microsoft Windows NT Version 4.0 (Build 1381) Service Pack 6; ESRI ArcCatalog 8.3.0.800</native>
    <crossref>
    *<citeinfo>(3)*<origin>MRF</origin>
    <pubdate>20040512</pubdate>
    <pubtime>09000000</pubtime>
    <title>BAS_EASEMENT</title>
    <edition>1</edition>
    <geoform>vector digital data</geoform>
    <serinfo>
    <sername>one</sername>
    <issue>one</issue>
    </serinfo>
    <pubinfo>
    <pubplace>San Jose</pubplace>
    <publish>CITY</publish>
    </pubinfo>
    <othercit>None</othercit>
    <onlink>www.mrf.com</onlink>
    <lworkcit>
    *<citeinfo>(*4)
    <origin>MRF</origin>
    <pubdate>20040512</pubdate>
    <pubtime>09000000</pubtime>
    <title>BAS_EASEMENT</title>
    <edition>1</edition>
    <geoform>vector digital data</geoform>
    <serinfo>
    <sername>one</sername>
    <issue>one</issue>
    </serinfo>
    <pubinfo>
    <pubplace>San Jose</pubplace>
    <publish>CITY</publish>
    </pubinfo>
    <othercit>None</othercit>
    <onlink>www.mrf.com</onlink>
    *</citeinfo>(*3)
    </lworkcit>
    *</citeinfo*>(4)
    </crossref>
    </idinfo>
    <dataqual>
    <attracc>
    <attraccr>All the related attributes are populated 100%.</attraccr>
    <qattracc>
    <attraccv>100%</attraccv>
    <attracce>All the related attributes are populated 100%.</attracce>
    </qattracc>
    </attracc>
    <logic>100% adjusted,modified and captured easements.</logic>
    <complete>100%</complete>
    <posacc>
    <horizpa>
    <horizpar>Easement accuracy is 2 ft for 3" pixel Orthophoto, 5 ft for 9" pixel Orthophoto.</horizpar>
    <qhorizpa>
    <horizpav>2 ft for 3" pixel Orthophoto, 5 ft for 9" pixel Orthophoto.</horizpav>
    <horizpae>Easement accuracy is 2 ft for 3" pixel Orthophoto, 5 ft for 9" pixel Orthophoto.</horizpae>
    </qhorizpa>
    </horizpa>
    <vertacc>
    <vertaccr>Easement accuracy is 2 ft for 3" pixel Orthophoto, 5 ft for 9" pixel Orthophoto.</vertaccr>
    <qvertpa>
    <vertaccv>2 ft for 3" pixel Orthophoto, 5 ft for 9" pixel Orthophoto.</vertaccv>
    <vertacce>Easement accuracy is 2 ft for 3" pixel Orthophoto, 5 ft for 9" pixel Orthophoto.</vertacce>
    </qvertpa>
    </vertacc>
    </posacc>
    <lineage>
    <srcinfo>
    <srccite>
    <*citeinfo>(5)*<origin>MRF</origin>
    <pubdate>20040512</pubdate>
    <pubtime>09000000</pubtime>
    <title>BAS_EASEMENT</title>
    <edition>1</edition>
    <geoform>vector digital data</geoform>
    <serinfo>
    <sername>one</sername>
    <issue>one</issue>
    </serinfo>
    <pubinfo>
    <pubplace>San Jose</pubplace>
    <publish>CITY</publish>
    </pubinfo>
    <othercit>None</othercit>
    <onlink>www.mrf.com</onlink>
    <lworkcit>
    *</citeinfo>(5*)*<citeinfo>(6)*
    <origin>MRF</origin>
    <pubdate>20040512</pubdate>
    <pubtime>09000000</pubtime>
    <title>BAS_EASEMENT</title>
    <edition>1</edition>
    <geoform>vector digital data</geoform>
    <serinfo>
    <sername>one</sername>
    <issue>one</issue>
    </serinfo>
    <pubinfo>
    <pubplace>San Jose</pubplace>
    <publish>CITY</publish>
    </pubinfo>
    <othercit>None</othercit>
    <onlink>www.mrf.com</onlink>
    *</citeinfo>(5)*
    </lworkcit>
    *</citeinfo>(6)*
    </srccite>
    <srcscale>24000</srcscale>
    <typesrc>FTP</typesrc>
    <srctime>
    <timeinfo>
    <sngdate>
    <caldate>20040512</caldate>
    <time>09000000</time>
    </sngdate>
    </timeinfo>
    <srccurr>publication date</srccurr>
    </srctime>
    <srccitea>Unknown</srccitea>
    <srccontr>MGE dgn contains easement data.</srccontr>
    </srcinfo>
    <procstep>
    <procdesc>Easement data is reprojected from NAD27 to NAD83.
    Further it is adjusted as per the spatial alignment shown in MGE input dgn.</procdesc>
    <srcused>Easement</srcused>
    <procdate>20040512</procdate>
    <proctime>09000000</proctime>
    <srcprod>BAS_EASEMENT</srcprod>
    <proccont>
    <cntinfo>
    <cntperp>
    <cntper>Mahesh P Choudhury</cntper>
    <cntorg>Rolta International Inc.</cntorg>
    </cntperp>
    <cntpos>Project Manager</cntpos>
    <cntaddr>
    <addrtype>mailing address</addrtype>
    <address>5865 North Point Parkway</address>
    <city>Alpharetta</city>
    <state>GA</state>
    <postal>30022</postal>
    <country>USA</country>
    </cntaddr>
    <cntvoice>678.942.5015</cntvoice>
    <cnttdd>678.942.5015</cnttdd>
    <cntfax>678.942.5001</cntfax>
    <cntemail>[email protected]</cntemail>
    <hours>8-5</hours>
    <cntinst>None</cntinst>
    </cntinfo>
    </proccont>
    </procstep>
    </lineage>
    <cloud>Unknown</cloud>
    </dataqual>
    <spdoinfo>
    <indspref>unknown</indspref>
    <direct>Vector</direct>
    <ptvctinf>
    <sdtsterm>
    <sdtstype>String</sdtstype>
    <ptvctcnt>2203</ptvctcnt>
    </sdtsterm>
    </ptvctinf>
    </spdoinfo>
    <spref>
    <horizsys>
    <geograph>
    <latres>5.5</latres>
    <longres>5.5</longres>
    <geogunit>Decimal degrees</geogunit>
    </geograph>
    <geodetic>
    <horizdn>North American Datum of 1983</horizdn>
    <ellips>Geodetic Reference System 80</ellips>
    <semiaxis>1</semiaxis>
    <denflat>2</denflat>
    </geodetic>
    </horizsys>
    <vertdef>
    <altsys>
    <altdatum>North American Vertical Datum of 1988</altdatum>
    <altres>0.002</altres>
    <altunits>sf</altunits>
    <altenc>Attribute values</altenc>
    </altsys>
    <depthsys>
    </depthsys>
    </vertdef>
    </spref>
    <eainfo>
    <detailed>
    <enttyp>
    <enttypl>
    BAS_EASEMENT</enttypl>
    <enttypd>Contains geometry and attributes for easement segments</enttypd>
    <enttypds>Data Model Dictionary</enttypds>
    </enttyp>
    <attr>
    <attrlabl>BAS_EASEMENT_ID</attrlabl>
    <attrdef>Migrated from STREET table ID column. After all the existing IDs have been migrated, assign ID #70,001 onwards for the new easement (or what ever # is available sequentially using, street centerline #) ID's.</attrdef>
    <attrdefs>ESRI</attrdefs>
    <attrdomv>
    <udom>Sequential unique whole numbers that are automatically generated.</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>SURVEY_LENGTH</attrlabl>
    <attrdef>Actual length of easement (international foot).This DOES take into account the State Plane Coordinate System.</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>Surveyed segment length</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>ROW_WIDTH</attrlabl>
    <attrdef>Width of right-of-way (international feet)</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>Right-of-way width</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Updated from ROW files</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>FROM_EASEMENT_ID</attrlabl>
    <attrdef>Self-referential key to BAS_EASEMENT table, that contains locational information about the easement that the easement is digitized from. "FROM" is the starting point of digitization</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>IDs of an easement to which FROM side of this easement is connected.</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>FROM_STREET_ID</attrlabl>
    <attrdef>Foreign key to BAS_STREET_SEGMENT table, that contains locational information about street segment that the easement is digitized from. "FROM" is the starting point of digitization</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>IDs of an street segment to which FROM side of this easement is connected.</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>TO_EASEMENT_ID</attrlabl>
    <attrdef>Self-referential key to BAS_EASEMENT table, that contains locational information about the easement that the easement is digitized to. "TO" is the ending point of digitization.</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>IDs of an easement to which TO side of this easement is closely located.</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>TO_STREET_ID</attrlabl>
    <attrdef>Foreign key to BAS_STREET_SEGMENT table, that contains locational information about street segment that the easement is digitized to. "TO" is the ending point of digitization.</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>IDs of an street segment to which TO side of this easement is closely located.</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>OTH_PROCESSING_STATUS_ID</attrlabl>
    <attrdef>ID of the status/result of last run batch job.</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>Migrated from PLAN_1 in MGE tables and GIS_TRACKING.MDB Access Database</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>MUNICIPALITY_NAME</attrlabl>
    <attrdef>Name of municipality in which the easement primarily resides.</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <codesetd>
    <codesetn>MUNICIPALITY_NAME_DOMAIN</codesetn>
    <codesets>Data Model Dictionary</codesets>
    </codesetd>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Updated using Municipal boundary source data.</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>RECORD_DRAWING_FLAG</attrlabl>
    <attrdef>Engineering plan that has been accepted by the City of San Jose (Y or N).</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>USERNAME who last modified this record</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Updated using source data.</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>ACQUISITION_DATE</attrlabl>
    <attrdef>Official date engineering plan accepted by the City of San Jose on this date</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>Date/Time stamp of last record modification</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Updated using source data.</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>GEO_MOD_DATE</attrlabl>
    <attrdef>Time stamp when GEOMETRY column was last modified.</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>Time stamp when GEOMETRY column was last modified.</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Data modified date.</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>GDO_GEOMETRY</attrlabl>
    <attrdef>Contains spatial data with true arc geometry.</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>Oracle Spatial Geometry Data - True Arcs</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>MAN_OVERRIDE</attrlabl>
    <attrdef>This flag is 'N' by default. If this flag is set to 'Y' no unattended batch process will touch it ever again.</attrdef>
    <attrdefs>Data Model Dictionary</attrdefs>
    <attrdomv>
    <udom>Flag set for batch process</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>MESSAGE</attrlabl>
    <attrdef>Message from automated batch process to operator; can be "OK", or error message, or "to be checked", etc.</attrdef>
    <attrdefs>data model dictionary</attrdefs>
    <attrdomv>
    <udom>GDO_GEOMETRY.LEN</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>OTH_PLAN_CREATED</attrlabl>
    <attrdef>PLAN_1 in STREET table should be migrated to BAS_EASEMENT table OTH_PLAN_ID_CREATED column. This value should also be entered into the OTH_PLAN table PLAN_NAME column if not present.</attrdef>
    <attrdefs>Data Dictionary</attrdefs>
    <attrdomv>
    <codesetd>
    <codesetn>OTH_PLAN_DOMAIN</codesetn>
    <codesets>data model dictionary</codesets>
    </codesetd>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>OTH_PLAN_MODIFIED</attrlabl>
    <attrdef>PLAN_2 in STREET table should be migrated to BAS_EASEMENT table OTH_PLAN_ID_MODIFIED column. This value should also be entered into the OTH_PLAN table PLAN_NAME column if not present</attrdef>
    <attrdefs>Data dictionary</attrdefs>
    <attrdomv>
    <codesetd>
    <codesetn>OTH_PLAN_DOMAIN</codesetn>
    <codesets>data model dictionary</codesets>
    </codesetd>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>LINEAGE_ID</attrlabl>
    <attrdef>Artificial Numeric Identifier; Assigned to any graphical object; Unique throughout the system. Shared among tables. This column would also be used by EDL Administrator for lineage.</attrdef>
    <attrdefs>Data dictionary</attrdefs>
    <attrdomv>
    <udom>Artificial Numeric Identifier</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    <attr>
    <attrlabl>GDO_GEOMETRY.LEN</attrlabl>
    <attrdef>Created default</attrdef>
    <attrdefs>Data model</attrdefs>
    <attrdomv>
    <udom>unknown</udom>
    </attrdomv>
    <begdatea>20040512</begdatea>
    <enddatea>20040512</enddatea>
    <attrvai>
    <attrva>100</attrva>
    <attrvae>Unknown</attrvae>
    </attrvai>
    <attrmfrq>As needed</attrmfrq>
    </attr>
    </detailed>
    <overview>
    <eaover>Populated using MRF Tools</eaover>
    <eadetcit>Various sources</eadetcit>
    </overview>
    </eainfo>
    <distinfo>
    <distrib>
    <cntinfo>
    <cntperp>
    <cntper>Earl Harris</cntper>
    <cntorg>City of San Jose</cntorg>
    </cntperp>
    <cntpos>Project Manager</cntpos>
    <cntaddr>
    <addrtype>Actual Address</addrtype>
    <address>801 N 1 ST</address>
    <city>San Jose</city>
    <state>CA</state>
    <postal>90000</postal>
    <country>USA</country>
    </cntaddr>
    <cntvoice>408.277.5626</cntvoice>
    <cnttdd>408.277.5626</cnttdd>
    <cntfax>408.298.8382</cntfax>
    <cntemail>[email protected]</cntemail>
    <hours>9-5</hours>
    <cntinst>None</cntinst>
    </cntinfo>
    </distrib>
    <resdesc>Unknown</resdesc>
    <distliab>Unknown</distliab>
    <stdorder>
    <digform>
    <digtinfo>
    <formname>GM Pro Access</formname>
    <formvern>5.1</formvern>
    <formspec>GM Pro 5.1</formspec>
    <formcont>Easement data</formcont>
    <filedec>no compression applied</filedec>
    <transize>60</transize>
    </digtinfo>
    <digtopt>
    <onlinopt>
    <computer>
    <networka>
    <networkr>FTP</networkr>
    </networka>
    </computer>
    <accinstr>FTP</accinstr>
    <oncomp>FTP server</oncomp>
    </onlinopt>
    <offoptn>
    <offmedia>None</offmedia>
    <reccap>
    <recden>1</recden>
    <recdenu>None</recdenu>
    </reccap>
    <recfmt>None</recfmt>
    <compat>None</compat>
    </offoptn>
    </digtopt>
    </digform>
    <fees>Unknown</fees>
    <ordering>Unknown</ordering>
    <turnarnd>Unknown</turnarnd>
    </stdorder>
    <custom>Unknown</custom>
    <techpreq>Unknown</techpreq>
    <availabl>
    <timeinfo>
    <sngdate>
    <caldate>20040512</caldate>
    <time>09000000</time>
    </sngdate>
    </timeinfo>
    </availabl>
    </distinfo>
    <metainfo>
    <metd>20040512</metd>
    <metrd>20040512</metrd>
    <metfrd>20040519</metfrd>
    <metc>
    <cntinfo>
    <cntperp>
    <cntper>Mahesh P Choudhury</cntper>
    <cntorg>Rolta International Inc</cntorg>
    </cntperp>
    <cntpos>Project Manager</cntpos>
    <cntaddr>
    <addrtype>mailing address</addrtype>
    <address>5865 North Point Parkway</address>
    <city>Alpharetta</city>
    <state>GA</state>
    <postal>30022</postal>
    <country>USA</country>
    </cntaddr>
    <cntvoice>678.942.5015</cntvoice>
    <cnttdd>678.942.5015</cnttdd>
    <cntfax>678.942.5001</cntfax>
    <cntemail>[email protected]</cntemail>
    <hours>8-5</hours>
    <cntinst>None</cntinst>
    </cntinfo>
    </metc>
    <metstdn>FGDC Content Standards for Digital Geospatial Metadata</metstdn>
    <metstdv>FGDC-STD-001-1998</metstdv>
    <mettc>local time</mettc>
    <metac>Unknown</metac>
    <metuc>Unknown</metuc>
    <metsi>
    <metscs>Unknown</metscs>
    <metsc>Confidential</metsc>
    <metshd>Unknown</metshd>
    </metsi>
    <metextns>
    <onlink>http://www.esri.com/metadata/esriprof80.html</onlink>
    <metprof>ESRI Metadata Profile</metprof>
    </metextns>
    </metainfo>
    </metadata>

    I am having error while registering as undefined element for citeinfo, timeinfo and cntinfo as shown below
    Please could you help me solve.
    thanks
    </xs:appinfo>
              </xs:annotation>
    </xs:element>     
    <xs:complexType name="citationType">          
    <xs:sequence>               
    *<xs:element ref="citeinfo"/>*          
    </xs:sequence>     
    </xs:complexType>
    SQL> BEGIN
    2 DBMS_XMLSCHEMA.registerSchema(
    3 SCHEMAURL => 'fgdc-std-001-1998-sect011.xsd',
    4 SCHEMADOC => bfilename('XMLDIR','fgdc-std-001-1998-sect011.xsd'),
    5 CSID => nls_charset_id('UTF8'));
    6 END;
    7 /
    BEGIN
    ERROR at line 1:
    ORA-31154: invalid XML document
    ORA-19202: Error occurred in XML processing
    LSX-00021: undefined element "citeinfo"
    ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 37
    ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 61
    ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 126
    ORA-06512: at line 2
    </xs:appinfo>          
    </xs:annotation>     
    </xs:element>     
    <xs:complexType name="timeperdType">          
    <xs:sequence>               
    *<xs:element ref="timeinfo"/>     *          
    <xs:element ref="current"/>          
    </xs:sequence>     
    </xs:complexType>     
    <xs:element name="current" type="currentType">
    </xs:appinfo>          
    </xs:annotation>     
    </xs:element>     
    <xs:complexType name="ptcontacType">          
    <xs:sequence>               
    *<xs:element ref="cntinfo"/>     *
    </xs:sequence>
         </xs:complexType>     
    <xs:element name="browse" type="browseType">          
    <xs:annotation>

  • How to convert XML file to an internal table ?

    Hi All,
    I want to do a batch input program. The source data would be given as an excel file . I would like to know how to convert XML file to internal table properly. Please help me out..
    Thanking you in advance ..
    Shankara Narayanan T.V

    Hi Shankar,
    use 'ALSM_EXCEL_TO_INTERNAL_TABLE' FM.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
             EXPORTING
                  filename                = p_file1
                  i_begin_col             = '1'
                  i_begin_row             = '5'
                  i_end_col               = '40'
                  i_end_row               = '16'
             TABLES
                  intern                  = it_intern
             EXCEPTIONS
                  inconsistent_parameters = 1
                  upload_ole              = 2
                  OTHERS                  = 3.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    LOOP AT it_intern.
          AT NEW row.
            CLEAR it_intern.
          ENDAT.
            CASE lv_flag.
        Production Version
              WHEN  1.
                it_master-matnr      =   it_intern-value.     
              WHEN  2.
                it_master-werks      = it_intern-value.
              WHEN  3.
                it_master-verid      = it_intern-value.
              WHEN  4.
                it_master-text1      = it_intern-value.
              WHEN  5.
                it_master-fdate     = it_intern-value.
          AT END OF row.
            APPEND it_master.
          ENDAT.
        ENDLOOP.
    -Anu
    Message was edited by:
            Anupama Reddy

  • Convert XML file to sap

    Dear friends
                  For converting XML file to SAP, I used TEXT_CONVERT_XML_TO_SAP function module. In this I have some doubt. Pls clarify this.
    1. I am getting run time error with type h.
    2  I_FIELD_SEPERATOR          = ';'
       I_LINE_HEADER              =
       I_TAB_RAW_DATA             =
       I_FILENAME                 =
       I_TOTALSIZE                =
    for the above parameter what are the value has to passed.
    Thanks.

    Hi,
    Take a look in this code:
    *& Report  z_xit_xml_check
      REPORT  z_xit_xml_check.
      TYPE-POOLS: ixml.
      DATA: BEGIN OF t_cabec OCCURS 0.
              INCLUDE STRUCTURE zmmt2010.
      DATA END OF t_cabec.
      DATA: BEGIN OF t_item OCCURS 0.
              INCLUDE STRUCTURE zmmt2011.
      DATA END OF t_item.
      DATA: BEGIN OF t_itemt OCCURS 0.
              INCLUDE STRUCTURE zmmt2012.
      DATA END OF t_itemt.
      TYPES: BEGIN OF t_xml_line,
              data(256) TYPE x,
            END OF t_xml_line.
      DATA check_item(1).
      DATA check_itemt(1).
      DATA: l_ixml            TYPE REF TO if_ixml,
            l_streamfactory   TYPE REF TO if_ixml_stream_factory,
            l_parser          TYPE REF TO if_ixml_parser,
            l_istream         TYPE REF TO if_ixml_istream,
            l_document        TYPE REF TO if_ixml_document,
            l_node            TYPE REF TO if_ixml_node,
            l_xmldata         TYPE string.
      DATA: l_elem            TYPE REF TO if_ixml_element,
            l_root_node       TYPE REF TO if_ixml_node,
            l_next_node       TYPE REF TO if_ixml_node,
            l_name            TYPE string,
            l_iterator        TYPE REF TO if_ixml_node_iterator.
      DATA: l_xml_table       TYPE TABLE OF t_xml_line,
            l_xml_line        TYPE t_xml_line,
            l_xml_table_size  TYPE i.
      DATA: l_filename        TYPE string.
      PARAMETERS: pa_file TYPE char1024 DEFAULT 'c:\xml.xml'.
      START-OF-SELECTION.
        PERFORM busca_xml.
        PERFORM carrega_tabela.
    *&      Form  get_xml_table
      FORM get_xml_table CHANGING l_xml_table_size TYPE i
                                  l_xml_table      TYPE STANDARD TABLE.
      Local variable declaration
        DATA: l_len      TYPE i,
              l_len2     TYPE i,
              l_tab      TYPE tsfixml,
              l_content  TYPE string,
              l_str1     TYPE string,
              c_conv     TYPE REF TO cl_abap_conv_in_ce,
              l_itab     TYPE TABLE OF string.
        l_filename = pa_file.
      upload a file from the client's workstation
        CALL METHOD cl_gui_frontend_services=>gui_upload
          EXPORTING
            filename   = l_filename
            filetype   = 'BIN'
          IMPORTING
            filelength = l_xml_table_size
          CHANGING
            data_tab   = l_xml_table
          EXCEPTIONS
            OTHERS     = 19.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ENDFORM.                    "get_xml_table
    *&      Form  process_dom
      FORM process_dom USING document TYPE REF TO if_ixml_document.
        DATA: node      TYPE REF TO if_ixml_node,
              iterator  TYPE REF TO if_ixml_node_iterator,
              nodemap   TYPE REF TO if_ixml_named_node_map,
              attr      TYPE REF TO if_ixml_node,
              name      TYPE string,
              prefix    TYPE string,
              value     TYPE string,
              indent    TYPE i,
              count     TYPE i,
              index     TYPE i.
        DATA v_codcat TYPE zmmt2011-codcat.
        DATA v_master_for TYPE zmmt2011-master_for.
        node ?= document.
        CHECK NOT node IS INITIAL.
        IF node IS INITIAL. EXIT. ENDIF.
      create a node iterator
        iterator  = node->create_iterator( ).
      get current node
        node = iterator->get_next( ).
      loop over all nodes
        WHILE NOT node IS INITIAL.
          indent = node->get_height( ) * 2.
          indent = indent + 20.
          CASE node->get_type( ).
            WHEN if_ixml_node=>co_node_element.
            element node
              name    = node->get_name( ).
              TRANSLATE name TO LOWER CASE.
              IF name = 'iten'.
                MOVE 'I' TO check_item.
              ENDIF.
              IF name = 'cabec'.
                MOVE 'C' TO check_item.
              ENDIF.
              IF name = 'iten_texto'.
                MOVE 'T' TO check_item.
              ENDIF.
              nodemap = node->get_attributes( ).
              IF NOT nodemap IS INITIAL.
              attributes
                count = nodemap->get_length( ).
                DO count TIMES.
                  index  = sy-index - 1.
                  attr   = nodemap->get_item( index ).
                  name   = attr->get_name( ).
                  prefix = attr->get_namespace_prefix( ).
                  value  = attr->get_value( ).
                ENDDO.
              ENDIF.
            WHEN if_ixml_node=>co_node_text OR
                 if_ixml_node=>co_node_cdata_section.
            text node
              value  = node->get_value( ).
              IF check_item = 'C'.
                TRANSLATE name TO LOWER CASE.
                CASE name.
                  WHEN 'lifnr'.     MOVE value TO t_cabec-lifnr.
                  WHEN 'codcat'.
                    MOVE value TO t_cabec-codcat.
                    MOVE value TO v_codcat.
                  WHEN 'bukrs'.     MOVE value TO t_cabec-bukrs.
                  WHEN 'zterm'.     MOVE value TO t_cabec-zterm.
                  WHEN 'waers'.     MOVE value TO t_cabec-waers.
                  WHEN 'inco1'.     MOVE value TO t_cabec-inco1.
                  WHEN 'inco2'.     MOVE value TO t_cabec-inco2.
                  WHEN 'telf1'.     MOVE value TO t_cabec-telf1.
                  WHEN 'verkf'.     MOVE value TO t_cabec-verkf.
                  WHEN 'datav'.
                    MOVE value TO t_cabec-datav.
                    APPEND t_cabec.
                ENDCASE.
              ENDIF.
              IF check_item = 'I'.
                TRANSLATE name TO LOWER CASE.
                CASE name.
                  WHEN 'master_for'.
                    MOVE value TO t_item-master_for.
                    MOVE value TO v_master_for.
                  WHEN 'werks'.      MOVE value TO t_item-werks.
                  WHEN 'versao'.     MOVE value TO t_item-versao.
                  WHEN 'matkl'.      MOVE value TO t_item-matkl.
                  WHEN 'j_1bindus3'. MOVE value TO t_item-j_1bindus3.
                  WHEN 'j_1bmatuse'. MOVE value TO t_item-j_1bmatuse.
                  WHEN 'j_1bmatorg'. MOVE value TO t_item-j_1bmatorg.
                  WHEN 'j_1bnbmco1'. MOVE value TO t_item-j_1bnbmco1.
                  WHEN 'bsgru'.      MOVE value TO t_item-bsgru.
                  WHEN 'ekgrp'.      MOVE value TO t_item-ekgrp.
                  WHEN 'txz01'.      MOVE value TO t_item-txz01.
                  WHEN 'epstp'.      MOVE value TO t_item-epstp.
                  WHEN 'netpr'.      MOVE value TO t_item-netpr.
                  WHEN 'peinh'.      MOVE value TO t_item-peinh.
                  WHEN 'meins'.      MOVE value TO t_item-meins.
                  WHEN 'plifz'.      MOVE value TO t_item-plifz.
                  WHEN 'mwskz'.      MOVE value TO t_item-mwskz.
                  WHEN 'steuc'.
                    MOVE value TO t_item-steuc.
                    MOVE v_codcat TO t_item-codcat.
                    APPEND t_item.
                ENDCASE.
              ENDIF.
              IF check_item = 'T'.
                TRANSLATE name TO LOWER CASE.
                CASE name.
                  WHEN 'linha'.     MOVE value TO t_itemt-linha.
                  WHEN 'txlng'.     MOVE value TO t_itemt-txlng.
                    MOVE v_master_for TO t_itemt-master_for.
                    MOVE v_codcat     TO t_itemt-codcat.
                    append t_itemt.
                ENDCASE.
              ENDIF.
          ENDCASE.
        advance to next node
          node = iterator->get_next( ).
        ENDWHILE.
      ENDFORM.                    "process_dom
    *&      Form  Busca_XML
          text
    -->  p1        text
    <--  p2        text
      FORM busca_xml .
        DATA: lc_mess(70) TYPE c,lv_tab.
        TYPES: BEGIN OF ty_zvmsgorgtr.
                INCLUDE STRUCTURE zmmt2011.
        TYPES   END OF ty_zvmsgorgtr.
      Creating the main iXML factory
        l_ixml = cl_ixml=>create( ).
      Creating a stream factory
        l_streamfactory = l_ixml->create_stream_factory( ).
        PERFORM get_xml_table CHANGING l_xml_table_size l_xml_table.
      wrap the table containing the file into a stream
        l_istream = l_streamfactory->create_istream_itable( table =
        l_xml_table size  = l_xml_table_size ).
      Creating a document
        l_document = l_ixml->create_document( ).
      Create a Parser
        l_parser = l_ixml->create_parser( stream_factory = l_streamfactory
                                          istream        = l_istream
                                          document       = l_document ).
      Parse the stream
        IF l_parser->parse( ) NE 0.
          IF l_parser->num_errors( ) NE 0.
            DATA: parseerror TYPE REF TO if_ixml_parse_error,
                  str        TYPE string,
                  i          TYPE i,
                  count      TYPE i,
                  index      TYPE i.
            count = l_parser->num_errors( ).
            WRITE: count, ' parse errors have occured:'.
            index = 0.
            WHILE index < count.
              parseerror = l_parser->get_error( index = index ).
              i = parseerror->get_line( ).
              WRITE: 'line: ', i.
              i = parseerror->get_column( ).
              WRITE: 'column: ', i.
              str = parseerror->get_reason( ).
              WRITE: str.
              index = index + 1.
            ENDWHILE.
          ENDIF.
        ENDIF.
      ENDFORM.                    " Busca_XML
    *&      Form  Carrega_Tabela
          text
    -->  p1        text
    <--  p2        text
      FORM carrega_tabela .
      Process the document
        IF l_parser->is_dom_generating( ) EQ 'X'.
          PERFORM process_dom USING l_document.
        ENDIF.
      ENDFORM.                    " Carrega_Tabela

  • Problem in converting XML to XML file

    Hi,
    I am trying to convert xml file to another xml through command-line interface but failed.
    java oracle.xml.parser.v2.oraxsl data.xml data.xsl data_new.xml
    My xml and xsl files are:
    1. XML file
    <employee_data>
    <employee_row>
    <employee_number>7950</employee_number>
    <employee_name>ABC</employee_name>
    <employee_title>PRESIDENT</employee_title>
    <manager>1111</manager>
    <date_of_hire>20-JAN-93</date_of_hire>
    <salary>65000</salary>
    <commission>1000</commission>
    <department_number>10</department_number>
    </employee_row>
    </employee_data>
    2-1 XSL file
    <?xml version="1.0" ?>
    <xsl:stylesheet xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml"/>
    <xsl:template match="*">
    <xsl:copy>
    <xsl:apply-templates>
    <xsl:sort select=".//employee_name"/>
    </xsl:apply-templates>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>
    2-2 XSL file
    <?xml version = "1.0"?>
    <ROWSET xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:for-each select="employee_data/employee_row">
    <ROW>
    <EMPNO><xsl:value-of select="employee_number"/></EMPNO>
    <ENAME><xsl:value-of select="employee_name"/></ENAME>
    <JOB><xsl:value-of select="employee_title"/></JOB>
    <MGR><xsl:value-of select="manager"/></MGR>
    <HIREDATE><xsl:value-of select="date_of_hire"/></HIREDATE>
    <SAL><xsl:value-of select="salary"/></SAL>
    <COMM><xsl:value-of select="commission"/></COMM>
    <DEPTNO><xsl:value-of select="department_number"/></DEPTNO>
    </ROW>
    </xsl:for-each>
    </ROWSET>
    I used two xsl file to test but received same error message:
    Error occurred while processing data.xsl: Error in expression: '*|/'.
    Does anyone know how to fix the problem? I'll appreciate it very much for your help.
    Thanks.
    Yi

    Hi,
    I have only tried it out with XML Spy, but anyway:
    there seems to be an error in your 2-1 XSl file in line 2:
    the correct stylesheet declaration is:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    You had an empty namespace and a wrong version attribute...
    HTH,
    Bernhard

  • Converting XML as table to XML as string

    All,
    I am successfully able to convert XML table from Internal Table. Now, I would like to convert this XML Table into XML string.
    Any help on this will be appreciated.
    Regards,
    Salil
    Moderator message: please search for available information/documentation before asking.
    Edited by: Thomas Zloch on Dec 7, 2010 11:57 AM

    Howdy,
    CONCATENATE LINES OF lt_table into l_string SEPARATED BY cl_abap_char_utilities=>cr_lf.
    This will create a string of the lines of the internal table with a carriage return after each line.
    Cheers
    Alex

  • How to store and retrieve XML messages in AQ using ESB/ BPE

    Hello,
    I am having a requirement which I feel should be fairly common - store and retrieve XML messages in AQ. However, I am struggling to decide which type of queue to use AQ or JMS...Here is the requirement
    1. In an ESB, I want to read different kind of files using file adapter. Different kind as in, having different structure or schema
    2. I want to create a queue that is capable of storing any kind of xml data. To this queue, I want to enqueue the message read in step 1.
    3. In another process, say a BPEL, I want to dequeue the message and write into a file. The filename is retrieved from one of the header properties. I want to dequeue using a stored procedure, not by using a JMS or AQ Adapter (reason being that these adapters poll the queue, and consume a message immediately. However, I want to consume the message only when there is a business need)
    My questions are:
    1. What kind of queue I should create in the DB (What should be its payload type...XMLType? )... I guess the answer would also determine the adapter to be used - JMS or AQ
    2. How I should map the xml data read from the file in step 1 to this adapter
    Any help is highly appreciated.

    You are right in suggesting that I dont need to store my XML data as xml in the DB...I dont want to too :) but its just that, thats the only option I can see at this time (the other track i am exploring is :
    File adapter(XML) -&gt; Convert to opaque (base64binary) -&gt; Enqueue opaque to JMS (aq$_jms_bytes_message) -&gt;Dequeue Opaque -&gt; Write file opaquely.
    In this I have hit the roadblock in trying to convert XML to base64binary...maybe some custom java function is needed...anyway)
    Coming back to this thread, where I am trying the following
    File adapter(XML)  -&gt; Enqueue as XML to queue  -&gt;Dequeue XML -&gt; Write file opaquely.
    PS: I think its important for me to mention that I am using SOA 10.1.3.1.0
    I tried the steps you gave...after creating the queue, I am trying to create a JMS adapter. But the queue I created doesnt show up in the browse window of destinations for the JMS Adapter..That had led me to infer that JMS adapter cant be used
    {color:#99cc00}CREATE OR REPLACE TYPE batchupdate_row_type AS OBJECT
    (update_queue_id NUMBER
    ,upc VARCHAR2(20)
    ,price1 NUMBER);
    {color}
    {color:#99cc00}CREATE OR REPLACE TYPE batchupdate_rec_type AS VARRAY(9999999) OF batchupdate_row_type;
    CREATE OR REPLACE TYPE payload_type AS OBJECT ( payload batchupdate_rec_type);
    EXECUTE DBMS_AQADM.CREATE_QUEUE_TABLE ( queue_table =&gt; 'jmsuser.batch_update_queue_table', queue_payload_type =&gt; 'payload_type');
    EXECUTE DBMS_AQADM.CREATE_QUEUE ( queue_name =&gt; 'batch_update_queue', queue_table =&gt; 'jmsuser.batch_update_queue_table');
    EXECUTE DBMS_AQADM.START_QUEUE ( queue_name =&gt; 'batch_update_queue'); {color}
    I also needed some opinion on whether the last step of my proposed solution ( Dequeue XML -&gt; Write file opaquely) is possible. As I want to develop a service oblivious of the structure of the file, I dont want to create a file adapter based on a particular xsd...so I want to write whatever xml I am getting from the queue....is this step possible

  • RE: Validating XML message...

    Actually I stand corrected. XML Spy does seem to provide an OLE API to XML
    validation ( the isValid method on the IDocument class ) although I haven't
    tested it yet.
    In my previous post I was thinking of another XML product I tested earlier
    in the week which did not.
    -----Original Message-----
    From: Shaughnessy, Kevin
    Sent: Friday, April 20, 2001 08:59
    To: 'Rumen Georgiev'
    Cc: [email protected]
    Subject: RE: Validating XML message...
    Rumen,
    One idea that is possible is to use an OLE interface to a 3rd party XML
    product. This assumes your logic which needs to validate is running on a
    Windows box. But if so, it may work. Many products have type libraries which
    can be run through OLEGen to create Forte classes. Then you can use TOOL to
    talk OLE to that product.
    For example, XML Spy 3.5 has a type library from which I created a Forte
    project. Unfortunately this product didn't offer any extra features than
    Forte's XMLParser ( i.e. the API didn't allow me to validate the XML ) so I
    am back to using Forte's parser until I can test another product. If you
    find one that does what you want let me know.
    I've used OLE a lot with Forte to get functionality from other products (
    VISIO, MS Office ) that Forte doesn't provide and it works well. Its a
    platform dependent solution but one that may work for you.
    Kevin
    -----Original Message-----
    From: Rumen Georgiev [mailto:[email protected]]
    Sent: Friday, April 20, 2001 07:21
    To: [email protected]
    Cc: [email protected]
    Subject: RE: Validating XML message...
    Hi Kevin,
    From the answers I've got it seems Forte parser is anon-validating one. So we have to look for an external
    tool to validate these messages. What I am concerned
    about is the integration with Forte.
    Thanks for your help!
    Rumen
    Rumen,
    From Tech Note 11811:
    "ParserFactory.makeParser() will return a default,
    non-validating XML parser."
    My experience is that Forte's default XML parser will
    not validate but will throw an exception if the XML
    document is not well formed. I'm using the DOM
    model and this exception happens on the
    Document.importDocument( ) method.
    If you want anything more than that you'll have to do
    it externally.
    Kevin-----Original Message-----
    From: Rumen Georgiev [mailto:[email protected]]
    Sent: Thursday, April 19, 2001 11:49 AM
    To: [email protected]
    Subject: Validating XML message...
    We have to validate inbound XML messages before
    processing them. The guys on the other side are
    following XMLSchema recommendations to create their
    messages using xsd file for validation. We plan to
    use XMLParser Forte library and as far as I know it
    validates against dtd file (haven't tried yet). If
    this is true we have two options:
    1. Find a program to convert xsd into dtd file and
    use Forte XMLParser for validation.
    2. Validate the message beforehand with an external
    tool. That means integration between Forte and this
    tool.
    I would appreciate any help with either approach. Do
    you know of a program doing xsd into dtd? Have you
    used any existing tool on the market to validate
    using XMLSchema? Or may be there is another solution
    to
    this?
    Thank you in advance,
    Rumen
    =====
    Rumen Georgiev
    Forte Developer
    EXE Technologies
    (610) 872-4400 Ext.222
    Do You Yahoo!?
    Yahoo! Auctions - buy the things you want at great prices
    http://auctions.yahoo.com/

    Hi,
    there is some change in the XMLSPy4.3/XMLType Library 1.2 :
    Validation
    One common task on documents is to validate them against an assigned schema or DTD. If the XML file has no schema or DTD already assigned, use "Document.AssignSchema" or "Document.AssignDTD" to add the necessary references to the document.
    Examples:
    objSpy.ActiveDocument.AssignSchema "C:\mySchema.xsd", False
    or
    objSpy.ActiveDocument.AssignDTD "C:\myDTD.dtd", False
    If you want the user to select a schema or DTD, pass True as the second parameter to these functions to display a file-dialog. These methods only put the reference into the document and do not check the existence of the specified file. If the file path is not valid, the validation will fail.
    After you have assigned a valid schema or DTD reference to your file, you are able to validate it with "Document.IsValid". IsValid needs some out-parameters that must be declared as VARIANTs to be accessible from script languages like VBScript and JavaScript.

Maybe you are looking for

  • J2EE 1.4 beta SDK install problem on Linux RH 7.2 ?

    Hello everybody Thank for your reading I have installed J2EE SDK 1.4 beta on Linux RH 7.2, my installed J2SE is 1.4.0_01, but the J2EE installer reported that: Exception in the "main" thread: java.lang.io.NoDefClassFound: J2EE. I had defined JAVA_HOM

  • This is in response to: My old computer died. How do I add new songs to my iPhone using a "new" library?

    It won't let me reply to you for some reason. 1. Go into Itunes. Go to preferences. Go to advanced. Check 'Keep Itunes media folder organized' and 'Copy folders to itunes media folder when adding libraries'. Press Okay. 2.Hook up Iphone to computer w

  • Use of enhancement AMPL0001

    hello enhancement AMPL0001 is being used among others for Approved manufacturer part list and in PO in MM. does anyone know if I can use it to check if a MN (manufacturer plant) partner is blocked in the partner part of a PO? thanks Alisa

  • Singleton JCA DB Adapter in OSB

    Hi, I am planning to use the JCA DB Adapter for polling insert/update events in a database in OSB 11g. Basically I am creating the jca adapter in JDeveloper, then generate the proxy service from OEP Eclipse and import the project into OSB. The Proxy

  • Asset not closed on year 2008 problem

    asset is not closed for year 2008, but GL closed for year 2008, we want to reduce useful life of asset A, system doesn't allow, should we close asset for year 2008 first, then set depreciation start day to be Nov.1.2009 after we reduce useful life of