Skip to Content
0
Former Member
Aug 14, 2009 at 03:22 PM

Export Internal Table to XML in Background

36 Views

Hi

I need to export a internal table into xml file in background using open dataset. The file is getting created but i am not able to open the file using IE/XML editor . When i open the file uisng wordpad i can see some charcters at the end of file which prevents it from opening in xml editor. if i delete the characters(box like) and save the file. i am able to open the file

When i downalod the same internal table via frontend using ws_downlod it works pefectly. no junk charcters are appended in the end. and hence files opens perfectly

below is the extract of program

START-OF-SELECTION.

PERFORM get_data.

PERFORM create_xml.

FORM get_data.

REFRESH accesos.

CLEAR accesos.

MOVE: '45050' TO accesos-socio-numero,

'MOISES MORENO' TO accesos-socio-nombre,

'0' TO accesos-socio-reposicion.

APPEND accesos.

ENDFORM.

i am using the following function modules

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.

CHECK NOT l_dom IS INITIAL.

w_rc = m_document->append_child( new_child = l_dom ).

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.

LOOP AT it_xml INTO xml_tab-d.

APPEND xml_tab.

ENDLOOP.

The following syntax for open datset which does not work

********************************************************************

lv_physcial_file = '
hdat03\test.xml'.

OPEN DATASET lv_physcial_file IN BINARY MODE FOR OUTPUT MESSAGE l_msg.

LOOP AT xml_tab.

TRANSFER xml_tab TO lv_physcial_file.

ENDLOOP.

The ws_download function works

***************************************************************************

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

BIN_FILESIZE = W_SIZE

FILENAME = GK_RUTA

FILETYPE = 'BIN'

TABLES

DATA_TAB = XML_TAB

EXCEPTIONS

OTHERS = 10.

many thnaks