Application Development and Automation 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: 
Read only

error while downloading data from internal table into XML file

Former Member
0 Likes
847

hi all,

i developed a program to download data from into internal table to xml file like this.

tables: mara.

parameters: p_matnr like mara-matnr.

data: begin of itab_mara occurs 0,

matnr like mara-matnr,

ernam like mara-ernam,

aenam like mara-aenam,

vpsta like mara-vpsta,

end of itab_mara.

data: lv_field_seperator type c, " value 'X',

lv_xml_doc_name(30) type c, " string value ‘my xml file’,

lv_result type i.

lv_field_seperator = 'x'.

lv_xml_doc_name = 'my xml file'.

types: begin of truxs_xml_line,

data(256) type x,

end of truxs_xml_line.

types:truxs_xml_table type table of truxs_xml_line.

data:lv_tab_converted_data type truxs_xml_line,

lt_tab_converted_data type truxs_xml_table.

data: lv_xml_file type rlgrap-filename value 'c:\simp.xml'.

select matnr ernam aenam vpsta from mara into table itab_mara up to 5

rows where matnr = p_matnr.

CALL FUNCTION 'SAP_CONVERT_TO_XML_FORMAT'

EXPORTING

I_FIELD_SEPERATOR = lv_field_seperator

  • I_LINE_HEADER =

  • I_FILENAME =

  • I_APPL_KEEP = ' '

I_XML_DOC_NAME = lv_xml_doc_name

IMPORTING

PE_BIN_FILESIZE = lv_result

TABLES

I_TAB_SAP_DATA = itab_mara

CHANGING

I_TAB_CONVERTED_DATA = lt_tab_converted_data

  • EXCEPTIONS

  • CONVERSION_FAILED = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

open dataset lv_xml_file for output in binary mode.

loop at lt_tab_converted_data into lv_tab_converted_data.

transfer lv_tab_converted_data to lv_xml_file.

endloop.

close dataset lv_xml_file.

this program is syntactically correct and getting executed, but when i open the target xml file it is showing the following error.

The XML page cannot be displayed

Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.

-


XML document must have a top level element. Error processing resource 'file:///C:/simp.xml'.

will anyone show me the possible solution to rectify this error

thanks and regards,

anil.

5 REPLIES 5
Read only

Former Member
0 Likes
631

Hi,

Probably there is a lack of this preambule:

<?xml version="1.0"?>

Regards,

Wojciech

Read only

0 Likes
631

Hello Wojciech,

i already included that tag in my XML file, but also iam getting that error.

let me if there is any other solution.

thanks,

anil.

Read only

Former Member
0 Likes
631

Hi,

Here is a small sample program to convert data in an internal table into XML format and display it.


DATA: itab  TYPE TABLE OF spfli,
      l_xml TYPE REF TO cl_xml_document.
* Read data into a ITAB
SELECT * FROM spfli INTO TABLE itab.
* Create the XML Object
CREATE OBJECT l_xml.
* Convert data in ITAB to XML
CALL METHOD l_xml->create_with_data( name = 'Test1'
                                     dataobject = t_goal[] ).
* Display XML Document
CALL METHOD l_xml->display.

Here are some other sample SAP programs to handle XML in ABAP:

BCCIIXMLT1, BCCIIXMLT2, and BCCIIXMLT3.

Hope this helps,

Sumant.

Read only

0 Likes
631

Hello Mr. Sumanth,

i have to develop that program in 4.6c version. when i tested that program it is showing that the class CL_XML_DOCUMENT is unknown, there iam stuck. is there any other solution to deal this scenario or is there any coding to download internal table data into XML file without using the class CL_XML_DOCUMENT.

Thanks for ur reply,

anil.

Read only

0 Likes
631

Hello Mr. Sumanth,

sorry Mr. Sumanth the coding which u have provided for downloading internal table data into a XML file worked well apart from having CL_XML_DOCUMENT. but the problem is that it is downloading the internal table content by creating a XML file. but my requirement is i will have a predefined location in which the XML file will be present like 'c:\simp.xml'. into this predefined location i have to download the internal table content.

plz suggest me some coding for this requirement.

Thanks,

anil.