DATA :lo_model1 TYPE REF TO if_usmd_model_ext,
lo_model TYPE REF TO cl_usmd_model_ext,
CALL METHOD cl_usmd_model_ext=>get_instance
EXPORTING
i_usmd_model = ‘BP’
IMPORTING
eo_instance = lo_model1
IF lo_model1 IS NOT BOUND.
RETURN.
ENDIF.
lo_model ?= lo_model1.
ls_sel-fieldname = usmd0_cs_fld-crequest.
ls_sel-sign = usmd0_cs_ra-sign_i.
ls_sel-option = usmd0_cs_ra-option_eq.
ls_sel-low = iv_crequest.
INSERT ls_sel INTO TABLE lt_sel.
lo_model->if_usmd_model_ext~read_char_value(
EXPORTING
i_fieldname = usmd0_cs_fld-crequest
it_sel = lt_sel
if_no_flush = abap_false
IMPORTING
et_data = lt_object_list
et_message = lt_message ).
LOOP AT lt_object_list INTO ls_object_list WHERE usmd_entity_obj = ‘BP_HEADER’.
CLEAR ls_sel.
ls_sel-fieldname = ‘BP_HEADER’.
ls_sel-sign = usmd0_cs_ra-sign_i.
ls_sel-option = usmd0_cs_ra-option_eq.
WRITE ls_object_list-usmd_value TO ls_sel-low.
INSERT ls_sel INTO TABLE lt_sel.
ENDLOOP.
CALL METHOD lo_model->if_usmd_model_ext~create_data_reference “create_data_reference
EXPORTING
i_fieldname = lv_fieldname
i_struct = ‘KATTR’
i_tabtype = ‘S’
IMPORTING
er_data = lo_data1.
ASSIGN lo_data1->* TO <lfs_lt_data>.
CALL METHOD lo_model->if_usmd_model_ext~read_char_value(
EXPORTING
i_fieldname = <Entity name>
it_sel = lt_sel
i_readmode = ‘3’
if_no_flush = abap_false
IMPORTING
et_data = <lfs_lt_data>
et_message = lt_message ).