Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

internal table data to xml

Former Member
0 Kudos

Hi ,

whats the best way to convert a internal table data to xml format and place it on app. server in 4.6c. i serched and some threads say call transformation ID, it doesnt worked. how to use "convert to xml" FM it doesnt ask for a internal table?

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hi kris,,

please try SAP_CONVERT_TO_XML_FORMAT

reward of helpful

try this simple code

data: xml_out type string,

xmltab type swbhtmltable.

please use select statement to get data into itab.

call transformation ('ID')

source tab = itab[]

result xml xml_out.

call function 'SWA_STRING_TO_TABLE'

exporting

character_string = xml_out

importing

character_table = xmltab.

call function 'GUI_DOWNLOAD'

exporting

filetype = 'BIN'

filename = 'D:\xx.xml'

tables

data_tab = xmltab.

regards,

sampath

Edited by: sampath pilla on Apr 29, 2008 10:16 PM

6 REPLIES 6

Former Member
0 Kudos

hi kris,,

please try SAP_CONVERT_TO_XML_FORMAT

reward of helpful

try this simple code

data: xml_out type string,

xmltab type swbhtmltable.

please use select statement to get data into itab.

call transformation ('ID')

source tab = itab[]

result xml xml_out.

call function 'SWA_STRING_TO_TABLE'

exporting

character_string = xml_out

importing

character_table = xmltab.

call function 'GUI_DOWNLOAD'

exporting

filetype = 'BIN'

filename = 'D:\xx.xml'

tables

data_tab = xmltab.

regards,

sampath

Edited by: sampath pilla on Apr 29, 2008 10:16 PM

0 Kudos

sampath, I mentioned call transformation ID is not working in 4.6c. what do u put in ('ID'), amd its giving syntax error like " feild...is expected after source".... somewhere in sdn it was mentioned that call transformation works from 4.7. coming to convert to xml FM, where should i give the input internal table? if you have used it before can you plz tell me what import and export parameters we have to pass.

0 Kudos

This code you offered works! I was unable to get the FM SAP_CONVERT_TO_XML_FORMAT to work properly. Thanks Very Much!

0 Kudos

Hi,

I want to convert the data in an internal table into xml format.

I tried call transformation. But im really not sure, what all shoud be maintained before calling a transformation. For ex: we need to first create a transformation id before calling it. And what should be the source code for transformation?

Plz help!!

Regards,

Sneha

Former Member
0 Kudos

The following program will 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.

Reward if helpful.

Former Member
0 Kudos

This message was moderated.