在后台作业中运行BAPI,且提交程序显示条目已被用户锁定

2020-08-25 08:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 使用BAPI_RES...

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

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


专家们,

使用BAPI_RESERVATION_CHANGE在方法line_modify中编写MIGO检查功能的代码,在SM12中创建锁定条目

由上述代码创建的SM12条目

POST函数代码写入方法POST_Document中,显示保留已锁定用户USXXXX。

在提交程序中还调用了相同的BAPI_RESERVATION_CHANGE,以在更改后更新预订。

为了避免在BADI中提交BAPI_Commit,我创建了此Submit程序。

但是当我在后台运行相同的BAPI时,显示预订项已锁定,但在前台运行正常。

请帮助,在此先谢谢您!

此致

Saquib

line-modify.jpg (180.2 kB)
6条回答
半个程序猿
2020-08-25 09:02

您好,Saquib ,

我个人将为您的类的全局属性创建一个结构和表类型。 结构如下:

  • 保留号
  • Items_changed(BAPI结构的表类型)
  • Items_changedx(BAPI结构的表类型)

将该全局属性添加到您的BADI实现类(ZCL_IM_MMSG_MIGO_MR_GI_CON)。

在LINE_MODIFY中:

  • 检查预订是否在您的全局中 属性
  • 否=>将新记录添加到全局属性,并像现在为实际BAPI调用那样更新items_changed和items_changedx
  • 是=>随您更新items_changed和items_changedx中的记录 现在为实际的BAPI调用执行
  • 删除BAPI调用

在POST_DOCUMENT

  • 环全局属性中
  • 将参数从全局属性传递到BAPI调用
  • 不执行提交,而是让主事务执行提交

基本上,这就是我要尝试执行的操作。

最诚挚的问候,

Geert-Jan Klaps

一周热门 更多>