Продолжим беседу о нетривиальных ошибках, которые сложно диагностировать без глубокого понимания работы системы. Некоторые проблемы связаны с некорректной настройкой ролей и прав, другие — с неправильной обработкой данных, а третьи вызваны ограничениями системы или ошибками в коде.
Один из ключевых принципов объектно-ориентированного программирования — инкапсуляция (encapsulation). Инкапсуляция позволяет определять границы и скрывать реализации от внешнего мира. Атрибуты и методы, которые управляют этими данными, заключены в капсулу (объект), что позволяет установить границу между тем, к чему можно получить доступ внутри объекта и тем, что доступно извне. Эти границы помогают решать многие из упомянутых ранее проблем процедурного подхода.
ABAP Objects — это расширение ABAP. Он сочетает в себе самые мощные аспекты других языков программирования, таких как C++ и Java. В этой главе рассматриваются концепции объектно-ориентированного программирования и их реализация в ABAP.
Эта статья предназначена для SAP-разработчиков и администраторов, работающих с Fiori-приложениями и OData-сервисами. В ней рассматриваются типичные ошибки, возникающие при отладке, и методы их устранения. Материал поможет правильно диагностировать проблемы, связанные с полномочиями, данными, ролями пользователей, конфликтами конфигурации и интеграцией между фронтендом и бэкендом. В статье используется структурированный подход: описание проблемы, анализ причин и пошаговое решение.
В одной из предыдущих статей мы рассматривали как работать с датами и временем: прибавлять и отнимать количество дней/секунд, а также форматировать. Однако, зачастую приходится работать именно с датами производственного календаря, а не с простой последовательностью дат.
В одной из предыдущих статей мы рассматривали различные способы группировки в ABAP. Однако, тот список не был исчерпывающий (и даже текущий – тоже не исчерпывающий), и есть еще, минимум, 2 + 1 (за гранью) способ для группировки.
В одной из предыдущих статей мы разбирали работу с транзакцией SO10 (ведение sap-script длинных текстов): как можно вести текстовый шаблон, как можно копировать и использовать глобальные переменные для вставки значений.
Неэффективные, «дорогие» SQL-запросы (SQL Statements) — одна из основных причин проблем с производительностью, которые могут влиять как на отдельные приложения, так и на общую производительность системы. Эта глава описывает подробные процедуры оптимизации SQL-запросов с использованием вторичных индексов (secondary indexes) и эффективных программных методов.
При обработке данных иногда требуется сгруппировать данные и посчитать какое-либо агрегированное значение (MAX, MIN, AVG, SUM, COUNT и другие). Традиционно, такие функции реализуются в SQL; однако и на сервере приложений приходится выполнять такие вычисления.
Процедуры представляют собой специальные единицы модуляризации, которые вызываются командами ABAP и предоставляют программные блоки с возможностью повторного использования. Процедуры содержат набор команд, выполняемых при вызове из ABAP-программ.
Во многих структурах базы данных необходимо обращаться к отдельным записям базы данных напрямую. Для этого используется уникальный ключ. Основную часть этого ключа составляет серийный номер, который присваивается диапазону номеров.
Первоначально язык ABAP был создан для разработки приложений, обрабатывающих данные из базы данных. Взаимодействие с пользователем происходило посредством экранов SAP GUI.
По своей структуре ABAP-программы являются модульными. Разбиение кода на модули даёт массу ценных преимуществ, в том числе повышенную удобочитаемость кода и улучшенную организацию программ. В этой главе мы будем говорить о модуляризации в среде ABAP.
Продолжая использовать сайт, вы соглашаетесь на обработку персональных данных, собираемых с использованием cookie-файлов и сервиса «Яндекс Метрика» для анализа использования сайта и оценки эффективности маркетинговых кампаний. Более подробная информация представлена в Политике конфиденциальности.