Текущее время: Вс, авг 03 2025, 23: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 часа


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

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


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

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