наверное это можно сделать и настройками, но вот с использованием BADI
MD_PURREQ_CHANGE это будет выглядеть примерно так:
Code:
method IF_EX_MD_PURREQ_CHANGE~CHANGE_BEFORE_SAVE_MRP.
data: ws type scal-week,
wn type scal-week,
req_date type d,
monday type d.
* check processing status of purchase requisition
CHECK im_vstat EQ 'H' "PurReq created
OR im_vstat EQ 'V'. "PurReq changed
* <ЧтоТоТамЕЩе> - Здесь проверяем релевантность данной позиции
* необходимости сдвига даты поставки на понедельник
* CHECK <ЧтоТоТамЕЩе>.
case im_vstat.
when 'H'. req_date = IM_MDPS-dat00.
when 'V'. req_date = IM_EBAN_OLD-lfdat.
endcase.
CALL FUNCTION 'DATE_GET_WEEK'
EXPORTING
DATE = req_date
IMPORTING
WEEK = ws.
CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
WEEK = ws
IMPORTING
DATE = monday.
IF monday ne req_date.
wn = ws + 1.
CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
WEEK = wn
IMPORTING
DATE = CH_EBAN-lfdat.
ch_changed = 'X'.
ENDIF.
endmethod.