ABAP AMDP数据库存储过程(数据源)

一.ABAP环境配置:
使用AMDP需要配置eclipse环境,使用eclipse软件才能编写类与数据定义语言源。
点击跳转: https://jingyan.baidu.com/article/67508eb471dd5c9ccb1ce458.html
eclipse添加ABAP插件时候,去这里https://tools.hana.ondemand.com/ 查看对应eclipse的对应版本插件链接,如图
在这里插入图片描述

二.数据源
ABAP托管数据库过程(ABAP-Managed Database Procedure,以下简称AMDP)是在APAP on SAP HANA开发中的一种优化模式。AMDP使用数据库语言书写,比如Native SQL或者是SQL Script,并且在AMDP类的AMDP方法内实现。因此用它开发数据库过程就有点类似于编辑ABAP类。

简而言之,AMDP允许开发者直接在ABAP中写数据库过程。
数据源可以把它当作一个SAP底表使用,它的优势在于多个数据处理在数据库层,没有占用应用层的内存,提升系统效率;

AMDP还能提供以下好处:

SQL Script的静态代码检查
语法高亮(支持pretty printer格式优化器) 
在AMDP内访问其它AMDP方法、ABAP字典的视图和表 
可以像普通的ABAP方法一样调用(不包括AMDP function)  
使用ST22进行运行时错误的详细分析

AMDP数据源有两部分组成:数据定义语言源+类

  1. 创建一个: data definition(数据定义)输入名称之后点击完成;
    

在这里插入图片描述
在这里插入图片描述

  1. 修改其中的代码
    

在这里插入图片描述

上代码直接拷贝:

@EndUserText.label: 'LMF_TEST'
define table function ZTB_LMF_TEST
with parameters 
    @Environment.systemField: #CLIENT
    p_clnt   : abap.clnt
returns
{
  mandt   : abap.clnt;
  EBELN   : ebeln;
  EBELP   : ebelp;
  ERNAM   : ernam ;
  MATNR   : matnr ;
  LIFNR   : lifnr ;  

}
implemented by method zlmf_test=>get_mm_ekpo;
  1. 创建一个类:填写Z开头类名称,填写描述之后,点击完成。
    在这里插入图片描述

  2. 写好取数逻辑和返回参数。
    在这里插入图片描述

上文本代码:

CLASS zlmf_test DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC .
  PUBLIC SECTION.
      INTERFACES: if_amdp_marker_hdb.   "固定写法
      CLASS-METHODS:get_mm_ekpo for table FUNCTION ztb_lmf_test.
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.


CLASS zlmf_test IMPLEMENTATION.
    METHOD get_mm_ekpo BY DATABASE
        FUNCTION FOR HDB LANGUAGE
        SQLSCRIPT  OPTIONS READ-ONLY
        USING EKKO EKPO .
        
  LT_YSL =
    SELECT DISTINCT
       A.mandt,
       a.EBELN,
       b.EBELP,
       a.ERNAM ,
       b.MATNR,
       a.LIFNR
    from ekko AS a
    left join ekpo as b on a.mandt = b.mandt and a.ebeln = b.ebeln
    where  A.ERNAM = 'LIMF'
    AND  a.MANDT = P_CLNT;

RETURN
   SELECT
      mandt,
      EBELN,
      EBELP,
      ERNAM ,
      MATNR,
      LIFNR
      FROM:LT_YSL;
    ENDMETHOD .
ENDCLASS.
  1. 把数据定义和类同时激活,完成简单数据源

在SAP代码中调取数据源:
在这里插入图片描述

参考链接:
详细AMDP解释和实现—>

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值