SAP ABAP AMDP类的两种使用方法

两种方法区别的是
第一种不需要实例化,第二种需要实例化

第一种:
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.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放弃幻想_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值