Текущее время: Сб, авг 02 2025, 20:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Не могу разобраться с логикой...
СообщениеДобавлено: Вт, янв 20 2009, 17:03 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Добрый день!

Возникла такая проблема. На экране имею грид, к которому подвешен собственный toolbar. И есть subscreen с набором полей для ввода/вывода. Так вот по нажатию одной из кнопок на гриде пытаюсь обнулить поля в subscreen. Т.е. в handle_user_command пишу просто clear: p_qwe, p_asd .... После этого они пустые. Потом вызываю cl_gui_cfw=>set_new_ok_code с неиспользуемым кодом, чтобы перерисовать экран, т.к. некоторые поля должны быть заблокированы/разблокированы. Так вот как только доходит до вызова CALL SUBSCREEN gs_sub_details (это сабскрин, который и содержит поля), то в поля возвращаются их значения до clear (кроме одного поля, которое я делаю активным/неактивным). Отладка ессно не заходит в этот вызов. Бьюсь не могу понять, почему возвращаются значения. Помогите разобраться. Заранее спасибо!

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу разобраться с логикой...
СообщениеДобавлено: Вт, янв 20 2009, 18:34 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, окт 27 2008, 16:21
Сообщения: 33
Откуда: Москва
Пол: Мужской
я попадал в подобную ситуацию, но в моем случае значения в поля лезли из-за того что в PBO жестко прописано что туда нужно подставить. Я сейчас попробовал подебажить CALL SUBSCREEN и отладчик четко зашел в PBO подэкрана. Я зашел в программу с подэкранами, выбрал "Отладка экрана" из меню "Система"->"Утилиты" И вызвал одну из функций, пробежал PBO основного экрана а потом отладчик вошел в PBO подэкрана. Попробуйте посмотреть чему равны Ваши переменные в PBO подэкрана. Я бы сделал глобальные переменные и копировал бы их значения в поля в PBO подэкрана, прежде установив их в обработчике нажатия на кнопке


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу разобраться с логикой...
СообщениеДобавлено: Вт, янв 20 2009, 19:00 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Может я чего-то не понял, но вот как у меня происходит.

Запускаю программу. Дохожу до нужного места (перед нажатием кнопки на гриде). Включаю отладку экрана через меню (не понял только в чем разница с break-point в нужном месте). После этого программа проходит до clear, все нужные параметры очищаются. Дальше идем в PAI экрана, т.к. был вызван cl_gui_cfw=>set_new_ok_code. И вот уже в PAI после вызова CALL SUBSCREEN gs_sub_details в параметры возвращаются значения. Зайти в этот вызов пока не представляю как.

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу разобраться с логикой...
СообщениеДобавлено: Вт, янв 20 2009, 19:13 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
В обработчике событий поднимите какой-нибудь флажок, а в PBO по этому флажку уже переменные обнуляйте.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу разобраться с логикой...
СообщениеДобавлено: Вт, янв 20 2009, 19:32 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
VID написал:
Может я чего-то не понял, но вот как у меня происходит.

Запускаю программу. Дохожу до нужного места (перед нажатием кнопки на гриде). Включаю отладку экрана через меню (не понял только в чем разница с break-point в нужном месте). После этого программа проходит до clear, все нужные параметры очищаются. Дальше идем в PAI экрана, т.к. был вызван cl_gui_cfw=>set_new_ok_code. И вот уже в PAI после вызова CALL SUBSCREEN gs_sub_details в параметры возвращаются значения. Зайти в этот вызов пока не представляю как.
И что же Вы хотите, если у Вас запустилось PAI? PAI по определению приводит к передаче содержимого полей экрана в переменные ABAP. Так что всё логично.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу разобраться с логикой...
СообщениеДобавлено: Ср, янв 21 2009, 18:10 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Спасибо за объяснения, ситуация прояснилась :pivo:

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу разобраться с логикой...
СообщениеДобавлено: Чт, янв 22 2009, 11:48 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Сделал по совету Джона. Поля обнуляются по флажку в PBO основного экрана, т.к. сами поля лежат в subscreen, который описан с помощью selection-screen begin of screen ... as subscreen. Так вот, обнуление происходит, в отладчике все время показывает, что поля пустые, дальше по F5 прохожу до конца - поля все время пустые. Как только отладка заканчивается - поля снова заполнены, хотя на последнем шаге в отладчике были пустые... Непонятно...

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу разобраться с логикой...
СообщениеДобавлено: Чт, янв 22 2009, 12:03 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Переместил Clear в at selection-screen output и все заработало :D Спасибо за помощь еще раз!

_________________
Вежливость - лучшее оружие чайника :-)


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

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


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

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


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

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