Текущее время: Пн, июл 21 2025, 05:46

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: ABAP отладка в фоновом режиме
СообщениеДобавлено: Вт, ноя 07 2006, 10:29 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, ноя 07 2006, 10:17
Сообщения: 79
Как остановиться по breakpoint для дальнейшей отладки, если процесс выполняется в фоновом режиме. Ставлю breakpoint в ФМ, точно знаю что это ФМ выполняется, но остановки не происходит.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 07 2006, 10:45 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
если программа самописная можно вставить конструкцию
Code:
  if SY-UNAME = .......
    while SY-SUBRC = 0.
    endwhile.
  endif.
запустить программу в фоновом режиме, через SM50 свалить процесс в отладку и изменить sy-subrc.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 07 2006, 11:56 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, ноя 07 2006, 10:17
Сообщения: 79
Спасибо. Работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 07 2006, 12:58 
Гость
Mike1 написал:
если программа самописная можно вставить конструкцию
Code:
  if SY-UNAME = .......
    while SY-SUBRC = 0.
    endwhile.
  endif.
запустить программу в фоновом режиме, через SM50 свалить процесс в отладку и изменить sy-subrc.


конгениально :) :oops:


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 07 2006, 14:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
http://sapboard.ru/forum/viewtopic.php?t=13709


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 07 2006, 14:09 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
sibrin написал:
http://sapboard.ru/forum/viewtopic.php?t=13709

Чес слово не оттуда взял.
Поиск - великая вещь.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 08 2006, 13:12 
Специалист
Специалист

Зарегистрирован:
Пт, июл 22 2005, 08:56
Сообщения: 158
пользуюсь оператором ASSERT и транзакцией SAAB
позволяет вести лог на любом этапе выполнения программы (в том числе и фоновой) и по любому условию. В лог можно заносить снимки переменных, структур, внутренних таблиц.

Очень удобно!

_________________
C SAP
Изображение


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 16 2006, 10:51 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, ноя 07 2006, 10:17
Сообщения: 79
часть написал(а):
пользуюсь оператором ASSERT и транзакцией SAAB
позволяет вести лог на любом этапе выполнения программы (в том числе и фоновой) и по любому условию. В лог можно заносить снимки переменных, структур, внутренних таблиц.

Очень удобно!


Можете пояснить как делать, что-то быстро разобраться с транзакцией SAAB не получилось. А оператор ASSERT в месте где необходимо остановиться использовать? Примерчик кода можно?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 16 2006, 12:38 
Специалист
Специалист

Зарегистрирован:
Пт, июл 22 2005, 08:56
Сообщения: 158
Sape® написал(а):
часть написал(а):
пользуюсь оператором ASSERT и транзакцией SAAB
позволяет вести лог на любом этапе выполнения программы (в том числе и фоновой) и по любому условию. В лог можно заносить снимки переменных, структур, внутренних таблиц.

Очень удобно!


Можете пояснить как делать, что-то быстро разобраться с транзакцией SAAB не получилось. А оператор ASSERT в месте где необходимо остановиться использовать? Примерчик кода можно?


Ну в принципе про это хорошо написано в курсе BC402.

Создаете в транзакции SAAB идентификатор лога. На вкладке "Активация" указывается реакцию на срабатывания этой точки в вашей программе: можно ничего не делать, можно прервать или просто занести поле, структуру или табличку в журнал. Причем можно сделать как для релтайм, так или бэкграунда (фоновое исполнение). Ниже можно персонализировать срабатывания этих точек (либо для системы (допустим только в разработке), либо для конкретного пользователя).

На вкладке"Журнал" можете смотреть соответственно журнал с перечнем логгируемых данных, после того как точка смогла активизироваться.

Пример кода в программе:
Code:
   ASSERT  id Z_GRP
   FIELDS wa w1 w2
   CONDITION wa = w2 .

где:
Z_GRP - id лога
wa, w1, w2 - структуры, данные которых хочу увидеть в журнале
wa = w2 - условие.

Удачи! :wink:

_________________
C SAP
Изображение


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 21 2007, 08:28 
Специалист
Специалист

Зарегистрирован:
Чт, апр 13 2006, 08:44
Сообщения: 133
Откуда: 56
Пол: Мужской
Mike1 написал:
если программа самописная можно вставить конструкцию
Code:
  if SY-UNAME = .......
    while SY-SUBRC = 0.
    endwhile.
  endif.
запустить программу в фоновом режиме, через SM50 свалить процесс в отладку и изменить sy-subrc.
Если по программе на это место попадаем не один раз то:
первый раз сваливаемся в отладку - проходим конструкцию, смотрим что надо и затем Run - теперь отладка в run-mode в зацикленном состоянии. Второй раз в отладку не попасть. sm50 не помогает - в дебаг не пускает - потому что дебаг уже запущен....

Еще - sm50 - базисная транзакция - не у каждого абапера прав хватит...

За остальным - ЧУДО-ВЕЩЬ ))))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 21 2007, 08:58 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
zIk написал:
Если по программе на это место попадаем не один раз то:
первый раз сваливаемся в отладку - проходим конструкцию, смотрим что надо и затем Run - теперь отладка в run-mode в зацикленном состоянии. Второй раз в отладку не попасть.
Вместо Run(F8 ) нажимайте "Завершить работу отладчика"(в новом дебаггере) или "Выключить отладку"(в классическом).
zIk написал:
sm50 не помогает - в дебаг не пускает - потому что дебаг уже запущен....
Правой кнопкой на окне с запущенным дебагом, "Выход из транзакции" и сново "Добро пожаловать в SM50".
zIk написал:
Еще - sm50 - базисная транзакция - не у каждого абапера прав хватит...
За остальным - ЧУДО-ВЕЩЬ ))))
У каждого абапера есть право на отладку, которое даёт ему все остальные права ... ;-), но лучше конечно же решить это дело с базисом.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 21 2007, 10:14 
Специалист
Специалист

Зарегистрирован:
Чт, апр 13 2006, 08:44
Сообщения: 133
Откуда: 56
Пол: Мужской
Alex80 написал:
zIk написал:
Если по программе на это место попадаем не один раз то:
первый раз сваливаемся в отладку - проходим конструкцию, смотрим что надо и затем Run - теперь отладка в run-mode в зацикленном состоянии. Второй раз в отладку не попасть.
Вместо Run(F8 ) нажимайте "Завершить работу отладчика"(в новом дебаггере) или "Выключить отладку"(в классическом).
Точно. Спасибо.

Alex80 написал:
zIk написал:
sm50 не помогает - в дебаг не пускает - потому что дебаг уже запущен....
Правой кнопкой на окне с запущенным дебагом, "Выход из транзакции" и сново "Добро пожаловать в SM50".
А процесс не стормозится?!


Последний раз редактировалось zIk Пт, дек 21 2007, 11:00, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 21 2007, 10:29 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
zIk написал:
Alex80 написал:
zIk написал:
sm50 не помогает - в дебаг не пускает - потому что дебаг уже запущен....
Правой кнопкой на окне с запущенным дебагом, "Выход из транзакции" и сново "Добро пожаловать в SM50".
А процесс не стормозиться?!
Новый отладчик запускается в отдельном окне, поэтому всё нормально. За классический не скажу точно, но думаю что Вы правы.


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

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


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

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


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

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