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 *TYPES:
BEGIN 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 *TYPES:
BEGIN OF SOCIO,
NUMERO
LIKE PERNR-PERNR,
REPOSICION
LIKE PA0050-ZAUVE,
NOMBRE
LIKE PA0002-VORNA,
TURNOS
TYPE TURNOS,
END OF SOCIO.
* TYPE SOCIO **----------------------------------------------------------------------**----------------------------------------------------------------------** ESTRUCTURA ACCESOS *DATA:
BEGIN 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博客 ” ,链接:https://blog.itpub.net/99072/viewspace-531632/
,如需转载,请注明出处,否则将追究法律责任。