Registration

Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
http://scn.sap.com
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata

Create ABAP coding

At first we create the internal table TYPES and DATA definition, we want to fill with the XML data. I have declared the table "it_airplus" like the structure from XML file definition for a better overview, because it is a long XML Definition (see the XSD file in the sample ZIP container by airplus.com)

*the declaration
TYPES: BEGIN OF t_sum_vat_sum,
          a_rate(5),
          net_value(15),
          vat_value(15),
         END OF t_sum_vat_sum.

TYPES: BEGIN OF t_sum_total_sale,
        a_currency(3),
        net_total(15),
        vat_total(15),
        vat_sum TYPE REF TO t_sum_vat_sum,
       END OF t_sum_total_sale.

TYPES: BEGIN OF t_sum_total_bill,
        net_total(15),
        vat_total(15),
        vat_sum TYPE t_sum_vat_sum,
        add_ins_val(15),
        total_bill_amount(15),
       END OF t_sum_total_bill.TYPES: BEGIN OF t_ap_summary,
        a_num_inv_det(5),
        total_sale_values TYPE t_sum_total_sale,
        total_bill_values TYPE t_sum_total_bill,
       END OF t_ap_summary.TYPES: BEGIN OF t_ap,
        head    TYPE t_ap_head,
        details TYPE t_ap_details,
        summary TYPE t_ap_summary,
       END OF t_ap.DATA: it_airplus TYPE STANDARD TABLE OF t_ap
...
...
*call the transformation
CALL TRANSFORMATION ZFI_AIRPLUS
	SOURCE xml l_xml_x1
	RESULT xml_output = it_airplus
	.

see the complete report: Read data from XML file via XSLT program

Create XSLT program

There are two options to create a XSLT program:

  1. Tcode: SE80 -> create/choose packet -> right click on it | Create -> Others -> XSL Transformation
  2. Tcode: XSLT_TOOL

For a quick overview you can watch at the SXSLTDEMO* programs.

In this example we already use the three XSLT options explained later.
As you can see we define a XSL and ASX (ABAP) tags to handle the ABAP and XML variables/tags. After "<asx:values>" we create the XML_OUTPUT tag, but in this case we also could speak about a container. In fact the XML_OUTPUT tag comprise the structure of the internal table "it_airplus" which where moved by the CALL TRANSFORMATION in the report.

See the whole XSLT program here: XSLT sample to encode, decode XML file 

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
  <xsl:template match="INVOICES_BTM">
    <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
      <asx:values>
        <XML_OUTPUT>
          <xsl:for-each select="INVOICE_BTM">
            <INVOICE_BTM>
            <HEAD>
            <xsl:variable name="head" select="INVOICE_HEAD" />
              <A_LANGUAGE>            <xsl:value-of select="$head/@LANGUAGE" />                </A_LANGUAGE>
              <A_DIRECT_DEBIT_QUAL>   <xsl:value-of select="$head/@DIRECT_DEBIT_QUALIFIER" />  </A_DIRECT_DEBIT_QUAL>
              <INV_DATE>    <xsl:value-of select="$head/INVOICE_DATE"/></INV_DATE>
              <INV_NUMBER>
              <xsl:variable name="number" select="$head/INVOICE_NUMBER" />
                  <NUMBER>   <xsl:value-of select="$number/NUMBER"/>   </NUMBER>
                  <EXTENSION><xsl:value-of select="$number/EXTENSION"/></EXTENSION>
                  <SEQUENCE> <xsl:value-of select="$number/SEQUENCE"/> </SEQUENCE>
              </INV_NUMBER>
              <CREDIT_DEBIT_QUALIFIER> <xsl:value-of select="$head/CREDIT_DEBIT_QUALIFIER"/></CREDIT_DEBIT_QUALIFIER>
              <CREDIT_DEBIT_LABEL>     <xsl:value-of select="$head/CREDIT_DEBIT_LABEL"/>    </CREDIT_DEBIT_LABEL>
              <BILLING_CURRENCY>       <xsl:value-of select="$head/BILLING_CURRENCY"/>      </BILLING_CURRENCY>
              <BASE_CURRENCY>          <xsl:value-of select="$head/BASE_CURRENCY"/>         </BASE_CURRENCY>
              <DUE_DATE>               <xsl:value-of select="$head/DUE_DATE"/>              </DUE_DATE>

              <INV_PARTIES>
              <xsl:variable name="inv_parties" select="$head/INVOICE_PARTIES" />
              <PAYEE>
              <xsl:variable name="payee" select="$inv_parties/PAYEE" />
                  <PARTYCODE><xsl:value-of select="$payee/PARTYCODE"/></PARTYCODE>
                  <ADDRESS>
                  <xsl:variable name="address" select="$payee" />

                      <xsl:for-each select="$address/ADDRESSLINE">
                          <ADDRESSLINE>  <xsl:value-of select="."/>  </ADDRESSLINE>
                      </xsl:for-each>
                      <POST_CODE>    <xsl:value-of select="INVOICE_HEAD/INVOICE_PARTIES/PAYEE/ADDRESS/POST_CODE"/></POST_CODE>
                      <CITY>         <xsl:value-of select="INVOICE_HEAD/INVOICE_PARTIES/PAYEE/ADDRESS/CITY"/></CITY>
                      <STATE_CODE>   <xsl:value-of select="INVOICE_HEAD/INVOICE_PARTIES/PAYEE/ADDRESS/STATE_CODE"/></STATE_CODE>
                      <COUNTRY_CODE> <xsl:value-of select="INVOICE_HEAD/INVOICE_PARTIES/PAYEE/ADDRESS/COUNTRY_CODE"/></COUNTRY_CODE>
                      <COUNTRY>      <xsl:value-of select="INVOICE_HEAD/INVOICE_PARTIES/PAYEE/ADDRESS/COUNTRY"/></COUNTRY>
                  </ADDRESS>
               </PAYEE>
...
...
	<SUMMARY>
            <xsl:variable name="summary" select="INVOICE_SUMMARY" />
                <A_NUM_INV_DET><xsl:value-of select="$summary/@NUMBER_OF_INVOICE_DETAIL" /></A_NUM_INV_DET>

                <xsl:for-each select="$summary/TOTAL_SALE_VALUES">
                <TOTAL_SALE_VALUES>
                <xsl:variable name="total_sale_values" select="$summary" />
                    <A_CURRENCY><xsl:value-of select="$total_sale_values/@CURRENCY"/></A_CURRENCY>
                    <NET_TOTAL> <xsl:value-of select="$total_sale_values/NET_TOTAL"/></NET_TOTAL>
                    <VAT_TOTAL> <xsl:value-of select="$total_sale_values/VAT_TOTAL"/></VAT_TOTAL>

                    <xsl:for-each select="INVOICE_SUMMARY/TOTAL_SALE_VALUES/VAT_SUMMARY">
                    <VAT_SUM>
                    <xsl:variable name="vat_sum" select="$total_sale_values/VAT_SUMMARY" />
                      <A_RATE><xsl:value-of select="$vat_sum/@RATE" /></A_RATE>
                      <NET_VALUE><xsl:value-of select="."/></NET_VALUE>
                      <VAT_VALUE><xsl:value-of select="."/></VAT_VALUE>
                    </VAT_SUM></xsl:for-each>

                </TOTAL_SALE_VALUES>
                </xsl:for-each>


                <TOTAL_BILL_VALUES>
                    <NET_TOTAL> <xsl:value-of select="INVOICE_SUMMARY/TOTAL_BILLING_VALUES/NET_TOTAL"/></NET_TOTAL>
                    <VAT_TOTAL> <xsl:value-of select="INVOICE_SUMMARY/TOTAL_BILLING_VALUES/VAT_TOTAL"/></VAT_TOTAL>

                    <VAT_SUM>
                        <A_RATE><xsl:value-of select="INVOICE_SUMMARY/TOTAL_BILLING_VALUES/VAT_SUMMARY/@RATE" /></A_RATE>

                        <xsl:for-each select="INVOICE_SUMMARY/TOTAL_BILLING_VALUES/VAT_SUMMARY/NET_VALUE">
                          <NET_VALUE><xsl:value-of select="."/></NET_VALUE>
                        </xsl:for-each>
                        <xsl:for-each select="INVOICE_SUMMARY/TOTAL_BILLING_VALUES/VAT_SUMMARY/VAT_VALUE">
                          <VAT_VALUE><xsl:value-of select="."/></VAT_VALUE>
                        </xsl:for-each>
                    </VAT_SUM>

                    <ADD_INS_VAL>
			<xsl:value-of select="INVOICE_SUMMARY/TOTAL_BILLING_VALUES/ADDITIONAL_INSURANCE_TOTAL"/>
		    </ADD_INS_VAL>
                    <TOTAL_BILL_AMOUNT>
			<xsl:value-of select="INVOICE_SUMMARY/TOTAL_BILLING_VALUES/TOTAL_BILLING_AMOUNT"/>
		    </TOTAL_BILL_AMOUNT>
                </TOTAL_BILL_VALUES>
            </SUMMARY>



            </INVOICE_BTM>
          </xsl:for-each>
        </XML_OUTPUT>
      </asx:values>
    </asx:abap>
  </xsl:template>
</xsl:transform>

XSLT options

Here are the relevant XSLT elements in order of you could need it in your own program. For a good XSLT reference look at W3Schools.com - reference. In a XSLT program it is also possible to to write comments with the standard HTML commentfunction "<!- your comment here ->".

<xsl:value-of>

to catch the value from the element/attribute and move it to the ABAP variable

<ABAP_FIELD>
<xsl:value-of select="INVOICE/PARTNER/ADDRESS/street" />
</ABAP_FIELD>

<xsl:for-each>

use this element to make loops over your XML Tags, maybe if you have more than one XML tag (street) in your XML-File

<xsl:for-each select="INVOICE/PARTNER/ADDRESS/street">
	<ABAP_FIELD>		 <xsl:value-of select="." />	</ABAP_FIELD>
</xsl:for-each>

<xsl:variable>

 create a variable for access to the XML element. It is just a nice shortcut. Note that you can close this XSL element it self, look at the slash before the >

<xsl:variable name="var1" select="the_xml_element" />

continuative the "for-each" element you can write it like this:

<xsl:variable name="address" select="INVOICE/PARTNER/ADDRESS" /><xsl:for-each select="$address/street">
	<ABAP_FIELD>		 <xsl:value-of select="." />	</ABAP_FIELD>
</xsl:for-each>

XML sample file

We take the sample file from Airplus. You can load the sample ZIP container by Airplus at: airplus.com -> products -> pay -> airplus electronic billing -> XML.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by BOFH (Lufthansa Airplus Servicekarten GmbH) -->
<?xml-stylesheet type="text/xsl" href="invoice_btm.xsl"  ?>
<INVOICES_BTM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="invoice_btm.xsd">
	<INVOICE_BTM>
		<INVOICE_HEAD LANGUAGE="DE" DIRECT_DEBIT_QUALIFIER="NO">
			<INVOICE_DATE>20040112</INVOICE_DATE>
			<INVOICE_NUMBER>
				<NUMBER>0306299999</NUMBER>
				<EXTENSION>0</EXTENSION>
				<SEQUENCE>0</SEQUENCE>
			</INVOICE_NUMBER>
			<CREDIT_DEBIT_QUALIFIER>R</CREDIT_DEBIT_QUALIFIER>
			<CREDIT_DEBIT_LABEL>Rechnung</CREDIT_DEBIT_LABEL>
			<BILLING_CURRENCY>EUR</BILLING_CURRENCY>
			<BASE_CURRENCY BILLING_TO_BASE_RATE="1.00000">EUR</BASE_CURRENCY>
			<DUE_DATE>20040201</DUE_DATE>
			<INVOICE_PARTIES>
				<PAYEE>
					<PARTYCODE>LASG</PARTYCODE>
					<ADDRESS>
						<ADDRESSLINE LINE="1">Lufthansa AirPlus Servicekarten GmbH</ADDRESSLINE>
						<ADDRESSLINE LINE="2">Postfach 1552</ADDRESSLINE>
						<POST_CODE>63235</POST_CODE>
						<CITY>Neu-Isenburg</CITY>
						<COUNTRY_CODE>D</COUNTRY_CODE>
						<COUNTRY>Deutschland</COUNTRY>
					</ADDRESS>
				</PAYEE>
				<INVOICEE>
					<BILLING_LEVEL>122000201089999</BILLING_LEVEL>
					<PARTYCODE>DTA9999</PARTYCODE>
					<ADDRESS>
						<ADDRESSLINE LINE="1">Test Company GmbH</ADDRESSLINE>
						<ADDRESSLINE LINE="2">Frau Verthika Kaur</ADDRESSLINE>
						<ADDRESSLINE LINE="3">Frankfurter Str. 9</ADDRESSLINE>
						<POST_CODE>63233</POST_CODE>
						<CITY>Oberursel</CITY>
					</ADDRESS>
				</INVOICEE>
			</INVOICE_PARTIES>
			<INVOICE_QUALIFIER>TEST</INVOICE_QUALIFIER>
		</INVOICE_HEAD>
		<INVOICE_DETAILS>
			<INVOICE_DETAIL LINE="1" TYP="HOTEL">
				<CUSTOMER>
					<CARDNUMBER>122000201089999</CARDNUMBER>
					<NAME>Test Company GmbH</NAME>
				</CUSTOMER>
				<SERVICE_PROVIDER>
					<COMPANYNAME>Steigenberger Mannheimer Hof</COMPANYNAME>
					<STREET>Augustaanlage 4    - 8</STREET>
					<PLACE>Mannheim</PLACE>
					<TAX_CODE>114216731</TAX_CODE>
				</SERVICE_PROVIDER>
				<CUSTOMER_DATA>
					<DEPARTMENT_CODE>XX9823483</DEPARTMENT_CODE>
					<FILE_DATE>20031230</FILE_DATE>
				</CUSTOMER_DATA>
				<SALES_DATE>20031230</SALES_DATE>
				<PROCESSING_DATE>20040108</PROCESSING_DATE>
				<ONLINE_ORDER_REF>  no   </ONLINE_ORDER_REF>
				<SALE_VALUES SALE_TO_BASE_RATE="1.00000">
					<CURRENCY>EUR</CURRENCY>
					<NET_VALUE>235.55</NET_VALUE>
					<VAT_VALUE>88.33</VAT_VALUE>
					<GROSS_VALUE>980.50</GROSS_VALUE>
					<VAT_SUMMARY RATE="16.00">
						<NET_VALUE>616.16</NET_VALUE>
						<VAT_VALUE>016.32</VAT_VALUE>
					</VAT_SUMMARY>
					<VAT_SUMMARY RATE="32.00">
						<NET_VALUE>632.32</NET_VALUE>
						<VAT_VALUE>032.48</VAT_VALUE>
					</VAT_SUMMARY>
				</SALE_VALUES>
				<BILLING_VALUES>
					<NET_VALUE>845.25</NET_VALUE>
					<VAT_VALUE>135.25</VAT_VALUE>
					<GROSS_VALUE>980.50</GROSS_VALUE>
					<ADDITIONAL_INSURANCE_VALUE>0.00</ADDITIONAL_INSURANCE_VALUE>
					<LINE_GROSS_VALUE>980.50</LINE_GROSS_VALUE>
					<VAT_SUMMARY RATE="11.00">
						<NET_VALUE>111.11</NET_VALUE>
						<VAT_VALUE>011.22</VAT_VALUE>
					</VAT_SUMMARY>
					<VAT_SUMMARY RATE="22.00">
						<NET_VALUE>222.22</NET_VALUE>
						<VAT_VALUE>022.33</VAT_VALUE>
					</VAT_SUMMARY>
					<VAT_SUMMARY RATE="33.00">
						<NET_VALUE>333.33</NET_VALUE>
						<VAT_VALUE>033.44</VAT_VALUE>
					</VAT_SUMMARY>
				</BILLING_VALUES>
				<DETAIL_DESCRIPTIONS NUMBER_OF_DETAIL_DESCRIPTIONS="5">
					<DETAIL_DESCRIPTION LINE="1">
						<SALE_VALUES SALE_TO_BASE_RATE="1.00000">
							<NET_VALUE>180.17</NET_VALUE>
							<VAT_VALUE>28.83</VAT_VALUE>
							<GROSS_VALUE>209.00</GROSS_VALUE>
							<VAT_SUMMARY RATE="16.00">
								<NET_VALUE>180.17</NET_VALUE>
								<VAT_VALUE>28.83</VAT_VALUE>
							</VAT_SUMMARY>
						</SALE_VALUES>
						<SERVICE_DESCRIPTION>
							<DATE>20031211</DATE>
							<DOCUMENT_NUMBER>00255999</DOCUMENT_NUMBER>
							<VOUCHER_NUMBER>00204999</VOUCHER_NUMBER>
							<TXN_TYPE_DETAIL>V</TXN_TYPE_DETAIL>
							<ADDITIONAL_INFO LINE="1">Restaurant Avalon Getränk</ADDITIONAL_INFO>
							<ADDITIONAL_INFO LINE="2">Rechnung#000400010999</ADDITIONAL_INFO>
							<HT_BOOKING_DATA>
								<START_DATE>20031211</START_DATE>
								<END_DATE>20031212</END_DATE>
								<AMOUNT>9</AMOUNT>
							</HT_BOOKING_DATA>
						</SERVICE_DESCRIPTION>
					</DETAIL_DESCRIPTION>
					<DETAIL_DESCRIPTION LINE="2">
						<SALE_VALUES SALE_TO_BASE_RATE="1.00000">
							<NET_VALUE>172.41</NET_VALUE>
							<VAT_VALUE>27.59</VAT_VALUE>
							<GROSS_VALUE>200.00</GROSS_VALUE>
							<VAT_SUMMARY RATE="16.00">
								<NET_VALUE>172.41</NET_VALUE>
								<VAT_VALUE>27.59</VAT_VALUE>
							</VAT_SUMMARY>
						</SALE_VALUES>
						<SERVICE_DESCRIPTION>
							<DATE>20031211</DATE>
							<DOCUMENT_NUMBER>00255999</DOCUMENT_NUMBER>
							<VOUCHER_NUMBER>00204999</VOUCHER_NUMBER>
							<TXN_TYPE_DETAIL>V</TXN_TYPE_DETAIL>
							<ADDITIONAL_INFO LINE="1">Restaurant Avalon Speisen</ADDITIONAL_INFO>
							<ADDITIONAL_INFO LINE="2">Rechnung#000400010999</ADDITIONAL_INFO>
							<HT_BOOKING_DATA>
								<START_DATE>20031211</START_DATE>
								<END_DATE>20031212</END_DATE>
								<AMOUNT>9</AMOUNT>
							</HT_BOOKING_DATA>
						</SERVICE_DESCRIPTION>
					</DETAIL_DESCRIPTION>
					<DETAIL_DESCRIPTION LINE="3">
						<SALE_VALUES SALE_TO_BASE_RATE="1.00000">
							<NET_VALUE>95.26</NET_VALUE>
							<VAT_VALUE>15.24</VAT_VALUE>
							<GROSS_VALUE>110.50</GROSS_VALUE>
							<VAT_SUMMARY RATE="16.00">
								<NET_VALUE>95.26</NET_VALUE>
								<VAT_VALUE>15.24</VAT_VALUE>
							</VAT_SUMMARY>
						</SALE_VALUES>
						<SERVICE_DESCRIPTION>
							<DATE>20031211</DATE>
							<DOCUMENT_NUMBER>00255999</DOCUMENT_NUMBER>
							<VOUCHER_NUMBER>00204999</VOUCHER_NUMBER>
							<TXN_TYPE_DETAIL>V</TXN_TYPE_DETAIL>
							<ADDITIONAL_INFO LINE="1">Restaurant Avalon Getränk</ADDITIONAL_INFO>
							<ADDITIONAL_INFO LINE="2">Rechnung#000400010999</ADDITIONAL_INFO>
							<HT_BOOKING_DATA>
								<START_DATE>20031211</START_DATE>
								<END_DATE>20031212</END_DATE>
								<AMOUNT>9</AMOUNT>
							</HT_BOOKING_DATA>
						</SERVICE_DESCRIPTION>
					</DETAIL_DESCRIPTION>
					<DETAIL_DESCRIPTION LINE="4">
						<SALE_VALUES SALE_TO_BASE_RATE="1.00000">
							<NET_VALUE>25.00</NET_VALUE>
							<VAT_VALUE>4.00</VAT_VALUE>
							<GROSS_VALUE>29.00</GROSS_VALUE>
							<VAT_SUMMARY RATE="16.00">
								<NET_VALUE>25.00</NET_VALUE>
								<VAT_VALUE>4.00</VAT_VALUE>
							</VAT_SUMMARY>
						</SALE_VALUES>
						<SERVICE_DESCRIPTION>
							<DATE>20031212</DATE>
							<DOCUMENT_NUMBER>00255999</DOCUMENT_NUMBER>
							<VOUCHER_NUMBER>00204999</VOUCHER_NUMBER>
							<TXN_TYPE_DETAIL>V</TXN_TYPE_DETAIL>
							<ADDITIONAL_INFO LINE="1">Restaurant Avalon Getränk</ADDITIONAL_INFO>
							<ADDITIONAL_INFO LINE="2">Rechnung#000500009999</ADDITIONAL_INFO>
							<HT_BOOKING_DATA>
								<START_DATE>20031211</START_DATE>
								<END_DATE>20031212</END_DATE>
								<AMOUNT>9</AMOUNT>
							</HT_BOOKING_DATA>
						</SERVICE_DESCRIPTION>
					</DETAIL_DESCRIPTION>
					<DETAIL_DESCRIPTION LINE="5">
						<SALE_VALUES SALE_TO_BASE_RATE="1.00000">
							<NET_VALUE>372.41</NET_VALUE>
							<VAT_VALUE>59.59</VAT_VALUE>
							<GROSS_VALUE>432.00</GROSS_VALUE>
							<VAT_SUMMARY RATE="16.00">
								<NET_VALUE>372.41</NET_VALUE>
								<VAT_VALUE>59.59</VAT_VALUE>
							</VAT_SUMMARY>
						</SALE_VALUES>
						<SERVICE_DESCRIPTION>
							<DATE>20031220</DATE>
							<DOCUMENT_NUMBER>00255894</DOCUMENT_NUMBER>
							<VOUCHER_NUMBER>00204401</VOUCHER_NUMBER>
							<TXN_TYPE_DETAIL>V</TXN_TYPE_DETAIL>
							<ADDITIONAL_INFO LINE="1">Tagespauschale</ADDITIONAL_INFO>
							<ADDITIONAL_INFO LINE="2">12.12.03</ADDITIONAL_INFO>
							<HT_BOOKING_DATA>
								<START_DATE>20031211</START_DATE>
								<END_DATE>20031212</END_DATE>
								<AMOUNT>9</AMOUNT>
							</HT_BOOKING_DATA>
						</SERVICE_DESCRIPTION>
					</DETAIL_DESCRIPTION>
				</DETAIL_DESCRIPTIONS>
			</INVOICE_DETAIL>
		</INVOICE_DETAILS>
		<INVOICE_SUMMARY NUMBER_OF_INVOICE_DETAIL="00001">
			<TOTAL_SALE_VALUES CURRENCY="EUR">
				<NET_TOTAL>845.25</NET_TOTAL>
				<VAT_TOTAL>135.25</VAT_TOTAL>
				<VAT_SUMMARY RATE="16.00">
					<NET_VALUE>845.25</NET_VALUE>
					<VAT_VALUE>135.25</VAT_VALUE>
				</VAT_SUMMARY>
				<VAT_SUMMARY RATE="15.00">
					<NET_VALUE>745.15</NET_VALUE>
					<VAT_VALUE>035.15</VAT_VALUE>
				</VAT_SUMMARY>
			</TOTAL_SALE_VALUES>
			<TOTAL_BILLING_VALUES>
				<NET_TOTAL>845.25</NET_TOTAL>
				<VAT_TOTAL>135.25</VAT_TOTAL>
				<VAT_SUMMARY RATE="16.00">
					<NET_VALUE>845.25</NET_VALUE>
					<VAT_VALUE>135.25</VAT_VALUE>
				</VAT_SUMMARY>
				<TOTAL_BILLING_AMOUNT>980.50</TOTAL_BILLING_AMOUNT>
			</TOTAL_BILLING_VALUES>
		</INVOICE_SUMMARY>
	</INVOICE_BTM>
</INVOICES_BTM>

6 Comments

  1. Guest

    Hello,

    i implement your report in my system (6.40) and run it with the sample (downloaded from airplus.com)
    and i also get the following error:

     XML-ABAP Formatfehler bei Knoten

    Unknown macro: {http}

    abap (Typ element).

    Do you know what is wrong?

    Thanks and btw - very good tutorial!

    Bye

    Chris 

  2. Guest

    sorry, wrong format

    the error called

    " XML-ABAP Formatfehler bei Knoten

    Unknown macro: {http}

    abap (Typ element)."

  3. Former Member

    Hi Christian,

    I didn't get such an error when I've done the tutorial. I also searched with a popular search engine, but couldn't find any relevant results.

    BTW the XML data processing was only a test and is not productive in our environment.

    But if you have solved your problem, please write the solution down here as a comment.

    Thanks, best Regards
    Steffen

  4. Guest

    I've the same error with 6.0. Anyone has the solution?

    Thanks.

  5. Guest

    Hi,

     can anyone please tell me where to find ZIP container with the XSD? Searching airplus.com is driving me mad (wink)

     thx

    --Alex

  6. Guest

    Hi, i did this tutorial and though it might have worked a year ago it no longer works... if someone has figured it out please help me and there are many syntax errors so it doesnt work when you just copy the code.