Текущее время: Вс, июл 13 2025, 15:00

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Message type 'E' - пропадает GUI-status
СообщениеДобавлено: Вт, авг 19 2008, 11:31 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, июл 08 2008, 09:30
Сообщения: 55
Добрый день.

Прошу помочь разрешить такую ситуацию.



Code:
...

START-OF-SELECTION.

...

  CALL FUNCTION 'RH_STRUC_GET'
...

  IF sy-subrc EQ 2.
    MESSAGE 'Орг.единица в плане 1 не существует.' TYPE 'E'.
  ENDIF.

....


Когда это отрабатывает, гуистатус исчезает и пользователь не знает чего ему делать. Собственно, я свой GUI-status и не присваивал, но думал что будет от селекшен скрина. Вопрос - как, сохраняя логику (выводя ошибку при помощи MESSAGE), вернуться на селекшен скрин?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 12:14 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 11 2008, 11:54
Сообщения: 359
Откуда: Воронеж
Пол: Мужской
Code:
PARAMETERS: p TYPE werks_d.

START-OF-SELECTION.


  MESSAGE  'Error' TYPE 'S' DISPLAY LIKE 'E'.
  STOP.

END-OF-SELECTION.
Будет сообщение типа S, но на экране будет выглядеть как E. STOP передаст управление оператору выполняющимося после END-OF-SELECTION. Если после него ничего нет, то сразу попадете на селекционный экран

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем


Последний раз редактировалось XXX_:) Вт, авг 19 2008, 12:18, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Message type 'E' - пропадает GUI-status
СообщениеДобавлено: Вт, авг 19 2008, 12:16 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Mystic_you написал(а):
Добрый день.

Прошу помочь разрешить такую ситуацию.



Code:
...

START-OF-SELECTION.

...

  CALL FUNCTION 'RH_STRUC_GET'
...

  IF sy-subrc EQ 2.
    MESSAGE 'Орг.единица в плане 1 не существует.' TYPE 'E'.
  ENDIF.

....


Когда это отрабатывает, гуистатус исчезает и пользователь не знает чего ему делать. Собственно, я свой GUI-status и не присваивал, но думал что будет от селекшен скрина. Вопрос - как, сохраняя логику (выводя ошибку при помощи MESSAGE), вернуться на селекшен скрин?

Messages Without Screens - не используйте тип 'E', испольуйте например 'S' с дополнением DISPLAY LIKE 'E' и завершайте выполнение программы через EXIT\RETURN

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 22 2008, 12:22 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, июл 08 2008, 09:30
Сообщения: 55
Спасибо ответившим, все верно!

я знал про дополнение DISPLAY LIKE ... , но почему то не догадался про STOP/EXIT/RETURN , вместо этого пытался вызвать экран, вроде CALL SELECTION-SCREEN 1000 и результаты были конечно ужасающие =)


P.S. Правда, пришлось поставить флаг о том что выполнение прервано, и потом флаг анализировать, чтобы потом не выводить WRITE "Данных не найдено" (этим райтом мы уходим с селекшен-скрина)

Code:
START-OF-SELECTION.

....

IF sy-subrc NE 0.
    MESSAGE 'Орг.единица в плане 1 не существует.'
      TYPE 'S' DISPLAY LIKE 'E'.
    gv_stay_at_sel_screen = 'X'.
    EXIT.
  ENDIF.

....

END-OF-SELECTION.
  CHECK gv_stay_at_sel_screen IS INITIAL.
...

Как-то не очень красиво получилось, но ведь в формах же, кажется, нельзя использовать исключения?


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB