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

Отладчик (Debagging) в SAP ERP (S/4HANA) для блондинок
Название: Отладчик (Debagging) в SAP ERP (S/4HANA) для блондинок
Автор:
Жанры: Программы | Программирование | Базы данных
Серии: Нет данных
ISBN: Нет данных
Год: 2021
О чем книга "Отладчик (Debagging) в SAP ERP (S/4HANA) для блондинок"

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

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

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

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

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

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

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

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


Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

на панели инструментов.

Теперь представим ситуацию, что в процессе отладки мы остановились на операторе вызова подпрограммы, функции, метода или чего-то похожего (назовем это все «подпрограммой»). Если дать команду выполнить отдельный шаг, управление будет передано внутрь вызываемой подпрограммы и вам придется проходить ее всю также по шагам. Если Вы уверены что то, что происходит внутри подпрограммы не вызывает ошибки, которую вы ищете, или просто в данный момент Вам не интересно, то всю подпрограмму можно выполнить за 1 шаг. Для этого предназначена соответствующая команда «Выполнить», назначенная на клавишу F6. Эту команду можно давать и при выполнении обычных операторов, в этом случае ее действие совпадает с выполнением команды отдельного шага по F5. В меню она находится в том же подразделе, что и команда «Отдельный шаг», а кнопка для нее выглядит так

.

Чтобы объяснить следующую команду отладки, стоит поговорить про стек вызовов. Стеком называется хранилище неких сущностей, из которого сущности могут быть извлечены в порядке обратном их помещению в стек. Если вы когда-нибудь слышали про LIFO – это и есть стек.

Стеком вызовов называется цепочка вызовов подпрограмм, которые привели нас в текущее место программы. При этом на вершине стека располагается текущая выполняемая подпрограмма, а на его дне – то место, откуда началось выполнение. При вызове подпрограммы она помещается на вершину стека и становится текущей. При выходе из текущей подпрограммы она удаляется из стека и на вершине оказывается та подпрограмма, из которой была вызвана текущая, и, таким образом, сама становится текущей.


С этой книгой читают
Данная книга предназначена для пользователей Microsoft Excel и содержит описание приемов и методов работы, которые из-за своей специфичности недостаточно представлены (либо вообще не представлены) в пользовательской, справочной и иной соответствующей документации. Изучение приведенных в книге примеров позволит читателю открыть для себя не известные ранее возможности Excel. Предлагаемый материал легко усваивается благодаря тому, что излагается дос
Вы хотите попробовать свои силы в компьютерной графике и создать в растровом редакторе Photoshop красивый монтаж? У вас есть все составляющие для собственной работы, но ничего не получается? Не унывайте! Эта книга даст вам шанс и поможет научиться создавать удивительные изображения.Автор, известный специалист в области фотомонтажа и компьютерного дизайна, в легкой и доступной форме познакомит вас с историей появления и становления фотомонтажа как
Эта книга – руководство по использованию графовых технологий и когнитивного программирования в корпоративной среде. Она охватывает эволюцию графовых баз данных, принципы работы Neo4j и языка запросов Cypher, а также концепцию GraphRAG – инновационного подхода к обработке знаний на основе графов. Читатель познакомится с основами моделирования корпоративного сознания, интеграцией когнитивных методов с графовыми структурами и их влиянием на бизнес-р
Хотите принимать решения на основе данных, а не интуиции? Книга «Тестируй, а не гадай: Как проводить А/В-тесты правильно» станет вашим надёжным гидом в мире экспериментов! Вы узнаете, как превращать гипотезы в точные данные, избегать распространённых ошибок и грамотно интерпретировать результаты. Автор шаг за шагом объясняет принципы планирования и проведения А/В-тестов, раскрывает секреты успешного анализа и помогает найти правильные метрики для
Что если рядом с людьми в привычном мире обитают маги и прочие волшебные существа? Что если обычный человек не может стать магом и жениться на маге, но по воле судьбы влюбляется в незнакомку из другого мира? Что если этот человек – Избранный, хотя он сам об этом не догадывается? Ответы на эти и многие другие интригующие вопросы вы узнаете, погрузившись в волшебный мир романа «Дитя Демиургов. Путь к магии»!
Рассказы, в которых одним, или даже самым главным, героем является ЛЕС – со всеми его тайнами, красотой, мрачностью, со всем удивительным, неизведанным. Населенный существами, о которых читатель слышал, а может и нет. Может, даже и не хотел бы слышать, но лес, вот он – за порогом…
Двойняшки Марк и Фия попадают в удивительную Метаполию, которая соединила между собой тысячи вселенных. Им предстоит изучить новый захватывающий мир, учиться в Академии Метаполии, завести друзей, а также побывать в чаще Высоколесья и глубинах Аквариона. Однако двойняшки не знают, что над Академией нависла тень опасности, развеять которую могут только они.
Хотите ИДЕЮ? Тогда скорее открывайте эту книгу – она там! Розовый Садовник или просто тетя Роза расскажет, как она сварила целую кухню варенья и зачем покрасила стены своего дома в розовый цвет. Эта история о том, что иногда даже самая невероятная идея может воплотиться в жизнь и сделать жизни других лучше.