Текущее время: Вс, авг 19 2018, 23:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Пн, мар 05 2018, 22:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 968
Откуда: Москва
Пол: Мужской
Друзья, я задумал одну вещь, но для этого мне нужно расставить точки прерывания, скажем, сразу в 100 функциональных модулях.
Далее я хотел бы сохранить их в некую комбинацию (как будто вариант экрана, только вариант точек прерывания) и получать доступ к этой комбинации в любой момент времени.
Из описания задачи понятно, что расставлять их каждый раз в таком количестве модулей - это 50 оттенков серого. Кроме того, в повседневной жизни они мне не нужны, только по моей команде. Итак, мог бы я сохранить свои 100 точек прерывания каким-то образом, а потом бесконечно пользоваться этим, когда мне захочется, включая и отключая их в произвольный момент времени? Мне кажется почему-то, что явно есть такая возможность. Спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Пн, мар 05 2018, 22:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1142
транзакция SAAB, не?

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Пн, мар 05 2018, 23:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 968
Откуда: Москва
Пол: Мужской
Кодер, спасибо за ответ! Но не очень подошло, а, может, я просто не умею пользоваться, что тоже вероятно. Даже если бы я разобрался, как добавить в список объектов в вариант активации конкретный ФМ, что-то не очень понимаю, как установить точку прерывания на конкретной строке... Например, четко на 80-й строке одного ФМ и на 126 строке второго.

А задачу все-таки решил! Для этого я открывал последовательно объекты в транзакциях просмотра, например, SE37. Там искал нужные строки для точек. После этого запустил желаемый интерфейс, например, транзакцию FB01. Далее ушел в режим отладки, выбрал пункт меню Отладчик --> Отладчик - сеанс --> Сохранить. Задал имя, установил только галку "Точки прерывания", сохранил сеанс. Снял все точки. Убедился, что там, где точки стоят, нет прерывания. Снова запустил транзакцию, вошел в режим отладки, в том же пункте меню выбрал "Загрузить". Система сообщила, что точки расставлены, я ей не поверил, конечно. Но далее начали выстреливать все нужные мне точки ровно на тех строках, где я их ставил. После работы можно просто снова снять все точки.

А ведь термоядерная тема! Спасибо за предложенный вариант!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Вт, мар 06 2018, 13:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1142
А. Вам в чужой проге надо. SAAB это когда в своей, вот описание как его юзать

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Ср, мар 07 2018, 16:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 19:21
Сообщения: 1124
да, положение динамических тоже вобщем можно и копипастой сохранять с соотвествующей вкладки в дебагере. точки соотвественно будут на той строке, на которую их тогда поставили. если программа изменится, то они "магическим образом" уедут вверх-вниз.

_________________
я твой сап эфай внедрял
BAdI-позитив


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Ср, мар 07 2018, 17:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 968
Откуда: Москва
Пол: Мужской
Kengur, ну задача стоит такая, чтобы восстановить свои точки за 1 секунду. Например, 1000 точек. Копипастить-то уже не тот возраст :D

Kengur написал(а):
если программа изменится, то они "магическим образом" уедут вверх-вниз.

Есть такое дело, но мои ФМ-ники не изменятся почти точно. Я расставил и сохранил точки в управляющих головных ФМ OPEN FI и OUTBOUND CALL (те самые, которые внутри лупят по таблице модулей на каждом из этих событий). Могу раскрыть и свое тайное мероприятие в связи с этим :D я сохранил себе вариант точек прерывания, где стоят точки на всех вовлеченных событиях (P/S), процессах, BADI (старые, новые) и user-exit. Запуская любую транзакцию, я смогу останавливаться и понимать, в каких местах я могу расширить систему и насколько сильно я могу ее в этих местах расколупать :D Я всегда думал, что прилично знаю open fi, но тут на досуге увлекся неизвестными мне ранее P/S и процессами и понял, что не все еще в данной компании легло под скальпель и поле так и не вспахано :D


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Ср, мар 07 2018, 18:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 19:21
Сообщения: 1124
Монстру Франкенштейна решил пилить :mrgreen:

_________________
я твой сап эфай внедрял
BAdI-позитив


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Вт, мар 13 2018, 12:48 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 2952
Пол: Мужской
От себя добавлю, +1 к отладчику, там на мой взгляд удобно управлять ТП.

По существу Вашей задачи
Цитата:
и понимать, в каких местах я могу расширить систему и насколько сильно я могу ее в этих местах расколупать

Имхо, не благодарное дело, да еще и точки расставлять по конкретным ФМам/методам :)

Точки можно расставить общие, что то вроде
Экзиты - оператор call customer-function
Бади - get badi + класс там есть cl_exit*handler* вроде
опен фаи - там два ФМника общих которые вызываются BF_FUNCTIONS_READ/ PC_FUNCTIONS_READ
ну и так далее, еще есть SDшные экзиты, проверки/замещения, бобфовые штуки (determination/validation), энхансменты никто не отменял...
Так что, лучше по конкретной задачке смотреть на месте, расширить(и/или сломать) всегда можно :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Вт, мар 13 2018, 13:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 968
Откуда: Москва
Пол: Мужской
<em>Besa</em> написал(а):
Имхо, не благодарное дело, да еще и точки расставлять по конкретным ФМам/методам

Согласен абсолютно, но все дело как раз в open fi.

<em>Besa</em> написал(а):
опен фаи - там два ФМника общих которые вызываются BF_FUNCTIONS_READ/ PC_FUNCTIONS_READ

К сожалению, как раз не так. Пример текста программы SAPMF05A, инклуд MF05AFF0_FCODE_BEARBEITUNG.
В нем четко видно, что запуск головного модуля (головными я называю ФМ типа open*номер*, внутри которых идет луп по модулям из FIBF) происходит сразу в основной программе. С другими точками точно также. Поэтому по моей задумке устанавливать точки придется во всех головных модулях. Я бы и сам был рад, если бы у open fi модулей был общий, но этого нет.

Изображение

*------ Open FI --------------------------------------------------------
CALL FUNCTION 'OPEN_FI_PERFORM_00001030_E'
EXPORTING
i_bkdf = bkdf
i_uf05a = uf05a
TABLES
t_ausz1 = xausz1
t_ausz2 = xausz2
t_ausz3 = xausz3
t_bkp1 = xbkp1
t_bkpf = xbkpf
t_bsec = xbsec
t_bsed = xbsed
t_bseg = xbseg
t_bset = xbset
t_bseu = xbseu
EXCEPTIONS
error_message = 9. " Note 428391


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Вт, мар 13 2018, 14:02 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 2952
Пол: Мужской
ну да :) , и внутри ее Фм FIND, а дальше READ, поставьте точку, посмотрите стэк.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Вт, мар 13 2018, 14:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 968
Откуда: Москва
Пол: Мужской
<em>Besa</em> написал(а):
ну да , и внутри ее Фм FIND, а дальше READ, поставьте точку, посмотрите стэк.


Ох ты ж, а ведь и верно, внутри этих модулей всегда идет повторяющаяся часть.

PC_FUNCTION_FIND
BF_FUNCTIONS_FIND

Еще вот такую нашел: BF_FUNCTION_CHOOSE (представлена в 1120E). Наверное, есть по логике и зеркальная PC_FUNCTION_CHOOSE.
Похоже, этими четырьмя дело и ограничивается.

ХитрО. Спасибо :D


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Вт, мар 13 2018, 14:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 19:21
Сообщения: 1124
В общем случае достаточно поставить точку на оператор CALL и запастись терпением...

_________________
я твой сап эфай внедрял
BAdI-позитив


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение комбинации точек прерывания и доступ к ней в любой момент времени
СообщениеДобавлено: Вт, мар 13 2018, 15:46 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 968
Откуда: Москва
Пол: Мужской
Kengur написал(а):
В общем случае достаточно поставить точку на оператор CALL и запастись терпением...

Ага, интересно, что раньше случится в таком случае - проводка моего документа или рождение моих внуков. У второго события шансов больше :D
CALL ведь вызовет остановку на каждом ФМ, которые меня вообще не интересуют. А в проводке документа их могут быть сотни.


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

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


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

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


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

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