共享内存和提交程序问题

2020-08-22 19:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我有一个程序使用SUBM...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个程序使用SUBMIT语句:

通过选择屏幕和返回提交zprogram。

在zprogram中,有一个对共享存储区(attach_for_write)的写操作,它将从调用程序中读取由zprogram写入的共享存储区(attach_for_read)。

该程序在Dev,QA环境中运行良好,因为只有1个应用服务器。 但是在生产环境中,我们有多个应用服务器。

现在,我在生产中遇到了CX_SHM_NO_ACTIVE_VERSION异常,从我读到的内容来看,这是因为找不到活动的共享内存,并且可能是因为有多个应用程序服务器。 是当我们调用SUBMIT(而不是后台作业)时,被调用程序可以在与调用程序不同的应用服务器中运行吗?

如果是,是否可以确保被调用程序在同一应用程序服务器上运行? 我发现了这个线程, 并建议将RFC调用到相同的应用服务器目标。 如果可行,我计划从表USR41中获取用户登录到的当前应用服务器,并创建一个RFC FM,在FM内它将提交zprogram。

问题是因为我的开发,质量检查环境只有1个应用服务器,因此我没有环境可以测试此行为。 我需要确保此操作无需经过全面测试即可。

谢谢。

4条回答
木偶小白
2020-08-22 20:35

关于分派到多个应用程序服务器的一句话:如果发生滚动,上下文可能会重新分配给另一台服务器。 仅在"提交工作",屏幕显示和其他一些情况下才推出上下文。"提交"不执行推出,但选择屏幕的显示可以完成。 我不认为有办法强制保留在同一应用程序服务器上(如果计划中的服务器意外停止服务器该怎么办?),但谁知道呢。

一周热门 更多>