Язык abap для чайников + видео обзор

Содержание
  1. Обзор языка ABAP/4 системы SAP R/3
  2. Основные возможности языка ABAP/4
  3. Структура и виды программ, среда разработки
  4. Концепция синтаксиса языка ABAP/4
  5. Определение данных в языке ABAP/4
  6. Элементарные типы данных
  7. Сложные типы
  8. Операторы языка ABAP/4
  9. РАБОТА С ВНУТРЕННИМИ ТАБЛИЦАМИ
  10. Создание подпрограмм и функциональных модулей
  11. ПОДПРОГРАММЫ И ФУНКЦИИ
  12. Выборка данных в системе R/3 с использованием Open SQL, Native SQL
  13. ЧТЕНИЕ ТАБЛИЦ БАЗЫ ДАННЫХ
  14. Хочу всё знать. Язык ABAP
  15. Краткая справка
  16. Синтаксис
  17. Область применения
  18. Работа
  19. Полезные ссылки
  20. Книги
  21. Краткая справка
  22. Синтаксис
  23. Область применения
  24. Работа
  25. Полезные ссылки
  26. Книги
  27. Программирование на языке ABAP/4 системы SAP
  28. Обзор системы SAP R/3
  29. Архитектура системы SAP R/3
  30. Навигация в системе SAP R/3
  31. Системный ландшафт, обзор ABAP инструментальных средств
  32. Cловарь данных системы R/3
  33. Таблицы словаря данных
  34. Ракурсы данных
  35. Средства поиска
  36. Видео

Обзор языка ABAP/4 системы SAP R/3

Основные возможности языка ABAP/4

Функции объектно-ориентированного программирования включают в себя поддержку:

Структура и виды программ, среда разработки

В среде разработки ABAP/4 также поддерживаются следующие механизмы:

Прикладные программы R/3 в системе R/3 выполняются в рабочих процессах серверов приложений. Это делает их независимыми от использующихся аппаратных средств и операционной системы. Однако, это также означает, что Вы не можете выполнять их вне системы R/3.
Прикладная программа в системе R/3 состоит из двух компонентов, каждый из которых имеет различную задачу:

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

К блокам обработки относятся:
Диалоговые модули (не могут иметь локальных данных)
Модули обработки событий
Подпрограммы (методы классов, формы, и функциональные модули)
Другие интерфейсы
SAP GUI
Логика ДинПро
(экраны)
Логика обработки данных (ABAP программы)
Интерфейс БД
Рабочий процесс

Рисунок SEQ Рисунок \* ARABIC 2. Взаимодействие компонентов SAP R/3
Каждая ABAP программа состоит из следующих двух частей:
Объявления глобальных данных, классов и экранов выбора
Глобальные данные видимы во всех внутренних блоках обработки, как и определения параметров экранов выбора. Объявления внутри диалоговых модулей являются глобальными. Объявления внутри подпрограмм, функциональных модулей и методов являются локальными.
Реализация блоков обработки
Принимая во внимание то, что тело модуля диалога или подпрограммы заключены между ключевыми словами ABAP, которые их определяют, блоки обработки событий начинаются ключевыми словами событий и заканчиваются неявно в месте начала следующего блока обработки.
Все операторы языка ABAP (кроме декларативных) являются частью блоков обработки. Операторы, не заключенные в блоки обработки по умолчанию принадлежат к блоку обработки события START-OF-SELECTION.
Вызов блоков обработки может производиться либо извне ABAP программы (ABAP процессором или процессором экрана) либо операторами ABAP, которые сами являются частью блока обработки (вызов подпрограмм). Диалоговые модули и модули обработки событий вызываются неявно ABAP процессором.
Среда выполнения
Экран
SAP GUI
Процессор
Процессор
Процессор
Логика Динпро
ABAP программа
Логика PBO
Логика PAI

Глобальные объявления
Блок обработки
Блок обработки
Блок обработки

Концепция синтаксиса языка ABAP/4

ABAP программа состоит из набора операторов, каждый из которых начинается с ключевого слова и заканчивается точкой.
Пример:

Структура операторов такова:

ABAP не имеет ограничений по форматированию текста программы. Можно писать операторы в одну строку, или в несколько, также один оператор можно размещать на нескольких строках.
Необходимо разделять все операторы хотя бы одним пробелом.
Пример:
Вариант 1.

Возможна краткая запись нескольких одинаковых операторов с указанием одного оператора, двоеточия в. в?T и цепочки операндов с дополнениями.
Пример:

Комментарии в программах можно описывать с помощью символов в?? * в. в?? » в??
Пример:

Определение данных в языке ABAP/4

Элементарные типы данных

ABAP/4 обеспечивает набор элементарных типов, таких как символьный, целый и дата и поддерживает 2 концепции конструирования (с помощью записей и внутренних таблиц), которые помогают строить сложные типы и объекты данных.
Можно также создавать неэлементарные типы и структуры данных и хранить их определения в словаре ABAP/4 Dictionary, чтобы впоследствии использовать их во всех компонентах системы.
Элементарные типы используются в ABAP/ 4 так же, как и в других языках.
В ABAP/4 используются следующие элементарные типы:
Characters. Поддерживаются два символьных типа:
С (собственно символьный) и N (текст, состоящий из цифр).
Numbers. Поддерживается три цифровых типа:
I (целые числа), P (упакованные числа) и F (числа с плавающей запятой).
Date. Поддерживается один тип даты:
D (дата).
Time. Поддерживается один тип для задания времени:
T (время).
Hexadecimal.
Поддерживается один шестнадцатеричный тип: X (шестнадцатеричный).
Каждое поле определяется с помощью ключевого слова DATA и ссылки на элементарный тип.
Пример:

Длина поля определяется числом в круглых скобках, которое следует после имени поля. Если размер поля в операторе data не задан, ABAP/4 использует значение размера поля по умолчанию. Ключевое слово value позволяет задать начальное значение переменной counter.
Каждый элементарный тип обладает своим значением по умолчанию, которое применяется в тех случаях, когда до выполнения программы не было задано начальное значение переменной.
Аналогично полям задаются неэлементарные типы. Понятие тип (TYPE) не связано с выделением памяти, а для полей, описанных как DATA, память всегда выделяется.
Пример:

Для всех типов в качестве значений можно задавать константы:
Пример:

Поля для задания времени имеют фиксированную длину 6 и формат HHMMSS (часы, минуты, секунды).

Сложные типы

После того как структура определена, можно работать и с отдельными компонентами и со всей структурой.
Пример:

В приведенном примере дополнительное ключевое слово LIKE определяет структуру vendor, имеющую такой же формат, как и структура customer.
В отличие от таблиц базы данных, внутренние таблицы существуют только во время выполнения программы. Они используются в качестве моментальных снимков таблиц базы данных или контейнеров для временного хранения данных в программе. Внутренние таблицы могут содержать любое количество строк или элементов одинакового типа.

Внутренние таблицы можно определять с помощью ключевого слова OCCURS, за которым следует число, определяющее верхний предел числа строк в таблице. Однако параметр числа строк OCCURS влияет исключительно на производительность и не накладывает никаких ограничений на максимальный размер внутренней таблицы. ABAP/4 автоматически выделяет новую область памяти при добавлении строк к таблице.
Как и для структуры, тип строки внутренней таблицы может быть задан с помощью ссылки на элементарный и неэлементарный тип. В следующем примере определяется неэлементарный тип personal_data:
Пример:

Этот тип можно использовать для определения внутренней таблицы people, каждая строка которой имеет тот же тип.
Пример:
DATA people TYPE personal_data OCCURS 100.
Многие операции с таблицами (такие, как добавление новой строки) требуют дополнительной записи для размещения новой информации. Используя дополнительные ключевые слова HEADER LINE в операторе DATA, при построении таблицы можно добавлять к ней объект данных того же типа. Этот объект HEADER LINE называется строкой заголовка и используется по умолчанию как запись для хранения текущей, добавляемой к таблице, записи.
Поля и типы могут иметь ссылки на элементарные типы или на объекты Dictionary.
Разработчик может начинать с элементарных типов и полей, а затем, применяя в любом порядке описанные выше правила, строить вложенные структуры записей и таблиц.
Пример:

После определения объектов данных в операторе data, их можно использовать в любом месте программы. Обычно определение данных размещается в начале программы. Большие программы часто имеют файл типа INCLUDE, содержащий список с определениями всех данных. Данные программы доступны в любой подпрограмме и их разрешено переопределять в подпрограмме. Локальные объекты данных в подпрограмме являются приоритетными по сравнению с глобальными переменными, имеющими идентичные имена. Переменные программы для всех других программ недоступны. Их можно добавить в файл INCLUDE, который содержит определения данных других программ, а также определить их как глобальные переменные в словаре Dictionary,автоматически доступном для всех программ ABAP/4.
ABAP/4 поддерживает несколько системных полей, доступных любой программе, написанной на ABAP/4. Системные поля принадлежат к структуре Dictionary c именем SYST и содержат общую информацию о состоянии системы и объектах программы в данный момент времени. Например, в поле sy-datum cодержится текущая дата. Значения многих системных полей устанавливается во время выполнения программы после определённых операций. Taк, при выполнении цикла в поле SY-TABIX находится номер текущей строки внутренней таблицы.

Операторы языка ABAP/4

Если исходный и конечный объекты данных относятся к одному и тому же типу (например, к внутренней таблице), в операторе MOVE их содержимое копируется за одну операцию.
Команда MOVE-CORRESPONDING копирует из одной записи в другую компоненты с одинаковыми именами. Поля с одинаковыми именами копируются независимо от их позиции внутри записи.
ОПЕРАЦИИ С СИМВОЛЬНЫМИ СТРОКАМИ.
Символьные строки объединяются с помощью команды CONCATENATE.
Пример:

Обратная операция разделения символьной строки осуществляется для произвольно выбранного разделителя.
Пример:

Если одно из полей, в которое записывается результат, имеет недостаточную длину, все компоненты усекаются, и переменная sy-subrc получает ненулевое значение. Если число компонентов больше числа целевых полей, то информация теряется. В качестве целевого объекта можно использовать внутреннюю таблицу.
Пример:

Сдвинуть символьную строку можно командой SHIFT.
Пример:

Для замены определённых символов в строке используется оператор REPLACE, который замещает первую встретившуюся подстроку внутри строки.
Пример:

Для замены всех символов в. в?T на в. в?T используется команда TRANSLATE.
Пример:

Поиск символьных строк в полях или внутренних таблицах осуществляется по команде SEARCH. Системное поле sy-fdpos содержит сдвиг найденной строки относительно начала.
Пример:

РАБОТА С ВНУТРЕННИМИ ТАБЛИЦАМИ

Создание подпрограмм и функциональных модулей

ПОДПРОГРАММЫ И ФУНКЦИИ

ABAP/4 предлагает три типа модулей:
cобытия;
подпрограммы;
функции.
Формы (подпрограммы) в?» программные модули, локализованные в конкретной программе.
Функции в?» глобальные программные компоненты, которые могут вызываться из разных программ.
ПОДПРОГРАММЫ
Поскольку формы являются внутренними модулями, они имеют доступ к глобальным данным вызывающей программы. Функции вызываются из различных программ, поэтому к ним применяются более жёсткие интерфейсные правила, позволяющие изменять только их параметры и локальные данные. Формы языка ABAP/4 не возвращают значений.
Форма или подпрограмма определяется парой операторов FORM/ENDFORM и вызывается из основной программы с помощью оператора PERFORM.
При необходимости объединить и локализовать данные, принадлежащие только этой подпрограмме, следует определить эту локальную переменную внутри формы обычным образом, c помощью ключевого слова DATA.
Применение локальных переменных улучшают читабельность исходных текстов. Напротив, работа с глобальными данными в подпрограмме может привести к ошибкам и затруднённому анализу текста программ.
Статические переменные STATICS применяются, когда необходимо сохранить содержимое локального объекта данных от однго вызова подпрограммы до другого, (то есть внутри неё).
Возвращаемая из формы информация передаётся с помощью параметров интерфейса.
Иногда для выполнения подпрограммы необходимо передать туда параметры, которым при каждом вызове присваиваются необходимые фактические значения.
В ABAP/4 поддерживаются различные способы передачи параметров. Параметры интерфейса бывают 2-х типов:
только для чтения (USING);
изменяемые (CHANGING).
По способам передачи их можно классифицировать так:
передаваемые по значению (BY VALUE)
передаваемые по ссылке (BY REFERENCE)
Параметры, описанные как using, не могут изменяться внутри формы, однако при выполнении программы различий между определениями USING и CHANGING нет. Чтобы облегчить чтение программы, рекомендуется по-разному обозначать входные (USING) и выходные (CHANGING) параметры, передаваемые по ссылке.
Дополнение TABLES itab1, itab2, в?¦ позволяет передавать в подпрограмму внутренние таблицы. Они могут передаваться со строкой заголовка (HEADER LINE) или без. Если внутренняя таблица передаётся без header line, то после имени внутренней таблицы должны стоять []: itab[]. Параметры таблицы всегда передаются по ссылке.
Подпрограммы можно также вызывать из других программ. Например:
PERFORM FORM IN PROGRAM PROG [IF FOUND].
ФУНКЦИИ
В отличие от подпрограмм функции обычно применяются во множестве различных программ, и поэтому данные в функции могут изменяться только через её интерфейс. Аргументы функции определяются с помощью имён, а не по их расположению в списке параметров, как в подпрограмме. Кроме того, функции обеспечивают удобную обработку исключений.
Функции определяются парой операторов в?» FUNCTION и ENDFUNCTION и вызывается с помощью оператора CALL FUNCTION. Имя функции записывается прописными буквами.
Функциональная группа представляет собой контейнер, включающий одну или несколько связанных между собой функций. В частности, все функции в функциональной группе, используют одни и те же формы, которые определены в этой группе. Кроме того совместно используемые подпрограммы и функции в функциональной группе могут обращаться к общим глобальным данным группы.
C точки зрения техники программирования функциональная группа представляет собой программу, состоящую из нескольких файлов типа INCLUDE, каждый из которых соответствует отдельной функции. Когда при выполнении программы вызывается одна из функций, вся функциональная группа загружается в память и функция выполняется. После этого функциональная группа остаётся в памяти, то есть она повторно не загружается головной программой текущего процесса при вызове другой функции группы.
ИНТЕРФЕЙСНЫЕ ПАРАМЕТРЫ
Формальные параметры функции подразделяются на импортируемые, экспортируемые и изменяемые. В операторе CALL FUNCTION описание формальных параметров располагается слева от знака =, а фактических в?» справа. Фактические параметры идентифицируются по имени формальных. Значение дополнения IMPORTING и EXPORTING зависит от того, где они употребляются: в вызывающей или в вызываемой функции.
Передача параметров по значению и по ссылке синтаксически различается по дополнениям VALUE(P) и REFERENCE(P).
Для любого параметра можно задать тип, указав ссылку на структуру или на поле в Dictionary, или применить прямую ссылку на тип.
Импортируемые и изменяемые параметры могут быть отнесены к разряду необязательных.
В интерфейсе функции разрешено использовать внутренние таблицы, которые всегда вызываются по ссылке.
ИСКЛЮЧЕНИЯ
Так как функции обычно вызываются несколькими программами, в них не всегда можно предусмотреть обобщённую обработку ошибок или непредсказуемых событий. Вместо этого в подобных случаях выполнение функции прекращается, а в вызывающую программу поступает сообщение. Данная технология реализована с помощью исключений.
Исключения можно задать, используя команду RAISE в?» прекратить выполнение с ошибкой. Как только эта команда начинает обрабатываться, выполнение функции немедленно прекращается. Также для задания исключений можно использовать команду MESSAGE в?¦ RAISING в?» выводится сообщение, информирующее об исключении.
В конце списка исключений можно использовать ключевое слово OTHERS для указания на оставшиеся исключения. Номер исключения возвращает в вызывающую программу функция SY-SUBRC. Если SY-SUBRC = 0 в?» нет исключений.
В вызывающей программе можно определить исключение по его номеру и в соответствии с этим определить, как продолжить работу. В противном случае происходит ошибка выполнения, и вызывающая программа не реагирует на событие.
ВЛОЖЕННЫЕ ВЫЗОВЫ И ЗАВЕРШЕНИЯ ПОДПРОГРАММ И ФУНКЦИЙ
Вызовы подпрограмм и функций могут быть вложенными. В них разрешено использовать локальные данные. Однако применение вложенных определений форм и функций не допускается. Если оператор form одной программы располагается до завершения другой подпрограммы, то есть до оператора ENDFORM, то синтаксический контроль выдаёт ошибку.
Для создания функции с помощью средств Development Workbench необходимо вызвать транзакцию SE37 в?» Function Builder.
Пример:
DATA: NUMBER_I TYPE I VALUE 5,
NUMBER_P TYPE I VALUE 4,
BEGIN OF PERSON,
NAME(10) VALUE ‘Paul’,
AGE TYPE I VALUE 28,
END OF PERSON,
ALPHA(10) VALUE ‘abcdefghij’.
FIELD-SYMBOLS

TYPE ANY.
ASSIGN NUMBER_P TO

.
DATA: HHH TYPE I.
WRITE: / NUMBER_I, NUMBER_P,

,
PERSON-NAME, PERSON-AGE, ALPHA.
DO 5 TIMES.
PERFORM CHANGE USING 1
NUMBER_I
NUMBER_P

).
WRITE: / NUMBER_I, NUMBER_P,

,
PERSON-NAME, PERSON-AGE, ALPHA.
enddo.
*——————————————————
CALL FUNCTION ‘MY_FUNC’ EXPORTING X = 23
Y = 40
IMPORTING Z = HHH
EXCEPTIONS CRASH = 1.
WRITE: / HHH.
CALL FUNCTION ‘MY_FUNC’ EXPORTING X = 0
Y = 0
IMPORTING Z = HHH
EXCEPTIONS CRASH = 1.
WRITE: / HHH.
FORM CHANGE USING VALUE(PAR_1)
PAR_NUMBER_I
PAR_NUMBER_P
PAR_POINTER
PAR_PERSON STRUCTURE PERSON
PAR_PART_OF_ALPHA.
STATICS I TYPE I.
I = I + 1.
ADD PAR_1 TO PAR_NUMBER_I.
PAR_NUMBER_P = 0.
PAR_PERSON-NAME+4(1) = ALPHA.
PAR_PERSON-AGE = NUMBER_P + 25.
ADD NUMBER_I TO PAR_POINTER.
PAR_PART_OF_ALPHA = SPACE.
WRITE: /’I = ‘, I.
ENDFORM.

Выборка данных в системе R/3 с использованием Open SQL, Native SQL

ЧТЕНИЕ ТАБЛИЦ БАЗЫ ДАННЫХ

Для чтения таблиц базы данных используется оператор SELECT. Она является частью Open SQL, который интегрирован в состав языка ABAP/4.
Ниже приводится обзор синтаксиса оператора SELECT языка Open SQL.
Чтение списка всех полей всех записей таблицы в рабочую область таблицы.
Пример:
SELECT * FROM MARA.
в?¦

ENDSELECT.
Чтение списка всех полей всех записей таблицы во внутреннюю таблицу.
Пример:
SELECT * FROM MARA INTO INTTAB.
в?¦
ENDSELECT.
Копирование содержимого всей таблицы во внутреннюю таблицу.
Пример:
SELECT * FROM MARA INTO TABLE INTTAB.
Выборка подмножества записей, удовлетворяющих определенному условию.
Пример:
SELECT * FROM MARA WHERE (MATNR Программирование на ABAP. Оглавление моделирование сетями Петри ОКМ ДМ экономическая информатика 4GL ТПОИ

Источник

Хочу всё знать. Язык ABAP

Язык abap для чайников

Краткая справка

ABAP/4 – проприетарный (т.е. не распространяющийся свободно) язык программирования высокого уровня, разработанный немецкой софтверной компанией SAP и предназначенный исключительно для работы с выпускаемым ей ПО. В январском рейтинге популярности языков ABAP/4 занимает 22 место прямо перед Scratch.

Он был разработан в 1983 году для работы с внутренней системой SAP R/2. Цифра 4, которая присутствует в названии, не имеет практического смысла и лишь указывает, что язык относится к 4 поколению. SAP R/2 – это система управления предприятием, предполагающая стандартную связь между клиентской базой и сервером. Позднее была заменена трёхзвенной системой R/3 – клиент, сервер приложений и система управления базами данных.

Синтаксис

Во многих источниках вы можете найти замечание про схожесть синтаксиса ABAP с COBOL. Однако не стоит принимать это за чистую монету, схожесть касается исключительно внешнего вида, в то время как структура и возможности совсем разные. Сравните базовый код любого программиста “Hello World”:

WRITE / ‘Hello World’.

DISPLAY «Hello, world.».

END PROGRAM HELLO-WORLD.

Согласитесь, не так уж много общего. ABAP значительно удобнее, понятнее для программистов, работающих на популярных языках

Область применения

Работа

Если ABAP не является языком, вечно мелькающим в списке требований работодателей, если его не изучают в университетах, то это совсем не означает, что он не востребован. ABAP имеет свою аудиторию, эко-систему, поэтому требует от соискателей осознанного выбора будущей деятельности. Прямо сейчас на популярном рекрутинговом ресурсе вы можете найти свыше 100 вакансий, причём среди них есть те, где знание продуктов компании SAP и опыт работы с ABAP – едва ли не единственное требование.

Язык abap для чайников

Полезные ссылки

ABAP Community – официальное сообщество разработчиков;

ABAP-blog – один из немногих очень качественных и визуально приятных отечественных ресурсов, где можно почитать про программирование на ABAP;

Викиучебник – основы на русском языке;

Habrahabr SAP ERP ABAP – дополнительный набор справочных ресурсов по ABAP и всему, что его касается;

Habrahabr Course Guide – путеводитель по онлайн-курсам ABAP.

Книги

Мы продолжаем говорить о не самых популярных языках программирования, заслуживающих тем не менее внимания настоящих гиков. В этот раз речь пойдёт о языке ABAP/4 или просто ABAP. О том, что эта самая четвёрка в названии означает, зачем нужен этот язык, а главное где и как ему обучиться – далее.

Язык abap для чайников

Краткая справка

ABAP/4 – проприетарный (т.е. не распространяющийся свободно) язык программирования высокого уровня, разработанный немецкой софтверной компанией SAP и предназначенный исключительно для работы с выпускаемым ей ПО. В январском рейтинге популярности языков ABAP/4 занимает 22 место прямо перед Scratch.

Он был разработан в 1983 году для работы с внутренней системой SAP R/2. Цифра 4, которая присутствует в названии, не имеет практического смысла и лишь указывает, что язык относится к 4 поколению. SAP R/2 – это система управления предприятием, предполагающая стандартную связь между клиентской базой и сервером. Позднее была заменена трёхзвенной системой R/3 – клиент, сервер приложений и система управления базами данных.

Синтаксис

Во многих источниках вы можете найти замечание про схожесть синтаксиса ABAP с COBOL. Однако не стоит принимать это за чистую монету, схожесть касается исключительно внешнего вида, в то время как структура и возможности совсем разные. Сравните базовый код любого программиста “Hello World”:

WRITE / ‘Hello World’.

DISPLAY «Hello, world.».

END PROGRAM HELLO-WORLD.

Согласитесь, не так уж много общего. ABAP значительно удобнее, понятнее для программистов, работающих на популярных языках

Область применения

Работа

Если ABAP не является языком, вечно мелькающим в списке требований работодателей, если его не изучают в университетах, то это совсем не означает, что он не востребован. ABAP имеет свою аудиторию, эко-систему, поэтому требует от соискателей осознанного выбора будущей деятельности. Прямо сейчас на популярном рекрутинговом ресурсе вы можете найти свыше 100 вакансий, причём среди них есть те, где знание продуктов компании SAP и опыт работы с ABAP – едва ли не единственное требование.

Язык abap для чайников

Полезные ссылки

ABAP Community – официальное сообщество разработчиков;

ABAP-blog – один из немногих очень качественных и визуально приятных отечественных ресурсов, где можно почитать про программирование на ABAP;

Викиучебник – основы на русском языке;

Habrahabr SAP ERP ABAP – дополнительный набор справочных ресурсов по ABAP и всему, что его касается;

Habrahabr Course Guide – путеводитель по онлайн-курсам ABAP.

Книги

Источник

Программирование на языке ABAP/4 системы SAP

Обзор системы SAP R/3

Архитектура системы SAP R/3

Система R/3 представляет собой набор приложений, написанных исключительно на языке ABAP/4 и поэтому не зависящих от конкретной платформы. Язык ABAP/4 занимает центральное место в программном обеспечении связного уровня, что позволяет сделать программу независимой от аппаратуры, операционной системы и СУБД.
Система R/3, разработанная на базе трехуровневой архитектуры, предназначена для реализации распределенных вычислений в среде клиент/сервер. R/3 содержит 3 логических уровня:

Функции базисной системы SAP R/3:

Архитектура базисной SAP-системы наилучшим образом подходит для конфигурации по принципу клиент-сервер.

Системный ландшафт, обзор ABAP инструментальных средств

В дополнение к различным типам данных в системе R/3 существуют также разные виды изменений и адаптаций.
Так как система R/3 представляет собой стандартное программное обеспечение, ее необходимо адаптировать к индивидуальным требованиям каждой компании, в которой используется эта система. Такая процедура адаптации называется пользовательской настройкой, которая включает в себя как зависимые, так и независимые от манданта данные, представленные на слайде. После смены версии может также понадобиться выполнить небольшой объем работ, связанный с пользовательской настройкой.
Разработка и тестирование данных пользовательской настройки осуществляется в манданте, отличном от того, который будет использован в продуктивной эксплуатации. Это означает, что при внедрении R/3 потребуется использовать несколько мандантов. Данные пользовательской настройки обрабатываются и тестируются в одном манданте. При больших инсталляциях может оказаться целесообразным объединение и тестирование подпроектов настройки в дополнительном манданте. Продуктивная эксплуатация осуществляется с использованием своего собственного манданта.
В отличие от пользовательской настройки репозитарий не нуждается в каких-либо изменениях или расширениях при внедрении системы R/3.
Клиенты могут добавлять в репозитарий свои собственные разработки.

Cловарь данных системы R/3

Таблицы словаря данных

На рисунке 1отображены основные характеристики различных видов таблиц.

При создании любого объекта в словаре данных для него создается комбинированная структура версия, оптимизированная для доступа ABAP процессора.
Для добавления полей в таблицы SAP не модифицируя их, можно использовать APPEND структуры. Основные характеристики APPEND структур то, что для одной и той же таблицы можно использовать более чем одну APPEND структуру.

Ракурсы данных

Несмотря на тесную логическую связь между моделью данных SAP и ABAP-словарем, может понадобиться распределение типов сущностей по нескольким таблицам ABAP-словаря или объединение нескольких типов сущностей в одной таблице. Для этого в ABAP-словаре определены ракурсы. Эти ракурсы организуют связь между типами сущностей в модели данных и в таблицах АВАР-словаря.
Ракурс является логическим отображением одной или нескольких таблиц. Данные для ракурсов не хранятся физически, они извлекаются из одной или нескольких таблиц, при осуществлении доступа к ракурсу. Если в таблице содержится слишком большое количество полей, но необходимо обращаться только к нескольким полям, можно определить ракурс в котором будут отображаться только те поля таблицы, в которых заинтересован пользователь. Ракурсы позволяют организовать быстрый доступ к определенным данным.
Ракурсы определяются в ABAP-словаре. Можно использовать следующие операторы сравнения: оператор соединения (JOIN), оператор проекции (PROJECTION) и оператор ограничения (SELECTION). Оператор JOIN определяет связь между базисными таблицами, используемыми в ракурсе. Оператор PROJECTION определяет, какие столбцы базисных таблиц необходимо отобразить в ракурсе. Оператор SELECTION определяет, какие записи таблиц необходимо отобразить в ракурсе.
ABAP-словарь содержит несколько видов ракурсов, отличающихся по своим задачам и объему выводимых данных. Начиная с версии 4.0, можно также буферизировать данные ракурсов на уровне SAP-приложения.
Основные виды ракурсов ABAP словаре следующие:

Средства поиска

Cправка по допустимым значениям ввода (F4) является стандартной функцией в системе R/3. Она дает возможность пользователю просмотреть список допустимых значений для поля экрана. Значение можно скопировать непосредственно в поле ввода, выбрав его из списка.
Справа от поля, которое имеют справку по вводу, отображается поле со списком. Это поле со списком появляется при установке курсора в соответствующем поле экрана. Справку можно вызвать выполнив щелчок на этом поле, либо при помощи функциональной клавиши F4.

Если количество допустимых значений определенного поля очень велико, пользователь может сократить количество предоставляемых значений посредством задания дополнительных ограничений. Справка по допустимым значениям ввода предоставляет на экране дополнительную информацию для полей, где введены значения, которые не предлагаются в списке допустимых значений.
Справку по допустимым значениям ввода можно программировать в ABAP или определить в АВАР-словаре. Начиная с версии 4.0, справка по допустимым значениям ввода, определенная в АВАР-словаре, рассматривается как средство поиска. Средство поиска определяется в ABAP-словаре и присваивается различным типам полей таблицы. Поля экрана с такими типами определения полей таблицы автоматически предоставляют справку F4.
Начиная с версии 4.6, пользователи могут добавлять к средству поиска SAP свои собственные пути поиска при этом нет необходимости модифицировать систему.

Источник

Видео

ABAP SAP урок 1 упрощенный

ABAP SAP урок 1 упрощенный

5 ХУДШИХ языков программирования, которые не стоит учить!

5 ХУДШИХ языков программирования, которые не стоит учить!

SAP программа. Первая ABAP программа se80 и se38.

SAP программа. Первая ABAP программа se80 и se38.

ABAP разработка: боль и(или) удовольствие - Илья Казначеев

ABAP разработка: боль и(или) удовольствие - Илья Казначеев

Вопрос-Ответ: стоит ли изучать 1C, SAP, Directum

Вопрос-Ответ: стоит ли изучать 1C, SAP, Directum

SAP Введение урок 1

SAP Введение урок 1

САП для начинающих. Автоматическое назначение ролей полномочий в SAP

САП для начинающих. Автоматическое назначение ролей полномочий в SAP

ABAP Программирование канал YouCoder

ABAP Программирование канал YouCoder

SQL для начинающих / Урок 1. Первые SQL запросы

SQL для начинающих / Урок 1. Первые SQL запросы

Урок 1. Немецкий язык за 7 уроков для начинающих. Местоимения. Спряжение глагола sein. Шипилова.

Урок 1. Немецкий язык за 7 уроков для начинающих. Местоимения. Спряжение глагола sein. Шипилова.
Поделиться или сохранить к себе:
Добавить комментарий

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