Добрый день.
Проблема следующая.
У нас существует материал с раздельной оценкой в зависимости от производителя, причем у каждого типа оценки свой срок годности, но в ОЗМ можно указать только один срок годности. При приходе в МИГО не получается изменить срок годности партии так как система вне зависимости от введенного значения изменяет его на тот, который стоит в ОЗМ (сообщение 12006). Возможно ли отключить это принудительное изменение системой срока годности для того чтобы можно было в МИГО вводить срок годности отличный от того, который стоит в ОЗМ?
Попробуйте отключить это сообщение, ракурс T160M через SM30. По коду похоже если сообщение отключено, то будет разрешено заменить значение.
Попробовал отключить, не помогло. Система подменяет срок годности вне зависимости от наличия/отсутствия сообщения. Здесь дело не в настройках сообщения
Цитата: Maestro від Червень 19, 2014, 04:23:12 ПП
Попробовал отключить, не помогло. Система подменяет срок годности вне зависимости от наличия/отсутствия сообщения. Здесь дело не в настройках сообщения
Ну скажем так, мне просто негде сейчас проверить работу с МСГ, но если смотреть на код, то в модуле: MM07MMHD со строки 524, для EHP6 идет такой вот код:
*** durch den CFC wurde das am BS eingebene MHD verändert oder das am **
*** BS eingegebene MHD ist ungleich der Summe aus Herstelldatum und ****
*** Gesamthaltbarkeitsdauer ********************************************
call function 'MB_CHECK_T160M'
exporting
i_arbgb = '12'
i_msgnr = '006'
i_nolog = x
importing
rc = rc.
if ( rc eq 4 ) and
( not sy-batch is initial or
not sy-binpt is initial or
not xmbwl is initial ).
*** Im Batch oder Batch-Input kein Entscheidungs-Popup möglich, deshalb
*** Verhalten wie bei Warnung ******************************************
rc = 1.
endif.
case rc.
when 0.
*** das neu berechnete MHD wird kommentarlos übernommen ****************
dm07m-vfdat_input = new_mhdat.
akt_expd-vfdat_calc = new_mhdat.
when 1. " Warnung
x_mhdat = dm07m-vfdat_input.
dm07m-vfdat_input = new_mhdat.
akt_expd-vfdat_calc = new_mhdat.
set cursor field 'DM07M-VFDAT_INPUT'.
*-- Das bisherige MHD (&1) wurde vom Programm auf &2 verändert --------*
message w006(12) with x_mhdat new_mhdat.
perform naco_log(sapfm07m) using 'W' '12' '006'
x_mhdat new_mhdat space space.
when 2. " Fehler
set cursor field 'DM07M-VFDAT_INPUT'.
*-- Das bisherige MHD (&1) wurde vom Programm auf &2 verändert --------*
message e006(12) with dm07m-vfdat_input new_mhdat.
when others. " Popup
*** Entscheidung zw. eingegebenen und korrigierten MHD per Popup *******
write new_mhdat to char_date01.
write dm07m-vfdat_input to char_date02.
call function 'POPUP_TO_DECIDE_COMPL_QUEST'
exporting
txt01 = text-001
qtext = text-002
par01 = char_date01
par02 = char_date02
title = text-003
answer03 = '*'
default_answer = 'Y'
length = 40
importing
answer = exit_answer.
if exit_answer eq 'J'.
dm07m-vfdat_input = new_mhdat.
akt_expd-vfdat_calc = new_mhdat.
endif.
endcase.
Функциональный модуль MB_CHECK_T160M, проверяет тип сообщения. Если сообщение отключено, тогда похоже что отрабатывает блок для RC = 0. В общем надо бы в отладчике посмотреть, но пока негде, надо настраивать это МСГ, а я это делал давненько, так что если быстро выйдет где-то в идесе подкрутить, то посмотрю точнее.