Текущее время: Вс, июл 27 2025, 21:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: AT SELECTION SCREEN ON select-options
СообщениеДобавлено: Ср, мар 20 2013, 13:02 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, ноя 07 2011, 11:46
Сообщения: 83
Добрый день, уважаемые коллеги!
Нужна ваша помощь по корректной реализации проверки на существование группы, а именно:
SELECT-OPTIONS: s_ktokd FOR kna1-ktokd.

Мною был написан следующий код:
AT SELECTION-SCREEN ON s_ktokd.
DATA: lt_ktokd TYPE STANDARD TABLE OF ktokd.
SELECT ktokd
FROM t077d
INTO TABLE lt_ktokd
WHERE ktokd IN s_ktokd.
IF sy-subrc <> 0.
MESSAGE text-002 TYPE 'E'.
ENDIF.

Вопрос заключается в том, верен ли данный код для select-options? Если был бы параметр - никаких бы вопросов не возникло. А так, допустим, пользователь ввёл 3 отдельных значения "ZSEL", "ZSOL", "ZTER". 1-ое и 3-ье корректны, а 2-ого нет в таблице T077D. Понятно, что при написанном коде sy-subrc = 0 и в таблицу lt_ktokd выберутся соответственно "ZSEL" и "ZTER". Но правильно ли это? Возможно, нужно делать LOOP по s_ktokd и проверять каждое значение LOW и HIGH на существование.
Как будет более правильно?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: AT SELECTION SCREEN ON select-options
СообщениеДобавлено: Чт, мар 21 2013, 13:21 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, июн 23 2007, 14:56
Сообщения: 203
Нормально как есть, только проверьте, что s_ktokd не пустое.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT SELECTION SCREEN ON select-options
СообщениеДобавлено: Вт, мар 26 2013, 07:50 
Начинающий
Начинающий

Зарегистрирован:
Ср, сен 14 2011, 10:05
Сообщения: 17
nymbos написал(а):
Нормально как есть, только проверьте, что s_ktokd не пустое.


В противном случае получите всю таблицу сразу


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: AT SELECTION SCREEN ON select-options
СообщениеДобавлено: Вт, мар 26 2013, 21:03 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Hanna_89 написал(а):
Возможно, нужно делать LOOP по s_ktokd и проверять каждое значение LOW и HIGH на существование.

В таком виде как есть приведенный код имеет очень узкое применение IMHO. Правильность ввода в select options невозможно проверить с точностью, т.к. пользователи могут ввести туда все, что угодно. Например, выбор по маске Z* или exclude. Как вы это проверите, да и в чем смысл?

Если для программы принципиально, чтобы был выбран определенный набор значений, то возможно следует select options ограничить (см. опции NO-EXTENSION, etc.). В общем определитесь, чего конкретно надо добиться.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT SELECTION SCREEN ON select-options
СообщениеДобавлено: Вт, мар 26 2013, 22:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Hanna_89 написал(а):
Как будет более правильно?

Правильно будет так, как написано. Если поле обязательно нужно заполнять, то воспользуйтесь советом nymbus. Или поставьте obligatory.
Кроме этого, бывает необходимо проверить полномочия на каждое выбранное значение.
Jelena написала:
Правильность ввода в select options невозможно проверить с точностью, т.к. пользователи могут ввести туда все, что угодно.

Пользователь должен отвечать за свои действия ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT SELECTION SCREEN ON select-options
СообщениеДобавлено: Вт, мар 26 2013, 22:44 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Jelena написала:
Правильность ввода в select options невозможно проверить с точностью

Но можно предупредить пользователя, что кикие-то из ограничений выборки не будут учтены. Другой вопрос в необходимости такого предупреждения. ИМХО, такой необходимости не существует. Если пользователь получит пустой резалтсет - наверное догадается, что что-то сделал не так :)


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

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


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

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


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

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