Текущее время: Вс, авг 03 2025, 02:00

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: SUBSCREEN и CHAIN... ENDCHAIN.
СообщениеДобавлено: Ср, июл 18 2007, 16:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 25 2005, 15:06
Сообщения: 143
Использую подэкран для реализации множественного выбора.

Возникла проблема, в логике главного окна корректность заполнения полей проверяется конструкцией CHAIN.

Цитата:
PROCESS BEFORE OUTPUT.
CALL SUBSCREEN sub INCLUDING sy-cprog '0601'.

PROCESS AFTER INPUT.
CALL SUBSCREEN sub.
CHAIN
FIELD ...
FIELD ...
FIELD ...
ENDCHAIN.


Соответственно, все поля, которые не описаны в FIELD после ошибочного ввода становятся серыми, а описанные даются на корректировку.

Так вот, как мне включить поле подэкрана в цепочку обработки?
Иначе после неправильного ввода значения в него, оно засеряется и нет возможности его корректировать.
Это вообще возможно?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SUBSCREEN и CHAIN... ENDCHAIN.
СообщениеДобавлено: Ср, июл 18 2007, 16:49 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
creo написал(а):
Использую подэкран для реализации множественного выбора.

...
Так вот, как мне включить поле подэкрана в цепочку обработки?
Иначе после неправильного ввода значения в него, оно засеряется и нет возможности его корректировать.
Это вообще возможно?


попробуйте делать проверки внутри одного из вариантов
AT SELECTION-SCREEN - selscreen_event :
... ON {para|selcrit}
... ON BLOCK block

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 18 2007, 17:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
CALL SUBSCREEN sub. нельзя внутрь CHAIN поставить?

Вообще, если нужно открывать столько много полей, то может проще вообще все поля открывать? Т.е. ошибку возвращать из "глобального" модуля.


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

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
а почему бы проверку полей подэкрана не делать в самом подэкране?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 19 2007, 09:11 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 25 2005, 15:06
Сообщения: 143
Собственно, особо поменять экранную логику не представляется возможным, т.к. это скопированная стандартная транзакция САП (знаю что не хорошо, но так надо было). Перекурочить все это довольно проблематично.

CALL SUBSCREEN sub. запрещено использовать внутри CHAIN.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 19 2007, 09:41 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
creo написал(а):
...
На счет проверки полей подэкрана на самом подэкране.
Там выбирается, допустим, список материалов (через множественный выбор) и нечего проверять само по себе. А необходимо проверить именно с комбинацией полей, которые введены на главном экране.
Вот именно - необходимо проверить, и проверять следует именно на подэкране, где данные вводились.
Цитата:
Например, выбрать позиции заявок именно по таким материалам. Т.е. если таких материалов не оказывается в этой заявке, то возможности выбрать другой набор материалов больше нет. Не выходить же каждый раз из транзакции и делать новый набор данных.
Не выдавайте сообщение типа 'E' 'W', но при этом блокируйте возможность уйти с экрана до ввода корретных данных.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 19 2007, 10:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
sy-uname написал(а):
Не выдавайте сообщение типа 'E' 'W', но при этом блокируйте возможность уйти с экрана до ввода корретных данных.

Просто перетащить сообщения в глобальный модуль
(который не привязан к chain и field).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 20 2007, 16:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 25 2005, 15:06
Сообщения: 143
sy-uname написал(а):
Не выдавайте сообщение типа 'E' 'W', но при этом блокируйте возможность уйти с экрана до ввода корретных данных.


Спасибо! Помогло!


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

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


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

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


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

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