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

Ниже приведены основные элементы ABAP структур (словаря) системы SAP ERP.

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 инфотипов

В HR основные таблицы, где хранятся данные по персоналу, это:
• PA****, где **** — номер инфо-типа основных данных.
• PB****, где **** — номер инфо-типа кандидатов (из Подбора персонала).
• HRP****, где **** — номер инфо-типа организационного менеджмента.

Напомню, что сами номера инфо-типов делятся на группы:
• 0000 – 0999 HR основные данные.
• 1000 – 1999 Планирование персонала.
• 2000 – 2999 Временные данные.
• 4000 – 4999 Подбор персонала.
• 9000 – 9999 Пользовательские.


Настройка SAP GUI (SAP Logon)

Постепенно начну публиковать отрывки из книги. Материалы будут без картинок и в «сыром виде». Все красивости будут в коммерческой версии книги.

Для успокоения людей, работающих с системой, САП предоставляет возможность настроить интерфейс всей системы. Всего существует три варианта интерфейса: классический, Enjoy, Signature (появляется с 11 версией пакета обновления SAP GUI 7.10). Настроить внешний вид можно через «Панель — SAP-конфигурация» управления в операционной системе.

Если раздражает звук в системе, когда нажимаешь какую-то неверную кнопку или выходит сообщение об ошибке, то это легко отключается в Опциях GUI. Нажимаете на пиктограмму Опций и Параметры дизайна. Ставим «Звук = выключить». Уши могут отдохнуть.

Многие привыкли пользоваться историей ввода в поля. Это когда мы что-то один раз вводили в поле, нажимали Enter, а потом в том же поле по клавише Backspace или Space (пробел) можем открыть список последних набранных значений. Весьма удобно, но иногда хочется очистить его. Например, когда несколько раз ошиблись в вводе своего логина при входе в систему. Заходим в Опции, выбираем закладку Локальные данные и нажимаем Удалить историю. Там же можно ее выключить совсем.

Часто удобно в выпадающих списках включить показ кодов значений, например, в транзакции PP01 показы-вать код типа объекта. Это удобно тем, что при поиске штатной должности можно нажать на клавиатуре латинскую S и переместиться сразу на нужную позицию. Получается существенно быстрее, чем прокручивать список. Да и со временем привыкаешь к САПовским кодам общеизвестных объектов и искать становится быстрее именно по кодам.


Вместо вступления

«И кто придумал ЭТО», — было моей первой мыслью, когда я увидел САП на картинках. Симпатично, много заморских слов, глаза разбегаются. Но интересно. Первые транзакции повергли в шок. После симпатичных окошек 1С, где даже мне, программисту, было понято что такое дебет и кредит, тут полный хаос. Примеча-тельно, что разработчики руководствовались принципом «краткость сестра таланта»: БЕ, КЕ, РП, ФМ и так далее. Пришлось озадачиться поиском словарика для перевода нового языка на доступный. Словарика не нашлось. В коробке были диски со словами SAP Library 4.0, весьма потрепанные, нужно сказать. На английском языке. Уже проще. Глоссарий не спас ситуации. В нем не было сокращений, принятых переводчиками как адекватно-доступные для простого пользователя.

С этих загадочных слов все и началось. Появилось самое главное – интерес. Причем особый интерес – узнать, как это сделано, как делают системы такого уровня. Изучение системы началось с языка четвертого поколения – ABAP/4, который очень сильно напоминал смесь бейсика с паскалем. Тогда это еще была версия 4.0B, где графический интерфейс практически отсутствовал. Все было серым и страшненьким. Спросить особо было не у кого, все изучалось методом проб и ошибок, чтением мизерных кусочков литературы в интернете, документации на английском. Неоценимую помощь оказало открытие волшебного «слеш аш» — отладчика. Уже знакомые принципы Step in, Step out, Variables, Brake-point сделали жизнь немного легче, а кнопочка Where-Is увеличила длину ночного сна. Система со скрипом, но начала поддаваться сознанию.
Если отбросить эмоциональную прелюдию, то идея написать эту книгу появилась после 5 лет работы с системой, изучения ее методом «научного тыка», в отладчике, собирая информацию по крупицам в море вопросов «а как сделать это». В зарубежной прессе существует достаточное количество книг про SAP, про HR в частности. Но, для нас, русских консультантов становится проблематично заказывать дорогостоящую литературу и со словарем ее переводить. К тому же, специфика бизнеса и закона там и у нас – как два полюса одной планеты. Русскоязычной литературы практически нет на нашем рынке. На форумах часто видишь одни и те же вопросы, местные гуру либо терпеливо отвечают, либо отправляют учиться пользоваться поиском по форуму.
В этом материале я попытаюсь осветить те вопросы, которые наиболее часто возникают у начинающих саперов, а также рассказать о тех возможностях системы, которые существенно облегчат жизнь консультантам с опытом.


Содержание книги SAP HR

Пожалуй начну постепенно публиковать свои заметки по системе SAP ERP и вырезки из книги по SAP HR (управление персоналом). Например, хотелось бы обсудить, какое содержание книги хотели бы видеть читатели? На сегодня сформировались следующие темы:

1. Общие приемы 5
1.1. Настройка GUI 5
1.2. ABAP структуры (типы данных, таблица, структура, домен, экран) 6
1.3. Поиск таблицы 9
1.4. Поиск пути в IMG 10
1.5. User-exit, BADi, Enhancement 11
1.6. Как пользоваться отладчиком 13
1.7. Копирование текста в буфер обмена 14
1.8. Выгрузка и печать таблиц/ракурсов 15
2. Основные данные персонала 16
2.1. Инфо-типы 16
2.2. Транзакции (PA30, PA40, PA70) 17
2.3. Настройка косвенной оценки 17
2.4. Нюансы настройки мероприятий 17
3. Штатное расписание 17
3.1. Инфо-типы 17
3.2. Транзакции (PPOME, PPOMA) 17

Читать далее