Экраны списков в ABAP
Экраны списков (List Screens) — один из самых базовых способов разработки отчётов в ABAP. В этой главе рассматривается использование экранов списков для разработки отчётов.
Станьте участником SAPLAND и получите доступ к самым интересным публикациям SAPPRO
ЗарегистрироватьсяЭкраны списков (List Screens) — один из самых базовых способов разработки отчётов в ABAP. В этой главе рассматривается использование экранов списков для разработки отчётов.
В предыдущем разделе вы узнали, как создавать персистентные классы и работать с персистентными объектами. В следующем разделе мы рассмотрим работу с файлами на сервере приложений и на уровне представления.
До этого момента мы рассмотрели различные способы персистентного хранения данных в базе. Однако все эти техники используют процедурные элементы для записи данных. ABAP Object Services представляет собой фреймворк, который предоставляет различные сервисы для создания и работы с персистентными объектами. Их мы и рассмотрим сегодня.
Продолжим разговор о том, как сохранять персистентные данные для использования в программах ABAP.
Программы ABAP, как правило, работают с данными, которые читаются из персистентного источника хранения (например, базы данных), то есть с данными, существующими даже тогда, когда программа не обращается к ним. В этой главе объясняется, как сохранять персистентные данные для использования в программах ABAP.
Блокировки — это стандартный механизм предотвращения одновременного изменения данных разными пользователями. Пользовательские таблицы базы данных также должны быть защищены блокировками. Они реализуются с помощью специальных функциональных модулей наложения (ENQUEUE) и снятия (DEQUEUE) блокировок. Объекты блокировки — это определения, глобальные по системе, на основе которых автоматически создаются соответствующие модули. Раздел подробно объясняет процесс создания таких объектов, их параметры и программное использование. В завершение глава подводит итоги, акцентируя внимание на значении словаря данных в разработке ABAP-приложений и переходе к теме устойчивого хранения данных в следующей главе.
Продолжаем публикацию перевода книги Кирана Бандари «Полный ABAP». Представляем вашему вниманию раздел 6 «Средства помощи» главы 10 «ABAP-словарь данных».
Продолжаем публикацию перевода книги Кирана Бандари «Полный ABAP». Представляем вашему вниманию раздел 4 «Группы типов» главы 10 «ABAP-словарь данных». В предыдущем разделе мы рассмотрели использование типов данных, включая элементы данных, структуры и типы таблиц. В этом разделе мы увидим, как использовать и сопровождать группы типов.Группы типов (type groups) представляют собой определения типов данных и констант, глобальные по системе. С развитием и широким распространением глобальных классов и интерфейсов, создание новых групп типов стало неактуальным. Тем не менее, ранее созданные группы продолжают активно использоваться, что делает данный раздел по-прежнему значимым.
В прошлом разделе мы рассмотрели, как создавать, определять, использовать и получать доступ к различным типам ракурсов. В этом разделе мы перейдём к поддержке различных типов данных в ABAP-словаре данных.
Данные приложения часто распределены по нескольким таблицам, и вы можете определить ракурсы (views), чтобы объединить эти данные. Списки таблиц базы данных, к которым обращается ракурс, называются базовыми таблицами (basis tables). Если ракурс содержит более одной базовой таблицы, такие таблицы можно объединить с помощью соединений (joins). Структура ракурса создаётся из объединённых полей базовых таблиц.
Таблица базы данных (Database Tables) — один из ключевых объектов ABAP-словаря данных. Как известно, каждая система SAP опирается на нижележащую реляционную базу данных или базу данных в памяти, такую как SAP HANA. Однако таблицы можно определять независимо от конкретной базы данных — прямо в ABAP-словаре данных. Вместо того чтобы определять таблицы непосредственно на уровне базы данных, используется ABAP-словарь данных для ведения определений таблиц базы данных.
ABAP-словарь данных обсуждался в предыдущих главах по мере необходимости. В этой главе мы рассмотрим уже упомянутые концепции и подробно опишем те темы, которые ещё не были охвачены.
Классы исключений позволяют корректно выйти из исключительной ситуации. Однако иногда исключение возникает из-за ошибки, устранение которой требует вмешательства человека. В таких случаях можно сохранить сообщение при возбуждении исключения, чтобы впоследствии можно было идентифицировать ошибку.
Исключения на основе классов позволяют отделить логику обработки исключений от основной программной логики, помещая обработку исключений в отдельный блок.
Обработка исключений – это процесс, происходящий при возникновении ошибки в системе. В данной главе мы рассмотрим обработку исключений как в процедурном программировании, так и в объектно-ориентированном программировании (ООП).
Расширяемый язык разметки (XML) — это метаязык разметки, который используется для определения структурированных документов, которые могут быть легко переданы между разнородными системами. Существует множество способов обмена данными между системами, но с ростом использования веб-сервисов XML стал популярен среди разработчиков. Преимуществами XML являются его гибкость и простота.
Полиморфизм означает наличие множества форм. Концепция наследования приводит к множеству интересных ситуаций, когда объекты могут принимать различные формы. Например, подкласс может отвечать на вызов метода суперкласса.
В прошлый раз мы рассмотрели основные характеристики инкапсуляции, в этом разделе перейдем к наследованию.
Один из ключевых принципов объектно-ориентированного программирования — инкапсуляция (encapsulation). Инкапсуляция позволяет определять границы и скрывать реализации от внешнего мира. Атрибуты и методы, которые управляют этими данными, заключены в капсулу (объект), что позволяет установить границу между тем, к чему можно получить доступ внутри объекта и тем, что доступно извне. Эти границы помогают решать многие из упомянутых ранее проблем процедурного подхода.
ABAP Objects — это расширение ABAP. Он сочетает в себе самые мощные аспекты других языков программирования, таких как C++ и Java. В этой главе рассматриваются концепции объектно-ориентированного программирования и их реализация в ABAP.