FavoriteLoading
0

生产订单保存时检验组件信息

  1. 业务背景:       在项目实施过程中,创建生产订单的时候,用户可能会修改生产订单组件的信息。当修改后,用户希望校验物料不能重复,反冲料库存地点不能为空等。
    • 解决步骤
    1. 现有解决方案

    网上目前有一种解决方案,就是在PPCO0001或WORKORDER_UPDATE中报S或I类消息DISPLAY LIKE E,然后再配上LEAVE TO TRANSACTION SY-TCODE,返回创建界面。此方案可以实现创建时,不往数据库中写生产订单信息,但是会造成生产订单跳号。同时,因为PPCO0001和WORKORDER_UPDATE都是在COMMIT WORK中触发的,后续会有什么影响,我这边并没有评估,并且网上的资料也没有讲。

    1. 本文方案

    本文的方案还是在标准的PPCO007校验中去获取SAP标准的组件信息。通过前台跟源码,获取到函数CO_BC_RESBD_OF_ORDER_GET

    此函数可以获取生产订单的组件信息,如果用户修改后,也能获取到修改后的组件信息。

    1. 增强源码

    DATA: lt_resbd TYPE TABLE OF resbdget WITH HEADER LINE.
    CALL FUNCTION 'CO_BC_RESBD_OF_ORDER_GET'
    EXPORTING
    aufnr_act = header_imp-aufnr
    TABLES
    resbd_get = lt_resbd.

    以上。