Меню

SIMGH – Обработка структур IMG

В статье изложены принципы создания собственных структур настройки, так называемых объектов IMG - Implementation Guide, которые позволяют упростить и стандартизировать настройку собственных программ в системе и придать ей общий стандартный вид.

Точенюк Олег, консультант по SAPMM. Профессиональный опыт: занимал должности консультанта по SAPММ в различных компаниях с 1997 года. Занимался внедрением модулей: FI-FM(Контроль исполнения бюджета), ММ (Управление материальными потоками), СУС (WMS) (Управление складом); занимал должность консультанта по интеграции MM<->ТОРО, участвовал в разработках расширений системы на языке ABAP. Связаться со мной можно по адресу uukrul@hotmail.com

1. Создание собственных структур IMG.

Для сложных программ или отчётов иногда приходится создавать свои таблицы управляющие поведением программ. Осуществлять управление данными в эти таблицах можно независимо (из своей программы), используя отдельные режимы для каждой собственной настроечной таблицы. Однако я рекомендую пользоваться возможностью создания своей структуры настройки, аналогичной системному меню настройки в транзакции SPRO, т.е. фактически реализовывать настроечные структуры, аналогичные стандартной структуре IMG - Implementation Guide. Для этого в SAP существует специальная транзакция SIMGH. В принципе создавать свои структуры, используя данную транзакцию, несложно. В данной статье будет рассмотрен способ создания своих структур и возможность включения их в уже существующие структуры, например, в стандартное меню системной настройки.

Создадим следующее меню, которое повторяет часть из стандартной настройки данных ОС (основные средства):

  • OWN_IMG: Собственная структура настройки данных.
    • Основные данные – Узел иерархии.
      • Структура экрана – Узел иерархии
        • Определение структуры экрана основных данных ОснСредства – Операция.
        • Создание правил построения экрана для ОснЗапОснСредства – Операция.
      • Определение 4-значных полей классификации – Операция.
      • Определение 8-значных полей классификации – Операция.
    • Операции – Узел иерархии.
      • Ведение типов сообщений – Операция.

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

Запускаем транзакцию SIMGH, стандартный экран после запуска показан на рисунке 1.

Рис. 1

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

В появившемся диалоговом окне вводим описание и фактически название собст-венной структуры настройки, рисунок 2. По поводу названия замечу, так как код структуры нами не создаётся, то поиск созданных структур, фактически выполня-ется по введённому поясняющему тексту. По этой причине я рекомендую формировать имя создаваемой структуру по следующей маске: <Код>: <Описание структуры>. При таком формировании имени поиск своих структур становится более простым. Кстати, в имя кода, я рекомендую вставить сокращение от своего регистрационного имени, если у вас «свои» структуры создают различные консультанты.

Рис. 2

Когда имя введено, нажимаем подтверждение ввода, система потребует указания (ввода) запроса на перенос.

Рис. 3

После создания (указания) запроса на перенос система откроет экран ведения структуры. Заголовок (имя) структуры будет такой же, как вы задали ранее на экране создания, рисунок 2. Далее можно создавать свои узлы. В принципе имя заго-ловка структуры можно поменять на каждом этапе, став на заголовок и нажав кнопку редактирования.

Рис. 4

Для создания собственных подструктур можно воспользоваться кнопками панели инструментов. Существует два типа узлов: узел иерархии и узел операции.

Для управления узлами используются иконки:

  • – Создать уровень иерархии на уровень ниже.
  • – Создать уровень иерархии на том же уровне.
  • – Создать операцию на уровень ниже.
  • – Создать операцию на том же уровне.

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

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

Исходя из данных нашего примера, создадим две ветки иерархии. Сначала выбираем режим создания уровня иерархии на уровень ниже. Система откроет диалоговое окно ввода имени ветки иерархии, рисунок 5, вводим текст и нажимаем подтверждение. Аналогично создаём и второй узел иерархии – Операции.

Рис. 5

В конечном итоге, мы получим структуру, показанную на рисунке 6.

Рис. 6

Теперь можно перейти к созданию непосредственно элементов вызова операций. В системе реализованы следующие типы элементов вызова операций (коды ведения):

  • C – «Кластер ракурсов». Этот элемент позволяет задать вызов операции ведения кластера ракурсов. Кластер представляет собой группу таблиц (как «связанных», так и несвязанных), объединённых для ведения общим именем. Например, операция по определению вида движения ОС для области оценки ОС работает с соответствующим кластером ракурса. Ведение кластера ракурса может вызываться или через настройку или прямо, через транзакцию «OAYA – Области оценки для видов движения». Как самому создавать кластеры ведения для таблиц, будет рассмотрено в отдельной статье. Ведение кластеров ракурса определяется транзакцией SM34.
  • L – «Логический объект переноса». Вызов операции ведения расширений - user-exit (транзакция CMOD).
  • S – «Таблица» (с текстовой таблицей). Вызов операции ведения отдельной таблицы, для которой создан единичный ракурс ведения данных.
  • T – «Отдельный объект транзакции». Вызов операции через транзакцию ведения данных (само собой, программа, запускаемая транзакцией, может быть любой).
  • V – «Ракурс». Вызов операции с ракурсом ведения таблиц, используя транзакцию SM30. Ракурс ведения таблиц, в отличие от ракурса ведения отдельной таблицы (S), может включать в себя объединения нескольких таблиц данных.
  • D – «Фиктивный объект». Разницу между данным кодом и кодом типа T, неощутима: аналогично задаём код транзакции, которая должна вызваться для операции.

В нашем случае для структур будем использовать коды ведения C и V. Стандартно при настройке: «Определение структуры экрана основных данных ОснСредства», система выводит диалоговое окно, рисунок 7, в котором предлагается обработать последовательно заданные пункты. Мы сделаем отдельный вызов для каждого пункта обработки в меню.

Рис. 7

Первый пункт использует кластер ведения данных VC_T082G_10 – «Определение структуры экрана основных данных ОснСредства», а второй пункт использует ведение ракурса V_T082A_01 – «Бухучет ОснСредств: Структура экрана основной записи». Поэтому мы создаём две операции следующим образом:

  • выбираем кнопку добавления операции на нижестоящую ветку, система перейдёт к экрану создания операции, рисунок 8,
  • вводим код идентификатора объекта (что-нибудь своё, начинающееся с идентификатора имени пользователя, однако, имя может быть любым, правила наименования объектов операций в системе не заданы),
  • после ввода идентификатора и имени документа следует нажать кнопку «Создать» рядом с именем документа; так мы созидаем документ для нашей операции, то имя документа будет таким же, как и имя идентификатора.

Рис. 8

Фактически система создаёт справочный документ к создаваемой операции, который вызывается при клике мышью рядом с операцией в дереве настройки, как например, как на рисунке 9.

Рис. 9

Создадим текст документа, например как на рисунке 10, после чего сохраним документ, не забыв его предварительно активировать. Система потребует ввода (указания) запроса на перенос.

Рис. 10

Если все выполнено корректно, то после возврата на предыдущий экран создания операции, экран будет изменён: появится кнопка просмотра созданного документа, рисунок 11.

Рис. 11

Далее перейдём к созданию атрибутов операции. Имя атрибута создадим таким же, как и имя операции, рисунок 12.

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти