news 2026/9/3 1:11:51

ABAP调用CDS AMDP:数据库存储过程封装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ABAP调用CDS AMDP:数据库存储过程封装

我理解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
).

完成

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 8:06:38

前端开发面试,就是撑死胆大的饿死胆小的

面过才懂:光 “实诚”“会干活” 不够,太老实易让优势变劣势,这些坑要避开:1. 🚫 JS核心基础不牢: 问题表现:闭包、原型链、事件循环讲得似是而非,手写Promise.all、防抖节流、深拷…

作者头像 李华
网站建设 2026/9/2 18:00:11

3分钟掌握luch-request:uni-app网络请求库的完整实战指南

3分钟掌握luch-request:uni-app网络请求库的完整实战指南 【免费下载链接】luch-request luch-request 是一个基于Promise 开发的uni-app跨平台、项目级别的请求库,它有更小的体积,易用的api,方便简单的自定义能力。 项目地址: …

作者头像 李华
网站建设 2026/9/2 10:35:13

网络工程毕设2026开题指导

0 选题推荐 - 大数据篇 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满足实际应…

作者头像 李华
网站建设 2026/8/31 21:06:31

Question:反转字符串中的字符(java)

题目:在解题之前我想先说明一下scanner.next()与scanner.nextLine()的区别:scanner.next():读取“单词”(以空白分隔)。1:跳过输入开头的所有空白字符(空格、换行、制表符等)。2&…

作者头像 李华
网站建设 2026/9/1 20:49:56

Clipper2:几何运算的多功能工具,多边形处理的全能解决方案

Clipper2:几何运算的多功能工具,多边形处理的全能解决方案 【免费下载链接】Clipper2 Polygon Clipping and Offsetting - C, C# and Delphi 项目地址: https://gitcode.com/gh_mirrors/cl/Clipper2 在计算机图形学与地理信息系统领域&#xff0c…

作者头像 李华