*&---------------------------------------------------------------------*
*& 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>

最新文章

  1. 工作流引擎Oozie(一):workflow
  2. cloudera learning8:MapReduce and Spark
  3. C# 京东模拟登录小结
  4. NetworkError: 404 Not Found - http://www.companyName.com/Content/fonts/ubuntu-regular-webfont.woff2
  5. 转:ibatis常用16条SQL语句
  6. windows下为mysql添加日志
  7. 为什么网页通常把JS调用放在底部?
  8. json体会
  9. git相关
  10. 绕过D盾安全狗连接菜刀
  11. Bootstrap系列 -- 33. 等分按钮
  12. 修改IIS文件上传大小限制
  13. jQuery之渐变切换
  14. MongoDB权限提升漏洞(CVE-2013-4650)
  15. 蓝桥网试题 java 入门训练 圆的面积
  16. 基于ARM的车牌识别技术研究与实现
  17. Spring学习之AOP与事务
  18. Android basics
  19. 垒骰子|2015年蓝桥杯B组题解析第九题-fishers
  20. Python学习-34.Python中os模块的一些方法(二)

热门文章

  1. 倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 81.0怎么办
  2. SSRF漏洞的挖掘经验
  3. react-native flex 布局 详解
  4. 数据库设计--数据流图(DFD)
  5. Java 下载JDK账号
  6. DirectorySearcher LDAP
  7. iOS 字符属性NSAttributedString描述【转载】
  8. window平台安装 MongoDB(二)
  9. 调用bat文件执行java文件
  10. grep -rl tttt /data/ 命令在 /data 目录下面搜寻包含tttt字符的命令