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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: GET PF-STATUS - трудности с определением текущего статуса.
СообщениеДобавлено: Вт, окт 18 2005, 11:27 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Программа сделана на основе тр. MB5L. После экрана выбора показывается алв-список сальдо счетов запасов. При выборе счета - алв-список с материалами.
Есть потребность обрабатывать выход из этого экрана с материалами - нужно снимать объект блокировки. Но при обработки событий &F03 и &F15 у меня по GET PF-STATUS возвращается STANDARD, такой же, как и на предыдущем экране, хотя при просмотре Система->Статус видно, что статус - BESTAND. Как определить, из какого экрана/статуса я сейчас выхожу?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 18 2005, 12:03 
Гость
SY-PFKEY


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
То же самое, похоже, и возвращает GET PF-STATUS - значения одинаковые. Более того, в примерах переменная статуса объявляется LIKE SY-PFKEY. Так что ничего нового это не принесло.
Кроме того, можно было бы предположить, что возвращается следующий статус. Ан-нет! Что при движении "вперед", что "назад" статус одинаковый - STANDARD. Только на detail-экране при каких-либо ок-кодах, кроме стандартных, статус читается как BESTAND.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 18 2005, 12:43 
Гость
sy-dynnr - номер экрана, тоже не поможет?


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Можно попробовать. Тем более что отчет-то все равно мой, хоть и на основе стандартной проги - так что номера экранов никто менять не будет :)

З.Ы. Пардон. Попробовал - SY-DYNNR все время равен 0120... :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 18 2005, 16:43 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
0120 - номер экрана, на котором формируется список. Может, это поможет?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 19 2005, 09:02 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Ув. EGF! См. мой пост перед Вашим. Я это обнаружил, но там такая же проблема - номер экрана не меняется. Я пробовал в call-back ф-ции, устанавливающей статус первого экрана, прописать снятие блокировки, но это бесполезно - эта ф-ция вызывается всего один раз, перед показом экрана сальдо счетов запасов...

Ладно, буду думать дальше. :oops:


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Есть одна идея. Можно малость напрячься и разделить USER_COMMAND на 2 разл. подпрограммы. В самом простом случае, чтобы не париться, можно просто скопировать с другим именем и подсунуть разным алв разные колбэки. Но мне это не очень нравится...


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
В данном случае оказалось проще - в USER_COMMAND можно определить по rs_selfield-tabname имя текущей алв-таблицы. Т.к. они разные для разных алв, то это все прошло. Но как быть в случаях, когда имя таблицы одинаковое (наглядный пример - MB51)?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 15 2008, 10:25 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 06 2005, 17:52
Сообщения: 559
+1. Проблема осталась. sy-pfkey показывает статус вoобще какой-то непонятный, хотя через пункт в меню "Статус" показывается правильный. Как программно определить статус?


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Sergeant написал(а):
+1. Проблема осталась. sy-pfkey показывает статус вoобще какой-то непонятный, хотя через пункт в меню "Статус" показывается правильный. Как программно определить статус?

get pfstatus.
Но вопрос в том в какой точке вы определяете статус, нет ли далее по коду/логике выполнения отчёта set pfstatus? В том ли экране, который в итоге отображается, выполняется проверка?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 15 2008, 14:03 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 06 2005, 17:52
Сообщения: 559
sy-uname написал(а):
get pfstatus.
Но вопрос в том в какой точке вы определяете статус, нет ли далее по коду/логике выполнения отчёта set pfstatus? В том ли экране, который в итоге отображается, выполняется проверка?


Вопрос снимается, до моей проверки был set pf-status, который я проглядел. Хотя через меню все равно не тот статус показывается :)


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

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


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

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


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

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