点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在"联系人"选项卡上"项目详细信息"级别的事务ME52N中,有一个用于请求者或请求者的字段。 我在角色角色上添加了两个其他字段,以根据通过RFC传递的此申请者字段显示用户的全名和电话号码。 我已在项目级别的向上和向下箭头中添加了一个脚本,该脚本将检查是否选择了"联系人"选项卡,如果已选中,则在"申请者"字段中获取值并将该信息传递给RFC并返回 将两个值粘贴到自定义字段。 我的问题是,执行此脚本(用户单击向上或向下箭头以导航到上一个/下一个订单项)时,系统会在屏幕刷新为新的订单项信息之前捕获请求者字段中的值。 是否可以在屏幕刷新后不实际使用屏幕事件onAfterRefresh之后执行此脚本?
嗨,
在读取新值之前尝试刷新屏幕。 也许这有帮助...
最诚挚的问候,
Thomas
Hello Brian,
我确定这个问题会出现,这是一项性能要求。 当我们甚至将最简单的代码添加到onAfterRefresh时,都会减慢系统速度。 即使使用简单的if语句查看字段是否在视野中,每单击一次按钮至少要延迟1秒钟,这将导致屏幕重新加载。 如果您考虑用户可以单击以查看信息的所有不同选项卡,则对于ME22N这样的交易,对于用户而言,这种情况会多次发生。 对于这种情况(单击项目导航箭头),延迟对于用户来说是有意义的,但问题是,每次屏幕刷新事件启动时,都会对此代码进行分析,而这就是我们希望将其最小化的原因。
我的情况是,无论我是否希望单击向上或向下箭头,都会发生屏幕刷新事件。 问题在于捕获新信息的代码在刷新发生之前就已启动,并且在运行RFC之前我没有得到新信息。
嗨,Ed,
对RFC功能模块的调用是否可能导致1秒钟的延迟? 在我的测试中,我在onAfterRefresh上放置了一个脚本,并且在不延迟的情况下按了项目详细信息上的向下或向上箭头按钮,便能够获得正确的"请求者"。
如果是RFC功能模块引起延迟或每次调用onAfterRefresh时都被调用的情况,那么我将创建一个RFC功能模块,该模块查找所有"请求者"并将它们放入数组中。 在onLoad事件期间调用此RFC功能模块,因此在开始时仅执行一次。 当用户选择新的采购申请时,onLoad将使用新数据再次自动执行。
然后在onAfterRefresh脚本中,可以将"请求者"与数组进行比较,并填充适当的变量。
这是我在onAfterRefresh测试中使用的代码:
它使用" idExists"而不是检查突出显示的选项卡。 我认为这样效果更好。
让我知道是否需要更多说明。 让我知道它如何为您工作。
谢谢,布莱恩
你好,布莱恩,我知道了我的问题。 :)一直是我。 我的问题是我试图使用标准sap按钮的"脚本事件"运行脚本。 我认为发生了什么事,通过将我的脚本添加到标准按钮中,Personas在标准按钮的按钮单击事件之前执行了我的脚本。 为了解决该问题,我创建了两个新按钮(更改了图标以使其与箭头匹配),然后将脚本添加到了这些按钮中。 但是,第一行代码是单击"隐藏"标准按钮,然后执行我的代码。 这样,屏幕现在首先刷新,我的代码接收到新的申请者。 这也有助于我满足不使用onafter刷新事件的要求。
感谢您的帮助。 我想更好地理解Thomas在下面提到的代码,因为我无法在网上找到任何有关此代码的信息。 我需要添加任何内容还是直接复制他提供的内容?
是否需要使用风味ID或其他信息来更改或修改该代码? 当我按原样添加该行时,结果没有任何差异。
一周热门 更多>