Текущее время: Чт, июл 24 2025, 00:40

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


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

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


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

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