问题标签 [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.
c# - WCF 或 ASP.net Webservice 使用 Sap gateway for microsoft
我希望我的问题不会太宽泛而无法回答:我计划创建一个 Web 服务(wcf 或 asp.net)来将我的 Windows 桌面软件连接到各种数据源,其中一个是 sap 数据库。使用 SAP Gateway for Microsoft 是这种方法的最佳选择吗?我将在我的 Web 服务中包含 SAP 数据源,这意味着我的桌面应用程序将请求数据,而我的 Web 服务决定它可以从哪里获取数据或它必须在哪里保存数据(mssql 数据库、as400、sap 或其他)。
javascript - Fiori 中的会话超时:SAP UI5 或网关层是否提供在用户会话超时时调用的事件
我正在研究SAP Fiori 中的资源锁定。更详细地说,我试图在用户登录并打开我的应用程序后锁定资源,并在他注销或注销后解锁资源。
我知道位于 main.controller.js 中的onExit()事件处理程序,如果用户执行将他注销的操作,则会调用该事件处理程序。这可以处理所有情况,除了一种情况:当用户的会话超时时。
有人知道会话时间结束后调用的方法(UI5/网关层)吗?
据我认为,如果用户的会话超时,那么在用户刷新屏幕之前什么都不会发生。此时会进行 Odata 调用以获取数据。一旦这到达网关,它就会检查并发现会话已超时并触发重新登录操作。
如我错了请纠正我。如果正确的话,有人知道这样做的事件处理程序是什么吗?
我也读了很多关于这个的内容。这属于乐观和悲观并发。我想尝试悲观的方法而不是乐观的
使用 etags 的方法。
提前感谢您的时间。
此外,我不能正式发布任何代码,因为这将违反政策,但如果您有任何疑问,请随时询问,我会尽力而为 :)。另外,这更像是一项事实调查任务。
odata - 如何将标头添加到 odata 获取服务
我正在开发以下 odata 服务:
https://10.49.78.69:8083/gateway/odata/SAP/SOA_LOGIN_GET_DATA;v=1/InspectionSet
此服务仅在定义了以下四个标头时运行。
我尝试使用如下过滤器但没有成功。
[ https://10.49.78.69:8083/gateway/odata/SAP/SOA_LOGIN_GET_DATA;v=1/InspectionSet ?$filter=UserName eq 'SHEENAR' 和 Password eq 'Sheenar#123' 和 InterfaceID eq 'ADFCA_CRM_SBL_023' 和 LanguageType eq '埃努'
猜测头必须特别声明。
请建议在 SAP UI5 中将数据设置为模型时如何编写这些标头。
sapui5 - 如何获取当前 Launchpad 用户的客户 ID KUNNR?
我正在编写自定义 Fiori 以使用网关从 SAP ERP 后端系统访问销售数据。
用例是“客户登录启动板,打开 Fiori 应用程序并根据客户 ID 查看他/她的所有销售项目”。客户 ID 存储在 SAP 表中kna1-kunnr
的选择中,并且必须包含在其中。vbak
没有什么花哨。
现在我问自己:我如何获得客户 id / kunnr?我从当前登录的用户那里得到了什么?在调试我的网关项目代码时,它实际上是存储在其中的名称sy-uname
还是我可以得到更好的东西?
我应该如何继续获取客户 ID/kunnr?SAP ERP中是否有一些功能模块喜欢GET_CUSTOMER_ID_OF_USER
调用?
或者实际上是为一个用户获取销售文档的其他/更好的方法?
更新 感谢您到目前为止的回答。我将检查默认的 Fiori 实现以了解其中的一些内容。但是,既然我们已经在这里了,我想再详细说明一下我的问题:
假设我在 Component.js 中创建了一个 OData 模型,如下所示:
user
并且password
应该是当前在 Fiori Launchpad 中作为用户凭据输入的那些。我怎样才能访问这些?是否有一些 SAPUI5 apigetCurrentUser
或getCurrentSession
?我真的必须做这个用户检查吗?
odata - 在 OData 服务生成器中更改 RFC 参数的精度?
我正在使用 SAP 函数BAPI_TRADINGCONTRACT_GET_LIST
,其中有reqquality
一个类型为edm.decimal
、精度为 13 和比例为 3 的属性。我想编辑它,但做不到。如何将比例值更改为 2?
或者如何编辑 RFC 模块的属性?或任何其他处理属性的程序?
ibm-mobilefirst - MobileFirst SAP 适配器 http HEAD 请求
我们正在使用 MobileFirst 6.3,在 RHEL linux 上运行的 mobilefirst 服务器。我们连接到 SAP 并使用 Discovery 生成适配器代码,并使用这些生成的适配器调用(自定义身份验证除外)。如果我们对 SAP 进行创建,则会产生 http POST 请求,但适配器总是在实际请求之前生成一个 http HEAD 请求。我让 SAP 后端人员抱怨这些(并不是我个人认为它们会造成太大伤害)。在使用wireshark检查其他东西时,我也确认了这些。我可以想象它们与适配器的某种类型的连接检查有关,但无法找到任何证据。搜索类似问题也很困难,因为 HTTP 和 HEAD 字符串在 url 和 html 代码中非常常见。
- 谁能验证我对这些 HEAD 请求目的的猜测?
- 有关于这些的任何文件吗?
- 它们是否以任何方式可配置(在这种情况下,选择退出会有什么缺点)?
适配器定义:
适配器代码:
安全测试代码:
permissions - SAP Gateway 运行时 odata 路径权限
除了在每个服务实现方法中手动编写代码以检查是否允许请求之外,是否有标准方法可以更改用户的运行时权限,以便能够调用 SAP 网关服务的某些 odata 资源?
例如,基于定制中的一些设置,应该禁止下面/foo
和/bar
用户的odata路径,即应该为用户产生HTTP 403 ,但应该是。x
HTTP GET/POST/DELETE <host>:<port>/foo/test
HTTP GET/POST/DELETE <host>:<port>/bar/test
x
HTTP GET/POST/DELETE <host>:<port>/something
OK
有没有一种方法可以在一个地方进行控制,而不是要求在每个实现 odata 请求的方法中实现检查?
sapui5 - How to call get_entity method
I'm just starting with SAP FIORI app developing.
I created simple oData model for SAP user details, I implemented two methods:
get_entityset
- receives list of users with personal number and full nameget_entity
- receives more details of single user (by username).
When I call the service from browser all works fine. How do I call my get_entity
method when loading detail page of Master-Detail FIORI app. I used Master-Detail template from WebIDE, but only get_entitset
is called and detail screen uses only set data.
How should I define the data binding (in Detail controller I guess)?
odata - OData 响应不包含数据
我正在开发一个使用 SAP OData 服务 CRM_OPPORTUNITY 的 SAPUI5 应用程序。
在我的程序中,我正在尝试对 OData 服务执行以下请求
此请求的响应不包含任何响应数据。resp.data 未定义。
如果我在浏览器中发出请求,我会收到以下响应
我希望有人能帮我理解为什么 resp.data 不包含从服务返回的数据?我错过了什么?