Статья раскрывает, почему чтение ABAP-кода — это самостоятельный профессиональный навык, требующий инженерного мышления, дисциплины и контекстного понимания. Представлены систематизированные подходы к отладке и трассировке, практические приёмы реконструкции структуры программ, примеры «хороших» и «плохих» заданий, чеклист для самооценки и мини-задача для самостоятельного анализа.
Статья объясняет, почему понимание архитектуры сервера приложений SAP — не формальность, а часть инженерной ответственности. Она формирует понятийную основу, без которой любое вмешательство в систему становится случайным. Материал помогает разработчикам, консультантам и администраторам увидеть в SAP не набор транзакций, а взаимосвязанную систему процессов и уровней. После прочтения читатель приходит на мастер-класс «Базис не для базисников. Сервер приложений? Это очень просто!» уже подготовленным: с точным языком, осмысленным интересом и готовностью видеть архитектуру в действии.
Продолжаем публикацию перевода книги Кирана Бандари «Полный ABAP». Представляем вашему вниманию раздел 4 «Группы типов» главы 10 «ABAP-словарь данных». В предыдущем разделе мы рассмотрели использование типов данных, включая элементы данных, структуры и типы таблиц. В этом разделе мы увидим, как использовать и сопровождать группы типов.Группы типов (type groups) представляют собой определения типов данных и констант, глобальные по системе. С развитием и широким распространением глобальных классов и интерфейсов, создание новых групп типов стало неактуальным. Тем не менее, ранее созданные группы продолжают активно использоваться, что делает данный раздел по-прежнему значимым.
Полномочия в SAP часто воспринимаются как административная зона, но основа и логика формируется на уровне ABAP-разработки, где они становятся частью логики программы. В статье рассматриваются взаимосвязь ролей, профилей и объектов полномочий, принципы работы AUTHORITY-CHECK, а также механизмы значений по умолчанию полномочий как отражение методологии проекта. Материал адресован разработчикам и архитекторам, для которых безопасность — не внешнее требование, а свойство системы.
В статье рассматриваются практические приёмы использования интерактивных возможностей селекционных экранов ABAP-программ. Показано, как переход от статических форм к динамическим сценариям позволяет упростить ввод данных, снизить вероятность ошибок и сделать работу с отчётами осмысленной. Автор объясняет, что интерактивность не является украшением интерфейса, а выступает инструментом управления логикой взаимодействия между программой и пользователем. Рассуждения сопровождаются примерами типичных ситуаций и рекомендациями, где динамика оправдана, а где лучше сохранить простоту. Материал рассчитан на разработчиков, руководителей групп и тех, кто ценит в ABAP не только синтаксис, но и инженерную эстетику.
Предположим, что компания E-Corporation разработала витрину данных для аналитики продаж. В этой витрине размещаются данные, доступ к которым должен быть ограничен на уровне отдельных пользователей. Компания уже создала информационные представления SAP HANA, настроила аналитические привилегии для выполнения части требований и сконфигурировала аутентификацию SAML в SAP HANA. Однако для того, чтобы решение работало в привязке к каждому пользователю, каждый пользователь, получающий доступ к SAP HANA, должен иметь собственную учётную запись и идентификацию SAML (SAML identity). В нашем примере компании потребуется создать и сконфигурировать более 5 000 индивидуальных учётных записей пользователей для выполнения этого требования.
Продолжаем рассматривать изменения синтаксиса ABAP, появившиеся начиная с версии 7.4: инлайновые декларации, операторы-конструкторы, новые приёмы работы с таблицами, мэши, перечисления. Материал написан не как справочник, а как рассказ о взрослении языка.
Роли — это особый тип объектов базы данных, определяющих конкретный набор или группу привилегий. Эти многократно используемые объекты можно назначать нескольким пользователям или даже другим ролям. Обычно роли именуются и настраиваются для поддержки определённых функций или задач в платформе SAP HANA.
В статье рассматриваются изменения синтаксиса ABAP, появившиеся начиная с версии 7.4: инлайновые декларации, операторы-конструкторы, новые приёмы работы с таблицами, мэши, перечисления. Материал написан не как справочник, а как рассказ о взрослении языка. Автор показывает, что за каждой новой конструкцией стоит не просто удобство, а логика эволюции мышления разработчика: лаконичность становится формой ответственности.
Хотя мы рекомендуем не управлять привилегиями на уровне отдельных пользователей, в некоторых случаях всё же может потребоваться назначить привилегии конкретным учётным записям. Например, может понадобиться временно выдать привилегии для проверки сценария или изменить привилегии сервисной учётной записи. Существует три интерфейса для предоставления и отзыва привилегий у пользователя: операторы SQL, управление пользователями в SAP HANA Cockpit или менеджер безопасности (Security Manager) в SAP HANA Web-Based Development Workbench.
В прошлом разделе мы рассмотрели, как создавать, определять, использовать и получать доступ к различным типам ракурсов. В этом разделе мы перейдём к поддержке различных типов данных в ABAP-словаре данных.
В этом разделе мы обсудим три варианта предоставления (provisioning) и управления учётными записями пользователей, а также опишем, как можно использовать системные представления (system views) для выполнения запросов к системе для получения подробной информации об учётных записях. В заключение будут рассмотрены варианты и последствия удаления учётных записей.
Модератор:
Лысенко Максим, директор центра профессиональных сервисов VK Tech
Участники:
Анатолий Лисовой, начальник отдела развития технической платформы УИТ ПАО "Сургутнефтегаз";
Диана Сюняева, начальник управления цифровой стратегии Госкорпорации «Росатом»;
Олег Дрижаполов, руководитель центра ИТ-архитектуры, дирекция ИТАТ ПАО "Газпром нефть";
Георгий Кашин, руководитель направления облачных решений VK Tech,
Алексей Карпов, корпоративный архитектор ПАО "НЛМК";
Кирилл Семион, начальник департамента информатизации ОАО "РЖД"
Данные приложения часто распределены по нескольким таблицам, и вы можете определить ракурсы (views), чтобы объединить эти данные. Списки таблиц базы данных, к которым обращается ракурс, называются базовыми таблицами (basis tables). Если ракурс содержит более одной базовой таблицы, такие таблицы можно объединить с помощью соединений (joins). Структура ракурса создаётся из объединённых полей базовых таблиц.
В этой главе представлен полный обзор учётных записей пользователей (user accounts), включая процессы их предоставления (provisioning), сопровождения, а также назначения привилегий (privileges) и ролей (roles).
Продолжая использовать сайт, вы соглашаетесь на обработку персональных данных, собираемых с использованием cookie-файлов и сервиса «Яндекс Метрика» для анализа использования сайта и оценки эффективности маркетинговых кампаний. Более подробная информация представлена в Политике конфиденциальности.