我看过两篇关于 URL 约定的帖子,但我的问题是针对 OData Web 服务假设的 SAP 网关实现的。尝试$filter与 with 结合使用时,$expand我们收到错误消息:
Left hand expression of memberaccess operation has wrong cardinality
Run Code Online (Sandbox Code Playgroud)
假设我有两个简单的实体:
Foo
* Key
- Value
Bar
* Key
* Id
- Value
Run Code Online (Sandbox Code Playgroud)
Foo 与 1:n 关联Bar。以下 URL 按预期工作。
/sap/opu/odata/sap/ZTEST_SRV/Foo?$expand=Bar
Run Code Online (Sandbox Code Playgroud)
就像
/sap/opu/odata/sap/ZTEST_SRV/Foo?$filter=Key gt 10&$expand=Bar
Run Code Online (Sandbox Code Playgroud)
尝试$filter在实体Bar属性上使用时,Id我们收到错误消息。
/sap/opu/odata/sap/ZTEST_SRV/Foo?$filter=Key gt 10 and Bar/Id gt 2&$expand=Bar
Run Code Online (Sandbox Code Playgroud)
是否可以$filter在 SAP 中以这种方式使用 a ?相关文章如下。
我正在开发一个用于改变SAP设备数据的网关和代理接口.为了了解进来的数据是什么,我一直在使用BAL_*功能模块记录数据.它工作正常,到目前为止一直很有帮助.
最终,虽然我们将允许最终用户通过Web前端专门工作,但无法访问SAP GUI.他们不能使用交易SLG1.因此,我被要求创建一个Gateway实体,以便我们的前端开发人员可以从日志中查看消息的美丽视图.我已经注意到为每个日志创建了一个句柄,例如看起来像的东西051MjXRE7jMmdAR2X6GWoW.我在每个'run'和每个'handle'之间建立了联系.
我已经google了很多,来自功能组BAL_DSP_LOG_DISPLAY,以及其他BAL_*功能,如BAL_LOG_EXIST等等.无论我使用哪些函数,它们都会继续报告日志不存在(然后在括号中,在内存中找不到).我还没有真正找到一个使用这些函数的例子,首先创建它然后立即显示它.我假设因为日志刚刚创建,数据已经在内存中并且可以显示.
但是,我不能这样做.对此接口进行的大多数调用都是异步的,我无法将消息发送回客户端,也没有SAP GUI.同样,在挖掘函数并返回一个检查内存的宏时,我发现它显然确实没有.
有使用此日志的经验的人是否知道如何正确准备功能组以供使用?我假设我必须在调用它之前将其加载到内存中,但我自己找不到一个可以做这样的事情.