问题标签 [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.

0 投票
0 回答
601 浏览

sapui5 - 由于 Fiori 启动板设计器中缺少磁贴模板而无法部署

在 SAP Web IDE 上开发了第一个小型应用程序后,我想部署它。为此,我通过/UI2/FLPD_CUST启动启动板设计器,然后创建一个目录。然后我想添加一个图块,但没有向我建议模板。所以我被阻止部署我的应用程序。下面是我可以看到的,我缺少标准的磁贴模板:

第一步:

第一步

第二步:

第二步

第三步:

第三步

通常我们应该在那里找到模板,但它们不在那里。

网关:740 SP01,SAPUI5 1.44.1

0 投票
2 回答
1093 浏览

netweaver - SAP 网关在尝试获取 csrf 令牌时未经授权

SAP 网关在尝试获取 csrf 令牌时得到 403 未授权。

相同的用户名/密码适用于读取操作。

我查看了 sap 论坛中的其他一些帖子并在那里发布: https ://answers.sap.com/questions/715798/sap-gateway-unauthorized-when-trying-to-get-a-csrf.html

我们使用的是 http,但我们将 login/ticket_only_by_https 设置为 0。

我还查看了服务,没有看到参数 ~CHECK_CSRF_TOKEN = 0,如:https ://archive.sap.com/discussions/thread/3723417 所述

参数列表显示为空白。

还有其他想法吗?

我编写了一个小型 c# 程序来尝试获取 csrf 令牌,它适用于我们的测试系统,但它在客户的系统上失败。我一直无法弄清楚为什么。

0 投票
1 回答
1327 浏览

odata - 如何使用 create_deep_entity 方法同时上传多个文件?

众所周知,我们可以使用create_streamSAP Gateway(oData) 中的方法上传文件。

我想使用Create_Deep_entitywithcreate_stream方法上传多个文件。

如何达到同样的效果。

0 投票
1 回答
2816 浏览

odata - 在添加系统别名之前将处理模式更改为“基于路由”

从 /IWFND/MAINT_SERVICE 添加 OData 服务时出现此错误

在添加系统别名之前将处理模式更改为“基于路由”

我正在尝试在本地添加一个服务,该服务指向与 OData 所在的系统相同的系统。有人可以帮我解决这个错误吗?

0 投票
1 回答
5155 浏览

sapui5 - SAPUI5 元数据在更改后不刷新

SAPUI5我们在服务维护方面遇到了问题。通过SEGW事务对服务实体进行更改后,客户端加载的元数据GW保持更改前的状态。

例如,有一个日期字段变成了字符串,并GW抛出invalid or no mapping to system data types found. 原因是试图将字符串日期值(如 '16.05.2019')放入日期类型(实体的元数据不会以某种方式刷新)。

我们尝试刷新这些缓存:

  • 重新计算索引
  • 世芯
  • 全局缓存

通过:

  • /iwfnd/cache_cleanup
  • /ui2/invalidate_global_caches
  • /ui5/app_index_calculate

我们还重新加载了元数据,甚至删除了实体并重新创建它——所有这些都失败了。

/IWFND_GW_CLIENT事务中显示更新的元数据。

只有重新创建具有不同名称的实体似乎可以解决它,但它似乎不是维护服务的好方法......

0 投票
0 回答
368 浏览

odata - 从本地运行的 SAPUI5 应用程序访问 OData 服务

我在使用 Visual Studio Code 在本地运行 SAPUI5 应用程序时遇到问题。我正在使用 Grunt 在 localhost:8080 运行的静态文件服务器为 webapp 文件提供服务 问题是到达后端 OData 服务。第一个问题是 CORS 错误,我使用 NodeJS 运行的反向代理解决了这个问题。

这是反向代理的代码:

代码运行良好。当我在浏览器中输入 localhost:3000 时,我得到了 Web 应用程序文件,但我可以看到 Web 应用程序向 SAP 后端(“YYY-XXX.dispatcher.hana.ondemand.com”)发出的请求会产生以下 html回复:

“注意:您的浏览器不支持 JavaScript 或已关闭。按按钮继续。继续”

还有一件事:SAP云平台上的SAPUI5应用有测试环境吗?我只能看到作为生产代码的“实时”版本。有舞台环境吗?

我会很感激任何帮助,因为使用 Web IDE 对我来说不是一个选项。提前致谢!

0 投票
1 回答
113 浏览

odata - 发布到复杂类型的数组

我在 ABAP 中有一个 ORDER 结构,其中有另一个 ITEMS 结构,每个订单将包含多个项目。

我正在通过 SAP 网关服务填充此结构,该服务适用于 ORDER + 单个项目。

但是,提供多个 ITEM 的数组的语法是什么?

0 投票
0 回答
600 浏览

oauth - 使用 Azure AD 身份验证访问本地 SAML/OAuth 保护的 SAP API(ADFS 联合)

语境:

  • AD 域、AAD Connect、Office365 租户
  • ADFS 部署,AD 和 AAD 之间的联合
  • 本地 SAP GW,配置了 SAML 和 OAuth
  • SAP GW 不支持与 AAD 集成(仅支持 SAML SSO,需要使用自己的 OAuth 服务器)

范围:

我正在尝试在 SharePoint Online 中构建一个应用程序,经过身份验证的用户可以:

  • 从 SAP 网关获取数据(哦,代表用户)
  • 从 Microsoft Graph 获取数据

设计(到目前为止):

  • 用户访问 Office 365 并使用 ADFS 进行身份验证
  • 使用 ADAL/MSAL,我可以从 AAD 获取 OAUTH 令牌并从 Graph 获取数据(通过在 AAD 中注册具有 Graph 权限的企业应用程序来支持)

问题:

  • 如果我尝试访问 onprem SAP API,SAP OAuth Server onprem 不会验证 AAD 生成的 OAuth 令牌。

我应该怎么办?

  • 我是否应该直接从 ADFS 获取另一个 SAML 断言,以便为 SAP OAuth 服务器获取另一个 OAuth 令牌以访问本地 SAP API?如果是这样,我如何从 ADFS 获取 SAML 断言(调用 SAP OAuth 服务器)而不传递给 adfs 用户凭据(如本例中:https ://docs.microsoft.com/en-us/azure/active- directory/develop/v2-saml-bearer-assertion)并使用用户会话中可用的信息(已通过 AAD 验证)?

  • 有没有办法将 ADFS 配置为接受来自 AAD 的 SAML 断言/JWT 令牌?

  • 我应该做点别的吗?

关于我如何支持这种情况的任何想法?

谢谢

0 投票
1 回答
2129 浏览

odata - 如何在 SET_GET_ENTITY 方法中为“数量”类型的字段编写 SELECT?

我想从我的表中选择包含所有列的单行zbookingszbookings表具有基于zbooking数据结构的结构 - 请参见下表。

ZBOOKINGS在此处输入图像描述

结构ZBOOKING在此处输入图像描述

我的BOOKINGSET_GET_ENTITY方法:

我通过 SAP Gateway Client 对其进行了测试。luggweight当我从我的SELECT SINGLE *声明中删除列时没关系。但是,当我通过 选择所有列时SELECT SINGLE *,它会输出错误

运行时错误:'SAPSQL_PARSER_TODO_WARNING'`

如您所见,问题出在类型为luggweight字段quantity且其键入方法为Type ref to. BOOKINGSET_GET_ENTITY当我通过 ctr+F2检查我的方法时,它会输出警告:

聚合函数 LUGGWEIGHT 的数据库字段或结果类型与“ER_ENTITY”的组件“LUGGWEIGHT”不兼容。

我应该如何修改我的SELECT查询/BOOKINGSET_GET_ENTITY方法以使其正常工作?

0 投票
0 回答
919 浏览

json - 如何在一个批次中发送多个 post 请求?

我正在尝试在一个批次中发送多个 POST 请求。

通过这 3 个请求,我们正在设置通知和订单的状态 --> 工作已完成、完成和关闭报告。就像菲奥里一样。

但是在 SAP Gateway Client 中,只有请求 1 和 3 是可以的。订单的状态仍然相同。

也许一个请求阻止了另一个请求?我必须创建不同的变更集吗?我该怎么做?