<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: XML data into sap in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601877#M270220</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try this method&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cl_gui_frontend_services=&amp;gt;gui_upload   to upload in XML format &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you are looking to upload DMEE XML format &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Vivek &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please reward for all the useful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 19 Sep 2006 10:36:16 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-09-19T10:36:16Z</dc:date>
    <item>
      <title>XML data into sap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601875#M270218</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt; How to upload a XML file into sap?&lt;/P&gt;&lt;P&gt;is there any function module?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can anybody give me an example program for converting or uploading XML data into sap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;vinoth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Sep 2006 10:27:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601875#M270218</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-19T10:27:03Z</dc:date>
    </item>
    <item>
      <title>Re: XML data into sap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601876#M270219</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;See the below link for program which is uploading the XML file in to SAP, this will work in 4.6C&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/rmtiwari/main.html?http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/Codes/Report/Z_RMTIWARI_XML_TO_ABAP_46C.html" target="test_blank"&gt;http://www.geocities.com/rmtiwari/main.html?http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/Codes/Report/Z_RMTIWARI_XML_TO_ABAP_46C.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use this XML file for the above program:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/rmtiwari/main.html?http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/UtilityCode.html" target="test_blank"&gt;http://www.geocities.com/rmtiwari/main.html?http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/UtilityCode.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See the below link for one more program&lt;/P&gt;&lt;P&gt;&lt;A href="http://wiki.ittoolbox.com/index.php/Code:Download_and_upload_OO_ABAP_class_in_XML_format" target="test_blank"&gt;http://wiki.ittoolbox.com/index.php/Code:Download_and_upload_OO_ABAP_class_in_XML_format&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Sep 2006 10:29:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601876#M270219</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-19T10:29:05Z</dc:date>
    </item>
    <item>
      <title>Re: XML data into sap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601877#M270220</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;try this method&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cl_gui_frontend_services=&amp;gt;gui_upload   to upload in XML format &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you are looking to upload DMEE XML format &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Vivek &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please reward for all the useful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Sep 2006 10:36:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601877#M270220</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-19T10:36:16Z</dc:date>
    </item>
    <item>
      <title>Re: XML data into sap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601878#M270221</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;refer the following//&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="147314"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="96971"&gt;&lt;/A&gt; /people/r.eijpe/blog/2005/11/10/xml-dom-processing-in-abap-part-i--convert-an-abap-table-into-xml-file-using-sap-dom-approach &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;anver&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if hlped mark points&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Sep 2006 10:47:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601878#M270221</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2006-09-19T10:47:34Z</dc:date>
    </item>
    <item>
      <title>Re: XML data into sap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601879#M270222</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The XML code and XML file given is running fine for me, but when i am using it, my XML file and code, the tables GV_header and GT_item are filling in the perform but outside perform it's empty.  Please find the code and XML file , PLease give the answer its urgent, points will be given for sure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My function module code is:-&lt;/P&gt;&lt;P&gt;FUNCTION Z_MMI_XML_EXTRACT_COPY.&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:&lt;/P&gt;&lt;P&gt;*"       IMPORTING&lt;/P&gt;&lt;P&gt;*"             REFERENCE(DOCTYPE) LIKE  DRAW-DOKAR&lt;/P&gt;&lt;P&gt;*"             REFERENCE(DOCNUM) LIKE  DRAW-DOKNR&lt;/P&gt;&lt;P&gt;*"             REFERENCE(DOCVER) LIKE  DRAW-DOKVR&lt;/P&gt;&lt;P&gt;*"             REFERENCE(DOCPART) LIKE  DRAW-DOKTL&lt;/P&gt;&lt;P&gt;*"       TABLES&lt;/P&gt;&lt;P&gt;*"              T_HEADER STRUCTURE  ZFI_HEADER&lt;/P&gt;&lt;P&gt;*"              T_ITEMS STRUCTURE  ZFI_ITEMS&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Load iXML Lib.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;type-pools: ixml.&lt;/P&gt;&lt;P&gt;class cl_ixml definition load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: G_IXML type ref to if_ixml.&lt;/P&gt;&lt;P&gt;data: STREAMFACTORY type ref to if_ixml_stream_factory.&lt;/P&gt;&lt;P&gt;data: ISTREAM type ref to if_ixml_istream.&lt;/P&gt;&lt;P&gt;data: DOCUMENT type ref to if_ixml_document.&lt;/P&gt;&lt;P&gt;data: PARSER type ref to if_ixml_parser.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;You should provide the parameter for file name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*LV_FILE_URL = 'C:input_xml.xml'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: begin of XML_LINE,&lt;/P&gt;&lt;P&gt;        DATA(256) type x,&lt;/P&gt;&lt;P&gt;      end of XML_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***types: begin of TY_HEADER,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        CUST_NAME(20)     type c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        CARD_NO(20)       type c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        TAX_AMOUNT(10)    type c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        TOTAL_AMOUNT(10)  type c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;      end of TY_HEADER.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;***types: begin of TY_ITEM,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        ITEM_NO(4)      type n,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        ITEM_ID(20)     type c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        ITEM_TITLE(50)  type c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        ITEM_QTY(10)    type c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;        ITEM_UPRICE(10) type c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;      end of TY_ITEM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data: GV_HEADER type TY_HEADER.&lt;/P&gt;&lt;P&gt;*data: GV_HEADER like zfi_header occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : GV_HEADER LIKE ZFI_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data: GT_ITEM   type standard table of TY_ITEM   with header line.&lt;/P&gt;&lt;P&gt;*data: GT_ITEM type standard table of zfi_items with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: GT_ITEM type standard table of zfi_items with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: XML_TABLE      type table of XML_LINE,&lt;/P&gt;&lt;P&gt;      XML_TABLE_SIZE type i.&lt;/P&gt;&lt;P&gt;data: LV_FILE_URL type rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;  a(100) TYPE c,&lt;/P&gt;&lt;P&gt;  END OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: xml_out TYPE string .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : BEGIN OF upl OCCURS 0,&lt;/P&gt;&lt;P&gt;  f(255) TYPE c,&lt;/P&gt;&lt;P&gt;  END OF upl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: xmlupl TYPE string .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : BEGIN OF wa_draw OCCURS 0,&lt;/P&gt;&lt;P&gt;         dokar LIKE draw-dokar,&lt;/P&gt;&lt;P&gt;         doknr LIKE draw-doknr,&lt;/P&gt;&lt;P&gt;         dokvr LIKE draw-dokvr,&lt;/P&gt;&lt;P&gt;         doktl LIKE draw-doktl,&lt;/P&gt;&lt;P&gt;         END OF wa_draw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : g_documenttype LIKE bapi_doc_aux-doctype,&lt;/P&gt;&lt;P&gt;         g_documentnumber LIKE bapi_doc_aux-docnumber,&lt;/P&gt;&lt;P&gt;         g_documentpart LIKE bapi_doc_aux-docpart,&lt;/P&gt;&lt;P&gt;         g_documentversion LIKE bapi_doc_aux-docversion.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*" Itab required in IMPORTING parameter of BAPI&lt;/P&gt;&lt;P&gt;  DATA : t_documentfile LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : t_documentstructure LIKE bapi_doc_structure OCCURS 0 WITH HEADER&lt;/P&gt;&lt;P&gt;LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab required in TABLES parameters of BAPI&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       t_documentfiles LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       t_components LIKE bapi_doc_comp OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       t_return LIKE bapiret2.&lt;/P&gt;&lt;P&gt;  DATA : l_docfile TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;FILL THE TYPE OF ATTACHMENT in IMPORTING itab&lt;/STRONG&gt;**&lt;/P&gt;&lt;P&gt;  t_documentfile-wsapplication = 'XML'.&lt;/P&gt;&lt;P&gt;  APPEND t_documentfile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_draw-dokar = DOCTYPE.&lt;/P&gt;&lt;P&gt;  wa_draw-doknr = DOCNUM.&lt;/P&gt;&lt;P&gt;  wa_draw-doktl = DOCPART.&lt;/P&gt;&lt;P&gt;  wa_draw-dokvr = DOCVER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_DOCUMENT_CHECKOUTVIEW2'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      documenttype              = wa_draw-dokar&lt;/P&gt;&lt;P&gt;      documentnumber            = wa_draw-doknr&lt;/P&gt;&lt;P&gt;      documentpart              = wa_draw-doktl&lt;/P&gt;&lt;P&gt;      documentversion           = wa_draw-dokvr&lt;/P&gt;&lt;P&gt;      documentfile              = t_documentfile "IMPORTING itab of BAPI&lt;/P&gt;&lt;P&gt;     getstructure              = '1'&lt;/P&gt;&lt;P&gt;     getcomponents             = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ORIGINALPATH              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  HOSTNAME                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     getheader                 = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOCBOMCHANGENUMBER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOCBOMVALIDFROM           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOCBOMREVISIONLEVEL       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     return                    = t_return&lt;/P&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;P&gt;     documentstructure         = t_documentstructure&lt;/P&gt;&lt;P&gt;     documentfiles             = t_documentfiles "TABLES itab of BAPI&lt;/P&gt;&lt;P&gt;     components                = t_components&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_documentfiles .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_docfile = t_documentfiles-docfile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The next step is creating the main factory for the iXML library:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;G_IXML = cl_ixml=&amp;gt;create( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Now Create Stream Factory&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;STREAMFACTORY = G_IXML-&amp;gt;create_stream_factory( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;*filename = 'C:DMS_SPA.XML'&lt;/P&gt;&lt;P&gt;  filename = l_docfile&lt;/P&gt;&lt;P&gt;  filetype = 'BIN'&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;   FILELENGTH = XML_TABLE_SIZE&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;  data_tab = XML_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ISTREAM = STREAMFACTORY-&amp;gt;create_istream_itable( table = XML_TABLE&lt;/P&gt;&lt;P&gt;                                                size  = XML_TABLE_SIZE )&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create XML Document instance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DOCUMENT = G_IXML-&amp;gt;create_document( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create parser Object&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARSER = G_IXML-&amp;gt;create_parser( stream_factory = STREAMFACTORY&lt;/P&gt;&lt;P&gt;                                ISTREAM = istream&lt;/P&gt;&lt;P&gt;                                DOCUMENT = document ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parse an XML document into a DOM tree&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*parser-&amp;gt;parse( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parsing Error Processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if PARSER-&amp;gt;parse( ) ne 0.&lt;/P&gt;&lt;P&gt;  if PARSER-&amp;gt;num_errors( ) ne 0.&lt;/P&gt;&lt;P&gt;    data: PARSEERROR type ref to if_ixml_parse_error,&lt;/P&gt;&lt;P&gt;          STR        type STRING,&lt;/P&gt;&lt;P&gt;          I          type i,&lt;/P&gt;&lt;P&gt;          COUNT      type I,&lt;/P&gt;&lt;P&gt;          INDEX      type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    COUNT = PARSER-&amp;gt;num_errors( ).&lt;/P&gt;&lt;P&gt;    write: COUNT, ' parse errors have occured:'.&lt;/P&gt;&lt;P&gt;    INDEX = 0.&lt;/P&gt;&lt;P&gt;    while INDEX &amp;lt; COUNT.&lt;/P&gt;&lt;P&gt;      PARSEERROR = PARSER-&amp;gt;get_error( INDEX = index ).&lt;/P&gt;&lt;P&gt;      I = PARSEERROR-&amp;gt;get_line( ).&lt;/P&gt;&lt;P&gt;      write: 'line: ', i.&lt;/P&gt;&lt;P&gt;      I = PARSEERROR-&amp;gt;get_column( ).&lt;/P&gt;&lt;P&gt;      write: 'column: ', i.&lt;/P&gt;&lt;P&gt;      STR = PARSEERROR-&amp;gt;get_reason( ).&lt;/P&gt;&lt;P&gt;      write: STR.&lt;/P&gt;&lt;P&gt;      INDEX = index + 1.&lt;/P&gt;&lt;P&gt;    endwhile.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Close the stream since it ï¿½s not needed anymore&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call method ISTREAM-&amp;gt;close( ).&lt;/P&gt;&lt;P&gt;clear ISTREAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : GV_NODE type ref to if_ixml_node.&lt;/P&gt;&lt;P&gt;DATA : GV_NODETEXT type STRING.&lt;/P&gt;&lt;P&gt;data:  GV_FIRST_TIME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GV_FIRST_TIME = 'X'.&lt;/P&gt;&lt;P&gt;GV_NODE = DOCUMENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*GT_ITEM-item_no = 1.&lt;/P&gt;&lt;P&gt;GT_ITEM-itemno_acc = 1.&lt;/P&gt;&lt;P&gt;perform GET_DATA tables     GT_ITEM&lt;/P&gt;&lt;P&gt;                 using      GV_NODE&lt;/P&gt;&lt;P&gt;                 changing   GV_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Last item is still not added.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append GT_ITEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND GV_HEADER.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*T_HEADER[] = gv_header[].&lt;/P&gt;&lt;P&gt;t_items[] = gt_item[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**write  : GV_HEADER-cust_name,&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        GV_HEADER-card_no,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        GV_HEADER-tax_amount,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        GV_HEADER-total_amount.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;**loop at GT_ITEM.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; write  /:.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; write  : GT_ITEM-item_no,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          GT_ITEM-item_id,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          GT_ITEM-item_title,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          GT_ITEM-item_qty,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          GT_ITEM-item_uprice.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFUNCTION.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM Get_data                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***form get_data tables   YT_ITEM    structure gt_ITEM&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;             using value(x_node) type ref to if_ixml_node&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;             changing Y_HEADER   type TY_HEADER.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;form get_data1 tables   YT_ITEM    structure zfi_items&lt;/P&gt;&lt;P&gt;              using value(x_node) type ref to if_ixml_node&lt;/P&gt;&lt;P&gt;              changing Y_HEADER   type zfi_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***form get_data tables   YT_ITEM    structure GT_ITEM&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;             using value(x_node) type ref to if_ixml_node&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;             changing Y_HEADER   type TY_HEADER.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: INDENT      type i.&lt;/P&gt;&lt;P&gt;  data: PTEXT       type ref to if_ixml_text.&lt;/P&gt;&lt;P&gt;  data: STRING      type string.&lt;/P&gt;&lt;P&gt;  data: TEMP_STRING(100).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case X_NODE-&amp;gt;get_type( ).&lt;/P&gt;&lt;P&gt;    when if_ixml_node=&amp;gt;co_node_element.&lt;/P&gt;&lt;P&gt;      STRING = X_NODE-&amp;gt;get_name( ).&lt;/P&gt;&lt;P&gt;      GV_NODETEXT = STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    when if_ixml_node=&amp;gt;co_node_text.&lt;/P&gt;&lt;P&gt;      PTEXT ?= X_NODE-&amp;gt;query_interface( IXML_IID_TEXT ).&lt;/P&gt;&lt;P&gt;      if PTEXT-&amp;gt;ws_only( ) is initial.&lt;/P&gt;&lt;P&gt;        STRING = X_NODE-&amp;gt;get_value( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        case GV_NODETEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         when 'Customer'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            when 'HEADER'.&lt;/P&gt;&lt;P&gt;            clear GV_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         when 'Name'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           when 'INVOICE_IND'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           move STRING to GV_HEADER-cust_name.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            move STRING to GV_HEADER-INVOICE_IND.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'CompanyCode'.&lt;/P&gt;&lt;P&gt;            move STRING to GV_HEADER-CompanyCode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'OBJ_TYPE'.&lt;/P&gt;&lt;P&gt;            move STRING to GV_HEADER-OBJ_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'username'.&lt;/P&gt;&lt;P&gt;            move STRING to GV_HEADER-username.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'PO_reference'.&lt;/P&gt;&lt;P&gt;            move STRING to GV_HEADER-PO_reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'Invoice_Date'.&lt;/P&gt;&lt;P&gt;            move STRING to GV_HEADER-Invoice_Date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'Posting_Date'.&lt;/P&gt;&lt;P&gt;            move STRING to GV_HEADER-Posting_Date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'Amount'.&lt;/P&gt;&lt;P&gt;            move STRING to GV_HEADER-Amount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'Currency'.&lt;/P&gt;&lt;P&gt;            move STRING to GV_HEADER-Currency.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*APPEND GV_HEADER.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Iteam details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'invoice_doc_item'.&lt;/P&gt;&lt;P&gt;            move STRING to GT_ITEM-ITEMNO_ACC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'currency'.&lt;/P&gt;&lt;P&gt;            move STRING to TEMP_STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            move TEMP_STRING to GT_ITEM-CURRENCY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'Quantity'.&lt;/P&gt;&lt;P&gt;            move STRING to GT_ITEM-Quantity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          when 'UoM'.&lt;/P&gt;&lt;P&gt;            move STRING to GT_ITEM-UoM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endcase.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if GV_NODETEXT = 'Header'.&lt;/P&gt;&lt;P&gt;    clear GV_HEADER.&lt;/P&gt;&lt;P&gt;  elseif GV_NODETEXT = 'Item'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if GV_FIRST_TIME ne 'X'.&lt;/P&gt;&lt;P&gt;       append GT_ITEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear : gt_item.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       GT_ITEM-ITEMNO_ACC = gt_item-itemno_acc + 1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    GV_FIRST_TIME = ' '.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the next child&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  X_NODE = x_node-&amp;gt;get_first_child( ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Recurse&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  while not X_NODE is initial.&lt;/P&gt;&lt;P&gt;    perform GET_DATA tables     GT_ITEM&lt;/P&gt;&lt;P&gt;                     using      X_NODE&lt;/P&gt;&lt;P&gt;                     changing   GV_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    X_NODE = x_node-&amp;gt;get_next( ).&lt;/P&gt;&lt;P&gt;  endwhile.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the XML file is:-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx in advance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Apr 2007 06:23:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601879#M270222</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-19T06:23:55Z</dc:date>
    </item>
    <item>
      <title>Re: XML data into sap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601880#M270223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vinoth,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've commented several lines. Here is an example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report z_xit_xml_check&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report z_xit_xml_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class cl_ixml definition load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: ixml.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: begin of t_xml_line,&lt;/P&gt;&lt;P&gt;data(256) type x,&lt;/P&gt;&lt;P&gt;end of t_xml_line,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;begin of tsfixml,&lt;/P&gt;&lt;P&gt;data(1024) type c,&lt;/P&gt;&lt;P&gt;end of tsfixml.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_ixml type ref to if_ixml,&lt;/P&gt;&lt;P&gt;l_streamfactory type ref to if_ixml_stream_factory,&lt;/P&gt;&lt;P&gt;l_parser type ref to if_ixml_parser,&lt;/P&gt;&lt;P&gt;l_istream type ref to if_ixml_istream,&lt;/P&gt;&lt;P&gt;l_document type ref to if_ixml_document,&lt;/P&gt;&lt;P&gt;l_node type ref to if_ixml_node,&lt;/P&gt;&lt;P&gt;l_xmldata type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_elem type ref to if_ixml_element,&lt;/P&gt;&lt;P&gt;l_root_node type ref to if_ixml_node,&lt;/P&gt;&lt;P&gt;l_next_node type ref to if_ixml_node,&lt;/P&gt;&lt;P&gt;l_name type string,&lt;/P&gt;&lt;P&gt;l_iterator type ref to if_ixml_node_iterator.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_xml_table type table of t_xml_line,&lt;/P&gt;&lt;P&gt;l_xml_line type t_xml_line,&lt;/P&gt;&lt;P&gt;l_xml_table_size type i.&lt;/P&gt;&lt;P&gt;data: l_filename type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: pa_file type char1024 default&lt;/P&gt;&lt;P&gt;'d:\joao\desenvolvimentos\fi\fact\teste.xml'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of XML file: Only DTD included in xml document is supported&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;parameters: pa_val type char1 as checkbox.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating the main iXML factory&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_ixml = cl_ixml=&amp;gt;create( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating a stream factory&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_streamfactory = l_ixml-&amp;gt;create_stream_factory( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform get_xml_table changing l_xml_table_size l_xml_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;wrap the table containing the file into a stream&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_istream = l_streamfactory-&amp;gt;create_istream_itable( table =&lt;/P&gt;&lt;P&gt;l_xml_table&lt;/P&gt;&lt;P&gt;size =&lt;/P&gt;&lt;P&gt;l_xml_table_size ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating a document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_document = l_ixml-&amp;gt;create_document( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create a Parser&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_parser = l_ixml-&amp;gt;create_parser( stream_factory = l_streamfactory&lt;/P&gt;&lt;P&gt;istream = l_istream&lt;/P&gt;&lt;P&gt;document = l_document ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate a document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if pa_val eq 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_parser-&amp;gt;set_validating( mode = if_ixml_parser=&amp;gt;co_validate ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parse the stream&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if l_parser-&amp;gt;parse( ) ne 0.&lt;/P&gt;&lt;P&gt;if l_parser-&amp;gt;num_errors( ) ne 0.&lt;/P&gt;&lt;P&gt;data: parseerror type ref to if_ixml_parse_error,&lt;/P&gt;&lt;P&gt;str type string,&lt;/P&gt;&lt;P&gt;i type i,&lt;/P&gt;&lt;P&gt;count type i,&lt;/P&gt;&lt;P&gt;index type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;count = l_parser-&amp;gt;num_errors( ).&lt;/P&gt;&lt;P&gt;write: count, ' parse errors have occured:'.&lt;/P&gt;&lt;P&gt;index = 0.&lt;/P&gt;&lt;P&gt;while index &amp;lt; count.&lt;/P&gt;&lt;P&gt;parseerror = l_parser-&amp;gt;get_error( index = index ).&lt;/P&gt;&lt;P&gt;i = parseerror-&amp;gt;get_line( ).&lt;/P&gt;&lt;P&gt;write: 'line: ', i.&lt;/P&gt;&lt;P&gt;i = parseerror-&amp;gt;get_column( ).&lt;/P&gt;&lt;P&gt;write: 'column: ', i.&lt;/P&gt;&lt;P&gt;str = parseerror-&amp;gt;get_reason( ).&lt;/P&gt;&lt;P&gt;write: str.&lt;/P&gt;&lt;P&gt;index = index + 1.&lt;/P&gt;&lt;P&gt;endwhile.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Process the document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if l_parser-&amp;gt;is_dom_generating( ) eq 'X'.&lt;/P&gt;&lt;P&gt;perform process_dom using l_document.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form get_xml_table&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_xml_table changing l_xml_table_size type i&lt;/P&gt;&lt;P&gt;l_xml_table type standard table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variable declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: l_len type i,&lt;/P&gt;&lt;P&gt;l_len2 type i,&lt;/P&gt;&lt;P&gt;l_tab type tsfixml,&lt;/P&gt;&lt;P&gt;l_content type string,&lt;/P&gt;&lt;P&gt;l_str1 type string,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;c_conv TYPE REF TO cl_abap_conv_in_ce,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_itab type table of string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_filename = pa_file.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;upload a file from the client's workstation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call method cl_gui_frontend_services=&amp;gt;gui_upload&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;filename = l_filename&lt;/P&gt;&lt;P&gt;filetype = 'BIN'&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;filelength = l_xml_table_size&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;data_tab = l_xml_table&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 19.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message id sy-msgid type sy-msgty number sy-msgno&lt;/P&gt;&lt;P&gt;with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing the XML document to the screen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR l_str1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOOP AT l_xml_table INTO l_xml_line.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;c_conv = cl_abap_conv_in_ce=&amp;gt;create( input = l_xml_line-data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*replacement = space ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;c_conv-&amp;gt;read( IMPORTING data = l_content len = l_len ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONCATENATE l_str1 l_content INTO l_str1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_str1 = l_str1+0(l_xml_table_size).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SPLIT l_str1 AT cl_abap_char_utilities=&amp;gt;cr_lf INTO TABLE l_itab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE: /.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE: /' XML File'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE: /.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOOP AT l_itab INTO l_str1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=&amp;gt;horizontal_tab&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_str1 WITH space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE: / l_str1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WRITE: /.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform. "get_xml_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form process_dom&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form process_dom using document type ref to if_ixml_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: node type ref to if_ixml_node,&lt;/P&gt;&lt;P&gt;iterator type ref to if_ixml_node_iterator,&lt;/P&gt;&lt;P&gt;nodemap type ref to if_ixml_named_node_map,&lt;/P&gt;&lt;P&gt;attr type ref to if_ixml_node,&lt;/P&gt;&lt;P&gt;name type string,&lt;/P&gt;&lt;P&gt;prefix type string,&lt;/P&gt;&lt;P&gt;value type string,&lt;/P&gt;&lt;P&gt;indent type i,&lt;/P&gt;&lt;P&gt;count type i,&lt;/P&gt;&lt;P&gt;index type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: name2 type string,&lt;/P&gt;&lt;P&gt;name_root type string,&lt;/P&gt;&lt;P&gt;node_parent type ref to if_ixml_node,&lt;/P&gt;&lt;P&gt;node_root type ref to if_ixml_node,&lt;/P&gt;&lt;P&gt;num_children type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;node ?= document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check not node is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uline.&lt;/P&gt;&lt;P&gt;write: /.&lt;/P&gt;&lt;P&gt;write: /' DOM-TREE'.&lt;/P&gt;&lt;P&gt;write: /.&lt;/P&gt;&lt;P&gt;if node is initial. exit. endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a node iterator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;iterator = node-&amp;gt;create_iterator( ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get current node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;node = iterator-&amp;gt;get_next( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;loop over all nodes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;while not node is initial.&lt;/P&gt;&lt;P&gt;indent = node-&amp;gt;get_height( ) * 2.&lt;/P&gt;&lt;P&gt;indent = indent + 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;num_children = node-&amp;gt;num_children( ).&lt;/P&gt;&lt;P&gt;case node-&amp;gt;get_type( ).&lt;/P&gt;&lt;P&gt;when if_ixml_node=&amp;gt;co_node_element.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;element node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;name = node-&amp;gt;get_name( ).&lt;/P&gt;&lt;P&gt;nodemap = node-&amp;gt;get_attributes( ).&lt;/P&gt;&lt;P&gt;node_root = node-&amp;gt;get_root( ).&lt;/P&gt;&lt;P&gt;name_root = node_root-&amp;gt;get_name( ).&lt;/P&gt;&lt;P&gt;write: / 'ELEMENT :'.&lt;/P&gt;&lt;P&gt;write: at indent name color col_positive inverse.&lt;/P&gt;&lt;P&gt;write: 'NUM_CHILDREN:', num_children.&lt;/P&gt;&lt;P&gt;write: 'ROOT:', name_root.&lt;/P&gt;&lt;P&gt;node_parent = node-&amp;gt;get_parent( ).&lt;/P&gt;&lt;P&gt;name2 = node_parent-&amp;gt;get_name( ).&lt;/P&gt;&lt;P&gt;write: 'NAME2: ' , name2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not nodemap is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;count = nodemap-&amp;gt;get_length( ).&lt;/P&gt;&lt;P&gt;do count times.&lt;/P&gt;&lt;P&gt;index = sy-index - 1.&lt;/P&gt;&lt;P&gt;attr = nodemap-&amp;gt;get_item( index ).&lt;/P&gt;&lt;P&gt;name = attr-&amp;gt;get_name( ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;prefix = attr-&amp;gt;get_namespace_prefix( ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;value = attr-&amp;gt;get_value( ).&lt;/P&gt;&lt;P&gt;write: / 'ATTRIBUTE:'.&lt;/P&gt;&lt;P&gt;write: at indent name color col_heading inverse, '=',&lt;/P&gt;&lt;P&gt;value color col_total inverse.&lt;/P&gt;&lt;P&gt;enddo.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;when if_ixml_node=&amp;gt;co_node_text or&lt;/P&gt;&lt;P&gt;if_ixml_node=&amp;gt;co_node_cdata_section.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;value = node-&amp;gt;get_value( ).&lt;/P&gt;&lt;P&gt;write: / 'VALUE :'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;mjprocha&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;node_parent = node-&amp;gt;get_parent( ).&lt;/P&gt;&lt;P&gt;write: at indent value color col_group inverse.&lt;/P&gt;&lt;P&gt;name2 = node_parent-&amp;gt;get_name( ).&lt;/P&gt;&lt;P&gt;write: 'NAME2: ' , name2.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;advance to next node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;node = iterator-&amp;gt;get_next( ).&lt;/P&gt;&lt;P&gt;endwhile.&lt;/P&gt;&lt;P&gt;endform. "process_dom&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this resolves your query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all the helpful answers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Apr 2007 06:34:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-data-into-sap/m-p/1601880#M270223</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-19T06:34:49Z</dc:date>
    </item>
  </channel>
</rss>

