Текущее время: Пт, мар 29 2024, 12:10

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Пт, апр 19 2019, 13:05 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, ноя 07 2014, 20:19
Сообщения: 55
Добрый день.

При такой конструкции

SELECT-OPTIONS S_BP FOR BUT000-PARTNER OBLIGATORY.

При выполнении программы если хочешь ввести данные в многократный ввод, ругается, что нужно обязательно заполнить поле, что собственно говоря и пытаешься сделать(просто сразу многократно).

Почему так сделано? Понятно, что можно свою проверку повесить(убрать OBLIGATORY), но все таки интересно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Пт, апр 19 2019, 14:03 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
потому что кнопка множественного выбора инициирует PAI селекционного экрана.

SELECT-OPTIONS это не контрол сам по себе, а два лейбла два текстовых поля и кнопка.
Все это работает по стандартной экранной логике.

1) проерка OBLIGATORY
2) PAI
3) показ окошка множественного вывода


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Пт, апр 19 2019, 16:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
hugo788 написал(а):

Почему так сделано? Понятно, что можно свою проверку повесить(убрать OBLIGATORY), но все таки интересно.

Потому что тот кто писал логику для селекционного экрана был тупой :mrgreen: облигатори надо было проверять один раз и перед запуском отчета по хорошему

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Пт, апр 19 2019, 18:19 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
Kengur написал(а):
hugo788 написал(а):

Почему так сделано? Понятно, что можно свою проверку повесить(убрать OBLIGATORY), но все таки интересно.

Потому что тот кто писал логику для селекционного экрана был тупой :mrgreen: облигатори надо было проверять один раз и перед запуском отчета по хорошему

у селекционника логка та же что у обычного скрина.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Пт, апр 19 2019, 20:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1570
Откуда: Пермь
Пол: Мужской
Тоже бесит очень. Это номер раз.
А номер два - это то, что при пустом obligatory поле невозможно переключить радиобатоны (молочные нарезные).
Поэтому я лично в своих разработках вообще отказался от obligatory не только на селект опшнах, но и даже на параметрах.
Все проверяю сразу после start-of-selection и выкидываю там уже message.
Ну а в стандартной разработке ничего не попишешь. Вся надежда там на memory id, который, к слову, почти везде используется.

_________________
Алё, это Пакистан? Нам нужен один килограмм


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Пн, апр 22 2019, 22:39 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Yozhhhhh написал:
Все проверяю сразу после start-of-selection и выкидываю там уже message.

Тогда лучше в PAI-логике
Code:
AT SELECTION-SCREEN.
CHECK sy-comm = 'ONLY' or sy-ucomm = 'SJOB' or sy-ucomm = space.
* Проверки
  IF   .
    MESSAGE e...
  ENDIF.

Хотя бы на экране выбора останешься :)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Вт, апр 23 2019, 18:28 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1570
Откуда: Пермь
Пол: Мужской
Удав написал(а):
Хотя бы на экране выбора останешься

А я и так там остаюсь :D Мне нравится вот такая конструкция, ее и использую.

Code:
if p_zakl eq 'X' and p_zad is initial and p_spis is initial and p_zaba is initial.
  message 'Вы не помыли руки после туалета' type 'S' DISPLAY LIKE 'E'.
  exit.
endif.

_________________
Алё, это Пакистан? Нам нужен один килограмм


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Вт, апр 23 2019, 22:08 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 475
пришел к выводу уйти от obligatory в принципе (только в редких случаях применяю).

а так делаю: required и проверяю через запуск или нужное действие.
но это лично мой скромный опыт..


Последний раз редактировалось olegbash Чт, май 02 2019, 11:16, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Ср, май 01 2019, 12:19 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 09:38
Сообщения: 170
Yozhhhhh написал:
Удав написал(а):
Хотя бы на экране выбора останешься

А я и так там остаюсь :D Мне нравится вот такая конструкция, ее и использую.

Code:
if p_zakl eq 'X' and p_zad is initial and p_spis is initial and p_zaba is initial.
  message 'Вы не помыли руки после туалета' type 'S' DISPLAY LIKE 'E'.
  exit.
endif.

Тоже предпочитаю такой подход. Как показала практика при сложных СЭ, особенно где много скрываемых/показываемых элементов по радиобатонам, да еще и на разных вкладках, синхронизация всех состояний и проверок с облигатори полями через события СЭ превращается в ад. Пользователи банально не понимают зачем им заполнять обязательное поле на этой вкладке, если они хотят перейти на другую, а там это поле нафиг не нужно(и это логинчо). Намного проще проверять всё перед выполнением и вернуть на СЭ если есть ошибки.
Есть только один момент: есть возможность как нибудь рисовать галку "обязательности" поля без указания облигатори? Это не критично, но пользователи уже привыкли что обязательные поля выделены, не хотелось бы разрывать этот шаблон.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Obligatory для SELECT-OPTIONS
СообщениеДобавлено: Ср, май 01 2019, 13:11 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Saperx написал(а):
Есть только один момент: есть возможность как нибудь рисовать галку "обязательности" поля без указания облигатори? Это не критично, но пользователи уже привыкли что обязательные поля выделены, не хотелось бы разрывать этот шаблон.


конечно есть

loop at screen
screen-required = 2

required 1 c Mandatory field 0, 1, 2 Mandatory or recommended field


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

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


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

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


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

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