美文网首页SAP札记SAP 实用篇SAP 修行
如何在S/4HANA生产订单创建上下文里拿到前置销售订单信息

如何在S/4HANA生产订单创建上下文里拿到前置销售订单信息

作者: _扫地僧_ | 来源:发表于2019-02-12 13:51 被阅读11次

    我写了一段ABAP程序,放在我的github上:

    https://github.com/i042416/KnowlegeRepository/blob/master/ABAP/S4/ZCREATE_SO.abap

    直接执行,可以生成销售订单,即对应的生产订单。

    我们知道SAP预留了一个生产订单Update的增强:BAdI definition WORKORDER_UPDATE

    在这个增强里,我们可以加入自己的逻辑,在销售订单生成的Production Order保存之际,实现一些自定义逻辑。

    那么在SAP传入这个增强的输入参数里,并没有销售订单的ID信息。

    如果我们想在这个增强里维护前置销售订单和当前待生成的Production Order关联关系,应该如何拿到前置销售订单ID呢?

    看这个调用栈:

    在调用函数CO_61_ORDER_POST前,通过SET PARAMETER ID将销售订单的ID保存到SAP shared memory共享内存里了:
    L_CALLER = VBAK-VBELN.
    SET PARAMETER ID 'COC' FIELD L_CALLER.

    那么我们按照同样的思路,在增强实现里用关键字
    GET PARAMETER ID将共享内存里的销售订单ID重新取出即可。
    DATA: lv_id type VBAK-VBELN.
    GET PARAMETER ID 'COC' FIELD lv_id.

    补充:其实在BAdI增强的输入参数里,是有这个前置销售订单ID的,在字段KDAUF_AUFK里:

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":


    相关文章

      网友评论

        本文标题:如何在S/4HANA生产订单创建上下文里拿到前置销售订单信息

        本文链接:https://www.haomeiwen.com/subject/plxkeqtx.html