点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我要基于事务MB1B
1中的物料凭证创建采购订单。 IF_EX_MB_DOCUMENT_BADI〜MB_DOCUMENT_BEFORE_UPDATE
2。 IF_EX_MB_DOCUMENT_BADI〜MB_DOCUMENT_UPDATE
3。 EXIT_SAPLMBMB_001
我在Badi中调用" BAPI_PO_CREATE"函数并在上面退出,出现以下错误。
在此先感谢您的帮助
ABAP编程错误类别
运行时错误 COMMIT_IN_POSTING
ABAP程序SAPLBAPT
应用程序组件BC-MID-ALE
短文本
更新功能模块中的COMMIT WORK无效。
有关终止位置的信息
终止发生在ABAP程序中,或者在" TRANSACTION_END"中包含" SAPLBAPT"。 主程序是" RSM13000"。 在源代码中,终止点在程序的第10行中,或包含" LBAPTU05"。 在更新系统中启动了" SAPLBAPT"程序。
嗨,
不要对此BAPI使用提交工作,必须在更新任务中将BAPI_PO_CREATE函数模块称为
CALL FUNCTION'BAPI_PO_CREATE'。 否则会产生转储。
不要尝试在后台任务中调用BAPI_PR_CREATE1,以便它创建一个单独的任务。
在这种情况下,不需要提交。 任务将在当前事务中发生提交后开始。
致谢
Nawa
我不太了解您的说法
我会说:如果在更新任务期间使用"提交工作",则会触发COMMIT_IN_POSTING。 这是合理的,因为更新任务是通过提交工作触发的,因此提交工作内部的提交工作是无意义的。 C.f. COMMIT WORK 的ABAP文档。
使用后台任务(tRFC/SM58)是可能的,也应该在标准提交工作之前执行(也可以在更新任务中执行,但不会改变任何内容)。
大家好,
我将BAPI_PO_CREATE函数的问题复制为ZBAPI_PO_CREATE并将其作为背景运行,
如果您复制了该函数,也许可以尝试设置异步
调用
在更新任务中起作用。
似乎是在错误的时刻做了一个承诺
一周热门 更多>