<?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: Parse XML data to ABAP internal table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136601#M1619962</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pavneet,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Change the part of your code to this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
data: l_lineno type p value 0.

loop at result_xml into wa.

case wa-cname.
when 'WORK_CENTER'.
wa_wkc-work_center = wa-cvalue .
append wa_wkc to itab_wkc.
add 1 to l_lineno.

when 'KTEXT'.
wa_wkc-ktext = wa-cvalue .
modify itab_wkc from wa_wkc transporting ktext index l_lineno.
endcase.

modify table
endloop.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Peter Ruiz on Aug 12, 2011 3:57 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 Aug 2011 07:54:01 GMT</pubDate>
    <dc:creator>peter_ruiz2</dc:creator>
    <dc:date>2011-08-12T07:54:01Z</dc:date>
    <item>
      <title>Parse XML data to ABAP internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136600#M1619961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi to all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have writen a code to Parse XML data to ABAP internal table .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Now i need that the final table result_xml which contain XML data need to devide into other internal table itab_wkc according to the value in  result_xml for WORK CENTER.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;but the value are repeating TWICE for WORK CENTER and  ktext in internal table itab_wkc&lt;/STRONG&gt;  , &lt;STRONG&gt;i need that value should be updated in  itab_wkc  only 1 time.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: begin of ty_st_wkc,&lt;/P&gt;&lt;P&gt;work_center  type arbpl,&lt;/P&gt;&lt;P&gt;ktext(40)       type c  ,&lt;/P&gt;&lt;P&gt;  end of ty_st_wkc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: itab_wkc type table of ty_st_wkc,&lt;/P&gt;&lt;P&gt;      wa_wkc  like line of itab_wkc.&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;data: xml_tab type table of xml_line.&lt;/P&gt;&lt;P&gt;data:xmldata type xstring .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: size type i .&lt;/P&gt;&lt;P&gt;data: result_xml type standard table of smum_xmltb ,&lt;/P&gt;&lt;P&gt;      wa type smum_xmltb.&lt;/P&gt;&lt;P&gt;data: return type standard table of bapiret2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:filename type string value 'C:\.xml'.&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            = filename&lt;/P&gt;&lt;P&gt;    filetype            = 'BIN'&lt;/P&gt;&lt;P&gt;    has_field_separator = ' '&lt;/P&gt;&lt;P&gt;    header_length       = 0&lt;/P&gt;&lt;P&gt;  importing&lt;/P&gt;&lt;P&gt;    filelength          = size&lt;/P&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    data_tab            = xml_tab&lt;/P&gt;&lt;P&gt;  exceptions&lt;/P&gt;&lt;P&gt;    others              = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'SCMS_BINARY_TO_XSTRING'&lt;/P&gt;&lt;P&gt;  exporting&lt;/P&gt;&lt;P&gt;    input_length       = size&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIRST_LINE         = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LAST_LINE          = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; importing&lt;/P&gt;&lt;P&gt;   buffer             = xmldata&lt;/P&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    binary_tab         = xml_tab&lt;/P&gt;&lt;P&gt; exceptions&lt;/P&gt;&lt;P&gt;   failed             = 1&lt;/P&gt;&lt;P&gt;   others             = 2&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;if sy-subrc  &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;call function 'SMUM_XML_PARSE'&lt;/P&gt;&lt;P&gt;  exporting&lt;/P&gt;&lt;P&gt;    xml_input = xmldata&lt;/P&gt;&lt;P&gt;  tables&lt;/P&gt;&lt;P&gt;    xml_table = result_xml&lt;/P&gt;&lt;P&gt;    return    = return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at result_xml into wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case wa-cname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when 'WORK_CENTER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   wa_wkc-work_center = wa-cvalue .&lt;/P&gt;&lt;P&gt; append wa_wkc to itab_wkc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; when 'KTEXT'.&lt;/P&gt;&lt;P&gt;  wa_wkc-ktext = wa-cvalue .&lt;/P&gt;&lt;P&gt;  append wa_wkc to itab_wkc.&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;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at itab_wkc into wa_wkc  .&lt;/P&gt;&lt;P&gt;write: /2 wa_wkc-work_center ,&lt;/P&gt;&lt;P&gt;wa_wkc-ktext.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please can any one provide me the solution for that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavneet Rana&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Aug 2011 07:41:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136600#M1619961</guid>
      <dc:creator>pavneet_rana</dc:creator>
      <dc:date>2011-08-12T07:41:55Z</dc:date>
    </item>
    <item>
      <title>Re: Parse XML data to ABAP internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136601#M1619962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pavneet,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Change the part of your code to this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
data: l_lineno type p value 0.

loop at result_xml into wa.

case wa-cname.
when 'WORK_CENTER'.
wa_wkc-work_center = wa-cvalue .
append wa_wkc to itab_wkc.
add 1 to l_lineno.

when 'KTEXT'.
wa_wkc-ktext = wa-cvalue .
modify itab_wkc from wa_wkc transporting ktext index l_lineno.
endcase.

modify table
endloop.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Peter Ruiz on Aug 12, 2011 3:57 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Aug 2011 07:54:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136601#M1619962</guid>
      <dc:creator>peter_ruiz2</dc:creator>
      <dc:date>2011-08-12T07:54:01Z</dc:date>
    </item>
    <item>
      <title>Re: Parse XML data to ABAP internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136602#M1619963</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for Reply,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This codes work fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;But if result_xml table  contain multiple KTEXT.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;example:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; loop at result_xml into wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;case wa-cname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when 'WORK_CENTER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_wkc-work_center = wa-cvalue .&lt;/P&gt;&lt;P&gt;append wa_wkc to itab_wkc.&lt;/P&gt;&lt;P&gt;add 1 to l_lineno1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when 'KTEXT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_wkc-ktext = wa-cvalue .&lt;/P&gt;&lt;P&gt;modify itab_wkc index l_lineno1 from wa_wkc&lt;/P&gt;&lt;P&gt;       transporting ktext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when 'CONTROL_KEY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_ck-control_key = wa-cvalue.&lt;/P&gt;&lt;P&gt;  append wa_ck to itab_ck.&lt;/P&gt;&lt;P&gt;add 1 to l_lineno2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  when 'KTEXT'.&lt;/P&gt;&lt;P&gt;      wa_ck-txt = wa-cvalue.&lt;/P&gt;&lt;P&gt;  modify itab_ck index l_lineno2 from wa_ck&lt;/P&gt;&lt;P&gt;       transporting txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;result_xml  table have&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;WORK_CENTER and KTEXT ( WORK_CENTER description )&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;CONTROL_KEY and KTEXT ( CONTROL_KEY description )&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;then the given code work for WORK_CENTER and KTEXT  ( WORK_CENTER description ) and CONTROL_KEY , and dont work for KTEXT ( CONTROL_KEY description ), as in CASE statement it find first KTEXT and Second KTEXT is ignore.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;please can any one provide me the solution that, so that i can polutae FIRST  itab_wkc for WORK_CENTER and KTEXT ( WORK_CENTER description ) and SECOND tab_ck  for CONTROL_KEY and KTEXT ( CONTROL_KEY description ) from result_xml  table .&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I shall be thankful to you for this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pavneet Rana&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: pavneet rana on Aug 16, 2011 12:33 PM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: pavneet rana on Aug 16, 2011 12:38 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Aug 2011 10:32:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136602#M1619963</guid>
      <dc:creator>pavneet_rana</dc:creator>
      <dc:date>2011-08-16T10:32:47Z</dc:date>
    </item>
    <item>
      <title>Re: Parse XML data to ABAP internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136603#M1619964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pavneet Rana,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know this function module. But you could use the &lt;STRONG&gt;official&lt;/STRONG&gt; XML transformations (CALL TRANSFORMATION and transaction STRANS) if you use WebAS 6.10 or later. Could you provide an excerpt of your current XML result (or the expected result), so that we can answer this other way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sandra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Aug 2011 12:39:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136603#M1619964</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2011-08-16T12:39:05Z</dc:date>
    </item>
    <item>
      <title>Re: Parse XML data to ABAP internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136604#M1619965</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Pavneet,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to include some validation on your code to meet your requirement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
data: l_lineno1 type p value 0,
         l_lineno2 type p value 0.

data: l_wkc type c,
         l_ck type c.
 
clear: l_wkc, l_ck.

loop at result_xml into wa.
 
case wa-cname.
when 'WORK_CENTER'.
wa_wkc-work_center = wa-cvalue .
l_wkc = 'X'.
clear l_ck.
append wa_wkc to itab_wkc.
add 1 to l_lineno1.

when 'CONTROL_KEY'.
wa_ck-control_key = wa-cvalue.
l_ck = 'X'.
clear l_wkc.
append wa_ck to itab_ck.
add 1 to l_lineno2.

when 'KTEXT'.
if l_wkc = 'X'.
wa_wkc-ktext = wa-cvalue .
modify itab_wkc from wa_wkc transporting ktext index l_lineno1.
else.
wa_ck-ktext = wa-cvalue.
modify itab_ck from wa_ck transporting ktext index l_lineno2.
endif.

clear l_wkc, l_ck.
endcase.
 
modify table
endloop.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Aug 2011 08:04:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parse-xml-data-to-abap-internal-table/m-p/8136604#M1619965</guid>
      <dc:creator>peter_ruiz2</dc:creator>
      <dc:date>2011-08-18T08:04:03Z</dc:date>
    </item>
  </channel>
</rss>

