SAP XML Output Document Save to Local

xiaoxiao2021-03-06  20

* ------------------------------------------------- --------------------- *

* Report Zprueba_mml_13 *

* EXPORT An Internal Table To XML Document *

* No borrar este code code code code

* ------------------------------------------------- --------------------- *

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,

Reposidence Like Pa0050-Zauve,

Nombre Like Pa0002-Vorna,

Turnos Type Turnos,

End of socio.

* TYPE SOCIO *

* ------------------------------------------------- --------------------- *

* ------------------------------------------------- --------------------- *

* ESTRUCTURA Accesos *

Data: Begin of Acces Occurs 0,

Socio Type Socio,

End of access.

* ESTRUCTURA Accesos *

* ------------------------------------------------- --------------------- *

* ------------------------------------------------- --------------------- *

* START OF SELECTION *

Start-of-selection.

Perform Llena_accesos.

Perform descarga_xml.

End-of-selection.

* End of success *

* ------------------------------------------------- --------------------- ** --------------------------- ------------------------------------------- *

* Form Llena_accesos *

Form llena_accesos.

Refresh Accesos.

Clear Accesos.

Move: '45050' to accessosos-solidio-numero,

'Moises Moreno' to Accesos-Socio-Nombre,

'0' TO Accesos-Socio-reposidence,

'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 accessosos-solidio-numero,

'Ruth Peña' to Accesoso-Socio-Nombre,

'0' TO Accesos-Socio-reposidence,

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

转载请注明原文地址:https://www.9cbs.com/read-42528.html

New Post(0)