Отладчик (Debagging) в SAP ERP (S/4HANA) для блондинок

Отладчик (Debagging) в SAP ERP (S/4HANA) для блондинок
О книге

Благодаря этой книге вы узнаете:

1) Как пользоваться отладчиком в системе SAP ERP и S/4HANA.

2) Анализировать логику работы программ написанных на языке программирования ABAP, почему они работают так, а не иначе.

3) Понимать причины дампов/ошибок в программах.

4) Выполнять контроль качества реализации функциональной спецификации разработчиком.

5) Анализировать логику работы функциональных модулей и USER-EXIT, т.е. одним словом общаться на одном языке с разработчиком. Мы понимаем, что самый ценный ресурс консультанта SAP – это время, поэтому попытались изложить все самое необходимое, чтобы Вы смогли общаться с отладчиком на "ТЫ", избегая глубокого погружения в технические детали.

6) Уменьшится потребность в разработчиках по мелким техническим вопросам, что сохранит не только время, но и ваши нервы, а как мы с вами знаем, все болезни от нервов. Будьте здоровы и больше времени проводите со своими близкими.

Книга издана в 2021 году.

Читать Отладчик (Debagging) в SAP ERP (S/4HANA) для блондинок онлайн беплатно


Шрифт
Интервал

Введение

В начале немного скучной теории…

Аксиома: В программах и в данных бывают ошибки

Ошибки могут проявляться по-разному, в зависимости от того, предугадал и предусмотрел ли разработчик возможность появления ошибки в данном месте программы. Программа может аварийно завершиться («упасть в дамп»), может выдать сообщение об ошибке или лог ошибок. А может тихо и незаметно испортить Вам данные. Или наоборот – ничего не делать, хотя должна.

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

Если произошло аварийное завершение, то в транзакции ST22 мы можем увидеть наш «дамп», в котором есть информация, как о месте возникновения ошибки, так и о значениях переменных в момент ошибки. Иногда этой информации достаточно, чтобы понять, почему она произошла. Но зачастую этого мало – тогда нам на помощь приходит отладка.

Если у нас есть сообщение с классом и номером сообщения (обычно их можно найти в переменных SY-MSGID, SY-MSGNO), то в транзакции SE91 можно попробовать найти места в программах, где это сообщение выводится. Иногда можно перейти в это место посмотреть на код и понять, почему возникла ошибка. Но часто таких место очень много. Или они не найдены – такое возможно потому, что ошибки могут генерироваться разными способами с динамическим формированием номера сообщения. В этих случаях также нужна отладка. Наконец, отладка нужна в том случае, если место возникновения ошибки неочевидно или известно только приблизительно.

Что представляет собой отладка программы

Чтобы ответить на этот вопрос, нужно в первую очередь понять, что компьютеры работают очень быстро. Гораздо быстрее мозга любого человека. Это позволяет им совершать ошибки с очень большой скоростью. Применительно к вопросу поиска причин ошибки это является негативным фактором, так как человек не в состоянии отслеживать состояние программы со скоростью компьютера.

Поэтому, помимо штатного режима работы на полной скорости, программы могут также работать в режиме отладки. Он отличается тем, что после выполнения каждого своего оператора, команды или функции программа приостанавливается и ждет дальнейших указаний от человека. В то время, пока программа остановлена, доступны для просмотра и анализа все переменные программы в текущей области видимости. И также возможен просмотр содержания таблиц в базе данных, стека вызовов (списка программных единиц, откуда мы попали в текущее место программы), состояния памяти и так далее. Более того, для переменных возможно изменение их значений (как правило, это недоступно на продуктивной системе или доступно, но не всем).

После анализа текущего состояния человек дает команду на выполнение следующей инструкции программы. Инструкция выполняется, и программа снова останавливается в ожидании дальнейших указаний. Таким образом можно выполнить всю программу. Этот процесс и называется ОТЛАДКОЙ.

Все операции по отладке осуществляются в специальной программе – отладчике. То есть отладчик – это программа для отладки других программ. На данный момент в SAP существуют два отладчика – новый и классический (старый). Они отличаются интерфейсом и возможностями. Об этом мы поговорим позже в соответствующем разделе.

Отладчик показывает исходный код программы и текущее место в нем, на котором программа остановлена. Текущее место отображается в отладчике стрелкой – желтой в новом отладчике и синей в старом. Также он позволяет управлять дальнейшим ходом выполнения программы и отображать всю информацию, указанную выше. В отладчике можно пройти по шагам всю программу, анализируя логику ее работы и сверяя ее с той, которая должна была бы быть. Плохая новость в том, что программы могут быть очень большими и проходить их по шагам, останавливаясь после каждого оператора, быстро надоест. Хорошая новость заключается в том, что уже придуманы способы обхода данной неприятности и встроены в отладчик.

Управление шагом отладки

Минимальным шагом отладки является один оператор языка программирования (в нашем случае это ABAP). Следует сразу отметить, что различные математические операции не относятся к операторам – это составляющие выражения. А вот знак =, например, это именно оператор – оператор присвоения значения выражения, стоящего справа от него, переменной слева от него. Ключевые слова для объявления переменных и типов также не относятся к операторам. Таким образом, если мы дадим с помощью отладчика команду выполнить минимальный шаг, программа выполнит текущий оператор, перейдет к следующему и остановится. При этом мы снова окажемся в отладчике. Если какие-либо данные были изменены во время шага, отладчик покажет нам их текущие значения. Большинство необходимых команд отладчика присвоены горячим клавишам – так выполнение отдельного шага назначено на клавишу



Вам будет интересно