屏幕刷新后,在按钮上执行脚本。

2020-08-30 04:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在联系人选项卡上项目详细信息级别...

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

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


在"联系人"选项卡上"项目详细信息"级别的事务ME52N中,有一个用于请求者或请求者的字段。 我在角色角色上添加了两个其他字段,以根据通过RFC传递的此申请者字段显示用户的全名和电话号码。 我已在项目级别的向上和向下箭头中添加了一个脚本,该脚本将检查是否选择了"联系人"选项卡,如果已选中,则在"申请者"字段中获取值并将该信息传递给RFC并返回 将两个值粘贴到自定义字段。 我的问题是,执行此脚本(用户单击向上或向下箭头以导航到上一个/下一个订单项)时,系统会在屏幕刷新为新的订单项信息之前捕获请求者字段中的值。 是否可以在屏幕刷新后不实际使用屏幕事件onAfterRefresh之后执行此脚本?

5条回答
My梦
2020-08-30 05:07

嗨,Ed,

对RFC功能模块的调用是否可能导致1秒钟的延迟? 在我的测试中,我在onAfterRefresh上放置了一个脚本,并且在不延迟的情况下按了项目详细信息上的向下或向上箭头按钮,便能够获得正确的"请求者"。

如果是RFC功能模块引起延迟或每次调用onAfterRefresh时都被调用的情况,那么我将创建一个RFC功能模块,该模块查找所有"请求者"并将它们放入数组中。 在onLoad事件期间调用此RFC功能模块,因此在开始时仅执行一次。 当用户选择新的采购申请时,onLoad将使用新数据再次自动执行。

然后在onAfterRefresh脚本中,可以将"请求者"与数组进行比较,并填充适当的变量。

这是我在onAfterRefresh测试中使用的代码:

//onAfterRefresh 
session.utils.log(" onAfterRefresh"); if(session.idExists(" wnd [0]/usr/subSUB0:SAPLMEGUI:*/subSUB3:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1301/subSUB2:SAPLMEGUI:3303/tabsREQ_ITEM_DETAIL/tabpTABREQSTRIP/CONTROL SAPLMEGUI:3328/txtMEREQ3328-AFNAM"))
{
var requisitioner = session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:*/subSUB3:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1301/subSUB2:SAPLMEGUI:3303/tabsREQ_ITEM_DETAIL/tabpTABREQDT11/ssubTABSTRIPCONTROL1SUB:SAPLMEGUI:3328/txtMEREQ3328-AFNAM")。text;
session.utils.log('requisitioner =>') //将您的比较代码放在此处,然后将相应的Personas字段填充为 必需。
}

它使用" idExists"而不是检查突出显示的选项卡。 我认为这样效果更好。

让我知道是否需要更多说明。 让我知道它如何为您工作。

谢谢,布莱恩

一周热门 更多>