Текущее время: Пн, июл 21 2025, 03:05

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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