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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: определение вызывающей программы
СообщениеДобавлено: Чт, май 29 2008, 16:35 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вс, окт 08 2006, 22:57
Сообщения: 81
Пол: Мужской
Добрый день!

как определить прграммно имя вызывающей программы
из подпрограммы или FM ?

Report Z001
....
call ZFM_001.
submit SUBP(Report ZABC).

Report Z002
....
call ZFM_001.
submit SUBP(Report ZABC).

как из ZFM_001 или SUBP определить прграммно имя вызывающей программы Z001 или Z002 ?

заранее спасибо
Юрий


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: определение вызывающей программы
СообщениеДобавлено: Чт, май 29 2008, 16:39 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
Jouri написал:
Добрый день!

как определить прграммно имя вызывающей программы
из подпрограммы или FM ?

Report Z001
....
call ZFM_001.
submit SUBP(Report ZABC).

Report Z002
....
call ZFM_001.
submit SUBP(Report ZABC).

как из ZFM_001 или SUBP определить прграммно имя вызывающей программы Z001 или Z002 ?

заранее спасибо
Юрий
SY-CPROG

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: определение вызывающей программы
СообщениеДобавлено: Чт, май 29 2008, 16:43 
Гость
Можно использовать еще sy-repid.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 29 2008, 16:48 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вс, окт 08 2006, 22:57
Сообщения: 81
Пол: Мужской
а если многоступенчатый вызов?

может есть класс чтобы получить всю цепочку?

Debegger (new) делает это как-то...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 29 2008, 16:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
sy-repid нельзя


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 29 2008, 17:13 
Начинающий
Начинающий

Зарегистрирован:
Чт, авг 30 2007, 13:39
Сообщения: 3
http://www.sapfans.com/forums/viewtopic ... ck#p835670


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 29 2008, 17:48 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Если это своя подпрограмма, то неужели трудно добавить параметр и заполнять его тем, чем нужно при вызове? :?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 29 2008, 20:30 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
Jouri написал:
а если многоступенчатый вызов?

может есть класс чтобы получить всю цепочку?

Debegger (new) делает это как-то...
Загружалась ли в программе группа функций - по видимому что-то аналогичное ссылке от _AVK_

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 11:58 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вс, окт 08 2006, 22:57
Сообщения: 81
Пол: Мужской
я делаю implementation of BADI в BW и этот USER-EXIT вызывается из разных прграмм, причём при вызове через JOB система использует снова другие программы...

в Debugger'e я вижу всю цепочку вызовов и могу использовать переменные с помощью ASSIGN, но процессы запущенные через JOB не получается увидеть в Debugger'e...( бесконечные DO...ENDDO +SM50 я пробовал - почемуто не получается...)

сейчас попробую код с CALL ABAP_CALLSTACK....


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 12:50 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вс, окт 08 2006, 22:57
Сообщения: 81
Пол: Мужской
да !!! это работает !!!
см. ФМ:
==============

Code:
FUNCTION zcallstack_list.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  TABLES
*"      E_REPID TYPE  PROGNAMES
*"----------------------------------------------------------------------
  TYPES: BEGIN OF abap_call_stack_entry.
  TYPES: mainprogram LIKE sy-repid.
  TYPES: include LIKE sy-repid.
  TYPES: line TYPE i.
  TYPES: eventtype LIKE abdbg-leventtype.
  TYPES: event LIKE abdbg-levent.
  TYPES: flag_system TYPE c.
  TYPES: END OF abap_call_stack_entry.

  DATA: ls       TYPE          abap_call_stack_entry.
  DATA: lt       TYPE TABLE OF abap_call_stack_entry.
  DATA: ls_repid TYPE          progname.

*# get list of called programms
  CLEAR: lt, lt[].
  CALL 'ABAP_CALLSTACK' ID 'DEPTH' FIELD -1
  ID 'CALLSTACK' FIELD lt.
  CHECK NOT lt[] IS INITIAL.

*# fill E_REPID (without this FM)
  CLEAR: e_repid, e_repid[].
  CLEAR: ls.
  LOOP AT lt INTO ls FROM 2.
    CLEAR:                   ls_repid.
    MOVE:  ls-mainprogram TO ls_repid.
    APPEND                   ls_repid TO e_repid.
  ENDLOOP.

ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 12:58 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Jouri написал:
я делаю implementation of BADI в BW и этот USER-EXIT вызывается из разных прграмм, причём при вызове через JOB система использует снова другие программы...

в Debugger'e я вижу всю цепочку вызовов и могу использовать переменные с помощью ASSIGN, но процессы запущенные через JOB не получается увидеть в ....

Ничего хорошего из этого не выйдет, если не сейчас, то в будущем

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 14:49 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, фев 17 2006, 07:38
Сообщения: 99
Jouri написал:
FUNCTION zcallstack_list.
...


Чем вас не устраивает:
Code:
  DATA:
    lt_sys_calls TYPE sys_callst.


  CALL FUNCTION 'SYSTEM_CALLSTACK'
    EXPORTING
      max_level    = 0
    IMPORTING
      et_callstack = lt_sys_calls[].


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 15:08 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вс, окт 08 2006, 22:57
Сообщения: 81
Пол: Мужской
eto toje xoroscho...
sorry, ja ne ABAP-Developper...


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

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


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

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


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

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