<?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: Read XML file from presentation server in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-xml-file-from-presentation-server/m-p/6385655#M1403852</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Swarup,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use method &lt;STRONG&gt;IMPORT_FROM_FILE&lt;/STRONG&gt; of class &lt;STRONG&gt;CL_XML_DOCUMENT&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A sample code snippet :-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PARAMETERS: p_filnam TYPE localfile OBLIGATORY

DEFAULT 'C:\Documents and Settings\ssaha\Desktop\test.xml'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_filnam.

DATA: l_v_fieldname TYPE dynfnam.

l_v_fieldname = p_filnam.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

field_name = l_v_fieldname

IMPORTING

file_name = p_filnam.

START-OF-SELECTION.

TYPES:

BEGIN OF ty_tab,

name TYPE string,

value TYPE string,

END OF ty_tab.

DATA:

lcl_xml_doc TYPE REF TO cl_xml_document,

v_subrc TYPE sysubrc,

v_node TYPE REF TO if_ixml_node,

v_child_node TYPE REF TO if_ixml_node,

v_root TYPE REF TO if_ixml_node,

v_iterator TYPE REF TO if_ixml_node_iterator,

v_nodemap TYPE REF TO if_ixml_named_node_map,

v_count TYPE i,

v_index TYPE i,

v_attr TYPE REF TO if_ixml_node,

v_name TYPE string,

v_prefix TYPE string,

v_value TYPE string,

v_char TYPE char2.

DATA:

itab TYPE STANDARD TABLE OF ty_tab,

wa TYPE ty_tab.

CREATE OBJECT lcl_xml_doc.

CALL METHOD lcl_xml_doc-&amp;gt;import_from_file

EXPORTING

filename = p_filnam

RECEIVING

retcode = v_subrc.

CHECK v_subrc = 0.

v_node = lcl_xml_doc-&amp;gt;m_document.

CHECK NOT v_node IS INITIAL.

v_iterator = v_node-&amp;gt;create_iterator( ).

v_node = v_iterator-&amp;gt;get_next( ).

WHILE NOT v_node IS INITIAL.

CASE v_node-&amp;gt;get_type( ).

WHEN if_ixml_node=&amp;gt;co_node_element.

v_name = v_node-&amp;gt;get_name( ).

v_nodemap = v_node-&amp;gt;get_attributes( ).

IF NOT v_nodemap IS INITIAL
* attributes
v_count = v_nodemap-&amp;gt;get_length( ).

DO v_count TIMES.

v_index = sy-index - 1.

v_attr = v_nodemap-&amp;gt;get_item( v_index ).

v_name = v_attr-&amp;gt;get_name( ).

v_prefix = v_attr-&amp;gt;get_namespace_prefix( ).

v_value = v_attr-&amp;gt;get_value( ).

ENDDO.

ENDIF.

WHEN if_ixml_node=&amp;gt;co_node_text OR

if_ixml_node=&amp;gt;co_node_cdata_section.
* text node
v_value = v_node-&amp;gt;get_value( ).

MOVE v_value TO v_char.

IF v_char &amp;lt;&amp;gt; cl_abap_char_utilities=&amp;gt;cr_lf.

wa-name = v_name.

wa-value = v_value.

APPEND wa TO itab.

CLEAR wa.

ENDIF.

ENDCASE.
* advance to next node
v_node = v_iterator-&amp;gt;get_next( ).

ENDWHILE.

LOOP AT itab INTO wa.

ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Abhii&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Dec 2009 16:40:57 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-12-09T16:40:57Z</dc:date>
    <item>
      <title>Read XML file from presentation server</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-xml-file-from-presentation-server/m-p/6385653#M1403850</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;I want read XML file from presentation server currently i am using &lt;STRONG&gt;GUI_UPLOAD&lt;/STRONG&gt; fm . but it is reading some junk data.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

DATA : BEGIN OF upl OCCURS 0,
          f(255) TYPE c,
       END OF upl.

  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename = D:\XX.XML'
      filetype = 'BIN'
    TABLES
      data_tab = upl.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is there any other alternative.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Swarup,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Dec 2009 06:55:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/read-xml-file-from-presentation-server/m-p/6385653#M1403850</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-12-09T06:55:20Z</dc:date>
    </item>
    <item>
      <title>Re: Read XML file from presentation server</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-xml-file-from-presentation-server/m-p/6385654#M1403851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why are you using 'BIN' (binary) as the file type?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Dec 2009 16:21:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/read-xml-file-from-presentation-server/m-p/6385654#M1403851</guid>
      <dc:creator>brad_bohn</dc:creator>
      <dc:date>2009-12-09T16:21:10Z</dc:date>
    </item>
    <item>
      <title>Re: Read XML file from presentation server</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-xml-file-from-presentation-server/m-p/6385655#M1403852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Swarup,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use method &lt;STRONG&gt;IMPORT_FROM_FILE&lt;/STRONG&gt; of class &lt;STRONG&gt;CL_XML_DOCUMENT&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A sample code snippet :-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PARAMETERS: p_filnam TYPE localfile OBLIGATORY

DEFAULT 'C:\Documents and Settings\ssaha\Desktop\test.xml'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_filnam.

DATA: l_v_fieldname TYPE dynfnam.

l_v_fieldname = p_filnam.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

field_name = l_v_fieldname

IMPORTING

file_name = p_filnam.

START-OF-SELECTION.

TYPES:

BEGIN OF ty_tab,

name TYPE string,

value TYPE string,

END OF ty_tab.

DATA:

lcl_xml_doc TYPE REF TO cl_xml_document,

v_subrc TYPE sysubrc,

v_node TYPE REF TO if_ixml_node,

v_child_node TYPE REF TO if_ixml_node,

v_root TYPE REF TO if_ixml_node,

v_iterator TYPE REF TO if_ixml_node_iterator,

v_nodemap TYPE REF TO if_ixml_named_node_map,

v_count TYPE i,

v_index TYPE i,

v_attr TYPE REF TO if_ixml_node,

v_name TYPE string,

v_prefix TYPE string,

v_value TYPE string,

v_char TYPE char2.

DATA:

itab TYPE STANDARD TABLE OF ty_tab,

wa TYPE ty_tab.

CREATE OBJECT lcl_xml_doc.

CALL METHOD lcl_xml_doc-&amp;gt;import_from_file

EXPORTING

filename = p_filnam

RECEIVING

retcode = v_subrc.

CHECK v_subrc = 0.

v_node = lcl_xml_doc-&amp;gt;m_document.

CHECK NOT v_node IS INITIAL.

v_iterator = v_node-&amp;gt;create_iterator( ).

v_node = v_iterator-&amp;gt;get_next( ).

WHILE NOT v_node IS INITIAL.

CASE v_node-&amp;gt;get_type( ).

WHEN if_ixml_node=&amp;gt;co_node_element.

v_name = v_node-&amp;gt;get_name( ).

v_nodemap = v_node-&amp;gt;get_attributes( ).

IF NOT v_nodemap IS INITIAL
* attributes
v_count = v_nodemap-&amp;gt;get_length( ).

DO v_count TIMES.

v_index = sy-index - 1.

v_attr = v_nodemap-&amp;gt;get_item( v_index ).

v_name = v_attr-&amp;gt;get_name( ).

v_prefix = v_attr-&amp;gt;get_namespace_prefix( ).

v_value = v_attr-&amp;gt;get_value( ).

ENDDO.

ENDIF.

WHEN if_ixml_node=&amp;gt;co_node_text OR

if_ixml_node=&amp;gt;co_node_cdata_section.
* text node
v_value = v_node-&amp;gt;get_value( ).

MOVE v_value TO v_char.

IF v_char &amp;lt;&amp;gt; cl_abap_char_utilities=&amp;gt;cr_lf.

wa-name = v_name.

wa-value = v_value.

APPEND wa TO itab.

CLEAR wa.

ENDIF.

ENDCASE.
* advance to next node
v_node = v_iterator-&amp;gt;get_next( ).

ENDWHILE.

LOOP AT itab INTO wa.

ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Abhii&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Dec 2009 16:40:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/read-xml-file-from-presentation-server/m-p/6385655#M1403852</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-12-09T16:40:57Z</dc:date>
    </item>
  </channel>
</rss>

