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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Как узнать какая программа вызвала текущую программу
СообщениеДобавлено: Ср, мар 25 2009, 13:09 
Ассистент
Ассистент

Зарегистрирован:
Пт, июл 27 2007, 12:20
Сообщения: 39
Откуда: Екатеринбург
Пол: Женский
Всем привет!
Подскажите, пожалуйста, как определить, какая программа вызвала программу через SUBMIT ... AND RETURN.
ФМ SYSTEM_CALLSTACK показывает только стек вызовов уже после SUBMIT.
Конструкция типа
Code:
  CALL 'ABAP_CALLSTACK' ID 'DEPTH' FIELD -1
  ID 'CALLSTACK' FIELD lt.
работает аналогично.
Конструкция типа
Code:
DATA: CALLBACK_PROGRAM LIKE SY-REPID.
CALL 'AB_GET_CALLER' ID 'PROGRAM' FIELD CALLBACK_PROGRAM.
выдает только последнюю программу. У меня же вложенность стека вызовов большая. По сути нужно найти самую первую программу.
Может быть, есть еще идеи?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать какая программа вызвала текущую программу
СообщениеДобавлено: Ср, мар 25 2009, 15:57 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, мар 03 2009, 12:33
Сообщения: 141
я бы в качестве параметра передавал имя самой первой программы (чтобы не париться).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать какая программа вызвала текущую программу
СообщениеДобавлено: Ср, мар 25 2009, 18:59 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
kochia, а почему бы просто не зациклить 'AB_GET_CALLER'?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать какая программа вызвала текущую программу
СообщениеДобавлено: Ср, мар 25 2009, 19:31 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
kochia написала:
Всем привет!
Подскажите, пожалуйста, как определить, какая программа вызвала программу через SUBMIT ... AND RETURN.
ФМ SYSTEM_CALLSTACK показывает только стек вызовов уже после SUBMIT.
Конструкция типа
Code:
  CALL 'ABAP_CALLSTACK' ID 'DEPTH' FIELD -1
  ID 'CALLSTACK' FIELD lt.
работает аналогично.
Конструкция типа
Code:
DATA: CALLBACK_PROGRAM LIKE SY-REPID.
CALL 'AB_GET_CALLER' ID 'PROGRAM' FIELD CALLBACK_PROGRAM.
выдает только последнюю программу. У меня же вложенность стека вызовов большая. По сути нужно найти самую первую программу.
Может быть, есть еще идеи?

Не привязываться к имени вызывающей программы самого верхнего уровня, а привазяться, например, к имени транзакции.
Ну или уточните - зачем Вам такая экзотика требуется?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать какая программа вызвала текущую программу
СообщениеДобавлено: Чт, мар 26 2009, 06:28 
Ассистент
Ассистент

Зарегистрирован:
Пт, июл 27 2007, 12:20
Сообщения: 39
Откуда: Екатеринбург
Пол: Женский
Задача проста: при запуске транзакции FS10N проваливаемся в какую-нибудь строку, соответственно вызывается (как раз по SUBMIT) программа RFITEMGL (тр. FBL3N). Пользователи хотят, чтобы при печати отдельных позиций из FS10N был виден заголовок вызывающей программы, т.е. "Просмотр сальдо основных счетов", а не заголовок RFITEMGL.
Насчет зацикливания нужно попробовать, хотя я не уверена, что поможет.
Насчет транзакции идея неплохая, только у нее заголовок другой. Можно, конечно, попробовать по транзакции найти имя программы, которую она вызывает...
Всем спасибо, буду пробовать.


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

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


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

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


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

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