通过document id和content拿到SAP document的binary data

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' ).
发布了6935 篇原创文章 · 获赞 651 · 访问量 116万+

猜你喜欢

转载自blog.csdn.net/i042416/article/details/104704598
今日推荐