![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#6 |
Jr. Member
![]() Registriert seit: 07.11.2004
Beiträge: 66
|
![]() ja habs jetzt auch nochmal durchgeackert und es versucht auch so zu machen, nur bei mir schmeißts mich irgendwo beim speichern meiner internen tabelle. anbei mein code, vielleicht kannst ihn dir mal durchsehen ob du beim ws_download nen fehler findest... --> Danke schonmal!
*&---------------------------------------------------------------------* *& Report Z_XML_CREATE * *& * *&---------------------------------------------------------------------* *& * *& * *&---------------------------------------------------------------------* REPORT z_xml_create . TYPE-POOLS truxs. DATA: it_table LIKE npat OCCURS 0. DATA: l_dom TYPE REF TO if_ixml_element, m_document TYPE REF TO if_ixml_document, g_ixml TYPE REF TO if_ixml, m_xmldoc TYPE REF TO cl_xml_document, 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, l_iref_pstreamfactory TYPE REF TO if_ixml_stream_factory, l_iref_postream TYPE REF TO if_ixml_ostream, it_converted_data TYPE truxs_xml_table, it_converted_line LIKE LINE OF it_converted_data, * w_result TYPE I, * w_rc like sy-subrc, s_node TYPE string. START-OF-SELECTION. SELECT * FROM npat INTO TABLE it_table UP TO 10 ROWS. END-OF-SELECTION. ******************************************** **** initialize iXML-Framework **** ******************************************** WRITE / 'initialiazing iXML:'. CLASS cl_ixml DEFINITION LOAD. g_ixml = cl_ixml=>create( ). CHECK NOT g_ixml IS INITIAL. WRITE: 'ok'. ******************************************** **** create DOM from SAP data **** ******************************************** WRITE / 'creating iXML doc:'. m_document = g_ixml->create_document( ). CHECK NOT m_document IS INITIAL. WRITE: 'ok'. WRITE / 'converting DATA TO DOM 1:'. CALL FUNCTION 'SDIXML_DATA_TO_DOM' EXPORTING name = 'IT_TABLE' dataobject = it_table 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. WRITE / 'appending DOM to iXML doc:'. w_rc = m_document->append_child( new_child = l_dom ). IF w_rc IS INITIAL. WRITE 'ok'. ELSE. WRITE: 'Err =', w_rc. ENDIF. ******************************************** **** visualize iXML (DOM) **** ******************************************** WRITE / 'displaying DOM:'. CALL FUNCTION 'SDIXML_DOM_TO_SCREEN' EXPORTING document = m_document EXCEPTIONS no_document = 1 OTHERS = 2. IF sy-subrc = 0. WRITE 'ok'. ELSE. WRITE: 'Err =', sy-subrc. ENDIF. ******************************************** **** create xml-file **** ******************************************** 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. ******************************************** **** ws_download into out.xml **** ******************************************** CALL FUNCTION 'WS_DOWNLOAD' EXPORTING bin_filesize = w_size filename = 'C:\out.xml' filetype = 'BIN' TABLES data_tab = it_xml EXCEPTIONS OTHERS = 10. IF sy-subrc <> 0. WRITE: / 'Error occurred'. ELSE. WRITE: / 'XML FILE WRITTEN'. ENDIF. |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|