Я использую следующий код для сохранения данных во внутренней таблице в виде XML-файла. Но дополнительный символ '#' добавляется к файлу. Если я удалю этот дополнительный «#», браузер сможет прочитать xml.Преобразование itab в XML добавляет дополнительный символ в BOF
REPORT ZGAURAV1.
types: begin of struct,
col1 type i,
col2(5),
end of struct.
data: it type STANDARD TABLE OF struct.
data: wa type struct.
wa-COL1 = 1.
wa-COL2 = 'abc'.
APPEND wa to it.
wa-COL1 = 2.
wa-COL2 = 'def'.
APPEND wa to it.
data: xml_out TYPE string.
call TRANSFORMATION id
source output = it[]
RESULT XML xml_out.
data: xmltab type STANDARD TABLE OF string.
append xml_out to xmltab
.
CALL FUNCTION 'DOWNLOAD'
EXPORTING
filename = 'C:\USERS\GAURAV\DESKTOP\TESTING.XML'
filetype = 'ASC'
TABLES
data_tab = xmltab
XML-файл, который будет создаваться в
#<?xml version="1.0" encoding="utf-16"?><asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"><asx:values><OUTPUT><item><COL1>1</COL1><COL2>abc</COL2></item><item><COL1>2</COL1><COL2>def</COL2></item></OUTPUT></asx:values></asx:abap>
EDIT:
Я попытался с помощью параметра замены в GUI_DOWNLOAD как предложено @Suncatcher. Но теперь в начале файла есть дополнительное пространство, из-за которого браузер не может прочитать xml. Как пространство в начале делает браузер неспособным прочитать xml? Я создал еще один xml и добавил пробелы, но браузер смог прочитать его. Созданный XML является
<?xml version="1.0" encoding="utf-16"?><asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"><asx:values><OUTPUT><item><COL1>1</COL1><COL2>abc</COL2></item><item><COL1>2</COL1><COL2>def</COL2></item></OUTPUT></asx:values></asx:abap>
Если я удалить дополнительное пространство, он отлично работает.
Что я могу предложить - это изменить браузер, как говорили предыдущие ораторы :) Экстра-пространство не должно быть проблемой вообще. – Suncatcher