Created by Jerry Wang, last modified on Jul 21, 2014
以如下document为例,期望通过document id 3857获得该document的所有信息:
使用如下report:
PARAMETERS: content TYPE /ipro/tdocmnt-content DEFAULT 'ZCR_KT' OBLIGATORY,
document TYPE /ipro/tdocmnt-docmnt_id OBLIGATORY.
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 cx_root,
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( ).
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = document
IMPORTING
output = document.
TRY.
lo_document ?= lo_doc_factory->open( piv_docmnt_id = document ).
CATCH cx_root INTO lo_exception.
lv_error_text = lo_exception->get_text( ).
WRITE: /,lv_error_text.
RETURN.
ENDTRY.
DATA: lo_data TYPE REF TO /ipro/if_docb_attribute.
lo_data = lo_document->get_document_data( ).
输入content ID和document ID:
mo_element_counter is filled:
with all 8 entries:
可以和UI上的document summary里的信息比较:
attribute mo_current_varroot 里面包含所有变量的user input value: