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


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

Сейчас этот форум просматривают: BingBot


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

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