问题标签 [sap-gateway]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
data-modeling - SAP Gateway 开发:如何编写好的“可映射”功能模块?
在使用 SEGW t-code 开发 SAP Gateway 项目时,我总是尝试从功能模块/BAPI 导入实体集。
除了非常快速和有用之外,我 - 大多数情况下 - 还能够将数据源映射到数据提供者类的 CRUD-Q 操作方法。这种映射与 SAP 提供的许多 FM/BAPI 配合得很好。
可悲的是,我不知道如何自己编写功能组/功能模块,这些功能组/功能模块也非常“可映射”。通常,我得到了 GetEntitySet 映射,但其他都没有(创建、删除等)。我不知道编写良好的“可映射”功能模块需要什么导入/导出参数或其他什么。
ibm-mobilefirst - 如何在 SAP NetWeaver Mobile First 适配器中传递标头
如何在 IBM Mobile First 平台的 SAP NetWeaver 网关适配器中传递 Header 参数。我想在 SAP adpater 的标头中传递参数..
在 HTTP Adapter 中,我们可以创建 header 参数,然后可以在其中传递所需的参数,但是在移动的 SAP NW Adapter 的情况下如何传递。???
abap - 如何在 SAP NetWeaver Gateway 中建模多对多关系?
首先要说的是我做过研究,这个问题已经在 SCN 上提出过,但那里没有答案。我也尝试谷歌,但一个小时后我投降了。
我有两个实体,User
并且Project
. 它们之间有两种关联:一种是1:n
说它的所有者是谁Project
。但是还有第二个,一个说谁(哪个User
)候选人为哪个Project
。
我还可以做的是在两者之间创建实体,称为Candidation
. 我已经定义了关联CandidationToUser
和CandidationToProject
.
现在我可以在没有中间的情况下直接定义这样的多对多关系Candidation
吗?在那之后,我该如何实现它?我想在UserSet
上Project
和 在ProjectSet
上User
。在两者Candidation
之间,我只有一个和CandidationSet
User
Project
sapui5 - 将 SAP Gateway 服务配置为忽略有效负载中未定义的属性
场景很简单:我有一个产品列表,在前端我在 oData 模型(“EditMode”)中动态创建一个属性。我仅将此属性用于前端以启用/禁用某些输入字段。
当我执行更新(POST)时,网关请求失败(400-bad request),因为产品实体上没有定义“EditMode”。
如何配置网关以忽略未定义的属性并仅从有效负载中获取所需的内容?
在发送请求之前从 oData 模型中删除此属性将是一种开销,它也会影响 UI ... :(
谢谢!
odata - 重新定义标准 OData 服务 - SAP Gateway NetWeaver
在我的项目中,我使用的是 Sales_Order_Create 服务。在我的用例中,需要在后端更改一些业务逻辑:Gateway Netweaver(创建深度实体方法)。我使用了创建新项目(子)的方法,然后重新定义> OData服务(GW)。但是当我调试并启动我的 Fiori 销售订单创建应用程序(扩展应用程序)时,我发现它有时仍在使用标准服务方法(父级),尤其是在订单创建中。
我应该覆盖扩展服务吗?但是,如果我想在其他项目中重用它,一旦它被覆盖,我如何才能再次获得我的标准服务?
如果没有,是否有任何解决方案可以修改子服务中的业务逻辑(重新定义方法)?
如何让我的 Fiori 扩展应用程序使用这个子服务,(即使我用 New > Extension > Replace Service 替换了该服务)。
谢谢你。
abap - 如何将数据加载到 ABAP 网关中 get_expanded_entityset 的虚拟实现中?
我们没有任何后端或 RFC 到数据库表。因此,我们对 get_entity、get_entityset... 进行了虚拟实现,以便通过调试提供数据。
虽然调试时数据出现在内部表中,但在输出时不会显示。
odata - UI5 控制器中未触发 OData 读取回调
我需要从 SAPUI5 到我的 SAP 网关的手动 OData 调用(没有数据绑定)。
为此,我使用以下代码:
我已经在 SAP 系统上调试过了。我接到电话并填写et_entityset
了所需的数据。
问题是,不会触发任何函数作为回调。既不是成功也不是错误(我在网关或其他人上找不到任何错误)。
浏览器开发者工具中的响应:
看起来是一个成功的调用。
javascript - 用于屏蔽变量的 SAP HCP Java 代理 servlet
介绍
我有一个 SAP HANA 云平台帐户。我还为该帐户部署了一个 Java 应用程序并创建了一个测试 servlet,它返回虚拟数据。
另一方面,我有一个在 WebIDE 上开发的 SAP UI5 应用程序。我还创建了两个目的地:
- 目标“virtualTEST”连接到 SAP 后端系统(HANA 云连接器)
- 目标“javaTEST”已连接到我的 Java servlet 应用程序
neo-app.json 配置良好,可以从测试 servlet(虚拟数据)和 SAP 后端系统(OData Gateway)中获取数据。
问题
现在我想将变量传递给 SAP 后端系统(virtualTEST)目标,该目标在前端不可见以避免 javascript 操作。
我的第一个想法
我的第一个想法是我创建一个充当代理的新 servlet。在 SAPUI5 中,我从 javaTEST 目标调用 servlet 并传递“隐藏变量” /testServlet?targetUrl=https://webide-xxx.hana.ondemand.com/sap/opu/odata/TEST_SRV/TEST?$filter=Var eq '{{MYVAR}}'
,Java 应用程序将 {{MYVAR}} 替换为我的真实变量。然后将加载目标(这也是我的 SAPUI5 应用程序的目标 url)。这不起作用,我不知道为什么,但我认为代理无法从应用程序的目的地获取数据。
另外,我认为这不是最好的解决方案。如何解决?有什么想法或最佳实践吗?目的地可以在Java应用程序中使用吗?:)
user-interface - 两个表的 Odata 服务以及如何在 UI5 中使用这两个表制作主表
我想创建一个 OData 服务来从 SAP 的两个表中获取详细信息,并使用 UI5 中的主详细信息模板对其进行调整。第一个表仅包含产品 ID 和描述,而第二个表包含产品 ID 和产品详细信息,如制造商地址、成本、到期日期等
目前创建了两个 RFC,在表上编写 SELECT 查询以从 RFC 生成 OData 服务。我应该创建一个实体集并在 Map to Data Source 中使用 Read 和 Query 中的 RFC 吗?或者创建两个实体集来为每个实体集映射一个 RFC?
Odata 服务查询应该如何在 ui5 中从两个表中获取数据来开发主从应用程序?以及如何使用获取的两个表在 UI5 中创建本地主表。