点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我们构建了一个EPM Excel应用程序,用户可以通过该应用程序进入并可以在多个模型之间以更灵活的方式全局更改工作状态。 这是通过启动UJ_CUSTOM_LOGIC BADI来实现的,然后运行一个自定义类来验证和更新工作状态。
在EPM前端,发射了上述BADI之后,我们等待了10秒钟。 然后使用EPMWorkStatus函数,重新检查工作状态,如果与之前的状态不同,则会发出成功消息。 如果没有更改,即发生错误,则发出一条消息,要求用户查看日志,即违反了自底向上规则,用户不是所有者/经理等。
问题出在生产后,后端BADI通常在10秒钟后仍在运行,当然,然后EPMWorkStatus将不返回任何更改并发出令人不安的错误消息。 试图增加等待时间,但这不是那么可靠。 BADI在30秒后仍然运行一次。
我要实现的是在收到EPMWorkStatus函数结果并且没有更改以前的工作状态时,然后检查程序包是否仍在运行。 如果是这样,则等待,即循环并稍等一会,然后重新检查EPMWorkStatus结果。 仅在软件包停止运行并且没有任何工作状态更新之后,才显示错误。
那么,问题是如何读取后端UJD_STATUS表? 是利用EPMExecuteAPI Excel函数以及如何获取参数的情况。
非常感谢您的帮助/建议。
标记
您可以使用回写badi代替自定义逻辑badi-同步报告结果。
在回写badi中检查是否要写入一些虚拟成员路口以开始工作状态更改:
例如,创建帐户WSCHANGE并将Excel中的数据保存到该帐户(整数数据-等同于所需的工作状态)。
回写badi将在写入多维数据集之前获取此数据,并将执行所需的WS更改(您的代码)。
如果发生错误,您可以对错误消息进行编程,该消息将显示在Excel弹出窗口中,或者可以使用VBA进行分析。
P.S。 DM程序包异步运行-您无法在Excel中获得通知
非常感谢Vadim。 我将调查您的建议方式。 亲切的问候。 标记
一周热门 更多>