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

Часовой пояс: 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 часа


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

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


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

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