我理解amdp 类似于数据库存储过程,对一系列简单动作的封装,本文主要讲的是创建cds amdp 给abap调用

CDS代码

class ZCL_AMDP_YYYY_DEMO1 definition

public

final

create public .

public section.

INTERFACES if_amdp_marker_hdb.

DATA lt_ZTYYY_TEST type table OF ZTYYY_TEST.

TYPES:

tt_YYY_TEST TYPE TABLE OF ZTYYY_TEST .

CLASS-METHODS GET_DATA

IMPORTING

VALUE(p_MATNR) TYPE MATNR

VALUE(p_WERKS) TYPE WERKS_D

EXPORTING

VALUE(et_DATA) TYPE tt_YYY_TEST.

protected section.

private section.

ENDCLASS.

CLASS ZCL_AMDP_YYYY_DEMO1 IMPLEMENTATION.

METHOD GET_DATA BY DATABASE PROCEDURE

FOR HDB LANGUAGE SQLSCRIPT "hana脚本语言

OPTIONS READ-ONLY " 只读

"用到的表

USING ZTYYY_TEST .

et_DATA = select * from ZTYYY_TEST

where mandt = session_context('CLIENT')

AND MATNR = :P_MATNR

AND WERKS = :P_WERKS;

* et_DATA =

* SELECT

* *

* FROM :lt_ZTYYY_TEST

* WHERE mandt = session_context('CLIENT')

* AND MATNR = :P_MATNR

* AND WERKS = :P_WERKS;

ENDMETHOD.

ENDCLASS

创建report 消费amdp

REPORT ZYYY_TEST_001.

PARAMETERS :P_MATNR TYPE MATNR,  "
            p_werks TYPE char4.

START-OF-SELECTION .

  ZCL_AMDP_YYYY_DEMO1=>GET_DATA(
    exporting
      P_MATNR = P_MATNR
      P_WERKS = p_werks
    importing
      ET_DATA = data(lt_data)
  ).

CL_DEMO_OUTPUT=>DISPLAY_DATA(
  exporting
    VALUE =  lt_data
*    NAME  =     " Name
).
 

完成

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐