Abap что это
Перейти к содержимому

Abap что это

Abap что это

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

Содержание

Виды разработок [ править ]

SAP является программным обеспечением с открытым исходным кодом. В силу этого, существует следующая классификация разработок:

  • Независимые разработки — существуют независимо от какого-либо стандартного кода приложений SAP
  • Разработки на основе стандартного функционала — наиболее частый вид разработок. Данный вид разработок представляет собой самостоятельные отчеты, использующие функционал открытого исходного кода SAP, помогающего выполнять те или иные действия с бизнес-объектами
  • Расширения — расширения стандартного исходного кода собственными разработками. Зачастую требуется расширить стандартную бизнес-логику, заложенную в SAP для достижения бизнес-логики, максимально приближенной задуманной клиентом. В подобных случаях, как правило, это лучший выход между использованием стандартного функционала и написанием независимой разработки. Но всегда перед расширением следует убедиться, что данное расширение обосновано, и без него не обойтись.
  • Сервисные разработки. Подобные разработки призваны сократить количество однотипных разработок в системе. Как пример — функциональный модуль пересчета количества из одной единицы измерения в другую.

Синтаксис [ править ]

Программа Hello World.

Правила синтаксиса ABAP:

1. Любое выражение должно заканчиваться точкой.

2. Двоеточие после ключевого слова обозначает повторение выражений, приведенных после двоеточия и перечисленных через запятую для данного ключевого слова.

3. Ключевые слова и переменные регистронезависимые, т.е. код:

4. Вызов функциональных модулей производится только в верхнем регистре: Т.е. код:

Работать не будет, а правильно:

Оформление разработки [ править ]

Правильное оформление разработки — залог её простой читаемости в будущем, как разработчиками, незнакомыми с данной разработкой, так и Вами через полгода-год, когда уже давно забыто, что именно должна делать разработка. Упрощает поиск и исправление ошибок, расширения и модификацию разработки. Негласные правила оформления разработок, принятых на многих проектах изложены в главе ABAP/Оформление разработок.

ABAP CDS. Коротко о главном

Очень много интересного написано про инструментарий ABAP CDS, что заострять на этом отдельно внимание, наверное, особенно и не имеет смысла. Но чтобы было к чему обратиться, если возникнет такая потребность, оставлю здесь несколько параграфов по обозначенной теме.

Что такое CDS?

Core Data Services. Инструментарий, позволяющий создавать представления/ракурсы данных посредством языка DDL (Data Definition Language). Таких представлений/ракурсов есть несколько видов, и все они достаточно хорошо описаны в справочном материале от вендора.

Важно здесь отметить, что представления/ракурсы данных могут быть использованы в ABAP программах/классах/ФМ etc., а также задействованы при создании oData сервисов (что представляет особую ценность). Еще один интересный момент связан с настройкой доступов к этим ракурсам. Но об этом я расскажу далее.

Как начать работать с этим инструментом?

Где скачать Eclipse IDE?

Пример создания CDS View

Допустим, что мне требуется создать CDS View, где будут считаны данные из двух таблиц.

Используя Eclipse IDE, я пробую создать такую модель данных.

После сохранения и активации CDS View, в back-end системе можно получить доступ к вновь созданным объектам, посредством транзакции SE11

Каким образом можно обратиться к CDS View используя ABAP?

Ответ на поставленный вопрос весьма простой. И на следующем видеофрагменте представлен пример такого обращения в ABAP программе.

Пример создания CDS Access View

Можно, как угодно плохо относиться к Eclipse IDE как к инструменту работы с объектами системы SAP, но здесь, мне кажется, можно согласиться с той точкой зрения, что он в несколько раз лучше, чем SAPGUI for Java и его "редактор" ABAP кода. Уважаемый SAP, если ты читаешь это, пожалуйста, сжалься над разработчиками и консультантами! Ну да я немного отошел от обозначенной темы.

В Eclipse IDE следует обратить внимание на периодически возникающие сообщения об ошибках/предупреждениях. В частности, после того, как вы создали и активировали новый CDS View, система предложит обратить ваше внимание на отсутствие Access Control’a для него же.

ABAP Core Data Services (CDS) has its own authorization concept CDS access controls using a data control language (DCL). The authorization concept of ABAP CDS uses conditions defined in CDS and can draw upon classical (PFCG) authorizations to check the authorizations of users.

The CDS authorization concept coexists with the classical authorization concept of Application Server ABAP (AS ABAP). You can use the concepts together or independently from another. The classical authorization concept is based on authorization objects. The authorization of a user occurs either implicitly, for example while calling a transaction, or explicitly with the statement AUTHORITY-CHECK. The CDS authorization concept is based on implicit authorization checks that occur during access attempts to CDS entities over ABAP SQL.

Посредством работы с Access Control я могу определить уровень доступа пользователя к данным, которые собираются/отображаются в созданном CDS View.

Для демонстрации простого сценария работы с этой сущностью, я настрою два варианта доступа к созданному CDS View, определив в качестве результирующего параметра, по которому будет приниматься решение о предоставлении доступа к данным, наличие в ролях пользователя объекта полномочий с определенным значением. На следующем видеофрагменте как раз про это.

Продолжая эту тему, хочется акцентировать ваше внимание на том, что в доступ к данным, отображаемым в созданном CDS View, предоставляется с через проверку на наличие у пользователя объектов полномочий, указанных в выражении aspect pfcg_auth ( S_CNTOR, CONTRYORG )

Предварительно я создал объект полномочий S_CNTOR с фильтром CONTRYORG, который в итоге должен оказаться в роли пользователя.

Тестирование доступа к View

На следующем видеофрагменте представлена последовательность действий, в результате которой создается роль, куда добавляется предварительно созданный объект полномочий S_CNTOR. Этому объекту полномочий устанавливается два значения, в соответствии с определенными в настройке для Access Control. Все это сопровождается последовательным запуском ABAP программы, где выполняется обычный SELECT по CDS View, а также непосредственный запуск просмотра данных в CDS View, но уже в Eclipse IDE.

Abap что это

SAP NetWeaver AS ABAP Release 752, ©Copyright 2017 SAP AG. All rights reserved.

ABAP Programming Language — Overview

ABAP is a programming language developed by SAP for the development of business applications in the SAP environment. The ABAP Objects component makes object-oriented programming possible.

ABAP on Application Server ABAP

ABAP is the programming interface of Application Server ABAP (AS ABAP) in SAP NetWeaver. Prerequisite for the use of the ABAP programming language is the installation of an Application Server ABAP. Most of the components of an AS ABAP can be organized according to their tasks in the layers of a three-tier client-server architecture with presentation, application, and database layers.

  • The presentation layer is distributed to the workstations of individual users and represents the user interface of an AS ABAP ( SAP GUI or Web browser).
  • The application layer is implemented using one or more application servers. The application layer contains the ABAP runtime environment in which ABAP programs are executed.
  • The database layer consists of a database system in which the central dataset of an AS ABAP is saved in the standard database.

These three layers are accompanied by the following communication components:

The main role of ABAP programs in the application layer is the processing and formatting of data from the database layer and its transfer to and receipt of input from the presentation layer or the communication components.

More information about the organization of ABAP programs in AS ABAP can be found in ABAP Programs in AS ABAP.

ABAP supports the following:

  • An object-oriented programming model based on classes and interfaces
  • A procedural programming model based on function modules and subroutines

Both models are interoperable.

ABAP Objects is the recommended approach for both new projects and when redesigning existing projects.

One of the fundamental properties of ABAP as a programming language for business applications is that access to database tables is fully integrated into the language.

  • Data Modeling
    is a persistent repository for data types and their dependencies. They are visible and can be used in all other development objects. ABAP Dictionary manages the database tables, views, and lock objects in the standard AS ABAP database.
    expand ABAP Dictionary by adding an implementation of the CDS concept for AS ABAP. A cross-platform CDS DDL and CDS DCL make it possible to define CDS views, CDS table functions, and associated CDS roles, plus semantic enrichment.
  • Database Access
    makes it possible to access database objects defined in ABAP Dictionary or ABAP CDS with automatic client handling. This access is cross-platform and integrated into the language. The performance can be optimized using the table buffering integrated into the ABAP runtime environment.
    makes platform-specific access to databases possible. Here, ADBC enables general class-based access to databases.
    can be used to manage and call database procedures and database functions from the SAP HANA database.

ABAP is a 4GL language developed specifically for the mass processing of data in business applications. Alongside integrated database access, it offers the following characteristics when compared with elementary languages (where these functions are usually stored in libraries):

    for dynamic storage and processing of mass table data in the working memory.
  • An LUW concept integrated into the ABAP runtime environment, where many users can access the standard database simultaneously.
  • The language has an integrated interface to other programming environments using Remote Function Call.
  • The language has an integrated interface to XML.

The integration of these functions into the language is a particular benefit for the static check-enablement and performance of programs. In return, this means that ABAP also contains considerably more language elements than an elementary programming language.

The multilingual capability of ABAP programs is enabled by the extraction of language-specific program components from the source code, which are then reloaded when the program executes in accordance with the environment. A text environment determines the precise program behavior at runtime, for example the order in which text is sorted.

Добавить комментарий

Ваш адрес email не будет опубликован.