Программы ABAP обычно работают с данными, которые считываются из постоянного источника хранения, например из базы данных, что означает, что данные существуют, даже когда программа их не читает.
Данные существуют в двух состояниях: переходном состоянии и постоянном состоянии. Когда программы ABAP обрабатывают данные, данные в программе носят временный характер; то есть его время жизни ограничено временем работы приложения. Когда приложение закрывается, приложение и данные в приложении удаляются из памяти. Эти данные не могут быть доступны снова. Если вы хотите получить доступ к данным, обрабатываемым приложением, вам необходимо сохранить данные в постоянной форме на постоянном носителе.
Данные, хранящиеся в постоянной форме, называются постоянными данными. Все программы ABAP работают с постоянными данными под управлением пользователя. Данные могут постоянно храниться различными способами, например следующими:
-В таблицах базы данных в базовой реляционной базе данных
-В кластерах данных в специальных таблицах базы данных
-В текстовых или бинарных файлах на сервере приложений
-В текстовых или бинарных файлах на сервере презентаций (рабочий стол пользователя)
Наиболее популярным способом постоянного хранения данных является их сохранение в таблицах базы данных, которые полностью поддерживаются SAP. Однако в зависимости от ваших требований нам, возможно, придется использовать другие постоянные носители для сохранения данных. Например, если пользователь хочет загрузить выходные данные отчета в электронную таблицу для дальнейшего анализа, его можно загрузить в виде файла электронной таблицы на рабочий стол пользователя. Первым выбором для хранения постоянных данных всегда должно быть хранение в таблицах реляционной базы данных, поскольку этот вариант позволяет работать с данными с помощью Open SQL, интегрированного в язык ABAP.
Вы также можете иметь объектно-ориентированный доступ к данным в базе данных через объекты ABAP. Иногда может быть выгодно хранить данные в кластерах данных, особенно когда данные недоступны в первой нормальной форме (1NF), например, во вложенных внутренних таблицах (см. Нормализация).
Хранение постоянных данных в виде файлов на сервере приложений или сервере презентаций должно быть наименее предпочтительным выбором, поскольку в отличие от данных, хранящихся в таблицах базы данных или кластерах данных, файлы сервера приложений или презентаций не имеют встроенной поддержки различных кодовых страниц или последовательностей байтов. Хранение данных в файлах на сервере презентаций или приложений больше подходит для интерфейсов передачи данных во внешние системы и из них.
Работа с данными в базах данных
Каждая система SAP использует базовую реляционную базу данных. Система базы данных состоит из таблиц, в которых данные хранятся в строках и столбцах. Каждый столбец представляет собой поле таблицы, а данные полей составляют строки. Каждая таблица имеет поле (или набор полей), которые однозначно идентифицируют строку, называемую первичным ключом таблицы. Одна таблица может быть связана с другими таблицами в базе данных с помощью внешних ключей. Мы также можем определить вторичные ключи для таблиц базы данных, которые оптимизатор SQL может использовать для ускорения процесса поиска данных.
SAP NetWeaver AS ABAP поставляется со многими стандартными таблицами SAP. Некоторые из этих таблиц предварительно заполнены данными, относящимися к системе, такими как объекты репозитория или параметры настройки. Многие таблицы базы данных, такие как таблицы приложений, поставляются пустыми, а затем обновляются клиентами с помощью программ ABAP или путем переноса внешних данных из устаревших систем. Каждая система реляционных баз данных предоставляет программный интерфейс для доступа к таблицам базы данных с использованием языка запросов SQL. Операторы SQL не полностью стандартизированы и варьируются от одного поставщика базы данных к другому.
SQL включает в себя следующие языки:
Data Definition Language (DDL) - Язык определения данных
DDL содержит такие операторы, как CREATE, ALTER и DROP, которые позволяют вам определять или изменять таблицы базы данных. ABAP не поддерживает эти операторы напрямую, потому что они зависят от поставщика; то есть они варьируются от поставщика к поставщику. Вместо использования этих операторов DDL в программах ABAP мы используем инструмент словаря данных ABAP для определения или изменения таблиц в базе данных; инструмент реализует эти операторы DDL таким образом, что они работают с базовой базой данных. Операторы DDL являются частью операторов Native SQL, т. е. являются родными для базовой базы данных.
Data Manipulation Language(DML) - Язык манипулирования данными
DML содержит операторы, такие как SELECT, INSERT, UPDATE и DELETE, которые позволяют обрабатывать данные в таблицах базы данных. ABAP реализует эти операторы как операторы Open SQL; они не зависят от базы данных. SAP Net-Weaver AS ABAP содержит интерфейс базы данных, который обрабатывает преобразование операторов Open SQL в ABAP в операторы SQL (или собственный SQL) конкретного поставщика. Интерфейс базы данных делает программы ABAP переносимыми и независимыми от базы данных.
Data Control Language (DCL) - Язык управления данными
DCL содержит операторы, которые позволяют вам определять пользовательские представления, выполнять управление доступом и обеспечивать согласованность данных. ABAP не содержит операторов DCL. Контроль доступа обеспечивается с помощью концепции авторизации SAP NetWeaver AS ABAP, а согласованность данных обеспечивается с помощью концепции LUW. Данные в базе данных всегда должны храниться в согласованной форме, но разные приложения, пытающиеся работать с одними и теми же данными, могут легко оставить базу данных в несогласованном состоянии. Такая концепция, как LUW, помогают обеспечить согласованность данных.
Комментарии
Отправить комментарий