Всем добрый день!
Ситуация значит следующая: требуется вызвать сообщение типа I из FOX'а. Вот пример кода,который у нас реализуется:
Code:
DATA U1 TYPE I.
DATA ZTEXT TYPE STRING.
DATA ZSTAT TYPE I.
DATA FORM TYPE I_FORM.
DATA DEP TYPE I_DEP.
DATA CY TYPE 0CALYEAR.
DATA COM1 TYPE ZCOM1.
DATA COM2 TYPE ZCOM2.
DATA COM3 TYPE ZCOM3.
DATA IND TYPE I_STATIND.
DATA FORMV TYPE I_FORM.
DATA DEPV TYPE I_DEP.
DATA CYV TYPE 0CALYEAR.
DATA INDV TYPE I_STATIND.
FORMV = VARV ('I_VARFORM').
DEPV = VARV ('I_DEPT').
CYV = VARV ('I_CALYEAR').
INDV = VARV ('I_SIND').
BREAK-POINT.
FOREACH FORM, DEP, CY, COM1, COM2, COM3, IND .
CALL FUNCTION ZI_SETSTATUS
EXPORTING
I_FORM = FORMV
I_DEP = DEPV
I_CALYEAR = CYV
I_IND = INDV
IMPORTING
U = U1
Y_STAT = ZSTAT
Y_T_TEXT = ZTEXT.
IF U1 = 1.
MESSAGE E001(ZI_MESSAGE).
ENDIF.
MESSAGE I002(ZI_MESSAGE) WITH ZTEXT ZSTAT.
ENDFOR.
Возникает проблема с сообщением MESSAGE I002(ZI_MESSAGE) WITH ZTEXT ZSTAT. Оно просто не отображается при выполнении FOX'а...параметры ZTEXT и ZSTAT передаются, таблица XT_MESG также корректно заполняется, но фокс не ловит данное сообщение типа I...Если поменять тип на E то оно срабатывает.
Читал, что без обработки исключений абаповские сообщения типа I не обрабатываются...возможен вариант, что при корректной отработки последовательности планирования сообщения данного типа впринципе не хватаются, но что-то в это не очень-то и верится)))
Если будут варианты для решения данной проблемы,буду признателен.Спасибо!