Текущее время: Пт, авг 01 2025, 21: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 часа


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

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


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

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