通过document id和content拿到SAP document的binary data
- 2020 年 3 月 9 日
- 筆記
Created by Wang, Jerry on Sep 25, 2015
文档的内容-存在ls_output-data里面
PARAMETERS: content TYPE /ipro/tdocmnt-content DEFAULT 'DLA', document TYPE /ipro/tdocmnt-docmnt_id. *data: document TYPE /ipro/tdocmnt-docmnt_id value '0000000815'. DATA: lt_contents TYPE /ipro/tt_contents, lo_content TYPE REF TO /ipro/if_content, lo_doc_factory TYPE REF TO /ipro/if_docb_factory, lo_document TYPE REF TO /ipro/if_document, lv_content TYPE string, lo_exception TYPE REF TO /ipro/cx_serializer_failed_at, lv_error_text TYPE string. lv_content = content. CALL FUNCTION '/IPRO/CONTENT_FACTORY' EXPORTING piv_name = lv_content IMPORTING pet_contents = lt_contents. READ TABLE lt_contents INTO lo_content INDEX 1. CHECK lo_content IS BOUND. lo_doc_factory = lo_content->get_docb_factory( ). TRY. lo_document ?= lo_doc_factory->open( piv_docmnt_id = document ). CATCH /ipro/cx_serializer_failed_at INTO lo_exception. lv_error_text = lo_exception->get_name( ). WRITE: /,lv_error_text. ENDTRY. data: ls_output TYPE /IPRO/S_OUTPUT. WRITE sy-uzeit. lo_document->/ipro/if_output~enable( '1' ). ls_output = lo_document->/IPRO/IF_OUTPUT~GENERATE( '1' ).