[XML] XML Source Code For SAP ABAP

  SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style. italic; color: #808080; } .L0S32 { color: #3399FF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } *&---------------------------------------------------------------------*
*& Report  ZULH_MM_RP_XMLTEST001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZULH_MM_RP_XMLTEST001.


PARAMETERS: GK_RUTA  TYPE RLGRAP-FILENAME  DEFAULT  'C:\test01.XML'.
TABLES:T552A.
* TYPE TURNOS *
TYPESBEGIN  OF TURNOS,
    LU  LIKE T552A-TPR01,
    MA  LIKE T552A-TPR01,
    MI  LIKE T552A-TPR01,
    JU  LIKE T552A-TPR01,
    VI  LIKE T552A-TPR01,
    SA  LIKE T552A-TPR01,
     DO  LIKE T552A-TPR01,
END  OF TURNOS.
* TYPE TURNOS *
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
* TYPE SOCIO *
TYPESBEGIN  OF SOCIO,
    NUMERO  LIKE PERNR-PERNR,
    REPOSICION  LIKE PA0050-ZAUVE,
    NOMBRE  LIKE PA0002-VORNA,
    TURNOS  TYPE TURNOS,
END  OF SOCIO.
* TYPE SOCIO *
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
* ESTRUCTURA ACCESOS *
DATABEGIN  OF ACCESOS  OCCURS  0,
    SOCIO  TYPE SOCIO,
END  OF ACCESOS.
* ESTRUCTURA ACCESOS *
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
* START OF SELECTION *
START- OF-SELECTION.
     PERFORM LLENA_ACCESOS.
     PERFORM DESCARGA_XML.
END- OF-SELECTION.
* END OF SELECTION *
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
* FORM LLENA_ACCESOS *
FORM LLENA_ACCESOS.
REFRESH ACCESOS.
CLEAR ACCESOS.
MOVE'45050'  TO ACCESOS-SOCIO-NUMERO,
               'MOISES MORENO'  TO ACCESOS-SOCIO-NOMBRE,
               '0'  TO ACCESOS-SOCIO-REPOSICION,
               'T1'  TO ACCESOS-SOCIO-TURNOS-LU,
               'T2'  TO ACCESOS-SOCIO-TURNOS-MA,
               'T3'  TO ACCESOS-SOCIO-TURNOS-MI,
               'T4'  TO ACCESOS-SOCIO-TURNOS-JU,
               'T5'  TO ACCESOS-SOCIO-TURNOS-VI,
               'T6'  TO ACCESOS-SOCIO-TURNOS-SA,
               'T7'  TO ACCESOS-SOCIO-TURNOS- DO.
APPEND ACCESOS.
CLEAR ACCESOS.
MOVE'45051'  TO ACCESOS-SOCIO-NUMERO,
               'RUTH PE?A'  TO ACCESOS-SOCIO-NOMBRE,
               '0'  TO ACCESOS-SOCIO-REPOSICION,
               'T1'  TO ACCESOS-SOCIO-TURNOS-LU,
               'T2'  TO ACCESOS-SOCIO-TURNOS-MA,
               'T3'  TO ACCESOS-SOCIO-TURNOS-MI,
               'T4'  TO ACCESOS-SOCIO-TURNOS-JU,
               'T5'  TO ACCESOS-SOCIO-TURNOS-VI,
               'T6'  TO ACCESOS-SOCIO-TURNOS-SA,
               'T7'  TO ACCESOS-SOCIO-TURNOS- DO.
APPEND ACCESOS.
ENDFORM.
* FORM LLENA_ACCESOS *
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
* FORM DESCARGA_XML *
FORM DESCARGA_XML.
DATA: L_DOM  TYPE  REF  TO IF_IXML_ELEMENT,
              M_DOCUMENT  TYPE  REF  TO IF_IXML_DOCUMENT,
              G_IXML  TYPE  REF  TO IF_IXML,
              W_STRING  TYPE  XSTRING,
              W_SIZE  TYPE  I,
              W_RESULT  TYPE  I,
              W_LINE  TYPE  STRING,
              IT_XML  TYPE DCXMLLINES,
              S_XML  LIKE  LINE  OF IT_XML,
              W_RC  LIKE SY-SUBRC.

DATA: XML  TYPE DCXMLLINES.
DATA: RC  TYPE SY-SUBRC,
BEGIN  OF XML_TAB  OCCURS  0,
              D  LIKE  LINE  OF XML,
END  OF XML_TAB.

CLASS CL_IXML  DEFINITION  LOAD.
G_IXML = CL_IXML=> CREATE( ).
CHECK  NOT G_IXML  IS  INITIAL.
M_DOCUMENT = G_IXML->CREATE_DOCUMENT( ).
CHECK  NOT M_DOCUMENT  IS  INITIAL.
WRITE: /  'Converting DATA TO DOM 1:'.
CALL  FUNCTION  'SDIXML_DATA_TO_DOM'
EXPORTING
              NAME =  'ACCESOS'
              DATAOBJECT = ACCESOS[]
IMPORTING
              DATA_AS_DOM = L_DOM
CHANGING
              DOCUMENT = M_DOCUMENT
EXCEPTIONS
              ILLEGAL_NAME =  1
               OTHERS =  2.
IF SY-SUBRC =  0.
               WRITE  'Ok'.
ELSE.
               WRITE'Err =',
              SY-SUBRC.
ENDIF.
CHECK  NOT L_DOM  IS  INITIAL.
W_RC = M_DOCUMENT->APPEND_CHILD( NEW_CHILD = L_DOM ).
IF W_RC  IS  INITIAL.
               WRITE  'Ok'.
ELSE.
               WRITE'Err =',
              W_RC.
ENDIF.
CALL  FUNCTION  'SDIXML_DOM_TO_XML'
EXPORTING
              DOCUMENT = M_DOCUMENT
IMPORTING
              XML_AS_STRING = W_STRING
               SIZE = W_SIZE
TABLES
              XML_AS_TABLE = IT_XML
EXCEPTIONS
              NO_DOCUMENT =  1
               OTHERS =  2.
IF SY-SUBRC =  0.
               WRITE  'Ok'.
ELSE.
               WRITE'Err =',
              SY-SUBRC.
ENDIF.
LOOP  AT IT_XML  INTO XML_TAB-D.
               APPEND XML_TAB.
ENDLOOP.
CALL  FUNCTION  'WS_DOWNLOAD'
EXPORTING
              BIN_FILESIZE = W_SIZE
              FILENAME = GK_RUTA
              FILETYPE =  'BIN'
TABLES
              DATA_TAB = XML_TAB
EXCEPTIONS
               OTHERS =  10.
IF SY-SUBRC <>  0.
               MESSAGE  ID SY-MSGID  TYPE SY-MSGTY  NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/99072/viewspace-531632/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/99072/viewspace-531632/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值