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 – это и есть стек.

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


С этой книгой читают
Расцвет цифрового мира оказался не совсем таким, как мы ожидали. Персональные компьютеры и мобильные устройства подарили людям доступ к знаниям и новые возможности для обмена ими, жизнь стала проще и лучше благодаря новым технологиям, в первую очередь Всемирной паутине. Но очень скоро выяснилось, что у медали есть и обратная сторона: появились первые случаи кражи личной информации, цифровые вредоносные программы научились наносить реальный ущерб,
Это саммари – сокращенная версия книги «Как устроен ChatGPT? Полное погружение в принципы работы и спектр возможностей самой известной нейросети в мире» Стивена Вольфрама. Только самые ценные мысли, идеи, кейсы, примеры.ChatGPT умеет генерировать читабельный текст, анализируя миллионы аналогичных текстов. Стивен Вольфрам поясняет, как работает чат-бот, и предлагает научить его не просто имитировать результат человеческого мышления, но мыслить сам
Вернитесь в мир ностальгии и адреналина жарких перестрелок!Перед вами книга, которая отправит вас в увлекательное путешествие через 50 лет видеоигровой истории и поближе познакомит с бумер-шутерами – поджанром шутеров от первого лица, огромный выбор оружия, ретростилистку и несколько других особенностей. Автор расскажет о том, как зародились бумер-шутеры, какие люди и игры развивали этот поджанр и двигали его вперед, о вступлении в эпоху 3D и вли
В книге "Телеграм-бот для магазина: Пошаговое руководство с полным разбором кода" раскрываются секреты создания мощного инструмента для онлайн-коммерции. Введя вас в мир телеграм-ботов, автор объясняет их значимость для повышения продаж и улучшения взаимодействия с клиентами. Изучите основы телеграм-ботов, особенности их проектирования и настройки среды разработки, проходя через этапы разработки вашего первого бота.Освойте функциональные возможно
Что если рядом с людьми в привычном мире обитают маги и прочие волшебные существа? Что если обычный человек не может стать магом и жениться на маге, но по воле судьбы влюбляется в незнакомку из другого мира? Что если этот человек – Избранный, хотя он сам об этом не догадывается? Ответы на эти и многие другие интригующие вопросы вы узнаете, погрузившись в волшебный мир романа «Дитя Демиургов. Путь к магии»!
Рассказы, в которых одним, или даже самым главным, героем является ЛЕС – со всеми его тайнами, красотой, мрачностью, со всем удивительным, неизведанным. Населенный существами, о которых читатель слышал, а может и нет. Может, даже и не хотел бы слышать, но лес, вот он – за порогом…
В новой книге известного русского писателя В.В.Личутина – автора исторических произведений «Скитальцы», трилогии «Раскол» – продолжается тема романов «Любостай» и «Миледи Ротман» о мятущейся душе интеллигента, о поисках своего места в современной России. Это – тот же раскол и в душах людей, и в жизни...Неустроенность, потерянность исконных природных корней, своей "родовы", глубокий психологический надлом одних и нравственная деградация на фоне ви
В книгу входят истории, которые рассказывает маленькая девочка. Очень интересно наблюдать со стороны, как она смотрит на события, воспринимает мир и размышляет. Это современная девочка, она живёт в реальном мире, но очень часто любит фантазировать, и не замечаешь, как из обычной квартиры перемещаешься вместе с ней в прекрасный замок, волшебный лес, на берег моря или сказочное болото. И вполне обычные люди на глазах превращаются в капитана дальнег