需求背景
缺料情况下,把需求数量也强制改到有库存那一行(承诺数量>0的行),非常BT的一个需求,风险很高。
1.增强效果

2.增强+修改标准程序
主要增强和修改标准函数:CO_ZA_AVAILABILITY_CHECK
2.1隐式增强
在函数开头判断是否走增强,标记LV_ATP_ENH。
FUNCTION co_za_availability_check.
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1) Funktionsbaustein CO_ZA_AVAILABILITY_CHECK, Anfang A
*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 1 ZCO02_ATP_ENH01. "active version
* add by Jeff 20260821 begin
* 非函数:ZFM_CHANGE_PROD_COMP的BDC调用且事务码为CO02才能激活ATP的增强
DATA lv_bdc_fg TYPE char1.
DATA lv_atp_enh TYPE abap_bool. "是否走ATP增强逻辑
IMPORT lv_bdc_fg FROM MEMORY ID 'ZBDC'. "export地方在函数:ZFM_CHANGE_PROD_COMP call BDC之前
IF lv_bdc_fg IS INITIAL AND sy-tcode = 'CO02'.
lv_atp_enh = abap_true.
ENDIF.
* add by Jeff 20260821 end
ENDENHANCEMENT.

2.2 修改标准程序
主要思路是解除mdvax-xfehl 缺料标识必须为空的限制

避免影响ATP检查的ALV输出结果
所以增强标记lv_atp_enh = abap_true的分支
只清空
CLEAR: resbve_tab-bdmng, resbve_tab-erfmg,
resbve_tab-ewahr, resbve_tab-roanz.
mdvax相关的信息保留

修改CLEAR的处理目的是不能影响ATP的ALV输出结果


169

被折叠的 条评论
为什么被折叠?



