需求:
CS20进行BOM物料替换,原BOM组件特殊采购类型为50,替换后物料为非虚拟项目,需要清除替换后物料的特殊采购类型。
如果是成本核算和散装物料字段,可参考NOTES 366433 。
BOM虚拟属性控制优先级:
- BOM行项目特殊采购类型 。
物料非虚拟件,通过次属性可以标识BOM行项目为虚拟件。
- 物料主数据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行特殊采购类型清空。
- 文件MC29MF15添加隐士增强:
*add 20210926 cs20 添加虚拟ID start .
DATA: LV_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 = 0 .
IF LV_FLAG EQ 'X' .
CLEAR BOM_BDCDATA.
BOM_BDCDATA-FVAL = '' .
BOM_BDCDATA-FNAM = 'RC29P-ITSOB' .
APPEND BOM_BDCDATA. CLEAR: BOM_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 = 0 .
IF LV_FLAG EQ 'X' .
CLEAR BOM_BDCDATA.
BOM_BDCDATA-FVAL = '' .
BOM_BDCDATA-FNAM = 'RC29P-ITSOB' .
APPEND BOM_BDCDATA. CLEAR: BOM_BDCDATA.
ENDIF .
FREE MEMORY ID 'ZCS20' .
ENDIF .
ENDIF .
*add 20210926 cs20 添加虚拟ID endif .
激活即可。