Приемы эффективной работы с отладчиком в SAP

Начнем с азов. SAP ABAP Debugger нужен для отладки приложений, которые разработал вендор или третий производитель (программист). По-русски, это отладчик — инструмент для поиска ошибок в стандартых приложения SAP или наших собственных. Единственная программа, которую можно запустить сразу и без отладчика, это «Hello, world». Все что сложнее, обычно требует минимальных навыков отладки «дедовскими» способами или современными — с помощью отладчика. 

Запустить отладчик можно по-разному

  • Набрать /h в окне транзакций и нажать Enter или произвести любое действие в системе
  • Поставить точку остановки в исходном коде
  • Подключиться к уже работающей программе в SM50
  • Остановиться в заранее предусмотренных местах в коде

Основные кнопочки

Как только вы попали в отладчик пригодятся основные кнопочки

  • F5 — сделать шаг вперед по коду
  • F6 — сделать шаг вперед по коду, но не входить в процедуры (выполнять их как один шаг)
  • F7 — выйти на уровень выше. Полезно, если вы находитесь внутри процедуры или ФМ
  • F8 — забить на все и поехать дальше

В окне переменных можно ввести переменную и посмотреть ее значение. Там же можно изменить ее значение.

Это вы все и без меня знаете. Давайте попробуем решить типовые для HR задачи с помощью отладчика. Типовые задачи разумеется на мой взгляд, но вы можете накидать своих идей в комментариях, чтобы я сделал отдельную статью или видео по обозначенным вопросам.

Читать далее


Одна из самых интересных нот у SAP

Друзья, хочу представить вашему вниманию одну из самых интересных и полезных нот от вендора. Нота посвещена принципам отладки драйвера расчета заработной платы, различным тонкостям. Полезно прочитать бывалым зарплатчикам (я сам большую часть советов не знал), так и всем, кто хоть раз открывал абап или отладчик — есть что почерпнуть.

1818219 — Debugging the payroll Schema

На всякий случай прикладываю PDF версию здесь.

Debugging PY schema

P.S. Спасибо Наталье за эту ценную информацию.

P.S.S. Если непонятно, что написано внутри или есть проблемы с языком, но напишите в комментариях, я переведу.


Волшебная клавиша в отладчике

Бес в ребро, седина мне в бороду.

Если вам нужно обойти какой-то кусок кода, который нельзя с помощью переменных поправить (перепрыгнуть проверку полномочий, например), то есть волшебная кнопочка.

Встаете на строчку, куда нужно перейти из текущего положения и нажимаете Shift-F12. Система не выполняет код между текущим и целевым положением, а просто перепрыгивает. Команда JMP в ассемблере, GOTO в бейсике.

Супер-удобно! Не забывайте, что отладчик стоит изучить хотя бы из соображений быстрого поиска ошибок в системных дампах.


Выгрузка содержимого таблицы в отладчике

Совершенно случайно и совершенно пару недель назад узнал, что в отладчике можно выгружать содержимое табличек в Excel. Когда пытаешься найти ошибку в проводках или налоговых отчетах, это очень помогает. В самом отладчике два раза щелкаем на табличку, она открывается в полном экране (обычно на рабочем столе 2). Правая клавиша мыши и экспорт. Век живи, все равно им самым помрешь. Вы поняли о чем я 🙂


Используем отладчик SAP

Если нужно понять, как работает та или иная функция в системе, а документации нет, то на помощь придет некоторое знание программирования и отладчик. В отладчик можно войти двумя способами: из любой точки системы с текущего момента и установив точку останова. Первый вариант позволяет из любого места системы запустить отладчик и следующим шагом уйти в него. Нужно в окне транзакций написать “/h” (без кавычек). Любая следующая операция в системе или нажатие функциональной клавиши запустит отладчик. Либо, второй вариант, открываем исходный код программы, класса, функционального модуля, экрана и ставим точку прерывания.

Читать далее