CALL TRANSFORMATION的方法生成XML例程 老白

CALL TRANSFORMATION的方法生成XML例程
 
 
 

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

REPORT  z_barry_xml_call.ide

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.
oop

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 .
spa

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

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

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

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

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

*Tcode:STRANS,Simple類型htm

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

相關文章
相關標籤/搜索