zoukankan      html  css  js  c++  java
  • CALL TRANSFORMATION 的方法生成XML文件

    *&---------------------------------------------------------------------*
    *& Report  Z_BARRY_XML_CALL
    *&
    *&---------------------------------------------------------------------*
    *& CALL TRANSFORMATION的方法生成XML例程
    *& 适用ECC5以上系统
    *& 普通方法生成XML:http://blog.chinaunix.net/u1/40527/showart_468389.html
    *&---------------------------------------------------------------------*

    REPORT  z_barry_xml_call.

    DATA:  BEGIN OF it_xml OCCURS 0,
             line(100) TYPE c,
           END OF it_xml.
    DATA: w_xml TYPE string,
          w_len TYPE i,
          w_fname TYPE string.

    DATA: BEGIN OF line  ,
            matnr LIKE mara-matnr ,
            maktx LIKE makt-maktx ,
          END OF line .
    DATA: BEGIN OF line2 ,
            class LIKE m_wwgha-class,"部门
            kschl LIKE m_wwgha-kschl,"DESC
          END OF line2 .
    DATA: itab_matnr LIKE TABLE OF line ,
          itab_class LIKE TABLE OF line2 .

    START-OF-SELECTION.
      PERFORM getdata.
      PERFORM create_xml.

    *---------------------------------------------------------------------*
    *       FORM getdata                                                  *
    *---------------------------------------------------------------------*
    FORM getdata.
      SELECT matnr maktx FROM makt
      INTO TABLE itab_matnr
      UP TO 4 ROWS
      WHERE spras = '1' .
      SELECT class kschl FROM m_wwgha
      INTO TABLE itab_class
      UP TO 4 ROWS
      WHERE spras IN ('1','E') .
    ENDFORM.                    "getdata

    *&---------------------------------------------------------------------*
    *&      Form  create_xml
    *&---------------------------------------------------------------------*
    FORM create_xml.
      CALL TRANSFORMATION ztest2
        SOURCE prd = itab_matnr
               class = itab_class
        RESULT XML w_xml.

      CALL FUNCTION 'SCMS_STRING_TO_FTEXT'
        EXPORTING
          text      = w_xml
        IMPORTING
          length    = w_len
        TABLES
          ftext_tab = it_xml.

      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename   = 'c:xmlcall.xml'
          filetype   = 'BIN'
        IMPORTING
          filelength = w_len
        TABLES
          data_tab   = it_xml.
    ENDFORM.                    "create_xml

    *Tcode:STRANS,Simple类型

    *<?sap.transform simple?>
    *<tt:transform xmlns:tt="
    http://www.sap.com/transformation-templates">
    *  <tt:root name="PRD"/>
    *  <tt:root name="CLASS"/>
    *  <tt:template>
    *    <ROOT>
    *      <Products>
    *        <tt:loop name="line" ref="PRD">
    *          <Product>
    *            <matnr>
    *              <tt:value ref="$line.matnr"/>
    *            </matnr>
    *            <maktx>
    *              <tt:value ref="$line.maktx"/>
    *            </maktx>
    *          </Product>
    *        </tt:loop>
    *      </Products>
    *      <Categories>
    *        <tt:loop name="line2" ref="CLASS">
    *          <Categorie>
    *            <CLASS>
    *              <tt:value ref="$line2.class"/>
    *            </CLASS>
    *            <KSCHL>
    *              <tt:value ref="$line2.kschl"/>
    *            </KSCHL>
    *          </Categorie>
    *        </tt:loop>
    *      </Categories>
    *    </ROOT>
    *  </tt:template>
    *</tt:transform>

  • 相关阅读:
    Java 动态编译
    在ubuntu 18.04下,无线网卡无驱动,连不上wifi,显示wifi没有适配器的解决方法
    由浅入深了解Thrift(1,2,3)
    Docker系列05:docker镜像制作 &Docker file
    Docker系列04:docker数据存储
    Docker系列03:docker网络
    关于在github上 下载源码 clone 非 master 分支的代码
    CentOS 6 & 7 忘记root密码的修改方法
    Windows RDP远程连接CentOS 7
    Windows 上用IntelliJ Idea调试百度大数据分析框架Apache Doris FE
  • 原文地址:https://www.cnblogs.com/rainysblog/p/3822779.html
Copyright © 2011-2022 走看看