发布采购订单后如何调用ABAP代码?

How to call ABAP code after releasing a Purchase Order?

我想在下达采购订单后触发 IDoc 或 Web 服务。最好的方法是什么?通过输出确定(这种情况下的条件是什么?)或通过 BADI 或用户出口?

此致

对于这种需求,我建议使用SAP Business Workflow。在您的情况下,SAP 标准将触发业务对象存储库 (BOR) 中业务对象 BUS2012(采购订单)的事件 Released。使用事务 SWETYPV,您可以将消费者附加到此事件。消费者将被自动调用(当然,如果工作流在您的系统中处于活动状态)。消费者可以是工作流、功能模块或ABAP OO class 的方法。

与其他可能的解决方案相比的优势:

  • 联轴器本身是纯定制的,不需要在采购订单处理中添加ABAP代码。
  • 耦合松散(通过事件),减少了依赖性。
  • 耦合可以通过工作流自定义动态激活和停用。
  • 有监控工具可以跟踪触发的事件及其事件处理程序的执行(例如事务SWEL)。
  • SAP 业务工作流是 class 可靠且久经考验的技术。

您可以尝试 M06E0005 user-exit。它用于在发布工作流程事件期间更改发布角色确定,并可用于 运行 自定义代码。