两种方法区别的是
第一种不需要实例化,第二种需要实例化
第一种:
TRY.
NEW zcl_amdp_zmm006x( )->get_eine_eina( "zcl_amdp_zmm006x 类名称
EXPORTING “get_eine_eina 类方法
lv_client = sy-mandt” 端口必填
it_tab = it_tab_amdp[]"导入条件
IMPORTING
et_eine = lt_eina "字段顺序一定要一直
).
CATCH cx_amdp_execution_failed INTO DATA(ex_excution_mess).
MESSAGE ex_excution_mess TYPE ‘E’.
ENDTRY.
第二种
DATA:lv_amdp TYPE REF TO zcl_amdp_zsd150_shpc,
lv_where TYPE string.
*转换select option 用
DATA: lt_named_seltabs TYPE cl_shdb_seltab=>tt_named_seltables,
ls_named_seltabs TYPE cl_shdb_seltab=>ts_named_seltable.
TRY.
CLEAR: lt_named_seltabs.
IF s_erdat[] IS NOT INITIAL.
CLEAR:ls_named_seltabs.
ls_named_seltabs-name = ‘ERDAT’.
ls_named_seltabs-dref = REF #( s_erdat[] ).
APPEND ls_named_seltabs TO lt_named_seltabs.
ENDIF.
IF s_wl[] IS NOT INITIAL.
CLEAR ls_named_seltabs.
ls_named_seltabs-name = 'MATNR'.
ls_named_seltabs-dref = REF #( s_wl[] ).
APPEND ls_named_seltabs TO lt_named_seltabs.
ENDIF.
IF s_kh[] IS NOT INITIAL.
CLEAR ls_named_seltabs.
ls_named_seltabs-name = 'KUNNR'.
ls_named_seltabs-dref = REF #( s_kh[] ).
APPEND ls_named_seltabs TO lt_named_seltabs.
ENDIF.
IF s_konda[] IS NOT INITIAL.
CLEAR ls_named_seltabs.
ls_named_seltabs-name = 'KONDA'.
ls_named_seltabs-dref = REF #( s_konda[] ).
APPEND ls_named_seltabs TO lt_named_seltabs.
ENDIF.
lv_where = cl_shdb_seltab=>combine_seltabs( lt_named_seltabs ). "RETURNS A SQL WHERE CONDITION FOR MULTIPLE SELTABS
lv_amdp = NEW zcl_amdp_zsd150_shpc( ).
lv_amdp->get_vbak(
EXPORTING
p_clint = sy-mandt
iv_where = lv_where
IMPORTING
et_vbak = gt_data
).
CATCH cx_amdp_error INTO DATA(ex_message).
MESSAGE ex_message TYPE 'E'.
ENDTRY.