Записки о модуле Human Resources системы SAP® ERP.

1.4 ABAP-структуры (типы данных, таблица, структура, домен, экран)

ABAP – это язык программирования в системе SAP. Сам по себе язык несложный, но есть определенные моменты и технологии, которые усложняют жизнь программистам. На текущем этапе необходимо знать минимальную базу про структуры этого языка. Это позволит читать программы и быстрее разбираться в настройках системы. Например, во многих российских отчетах проще прочитать исходный текст программы, чем пытаться настроить систему методом проб и ошибок. Основные понятия, которые нам необходимы, рассмотрим ниже.

Типы данных

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

  • C (CHAR) – символ. Любой текстовый видимый символ (включая пробел);
  • D (DATE) – дата. Любая дата (без времени);
  • F (FLOAT) – число с плавающей запятой (дробное);
  • I (INTEGER) – целое число;
  • STRING – строка.

На этих базовых типах строится хранение и манипулирование данными. Существуют и другие типы, в том числе сложные (структуры, field-symbol, классы, интерфейсы и прочие), но об этом лучше почитать специализированную книгу по ABAP.

Таблица

Таблица представляет собой набор колонок различного типа данных и хранится в базе данных на сервере. Таблицы напоминают собой файлы MS Excel, где в заголовке расположены колонки, а в строчках данные, за тем исключением, что в таблице в одной колонке всегда данные одного типа (только символьные, только даты, только числа или иные). Структуру любой таблицы можно посмотреть в транзакции SE11. Вводим имя таблицы и нажимаем кнопку «Просмотр». Изменять таблицы пользователям запрещено. Программисты могут только расширять таблицы путем добавления своих полей. Записывать данные сразу в таблицу также запрещено. Все изменения осуществляются через программы и транзакции. Просмотреть содержимое таблицы можно через транзакцию SE16. Это бывает удобно при отладке или составлении списков. Учить пользователей этим транзакциям крайне не рекомендуется.

В таблице стоит обратить внимание на следующие элементы. Ключевые поля – поля, которые обязательны для заполнения и должны быть уникальными для всей таблицы. Если эти поля не заполнены, то система не даст сохранить запись в таблице. Ключевые поля определяются в SE11 для таблицы на закладке «Поля», столбец «Клч». Если галочка стоит, то поле ключевое. Все ключевые поля всегда находятся в самом верху (начале) определения таблицы. Второе, на что следует обратить внимание, это средства поиска и проверочные таблицы. Это закладка «Справка/проверка знач. ввода». Здесь можно найти таблицы, на которые ссылается каждое поле нашей таблицы. Например, таблица T512W «Оценка видов оплаты» ссылается на ряд других таблиц. Примером может быть поле MOLGA «Группировка стран», которое ссылается на таблицу T500L. Если дважды кликнуть на эту таблицу, то откроются ее параметры. Так, можно посмотреть в каких таблицах, какие хранятся настройки.

В HR основные таблицы, где хранятся данные по персоналу, – это:

  • PA****, где **** – номер инфотипа основных данных;
  • PB****, где **** – номер инфотипа кандидатов (из модуля «Подбор персонала»);
  • HRP****, где **** – номер инфотипа организационного менеджмента.
  • Напомню, что сами номера инфотипов делятся на группы:
  • 0000 — 0999 – HR основные данные;
  • 1000 — 1999 – планирование персонала;
  • 2000 — 2999 – временные данные;
  • 4000 — 4999 – подбор персонала;
  • 9000 — 9999 – пользовательские.

Структура

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

Домен. Элемент данных

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

Элемент данных – это своего рода пользовательский тип данных. Например, CHAR100 – элемент данных типа символ с размерностью 100 символов. Либо элемент данных GVALA «Идентификационный вид оплаты», который состоит из домена LGART «Вид оплаты труда». Он используется в таблицах как унифицированный способ указания вида оплаты. Стоит указать этот элемент данных в таблице, как система будет с помощью домена проверять введенное значение на корректность с таблицей видов оплаты T512W. Для элемента данных характерны такие свойства, как «ИдПараметра» (закладка «ДополнитСвойства» позволяет устанавливать значение по умолчанию из параметров пользователя, транзакция SU3), метка поля (закладка «Метка поля» определяет название элемента, которое будет видно в столбцах отчетов, программах).

Экран

Экран – это то, что вы видите на экране монитора, когда запускаете отчет, транзакцию, программу. Именно то место, куда вводятся различные буквы и цифры, где нажимается кнопка «Сохранить» или «Выполнить». Это и есть экран с точки зрения системы. У отчетов первый экран, который появляется после запуска, называется

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти