17 октября 2016 г.

Запись каталога объекта: изменение системы оригинала

Как я уже упоминал, в SAP системе существует свой словарь данных (ABAP Dictionary), который не стоит путать со словарем базы данных. Все объекты ABAP словаря имеют свою запись, которая называется запись каталога объекта. Эти записи в SAP системе хранятся в таблице TADIR (рис. 1). Даже сама таблица TADIR имеет запись о самой себе (рис. 2).

Рис. 1. Запись каталога объекта программы Z_DELETE_FROM_DEVACCESS.

Рис. 2. Запись каталога объекта таблицы TADIR.

Объект в SAP системе имеет ряд основных атрибутов:
  • пакет разработки,
  • ответственный,
  • система оригинала.

Пакет разработок или, как его называли раньше, класс разработок, это каталог, в котором объединены программы/экраны/таблицы и т.д. одного функционального назначения. Пакеты могут быть вложенными и представлять собой большое дерево разработок, объединенных одним функциональным модулем, например, HR. Ведение пакетов осуществляется в транзакции SE80 (рис. 3).

Рис. 3. Пример пакета разработок.

У каждого пакета разработок есть уровень переносов, который используется в транспортной системе. Таким образом, при деблокировании запроса, SAP система по принадлежности объекта к пакету понимает в какую целевую систему направить запрос на импорт.

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

Попытка изменить объект в системе отличной от системы оригинала приведет к выдаче соответствующего сообщения и ограничению на внесение изменений (рис. 4). Включить такой объект в типичный запрос на перенос инструментальных средств не в системе оригинала тоже не получится.

Рис. 4. Попытка внести изменения в программу с другой системой оригинала.

Как вы помните, любой объект в SAP системе может находится в двух областях:
  • область имен SAP (или так называемые, стандартные объекты),
  • область имен клиента (объекты чьи имена начинаются на Z* или Y*).

У объектов из области имен SAP в качестве ответственного и системы оригинала всегда значится "SAP" (рис. 5).

Рис. 5. Пример записи каталога объекта из области имен SAP.

Итак, защитные механизмы это хорошо, но иногда они мешают работать. Запись каталога объекта можно изменить, воспользовавшись транзакцией SE03. На начальном экране необходимо выбрать пункт "Изменение записей каталога объектов" и нажать "Выполнить" (или F8) (рис. 6).

Рис. 6. Начальный экран транзакции SE03.

На следующем экране необходимо выбрать реквизиты нужного объекта и снова нажать "Выполнить" (или F8) (рис. 7). Напоминаю еще раз, что реквизиты объектов можно найти в таблице TADIR (рис. 1).

Рис. 7. Ввод реквизитов объекта.

На следующем экране система покажет найденные объекты и, для вызова диалога изменения записи каталога объекта необходимо выделить строку с объектом и нажать кнопку "Каталог объектов" на верхней панели (рис. 8).

Рис. 8. Изменение записи каталога объекта в транзакции SE03.

В диалоговом окне можно поменять все основные атрибуты объекта - пакет, ответственного или систему оригинала (рис. 9).

Рис. 9. Изменение атрибутов записи каталога объекта.

Изменить систему оригинала бывает необходимо, если объект был импортирован из другой системы, но при этом планируется его последующее изменение в текущей системе. Или при восстановлении утерянного объекта из другой системы трёх-системного ландшафта (из QAS в DEV, например).

Стоит еще добавить, что просмотреть запись каталога объекта можно в транзакциях разработчика, например, SE38/SE11, выбрав пункт меню "Перейти к -> Запись каталога объекта" (рис. 10). Но изменить все атрибуты в них нельзя.

Рис. 10. Просмотр записи каталога объекта в транзакциях SE38/SE11.


Автор: Шиболов Вячеслав Анатольевич


2 комментария:

  1. Delete from Devaccess ))) Сап за такое атата )

    ОтветитьУдалить
    Ответы
    1. Ну а как чистить старые ключи логинов разработчиков? :)

      Удалить