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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для всех трёх таблиц, которые мы создали в прошлом пункте статьи нам необходимо создать ракурсы ведения, а уже их мы будем связывать в кластере ракурсов. Ракурсы ведения это одно из мест где мы настраиваем иерархию связи для кластера.

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

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

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

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

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

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

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

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

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

А так же дополнительно указываем поле для связи с головной таблицей. Заполняем столбец «Признак ведения» для поля сбытовая организация, по которой у нас и осуществляется связь значением: «S — Поле ракурса используется для образования подмножества»:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если выделить одну из строк и провалиться на следующий подчинённый уровень, то на нём уже будут вноситься настройки во вторую таблицу и они будут подчинены первой таблице по сбытовой организации(в нашем случае 1000):

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

Подробнее про создание составных элементов кластера ракурсов самого кластера ракурсов ABAP и ведение кластера смотрите в нашем видео на странице выше.

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

Кластеры ракурсов обширно используются в стандарте. Приведу несколько примеров для полного понимания какие варианты могут быть.

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

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

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

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

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

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

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

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

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

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

Статья была полезна? Поддержите проект. Спасибо!

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