Текущее время: Ср, июл 23 2025, 22:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Логика работы alv
СообщениеДобавлено: Вт, июн 05 2012, 07:57 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 15 2008, 12:14
Сообщения: 146
Столкнулась с ситуацией, логику которой не понимаю. Есть два экрана 100 и 200.
Экран 100 просто содержит поля вывода.
1. При вызове экрана 100 в нем запускается функмодуль, в результате которого вызывается команда set user command 'COMMAND'.
2. Отрабатывается PAI логика по переданному 'COMMAND', которая вызывает экран 200.
3. В PBO экрана 200 создается обычный контейнер в котором есть алв грид. Выполняются обычные действия по добавлению строк в этот алв.
4. Нажимаем кнопку выход.
5. В PAI логике экрана 200 дестроится контейнер, алв, и вызывается команда leave to screen 0.
6. Возвращаемся обратно на экран 100, где опять же вызывается функ модуль и Set user command 'COMMAND'. Только вот уход в PAI уже не происходит. Ровно пока не нажмем ентер. Т.е. система как отдала управление гриду, так обратно и не забрала. Самое интересное что если не дестроить контейнер и грид то все нормально работает. Чем это объяснить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика работы alv
СообщениеДобавлено: Вт, июн 05 2012, 08:31 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
Если set user command должна сработать, то может нет каких-то данных в структуре syst, которые бы определяли на каком экране и вообще где(фокус или позиция) должно происходить?

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика работы alv
СообщениеДобавлено: Вт, июн 05 2012, 08:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 15 2008, 12:14
Сообщения: 146
Все есть, и не понятно как на это влияет дестрой грида. Логичнее было бы ожидать такое поведение если бы не было дестроя. А то получается грида нет, с экрана его ушли, а он все ждет чегото.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика работы alv
СообщениеДобавлено: Вт, июн 05 2012, 09:00 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
Мне тоже не понятно, я, в виду своих заморочек и информации из хелпа,что данная команда работает только с обработкой списков, не использую set user command уже давно, поэтому не встречался с такими ситуациями.
Тем более как на это может повлиять разрушение грида.

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика работы alv
СообщениеДобавлено: Вт, июн 05 2012, 10:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 15 2008, 12:14
Сообщения: 146
Чтобы прояснить ситуацию - функмодуль у меня rfc и вызывается в параллельном потоке, для постоянного прослушивания com-порта и возвращения его содержимого. Естесно когда он мне возвращает какое-то значение я должна это проверить и перевызвать этот функ модуль. При проверке значений возвращаемых параллельным потоком стоят всякие жесткие ограничения, типа нельзя использовать конструкции call perform и тд, поэтому set user command хорошее в данном случае решение. В случае когда он мне возвращает что-то определенное, то вызывается screen 200 с мои алв гридом. Когда с 200 скрина ухожу то запускаю прослушку ком порта по-новой.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика работы alv
СообщениеДобавлено: Вт, июн 05 2012, 11:46 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
В вашем случае насколько я понял совсем не обязательно каждый раз пересоздавать контейнер с ALV. Создайте 1 раз и используйте их при последующих вызовах 200-го экрана


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика работы alv
СообщениеДобавлено: Вт, июн 05 2012, 12:24 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 15 2008, 12:14
Сообщения: 146
Я так и поступила, мне просто интересно получить ответ на этот вопрос. Получается я не до конца знаю и понимаю логику экранов - пичалька


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика работы alv
СообщениеДобавлено: Вт, июн 05 2012, 14:07 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
А каким образом дестроится Alv грид, может там "собак окопался"?

upd. И может там где-то в при обработке alv случайно flush пробегал?

_________________
I have a dream


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

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


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

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


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

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