<?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 element attributes in program in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384939#M1042920</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Srinivas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below you see sample coding that I use on SAP-PI to map attributes into the XML stream (INVOIC IDoc)::&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: mo_document is of TYPE REF TO if_ixml_document (which is exported as DATA_AS_DOM by fm SDIXML_DATA_TO_DOM).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
METHOD MAP_SD_DOC_CAT_AND_BILL_TYPE.
* define local data
  DATA: ld_billingdoc         TYPE bapivbrkout-billingdoc,
        ld_billing_type       type bapivbrkout-bill_type,
        ld_sd_doc_category    TYPE vbtyp,
        ld_edi_qualifier      TYPE string.



  " Location code mapping only for outbound invoices, i.e.
  " invoices sent by subsidiary to its customers
  CHECK ( is_outbound_invoic( ) = abap_true ).


  CALL METHOD zcl_edi_idoc_invoic_services=&amp;gt;get_billingdoc_detail
    EXPORTING
      param              = mif_param
*      id_idocnumber      =
      id_rfc_destination = md_rfcdest
    IMPORTING
      ed_billingdoc      = ld_billingdoc
      ed_billing_type    = ld_billing_type
      ed_sd_doc_category = ld_sd_doc_category
      ed_edi_qualifier   = ld_edi_qualifier.


* NOTE: We add the SD document category and the EDI qualifier
*       as attributes to E1EDK01/BELNR.

**  &amp;lt;E1EDK01 SEGMENT="1"&amp;gt;
**      &amp;lt;CURCY&amp;gt;EUR&amp;lt;/CURCY&amp;gt;
**      &amp;lt;HWAER&amp;gt;EUR&amp;lt;/HWAER&amp;gt;
**      &amp;lt;WKURS&amp;gt;1.00000&amp;lt;/WKURS&amp;gt;
**      &amp;lt;ZTERM&amp;gt;T60F&amp;lt;/ZTERM&amp;gt;
**      &amp;lt;EIGENUINR&amp;gt;nnn&amp;lt;/EIGENUINR&amp;gt;
**      &amp;lt;BSART&amp;gt;INVO&amp;lt;/BSART&amp;gt;
**      &amp;lt;BELNR SD_DOC_CATEGORY="O" EDI_QUALIFIER="381" BILL_TYPE="ZOII"&amp;gt;
**        1010010911
**      &amp;lt;/BELNR&amp;gt;
**      &amp;lt;NTGEW&amp;gt;97.662&amp;lt;/NTGEW&amp;gt;
**      &amp;lt;BRGEW&amp;gt;127.239&amp;lt;/BRGEW&amp;gt;
**      &amp;lt;GEWEI&amp;gt;KGM&amp;lt;/GEWEI&amp;gt;
**      &amp;lt;FKART_RL&amp;gt;LR&amp;lt;/FKART_RL&amp;gt;
**      &amp;lt;RECIPNT_NO&amp;gt;0000823305&amp;lt;/RECIPNT_NO&amp;gt;
**      &amp;lt;FKTYP&amp;gt;L&amp;lt;/FKTYP&amp;gt;
**  &amp;lt;/E1EDK01&amp;gt;

  DATA: ld_name       TYPE string,
        ld_value      TYPE string,
        ld_rc         TYPE i,
        lo_node       TYPE REF TO if_ixml_node,
        lo_node_child TYPE REF TO if_ixml_node,
        lo_clone      TYPE REF TO if_ixml_node,
        lo_children   TYPE REF TO if_ixml_node_list,
        lo_element    TYPE REF TO if_ixml_element,
        lo_attribute  TYPE REF TO if_ixml_attribute,
        lo_filter     TYPE REF TO if_ixml_node_filter,
        lo_iter       TYPE REF TO if_ixml_node_iterator,
        lo_doc        TYPE REF TO if_ixml_document.


* Filter for nodes of segment E1EDK01
  lo_filter = mo_document-&amp;gt;create_filter_name( name = 'E1EDK01' ).
  CALL METHOD mo_document-&amp;gt;create_iterator_filtered
    EXPORTING
*      depth  = 0
      filter = lo_filter
    RECEIVING
      rval   = lo_iter.

  DO.
    lo_node = lo_iter-&amp;gt;get_next( ).
    EXIT.
  ENDDO.
* NODE: First (and single) parent node is the entire E1EDK01 segment



  lo_children = lo_node-&amp;gt;get_children( ).
  lo_filter = mo_document-&amp;gt;create_filter_name( name = 'BELNR' ).
  lo_iter = lo_children-&amp;gt;create_iterator_filtered( lo_filter ).


* NOTE: We should have a single child node =&amp;gt; BELNR
  DO.
    lo_node = lo_iter-&amp;gt;get_next( ).
    EXIT.
  ENDDO.
  CHECK ( lo_node IS BOUND ).


  ld_name  = lo_node-&amp;gt;get_name( ).
  ld_value = lo_node-&amp;gt;get_value( ).

  LOG-POINT ID zedi
                  SUBKEY mc_subkey_runtime
                  FIELDS syst-index ld_name ld_value.


* Add attribute SD_DOC_CATEGORY and EDI_QUALIFIER to element BELNR
  lo_element ?= lo_node.
  ld_name  = 'SD_DOC_CATEGORY'.
  ld_value = ld_sd_doc_category.
  CALL METHOD lo_element-&amp;gt;set_attribute
    EXPORTING
      name  = ld_name
      value = ld_value
    RECEIVING
      rval  = ld_rc.

  ld_name  = 'EDI_QUALIFIER'.
  ld_value = ld_edi_qualifier.
  CALL METHOD lo_element-&amp;gt;set_attribute
    EXPORTING
      name  = ld_name
      value = ld_value
    RECEIVING
      rval  = ld_rc.


  ld_name  = 'BILL_TYPE'.
  ld_value = ld_billing_type.
  CALL METHOD lo_element-&amp;gt;set_attribute
    EXPORTING
      name  = ld_name
      value = ld_value
    RECEIVING
      rval  = ld_rc.


ENDMETHOD.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 10 Apr 2011 20:39:02 GMT</pubDate>
    <dc:creator>uwe_schieferstein</dc:creator>
    <dc:date>2011-04-10T20:39:02Z</dc:date>
    <item>
      <title>XML element attributes in program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384936#M1042917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using following FMs to create XML document from internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SDIXML_DATA_TO_DOM'&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SDIXML_DOM_TO_XML'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My internal table has field 'AMT' and generated XML file has following line&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;AMT&amp;gt;1000&amp;lt;/AMT&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I want this line to be generated as &amp;lt;AMT Ccy = 'USD'&amp;gt;1000&amp;lt;/AMT&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to use set_attribute method of element but not able to get this.I should be missing somethig as I am new to this XML.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone please advsie how I can get this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help.&lt;/P&gt;&lt;P&gt;Srinivas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Sep 2008 08:23:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384936#M1042917</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-02T08:23:18Z</dc:date>
    </item>
    <item>
      <title>Re: XML element attributes in program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384937#M1042918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;did you solve this?&lt;/P&gt;&lt;P&gt;I need to do the same thing.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Apr 2011 14:35:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384937#M1042918</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-04-08T14:35:55Z</dc:date>
    </item>
    <item>
      <title>Re: XML element attributes in program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384938#M1042919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try using normal ABAP on internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Loop through the internal table and replace all occurrences of "&amp;lt;AMT&amp;gt;" with "&amp;lt;AMT Ccy = 'USD'&amp;gt;" in the work area and modify internal table from work area.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For more information check keyword REPLACE in F1 help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rupesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 09 Apr 2011 09:42:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384938#M1042919</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-04-09T09:42:18Z</dc:date>
    </item>
    <item>
      <title>Re: XML element attributes in program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384939#M1042920</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Srinivas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below you see sample coding that I use on SAP-PI to map attributes into the XML stream (INVOIC IDoc)::&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOTE: mo_document is of TYPE REF TO if_ixml_document (which is exported as DATA_AS_DOM by fm SDIXML_DATA_TO_DOM).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
METHOD MAP_SD_DOC_CAT_AND_BILL_TYPE.
* define local data
  DATA: ld_billingdoc         TYPE bapivbrkout-billingdoc,
        ld_billing_type       type bapivbrkout-bill_type,
        ld_sd_doc_category    TYPE vbtyp,
        ld_edi_qualifier      TYPE string.



  " Location code mapping only for outbound invoices, i.e.
  " invoices sent by subsidiary to its customers
  CHECK ( is_outbound_invoic( ) = abap_true ).


  CALL METHOD zcl_edi_idoc_invoic_services=&amp;gt;get_billingdoc_detail
    EXPORTING
      param              = mif_param
*      id_idocnumber      =
      id_rfc_destination = md_rfcdest
    IMPORTING
      ed_billingdoc      = ld_billingdoc
      ed_billing_type    = ld_billing_type
      ed_sd_doc_category = ld_sd_doc_category
      ed_edi_qualifier   = ld_edi_qualifier.


* NOTE: We add the SD document category and the EDI qualifier
*       as attributes to E1EDK01/BELNR.

**  &amp;lt;E1EDK01 SEGMENT="1"&amp;gt;
**      &amp;lt;CURCY&amp;gt;EUR&amp;lt;/CURCY&amp;gt;
**      &amp;lt;HWAER&amp;gt;EUR&amp;lt;/HWAER&amp;gt;
**      &amp;lt;WKURS&amp;gt;1.00000&amp;lt;/WKURS&amp;gt;
**      &amp;lt;ZTERM&amp;gt;T60F&amp;lt;/ZTERM&amp;gt;
**      &amp;lt;EIGENUINR&amp;gt;nnn&amp;lt;/EIGENUINR&amp;gt;
**      &amp;lt;BSART&amp;gt;INVO&amp;lt;/BSART&amp;gt;
**      &amp;lt;BELNR SD_DOC_CATEGORY="O" EDI_QUALIFIER="381" BILL_TYPE="ZOII"&amp;gt;
**        1010010911
**      &amp;lt;/BELNR&amp;gt;
**      &amp;lt;NTGEW&amp;gt;97.662&amp;lt;/NTGEW&amp;gt;
**      &amp;lt;BRGEW&amp;gt;127.239&amp;lt;/BRGEW&amp;gt;
**      &amp;lt;GEWEI&amp;gt;KGM&amp;lt;/GEWEI&amp;gt;
**      &amp;lt;FKART_RL&amp;gt;LR&amp;lt;/FKART_RL&amp;gt;
**      &amp;lt;RECIPNT_NO&amp;gt;0000823305&amp;lt;/RECIPNT_NO&amp;gt;
**      &amp;lt;FKTYP&amp;gt;L&amp;lt;/FKTYP&amp;gt;
**  &amp;lt;/E1EDK01&amp;gt;

  DATA: ld_name       TYPE string,
        ld_value      TYPE string,
        ld_rc         TYPE i,
        lo_node       TYPE REF TO if_ixml_node,
        lo_node_child TYPE REF TO if_ixml_node,
        lo_clone      TYPE REF TO if_ixml_node,
        lo_children   TYPE REF TO if_ixml_node_list,
        lo_element    TYPE REF TO if_ixml_element,
        lo_attribute  TYPE REF TO if_ixml_attribute,
        lo_filter     TYPE REF TO if_ixml_node_filter,
        lo_iter       TYPE REF TO if_ixml_node_iterator,
        lo_doc        TYPE REF TO if_ixml_document.


* Filter for nodes of segment E1EDK01
  lo_filter = mo_document-&amp;gt;create_filter_name( name = 'E1EDK01' ).
  CALL METHOD mo_document-&amp;gt;create_iterator_filtered
    EXPORTING
*      depth  = 0
      filter = lo_filter
    RECEIVING
      rval   = lo_iter.

  DO.
    lo_node = lo_iter-&amp;gt;get_next( ).
    EXIT.
  ENDDO.
* NODE: First (and single) parent node is the entire E1EDK01 segment



  lo_children = lo_node-&amp;gt;get_children( ).
  lo_filter = mo_document-&amp;gt;create_filter_name( name = 'BELNR' ).
  lo_iter = lo_children-&amp;gt;create_iterator_filtered( lo_filter ).


* NOTE: We should have a single child node =&amp;gt; BELNR
  DO.
    lo_node = lo_iter-&amp;gt;get_next( ).
    EXIT.
  ENDDO.
  CHECK ( lo_node IS BOUND ).


  ld_name  = lo_node-&amp;gt;get_name( ).
  ld_value = lo_node-&amp;gt;get_value( ).

  LOG-POINT ID zedi
                  SUBKEY mc_subkey_runtime
                  FIELDS syst-index ld_name ld_value.


* Add attribute SD_DOC_CATEGORY and EDI_QUALIFIER to element BELNR
  lo_element ?= lo_node.
  ld_name  = 'SD_DOC_CATEGORY'.
  ld_value = ld_sd_doc_category.
  CALL METHOD lo_element-&amp;gt;set_attribute
    EXPORTING
      name  = ld_name
      value = ld_value
    RECEIVING
      rval  = ld_rc.

  ld_name  = 'EDI_QUALIFIER'.
  ld_value = ld_edi_qualifier.
  CALL METHOD lo_element-&amp;gt;set_attribute
    EXPORTING
      name  = ld_name
      value = ld_value
    RECEIVING
      rval  = ld_rc.


  ld_name  = 'BILL_TYPE'.
  ld_value = ld_billing_type.
  CALL METHOD lo_element-&amp;gt;set_attribute
    EXPORTING
      name  = ld_name
      value = ld_value
    RECEIVING
      rval  = ld_rc.


ENDMETHOD.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 10 Apr 2011 20:39:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384939#M1042920</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2011-04-10T20:39:02Z</dc:date>
    </item>
    <item>
      <title>Re: XML element attributes in program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384940#M1042921</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;I need to do the same thing.&lt;/P&gt;&lt;P&gt;I am using Call transformation ID.&lt;/P&gt;&lt;P&gt;But ID XSLT can take only element.&lt;/P&gt;&lt;P&gt;Please suggest an xslt which can take attribute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Sanchari&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Aug 2011 06:26:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-element-attributes-in-program/m-p/4384940#M1042921</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-08-03T06:26:20Z</dc:date>
    </item>
  </channel>
</rss>

