‎2006 Jul 11 8:40 AM
Hi,
in my program i don't use the method cl_gui_frontend_services=>gui_upload
because my file is on application server.
so how can i find the size of the table for using the method create_istream_itable .
when i use for testing the cl_gui_frontend_services=>gui_upload wit my xml file i have 6411. in the table i have 26 lines.
so is the number of characters??
thanks for your answers
serge
TYPES: BEGIN OF t_xml_line,
data(256) TYPE x,
END OF t_xml_line.
DATA: l_ixml TYPE REF TO if_ixml,
l_streamfactory TYPE REF TO if_ixml_stream_factory,
l_parser TYPE REF TO if_ixml_parser,
l_istream TYPE REF TO if_ixml_istream,
l_document TYPE REF TO if_ixml_document,
l_node TYPE REF TO if_ixml_node,
l_xmldata TYPE string,
l_elem TYPE REF TO if_ixml_element,
l_root_node TYPE REF TO if_ixml_node,
l_next_node TYPE REF TO if_ixml_node,
l_name TYPE string,
l_iterator TYPE REF TO if_ixml_node_iterator,
l_xml_table TYPE TABLE OF t_xml_line,
l_xml_line TYPE t_xml_line,
l_xml_table_size TYPE i,
l_filename TYPE string,
parseerror TYPE REF TO if_ixml_parse_error,
str TYPE string,
i TYPE i,
count TYPE i,
index TYPE i.
TYPES: BEGIN OF xml_line,
data(256) TYPE x,
END OF xml_line.
DATA: element TYPE REF TO if_ixml_element.
DATA: attributes TYPE REF TO if_ixml_named_node_map,
attribute TYPE REF TO if_ixml_attribute,
child TYPE REF TO if_ixml_node.
DATA: xml_table TYPE TABLE OF xml_line,
w_xml TYPE xml_line,
filename TYPE string,
xml_size TYPE i.
DATA : w_det TYPE w_csvdet,
off TYPE i,
l TYPE i.
LOOP AT t_csvdet INTO w_det.
FIND l_line IN filename_in MATCH OFFSET off MATCH LENGTH l.
CLEAR filename_in+off(l).
CONCATENATE filename_in w_det-fact_or '.xml' INTO filename_in.
OPEN DATASET filename_in FOR INPUT IN BINARY MODE.
DO.
READ DATASET filename_in INTO w_xml-data.
IF sy-subrc NE 0.
EXIT.
ENDIF.
APPEND w_xml TO xml_table.
CLEAR : w_xml.
ENDDO.
CLOSE DATASET filename_in.
l_ixml = cl_ixml=>create( ).
l_streamfactory = l_ixml->create_stream_factory( ).
l_document = l_ixml->create_document( ).
l_istream = l_streamfactory->create_istream_itable( table = xml_table
size = l_xml_table_size ).
‎2013 Feb 20 8:52 AM