关于 SAP AMDP 调用错误消息 client-specific and restricts access to a client
近日一个朋友做 SAP AMDP 开发时,遇到如下错误消息:XXX is client-specific and restricts access to a client. The calling AMDP method XX must also allow this restriction.
本文将这个错误消息相关的背景知识记录如下。
发生问题的场景是在基于 S4/HANA 系统的 ABAP Test Cockpit ATC 和 CVA 检查的代码增强过程中,决定将 OpenSQL Select 语句移动到通过 HANA 数据库上的 AMDP 存储过程访问的 CDS 视图中。
创建 CDS 视图,在其中使用 WHERE 子句中的会话参数 $session.client 根据 MANDT 列上的会话客户端值过滤数据,如下面的 SELECT 代码所示:
select * from vbrk where vbrk.mandt = $session.client;
当我尝试在我的 AMDP 类方法(HANA 数据库上的存储过程)中使用此 CDS 视图时,我遇到了以下错误,导致 AMDP 无法成功编译和激活。
xxx is client-specific and restricts access to a client. The calling AMDP method “AMDP_METHOD” must also allow this restriction.
在以下代码行中,ABAP 开发人员可以看到我如何在 AMDP 中调用 CDS 视图并使用 APPLY_FILTER 命令应用 WHERE 子句。
lt_vbrk = apply_filter ("Z_CDS_VIEW", :iv_where);
经过官网的搜索,我发现存储过程需要在 AMDP 类方法声明中定义其他 AMDP 选项。
需要修改 AMDP 方法定义如下:
class-methods AMDP_METHOD
AMDP OPTIONS READ-ONLY
CDS SESSION CLIENT current
importingvalue(iv_where) type string
exportingvalue(et_invoicelist_xl) type ZSOM_INF_INV_VBRK_TT
raising cx_amdp_error .
方法的实现体无需进行任何修改。
如果指定了选项 READ-ONLY,则在数据库过程或数据库函数的实现中只允许读取数据库表。 只能调用也标记为只读的其他 AMDP 方法的数据库过程或数据库函数。 这通过语法检查或在运行时进行检查。
此属性也可以在使用 METHOD meth BY DATABASE PROCEDURE|FUNCTION 的 AMDP 方法的实现中使用附加选项来指定。 它适用于在声明或方法的实现中指定时,或两者兼而有之。
在 AMDP 函数或 L 过程的实现中,选项 READ-ONLY 必须至少指定一次。 如果在带有 RETURNING 参数的方法声明中使用了附加的 AMDP OPTIONS,则必须已在声明中指定选项 READ-ONLY。
关于 SAP AMDP 调用错误消息 client-specific and restricts access to a client相关推荐
- SAP APF框架错误消息Filter is too complex的处理
本文介绍SAP APF框架错误消息Filter is too complex的处理思路. Created by Wang, Jerry, last modified on Jun 03, 2016 要 ...
- 如何处理SAP云平台错误消息 there is no compute unit quota for subaccount
当我试图部署一个应用到SAP云平台的neo环境时: 指定Compute Unit Size为Lite: 点击Deploy按钮,遇到如下错误消息:there is no compute unit quo ...
- SAP Fiori Launchpad 错误消息 - 400 File is not contained in a resource root
Created by Jerry Wang, last modified on Aug 25, 2015 The following error message occurs: 该error在line ...
- SAP OData实现错误消息:OPPORTUNITIES_GET_ENTITY not implemented in data provider class
Created by Jerry Wang, last modified on Nov 07, 2014 /sap/opu/odata/SAP/CRM_OPPORTUNITY/Opportunitie ...
- 如何处理SAP Fiori Launchpad错误消息:Could not start the app due to a configuration problem
Created by Jerry Wang, last modified on Dec 03, 2015 关键词 Container ushell getService NavTargetResolu ...
- 如何处理APF框架的错误消息:Filter is too complex error
本文介绍SAP APF框架错误消息的处理: Filter is too complex error Created by Wang, Jerry, last modified on Jun 02, 2 ...
- 如何处理Docker的错误消息request canceled:Docker代理问题
在本地安装Kubernetes时,遇到错误消息: request canceled while waiting for connection(Client.Timeout exceeded while ...
- 调用Hybris API时遇到的错误消息Cannot find user with uid如何解决
今天工作中试图调用Commerce Cloud的user creation API用代码创建Hybris用户时,遇到下面这个错误消息. 我觉得很奇怪,因为backoffice里能查到这个id为jerr ...
- 部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息
问题描述 当我试图使用 SAP 成都研究院 Business Application Studio 部署一个 SAP UI5 应用到 SAP Business Technology Platform ...
最新文章
- pycharm工程中的pip用不了怎么办?
- 【问链财经-区块链基础知识系列】 第二十六课 隐私保护方法:多方安全计算和区块链
- 基本运算符与if while详解:
- argis中4波段影像变3波段
- [ZJOI2006]超级麻将
- C语言课后习题(38)
- oracle ocx加载错误,flash9.ocx 加载错误解决方法
- GitGithub学习笔记
- Office报错:错误代码:30015-6(-1)
- easyui-treegrid的案例
- 熬了一个通宵,终于把Reids的7千万个Key删完了,今天脑子都嗡嗡响!
- PHP 收货地址:添加、修改、删除
- 异步时钟下跨时钟域信号处理
- C++随机数生成器(default_random_engine)
- Android Gallery3D源码分析(一)
- 海森(hessian)矩阵
- 计算机程序可以通过删除卸载嘛,怎么彻底卸载电脑软件程序多种方法
- CCProxy网络共享代理服务端配置使用
- Javascript-introduce
- uniapp小说阅读