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

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

概述:

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

增强方案:

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

具体实现:

查找增强

获取VK11/VK12程序名

clip_image002

获取程序对应的包

clip_image004

获取包对应的增强

clip_image006

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

clip_image008

SE19增强BADI

clip_image010

增强代码如下:

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.

posted on 2018-08-15 17:26  zouxiaoping  阅读(821)  评论(0编辑  收藏  举报

导航