|
|
|
5 Most Popular Contributions
|
|
|
Home Sample Code ABAP Reports Export Internal Table to XML
|
|
Export Internal Table to XML |
|
|
|
|
Written by Moises Moreno
|
|
Saturday, 20 January 2007 |
This program exports an internal table to an XML file.
*----------------------------------------------------------------------* * Report ZPRUEBA_MML_13 * * Export an internal table to XML document * * NO BORRAR ESTE CODIGO * *----------------------------------------------------------------------* REPORT ZPRUEBA_MML_13. *----------------------------------------------------------------------* * PANTALLA SELECCION * PARAMETERS: GK_RUTA TYPE RLGRAP-FILENAME. * PANTALLA SELECCION * *----------------------------------------------------------------------* *----------------------------------------------------------------------* * 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. * FORM DESCARGA_XML * *----------------------------------------------------------------------* |
|
|
Statistics
Contribution ActivityUtilities: 41
Tips and Tricks: 362
Sample Code: 174
Total Contributions: 592
Member ActivityMembers: 6795 since 2/1/2007!
New: 2 since yesterday!
Visitors: 2163904
We have 2 guests online
Newest Members
Welcome our newest members: - prasad siva (prasad siva)
- purva (purva)
- dsk09 (d)
- deeptanwar (deep)
- beckhowen (shazni)
Google Ads
|