Текущее время: Вс, июл 20 2025, 22:56

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 17 2007, 10:00 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
KOVAL написал(а):
так повесь собитие на какую нибудь клавишу и обрабатывай! в подэкране статус забецай и будет тебе счастите 8)


вот так как раз и не работает.

Опишу ситуацию так.

Есть экран. A
Есть подэкран B

На экране А есть 2е кнопки. Кнопка SHOW и кнопка CLOSE. например.

При нажатии на кнопку SHOW на подэкран B выводится окно в котором обязательные поля.

Теперь я хочу закрыть B окно. Нажимаю CLOSE (она находится на экране А.)

И фсе :cry: получаем сообщении о необходимости заполнения поля.

Ниодно событие подэкрана B ни PAI ни PBO несрабатывает. ставил специально сообщения.

вот только после заполнения полей начинается отработка.


Я уже пытался отфанаря заполнить значениями поля и удалять.
но <я не знать русский языка> достучаться до полей подэкрана...


Правка.. также хочу заметить что AT EXIT-COMMAND
сробатывает не для подэкрана а только для главного экрана который вызывает подэкраны


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

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
как вариант рассматриваю ситуацию когда на основном экрани каким то образом пройтись по полям сабскрина и выключить required.


вот только как добраться до элементов другого подэкрана?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 17 2007, 11:14 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
apetrenko написал:
вот так как раз и не работает.

Опишу ситуацию так.

Есть экран. A
Есть подэкран B

На экране А есть 2е кнопки. Кнопка SHOW и кнопка CLOSE. например.

При нажатии на кнопку SHOW на подэкран B выводится окно в котором обязательные поля.

Одно только замечание - если Вам действительно нужно SHOW - то тогда на подэкране Б закрывайте поля для ввода, при этом проверка обязательности срабатывать не будет. Иначе всё логично - раз есть открытые для ввода обязательные поля на экране B - то они должны быть заполнены. Отменить работу в этом случае можно только если в модуле обработки EXIT-COMMAND перейти на текущий, новый, вообще выйти с экрана.
Пример (переход на текущий экран минуя PAI). EXIT вызывается в главном окне как MODELE exit AT EXIT-COMMAND.
Code:
module EXIT.
set screen sy-dynnr.
leave screen.
endmodule.


Цитата:
Теперь я хочу закрыть B окно. Нажимаю CLOSE (она находится на экране А.)

И фсе :cry: получаем сообщении о необходимости заполнения поля.

Ниодно событие подэкрана B ни PAI ни PBO несрабатывает. ставил специально сообщения.

вот только после заполнения полей начинается отработка.


Я уже пытался отфанаря заполнить значениями поля и удалять.
но <я не знать русский языка> достучаться до полей подэкрана...


Правка.. также хочу заметить что AT EXIT-COMMAND
сробатывает не для подэкрана а только для главного экрана который вызывает подэкраны

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


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

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Неполучается так.

я <я не знать русский языка> закрыть поля подэкрана.

пытался так.

Code:
set screen 1590.
loop at screen.
   screen-input = '0'.
   MODIFY screen.
endloop.


но этот код всеравно лазит по 1000 маин экрану.

можно как то силой достучаться к элементам подэкрана из маин окна?


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

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Я уже впринципе забил на это. в рабочей проге нужные поля ручками проверяю. Но таких подэкранов у меня штук 20 разных. и на каждом пришлось свою проверку поставить. А экранов будет еще больше со временем.

ну теперь блин, хочется принципиально решить проблемму.


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

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
подытожу еще раз.

Main экран. 1000
сабскрин 1590 (тут есть required поля)

Даже если я вешаю на сабскрин кнопку закрыть.
то AT EXIT-COMMAND срабатывает только на 1000 экране а не на
1590 как хотелось бы.

соответственно все попытки "полупаться" по скрину мы получаем лооп
по 1000 экрану.
а надо по 1590.
если я пропишу AT EXIT-COMMAND в 1590 он работать не будет. никак.



осалось то силой пройтись лупом по 1590 экрану..

а вот как?


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
apetrenko написал:
осалось то силой пройтись лупом по 1590 экрану..

Изменить атрибуты полей на подэкране можно только в PBO подэкрана. Прочитайте про то, как взаимодействуют экран и подэкран и используйте это. Не нужно с САПом бороться, надо применять его по назначению.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 17 2007, 12:07 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
apetrenko написал:
Неполучается так.

я <я не знать русский языка> закрыть поля подэкрана.

пытался так.

Code:
set screen 1590.
loop at screen.
   screen-input = '0'.
   MODIFY screen.
endloop.


но этот код всеравно лазит по 1000 маин экрану.

можно как то силой достучаться к элементам подэкрана из маин окна?
Нельзя, да и не нужно - подэкран сам должен управлять своей логикой и своими элементами. Используйте/передавайте переменную, показывающую в каком режиме должен отображаться экран.

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


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

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
sibrin написал:
apetrenko написал:
осалось то силой пройтись лупом по 1590 экрану..

Изменить атрибуты полей на подэкране можно только в PBO подэкрана. Прочитайте про то, как взаимодействуют экран и подэкран и используйте это. Не нужно с САПом бороться, надо применять его по назначению.



а в PBO или PAI подэкрана я <я не знать русский языка> попасть 2й раз пока все поля не заполню :(

вот и затык


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 17 2007, 12:51 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
apetrenko написал:
sibrin написал:
apetrenko написал:
осалось то силой пройтись лупом по 1590 экрану..

Изменить атрибуты полей на подэкране можно только в PBO подэкрана. Прочитайте про то, как взаимодействуют экран и подэкран и используйте это. Не нужно с САПом бороться, надо применять его по назначению.



а в PBO подэкрана я <я не знать русский языка> попасть 2й раз пока все поля не заполню :(

вот и затык

В модуле AT EXIT-COMMAND переходите на нужный вам экран, я-же привёл Вам пример такого перехода. Этот модуль вызывается ДО проверок обязательности заполнения.

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


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

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
sy-uname написал(а):
apetrenko написал:
sibrin написал:
apetrenko написал:
осалось то силой пройтись лупом по 1590 экрану..

Изменить атрибуты полей на подэкране можно только в PBO подэкрана. Прочитайте про то, как взаимодействуют экран и подэкран и используйте это. Не нужно с САПом бороться, надо применять его по назначению.



а в PBO подэкрана я <я не знать русский языка> попасть 2й раз пока все поля не заполню :(

вот и затык

В модуле AT EXIT-COMMAND переходите на нужный вам экран, я-же привёл Вам пример такого перехода. Этот модуль вызывается ДО проверок обязательности заполнения.


в том то и дело что не переходит. Там всегда 1000 основной экран.

если убрать сабскрин и работать с 1 экраном тут все в порядке.
Все работает.
в случае с подэкрано маин окно всегда остается основным и все.
и везде в SY-DYNNR будет только осноыной экран не саб.

И Ваш пример вываливает из обеих экранов в главное меню. к сожалению.


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
apetrenko написал:
И Ваш пример вываливает из обеих экранов в главное меню. к сожалению.
Пример правильный.
После exit-command ни PAI основного экрана, ни тем более подэкрана не срабатывает. Устанавливаете следующим экраном, естественно, тот же главный экран, только номер подэкрана в PBO уже другой подставляете.

Но зачем Вы сами с собой играете в поддавки: т.е. поставили аттрибут required и пытаетесь это побороть? Поставьте аттрибут recommended и далайте проверку на заполненность сами в PAI (хоть подэкрана, хоть главного экрана).


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

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
sibrin написал:
Устанавливаете следующим экраном, естественно, тот же главный экран, только номер подэкрана в PBO уже другой подставляете.


Немного не понял этот текст.


Цитата:
Но зачем Вы сами с собой играете в поддавки: т.е. поставили аттрибут required и пытаетесь это побороть? Поставьте аттрибут recommended и далайте проверку на заполненность сами в PAI (хоть подэкрана, хоть главного экрана).

Рассказываю.

Я вывожу экран и если человек намеревается сохранить документ сап ему должен не дать сохранить такак нужно заполнить обязательно все поля. Тут все пучком.

А вот если человек хочет отменить ввод документа тогда нужно просто уйти с экрана. А не получается так как сап хочет поля заполненные. И есть кнопка Exit все как положено. А неуходит.


Получается нужно заполнить чемтто и уйти с экрана....


Сейчас конечно сам уже все проверяю.. Но всетаки хочется решить этот вопрос. Иначе в случае с подэкоранами получается нельзя юзать required поля.

В случае с 1им экраном (без сабскринов) все работает на ура и никаких вопросов


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 17 2007, 13:59 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
apetrenko написал:
...

Я вывожу экран и если человек намеревается сохранить документ сап ему должен не дать сохранить такак нужно заполнить обязательно все поля. Тут все пучком.

А вот если человек хочет отменить ввод документа тогда нужно просто уйти с экрана. А не получается так как сап хочет поля заполненные. И есть кнопка Exit все как положено. А неуходит.
...

Вот этой фразы про "уйти" я не понимаю - мы-же говорим про подэкран, ведь так? А с подэкрана нельзя уйти, он всегда есть как часть основного экрана. Его можно заменить на другой подэкран (например на пустой), но переход осуществляется всегда по основным экранам.
Так куда в итоге надо уйти?

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


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

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Цитата:
Вот этой фразы про "уйти" я не понимаю - мы-же говорим про подэкран, ведь так? А с подэкрана нельзя уйти, он всегда есть как часть основного экрана. Его можно заменить на другой подэкран (например на пустой), но переход осуществляется всегда по основным экранам.

Так куда в итоге надо уйти?

вот сюда. Вы правильно сказали.
Его можно заменить на другой подэкран (например на пустой)
такой экран есть.

основной экран это ALV со списком. и каждая запись это свой экран внизу.
если Вам интересно дайте мне ваше мыло я вам скрины вышлю.
в случае отказа от ввода в Alv исчезает 1 запись и внизу становится пустой подэкран экран


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.

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


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

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


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

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