价格主数据有效开始日期控制

价格主数据有效开始日期控制

概述:

为了确定销售订单的价格与价格主数据价格一致,必须保证维护价格主数据时有效开始日期不能小于或者等于今天

增强方案:

增强VK11/VK12,当有效开始日期小于或者等于今天时,给出警告提示

具体实现:

查找增强

获取VK11/VK12程序名

价格主数据有效开始日期控制_第1张图片

获取程序对应的包

价格主数据有效开始日期控制_第2张图片

获取包对应的增强

价格主数据有效开始日期控制_第3张图片

根据描述查找适合自己的增强BADI

价格主数据有效开始日期控制_第4张图片

SE19增强BADI

价格主数据有效开始日期控制_第5张图片

增强代码如下:

method IF_EX_SD_COND_SAVE_A~CONDITION_SAVE_EXIT.
TYPE-POOLS trff .
DATA: lh_ct_vake like line of CT_VAKE.
DAta: lh_konp_n like line of CT_KONPDB_NEW.
data: tday type DATUM."创建交货单日期
DATA: SDAY TYPE DATUM.
DATA: days   TYPE i."两日期相差多少天。
  tday = sy-DATUM.
DATA log_op TYPE trff_type_c_2.
LOOP AT CT_VAKE into lh_ct_vake.
CLEAR lh_konp_n.
CLEAR log_op.
"有删除标记的不做判断
READ TABLE CT_KONPDB_NEW  into lh_konp_n with key KNUMH = lh_ct_vake-KNUMH.
if sy-subrc eq 0.
if lh_konp_n-LOEVM_KO eq 'X'.
continue.
ENDIF.
endif.
      SDAY = lh_ct_vake-datab.
CALL FUNCTION 'FIMA_DATE_COMPARE'
EXPORTING
*         I_FLG_INTRADAY       = ' '
          i_date               = SDAY
*         I_TIME               = '000000'
*         I_SINCL              = '0'
*         I_SULT               = ' '
          i_comp_date          = tday
*         I_COMP_TIME          = '000000'
*         I_COMP_SINCL         = '0'
*         I_COMP_SULT          = ' '
IMPORTING
         E_LOG_OP             = log_op .
if log_op <>  'GT'  .
MESSAGE '有效开始日期小于今天,您确定要这样做吗?这将影响生效期到现在创建的订单' TYPE 'W'.
"MESSAGE E248(VL).
endif.
ENDLOOP.
endmethod.

你可能感兴趣的:(价格主数据有效开始日期控制)