SAP ABAP CS20 虚拟项目或特殊采购类型更新

本文介绍了如何使用CS20工具在BOM物料替换过程中,清除替换后物料的特殊采购类型,包括BOM虚拟属性控制优先级和通过DEBUG程序调用CS02的BDC实现功能。还提到在MC29MF15和LCSBIF02/03文件中添加的代码片段,以实现在CS20中自动标记并清空虚拟项目标记。
摘要由CSDN通过智能技术生成

需求:

CS20进行BOM物料替换,原BOM组件特殊采购类型为50,替换后物料为非虚拟项目,需要清除替换后物料的特殊采购类型。

如果是成本核算和散装物料字段,可参考NOTES 366433 。

BOM虚拟属性控制优先级:

  1. BOM行项目特殊采购类型 。

物料非虚拟件,通过次属性可以标识BOM行项目为虚拟件。

  1. 物料主数据MRP2特殊采购类型。

如果BOM行项目特殊采购类型为空,则可通过物料主数据确定。

步骤:执行CS20

通过DEBUG程序,发现CS20调用了CS02的BDC完成上述工作。

相关函数:

CS_BI_ALT_CHANGE_BATCH_INPUT  多备选BOM

CS_BI_BOM_CHANGE_BATCH_INPUT 单BOM

将特殊采购字段加入到上述对应的BDC字段中,即可实现相关功能 。

1.600屏幕添加"清除虚拟项目"字段,选中该字段则将替换后物料对应的BOM行特殊采购类型清空。

  1. 文件MC29MF15添加隐士增强:

*add 20210926 cs20 添加虚拟ID start .
  DATALV_FLAG TYPE CHAR01 .
  if sy-tcode EQ 'CS20' .
    IF RC29N-NIDNR IS NOT INITIAL AND RB_UPDATE IS NOT INITIAL .
      IF RC29P-DUMPS is not INITIAL .
         LV_FLAG 'X' .
        EXPORT P1 LV_FLAG  TO MEMORY ID 'ZCS20' .
      endif .
    ENDIF .
  ENDIF .
*add 20210926 cs20 添加虚拟ID endif .

1.文件LCSBIF02 添加下述代码

*add 20210926 cs20 添加虚拟ID start .
            IF SY-TCODE EQ 'CS20' .
              DATA:LV_FLAG TYPE CHAR01 .
              IMPORT P1 LV_FLAG FROM MEMORY ID 'ZCS20' .
              IF SY-SUBRC   .
                IF LV_FLAG EQ 'X' .
                  CLEAR BOM_BDCDATA.
                  BOM_BDCDATA-FVAL '' .
                  BOM_BDCDATA-FNAM 'RC29P-ITSOB' .
                  APPEND BOM_BDCDATACLEARBOM_BDCDATA.
                ENDIF .
                FREE MEMORY ID 'ZCS20' .
              ENDIF .
            ENDIF .
*add 20210926 cs20 添加虚拟ID endif .

文件LCSBIF03 添加下述代码

*add 20210926 cs20 添加虚拟ID start .
            IF SY-TCODE EQ 'CS20' .
              DATA:LV_FLAG TYPE CHAR01 .
              IMPORT P1 LV_FLAG FROM MEMORY ID 'ZCS20' .
              IF SY-SUBRC   .
                IF LV_FLAG EQ 'X' .
                  CLEAR BOM_BDCDATA.
                  BOM_BDCDATA-FVAL '' .
                  BOM_BDCDATA-FNAM 'RC29P-ITSOB' .
                  APPEND BOM_BDCDATACLEARBOM_BDCDATA.
                ENDIF .
                FREE MEMORY ID 'ZCS20' .
              ENDIF .
            ENDIF .
*add 20210926 cs20 添加虚拟ID endif .

激活即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值