Кластер ракурсов SAP

Кластер ракурсов SAP – это набор ракурсов и/или таблиц предназначенный для редактирования данных. С помощью кластера ракурсов ABAP удобно вести данные нескольких таблиц базы данных SAP. Ракурсы могут быть объединены в виде простого так и иерархического списка. Поэтому позволяет видеть, использовать и редактировать данные в удобном формате.

Создание кластера ракурсов ABAP.

В данной статье на примере рассмотрю по шагам создание кластера ракурсов. Для полноты примера выбрал для реализации иерархический кластер ракурсов в котором имеются 3 ракурса. Иерархия строится на стандартной для SAP системе связи: Сбытовая организация -> Завод -> Склад.

Во-первых мы должны создать составляющие объекты из которых состоит наш кластер ракурсов. Во-вторых создать диалоги ведения для этих ракурсов и таблиц. В-третьих собрать эти объекты в кластер ракурсов и указать корректно их подчинённость и связи.

Ведение кластера ракурсов SAP

Однако не обязательно ракурсы должны быть подчинены какому-то одному головному ракурсу. Кроме того, есть возможность делать любой набор комбинаций в зависимости от условий и удобства.

Создаём таблицы базы данных ABAP.

В нашем случае необходимо создать три таблицы ABAP. Кроме того, в каждой таблице в зависимости от уровня подчинённости будут появляться дополнительные поля. Прежде всего, поля необходимы для связи между таблицами.

Создаём головную таблицу для кластера ракурсов ABAP.

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

Головная таблица кластера ракурсов ABAP

Готово! Кроме того, самой таблице никаких дополнительных настроек, отличающихся от обычного создания таблицы делать не нужно. Далее переходим к следующим таблицам.

Подчинённые таблицы кластера ракурсов SAP.

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

Подчинённая таблица кластера ракурсов ABAP

Разберём подробнее, в подчинённой таблице не просто поменялось ключевое поле на новый разрез настроек – завод. А поле завод стало дополнительным ключевым полем при этом не исключая поле сбытовой организации. Это нужно, для организации связи этих таблиц на уровне кластера ракурсов и хранения данных. Вторая из подчинённых таблиц будет подчинена уже не головной таблице, а первой из подчинённых.

Подчинённая таблица кластера ракурсов ABAP №2

Точно так же здесь при указании ключевых полей смотрим на то, какой таблице она подчинена. Ещё по умолчанию указываем два ключевых поля вышестоящей таблицы и добавляем новый разрез хранения склад.

ВАЖНО! Рекомендуется создавать кластер из ракурсов, а не из таблиц.

Создание ракурсов ведения ABAP для таблиц

В этом абзаце разберём создание составных элементов клаcтера – таблиц ABAP. Для всех трёх созданных таблиц нам необходимо создать ракурсы ведения. После этого, их мы будем связывать в кластере ракурсов. Ракурсы ведения это одно из мест где мы настраиваем иерархию связи для кластера.

Ракурс ведения ABAP для головной таблицы кластера

Ракурс ведения для основной таблицы не имеет никаких трудностей в настройке. Один из способов создания ракурса через SE11. Добавляем нашу таблицу в список:

Ракурс ведения. Выбор таблицы

Переходим на закладку “Поля ракурса” и по кнопке “Табличные поля” добавляем нужные поля в ракурс:

Ракурс ведения. Выбор полей

Активируем ракурс ведения для головной таблицы. После этого, переходим к созданию ракурсов для подчинённых таблиц.

Ракурсы ведения ABAP для подчинённых таблиц кластера ракурсов.

При создании ракурсов ведения для подчинённых таблиц есть важная настройка связи о которой расскажу далее. Сначала создадим ракурс ввода для первой из подчинённых таблиц это таблица настроек по заводам. Создаём ракурс ввода. Добавляем в список нашу таблицу:

Переходим на закладку “Поля ракурса” и по кнопке “Табличные поля” добавляем нужные поля в ракурс. Делаем аналогично предыдущему пункту, когда создавали ракурс для головной таблицы.

А так же дополнительно указываем поле для связи с головной таблицей. После заполняем столбец “Признак ведения” для поля сбытовая организация, для установки связи. “S – Поле ракурса используется для образования подмножества”:

Важно не пропустить данный момент при создании ракурса ввода. Далее переходим к созданию ракурса ввода для второй подчинённой таблицы. Указываем таблицу аналогично:

И заполняем столбец “Признак ведения” для полей по которым происходит связь этого ракурса с вышестоящим. У нас это два поля сбытовая организации и завод. После этого указываем для этих полей значение: “S – Поле ракурса используется для образования подмножества”:

Создание диалогов ведения для ракурсов ABAP

Чтобы пользователь мог вести данные в ракурсах ведения необходимо для каждого ракурса создать диалог ведения. Для этого заходим в ракурс, открываем его на редактирование. В меню выбираем “Утилиты”-> “Генератор ведения таблиц”. После этого, в открывшемся окне генерируем диалог ведения для ракурса. Подробнее в видео.

Остался последний пункт по созданию из этих частей кластера ракурсов.

Как создать кластер ракурсов ABAP?

Мы создали все элементы ABAP словаря, которые нам необходимы для создания кластера ракурсов. Теперь перейдём непосредственно к самому созданию кластера. Создание кластера ракурсов происходит в транзакции SE54. Заходим в транзакцию:

Создание кластера SE54

Далее переходим по кнопке “Обработка кластера ракурсов”:

Создание кластера ракурсов

Вводим наименование кластера ракурсов и нажимаем “Создать/Изменить”, после чего открывается окно создания. Далее в заголовке кластера настройки оставляем по умолчанию, переходим в “Структуру объекта”. В этом разделе и происходит настройка связи между созданными ранее ракурсами ABAP. Связи будут настроены следующим образом:

Кластер ракурсов ABAP. Структура объекта

Поочерёдно выделяя каждую из строк нужно перейти в подраздел зависимость поля. После этого заполнить связи между полями таблиц. Кроме того, для головной таблицы нет явной связи с ней самой и её нужно прописать:

Зависимость поля головного ракурса ABAP

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

Зависимость поля ракурса ABAP
Зависимость поля ракурса ABAP №2

После того как сделаны все настройки переходим во раздел “Запись заголовка”. После этого активируем кластер ракурсов SAP. Если возникли ошибки, то посмотрите видео в котором я разбираю этот пример по шагам.

Ведение кластера ракурсов SAP.

Кластер ракурсов создан теперь перейдём к нему и посмотрим что получилось. Для работы с ведением кластера ракурсов SAP используется транзакция SM34. Вводим наше название кластера и нажимаем ведение. Например, внесём начальные данные в головную запись:

Ведение кластера ракурсов. Головная запись

Выделим одну строку и провалимся на следующий подчинённый уровень. Далее на нём уже будут вноситься настройки во вторую таблицу. И они будут подчинены первой таблице по сбытовой организации:

Ведение кластера ракурсов. Подчинённые записи

Кроме того, про создание элементов кластера ракурсов самого кластера ракурсов ABAP смотрите в видео.

Примеры использования кластера ракурсов.

Иерархический z – кластер ракурсов для наименований полей ALV

Z – кластер ракурсов

Кластер ракурсов часовых поясов.

Ракурсы объединённые по смыслу в кластер ракурсов:

Кластер ракурсов объединённый по смыслу.

Иерархические кластер ракурсов.

Кластеры ракурсов в которых используется иерархическое подчинение:

Иерархический кластер ракурсов

Так же ещё один кластер ракурсов “Операций”:

Кластер ракурсов операций
Кластер ракурсов операций №2

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