ABAP-引用接口创建全局类

ABAP-引用接口创建全局类

  1. 打开tcode SE24 创建接口

 

 

创建方法GET_AUDAT

为GET_AUDAT创建参数并激活接口

 

2.创建类YN_CLASS_DEMO_01

为YN_CLASS_DEMO_01引用刚刚创建的接口YN_INTERFACE_DEMO_01

创建属性

引用接口中的方法YN_INTERFACE_DEMO_01~GET_AUDAT

创建event并为其创建参数

编写方法YN_INTERFACE_DEMO_01~GET_AUDAT的实现:

  METHOD YN_INTERFACE_DEMO_01~GET_AUDAT.

    SELECT SINGLE *
      
INTO ME->A_VBAK
      
FROM VBAK
      
WHERE VBELN VBELN .

    IF SY-SUBRC 0.
      ERDAT ME->A_VBAK-ERDAT .
    ELSE.
      RAISE EVENT NODATA EXPORTING MESSAGE '订单&& VBELN && '凭证日期查询失败!'.
    ENDIF.

  ENDMETHOD.

 

创建NODATA_HANDEL用于绑定EVENT,选中NODATA_HANDEL点击

可进行绑定操作

为NODATA_HANDEL方法编写实现,并激活类YN_CLASS_DEMO_01

 

3.创建程序测试调用YN_CLASS_DEMO_01

*&---------------------------------------------------------------------*
*& Report YN_ZCLASS_TEST_01
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YN_ZCLASS_TEST_01.

TABLES:VBAK.

TYPESBEGIN OF GTS_DATA,
        VBELN         TYPE  VBAK-VBELN,             "SO单号
        ERDAT         TYPE  VBAK-ERDAT,             "过账日期
      END OF GTS_DATA.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONSS_VBELN FOR VBAK-VBELN  MODIF ID C1 OBLIGATORY .               "SO单号
SELECTION-SCREEN END OF BLOCK B1.

DATA GT_VBAK TYPE TABLE OF GTS_DATA WITH HEADER LINE .
DATA OL_CLS_SO TYPE REF TO YN_CLASS_DEMO_01 .

CLASS DEMO DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS:
      MAIN.
ENDCLASS.

CLASS DEMO IMPLEMENTATION.
  METHOD MAIN.
    DATA(OUT) = CL_DEMO_OUTPUT=>NEW( ).

    OUT->BEGIN_SECTION`结果展示`
      )->WRITEGT_VBAK[] ).

    OUT->DISPLAY( ).
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION .
SELECT VBELN INTO CORRESPONDING FIELDS OF TABLE GT_VBAK[] FROM VBAK
  
WHERE VBELN IN S_VBELN .

CHECK GT_VBAK[] IS NOT INITIAL .
CREATE OBJECT OL_CLS_SO .

LOOP AT GT_VBAK .

 CALL METHOD OL_CLS_SO->YN_INTERFACE_DEMO_01~GET_AUDAT
   
EXPORTING
     VBELN GT_VBAK-VBELN
   
IMPORTING
     ERDAT GT_VBAK-ERDAT
     
.

  MODIFY GT_VBAK .
  CLEAR GT_VBAK .

ENDLOOP.

DEMO=>MAIN( ).

 

结果展示:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值