事务性BGRFC延迟方法

2020-08-17 08:02发布

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

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


大家好,

我以ABAPer的身份工作,但对BGRFC经验不足。

要求 :-
  1. 用户在名为"交易合同" 的文档中进行修改,然后单击"保存" 按钮将其保存。
  2. 单击"保存"按钮时,将执行BGRFC,以(通过BAPI)将合同从其现有状态过渡到新状态("等待修订批准")。 正在使用BGRFC,因为由于技术原因,不能在同一LUW中完成此操作。

程序段 :-

....
lv_dest_name ='/ACCGO/AMEND'。
lo_destination = cl_bgrfc_destination_inbound => create(lv_dest_name)。
lo_unit = lo_destination-> create_trfc_unit()。

呼叫功能'/ACCGO/CTR_TC_STATUS_CHANGE'在后台单元中lo_unit
导出
iv_tkonn = iv_contract_num
iv_btbsta = lv_unapp_amend_status。

呼叫方法lo_unit => delay(5)。 ..
....
COMMIT语句在代码的后面。

问题 :-

提交COMMIT后,有时需要一些时间才能解除对交易合同的锁定。 如果BGRFC立即执行(在COMMIT执行之后),并且没有释放锁,则BGRFC将无法执行其工作。 我在上面介绍了DELAY语句,希望它可以减少这种情况的发生。 但是,由于DELAY的结果,该单元似乎根本无法执行...即使在5秒钟结束后,该单元仍保持锁定状态(如SBGRFCMON中所示)。 有人可以帮我吗?

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

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


大家好,

我以ABAPer的身份工作,但对BGRFC经验不足。

要求 :-
  1. 用户在名为"交易合同" 的文档中进行修改,然后单击"保存" 按钮将其保存。
  2. 单击"保存"按钮时,将执行BGRFC,以(通过BAPI)将合同从其现有状态过渡到新状态("等待修订批准")。 正在使用BGRFC,因为由于技术原因,不能在同一LUW中完成此操作。

程序段 :-

....
lv_dest_name ='/ACCGO/AMEND'。
lo_destination = cl_bgrfc_destination_inbound => create(lv_dest_name)。
lo_unit = lo_destination-> create_trfc_unit()。

呼叫功能'/ACCGO/CTR_TC_STATUS_CHANGE'在后台单元中lo_unit
导出
iv_tkonn = iv_contract_num
iv_btbsta = lv_unapp_amend_status。

呼叫方法lo_unit => delay(5)。 ..
....
COMMIT语句在代码的后面。

问题 :-

提交COMMIT后,有时需要一些时间才能解除对交易合同的锁定。 如果BGRFC立即执行(在COMMIT执行之后),并且没有释放锁,则BGRFC将无法执行其工作。 我在上面介绍了DELAY语句,希望它可以减少这种情况的发生。 但是,由于DELAY的结果,该单元似乎根本无法执行...即使在5秒钟结束后,该单元仍保持锁定状态(如SBGRFCMON中所示)。 有人可以帮我吗?

付费偷看设置
发送
1条回答
Cikesha
1楼-- · 2020-08-17 08:11

为什么不在更新任务结束时启动RFC功能,以最大程度地降低被锁定的可能性? (您可以通过创建一个更新功能模块,然后在所有其他更新功能模块之后运行它来执行此操作,然后您的更新功能模块将启动RFC)。

一周热门 更多>