1. Создание собственных структур IMG.
Для сложных программ или отчетов, иногда приходится создавать свои таблицы управляющие поведением программ. Вызывать ведение данных в эти таблицах можно отдельно, в своей программе, при этом использовать отдельные режимы для каждой собственной настроечной таблицы или же воспользоваться возможностью создания своей структуры настройки, аналогичных системному меню настройки в транзакции SPRO, т.е. фактически реализовывать структуры аналогичные стандартной структуре IMG - Implementation Guide. Для этого в SAP существует специальная транзакция SIMGH. В принципе создавать свои структуры, используя данную транзакцию, не сложно. В данном описании будет рассмотрен способ создания своих структур и возможность включения их в уже существующие структуры, например в стандартное меню системной настройки. Для примера создадим, например следующее меню иерархии, которое повторяет часть из настройки данных ОС (основные средства):
1. OWN_IMG: Собственная структура настройки данных.
1.1. Основные данные – Узел иерархии.
1.1.1. Структура экрана – Узел иерархии
1.1.1.1. Определение структуры экрана основных данных ОснСредства – Операция.
1.1.1.2. Создание правил построения экрана для ОснЗапОснСредства – Операция.
1.2. Операции – Узел иерархии.
1.2.1. Ведение типов сообщений – Операция.
Примечание: В принципе можно вставлять свои вызовы транзакций ведения данных, но в данном случае этот вариант не рассматривается. О том, как создать свои ракурсы ведения таблиц или кластеров настройки будет написано отдельно.Запускаем транзакцию
SIMGH., стандартный экран после запуска будет такой как на рисунке 1: SIMGH-1.png.
Стандартная панель инструментов содержит кнопки создания, изменения, просмотра и копирования созданных ранее структур. В поле ввода имени структуры ввод закрыт, это значит, что работать можно только с уже созданными структурами, в данном случае создание новой структуры несколько отличается от стандартного ввода, когда вносим новое имя, после чего нажимаем кнопку создания. Для создания новой структуры ничего не вносим в поле ввода, а сразу нажимаем кнопку создания своей структуры. В появившемся диалоговом окне, вводим описание и фактически название собственной структуры настройки, рисунок 2: SIMGH-2.png. По поводу названия, так как код структуры нами не создается, то поиск созданных структур, фактически выполняется по введенному поясняющему тексту, поэтому я рекомендую формировать имя следующей по маске: <Код>: <Описание структуры>. При таком формировании имени, поиск своих структур становится более простым. Кстати в имя кода, наверное, не плохо бы вставить сокращение от своего регистрационного имени, если у вас свои структуры создают различные консультанты.
Когда имя введено, нажимаем подтверждение ввода. Система запросит создание записи каталога объектов настройки, для переноса созданных данных. Система запросит стандартный запрос на перенос.
После создания запроса на перенос система перейдет непосредственно на экран ведения структуры. Заголовок структуры будет такой же, как вы задали на экране создания, рисунок 2: SIMGH-2.png. Далее можно создавать свои узлы. В принципе имя заголовка структуры можно поменять на каждом этапе, став на заголовок и нажав кнопку редактирования.
Для создания собственных подструктур можно воспользоваться кнопками панели инструментов. Существует два типа узлов, узел иерархии и узел операции:
- Создать уровень иерархии на уровень ниже.
- Создать уровень иерархии на том же уровне.
- Создать операцию на уровень ниже.
- Создать операцию на том же уровне.
Все создаваемые узлы могут быть только подчиненными для основного самого верхнего узла, т.е. создать ветку на первом уровне нельзя, система сообщит об ошибке. Поэтому первым шагом создаем ветку иерархии на уровень ниже. В принципе, если структура простая, т.е. у вас есть только набор операций, то можно обойтись одним узлом иерархии. Система допускает прямое присвоение операций, без узловых веток, но в таком случае при включении вашей структуры в другие структуры, например в стандартную структуру настройки SPRO, ваши операции не будут сгруппированы отдельной веткой, что не очень хорошо с точки зрения наглядности. Исходя из данных нашего примера, создадим сначала две ветки иерархии. Сначала выбираем режим создания уровня иерархии на уровень ниже. Система откроет диалоговое окно ввода имени ветки иерархии, рисунок 5: SIMGH-5.png, вводим текст и нажимаем подтверждение. Аналогично создаем и второй узел иерархии – Операции.
В конечном итоге должны получить структуру, показанную на рисунке 6: SIMGH-6.png.
Теперь можно перейти к созданию непосредственно элементов вызова операций. Система предполагает, что возможны следующие типы операций:
- C – Кластер ракурсов. Позволяет задать вызов ведения кластера ракурсов. Кластер представляет собой группу связанных или нет таблиц, объединенных для ведения общим именем, например определение вида движения ОС для области оценки ОС – типичный кластер ведения. Кластер ведения может вызываться или через настройку или прямо, через транзакцию OAYA – Области оценки для видов движения. Как самому создавать кластеры ведения для таблиц, будет рассмотрено в отдельной статье. Ведение кластеров ракурса определяется транзакцией SM34.
- L – Логический объект переноса. Теоретически вызов объекта ведения проектов, транзакция CMOD.
- S – Таблица (с текстовой таблицей). Ведение таблицы, для которой создан единичный ракурс ведения данных.
- T – Отдельный объект транзакции. Вызов операции, через транзакции. ведения данных и само собой программа запускаемая транзакцией может быть любой.
- V – Ракурс. Вызов ракурса ведения таблиц, используя транзакцию SM30. Ракурс ведения таблиц, в отличии от ракурса ведения отдельной таблицы, может включать в себя объединения нескольких таблиц данных.
- D – Фиктивный объект. Разницу между данным кодом и кодом типа T, не ощутил, аналогично задаем код транзакции, которая должна вызваться для операции.
В нашем случае для структур будем использовать коды ведения C и V. Стандартно при настройке: «Определение структуры экрана основных данных ОснСредства», система выводит диалоговое окно, рисунок 7: SIMGH-7.png в котором предлагается обработать последовательно заданные пункты. Мы сделаем отдельный вызов для каждого пункта обработки в меню.
Первый пункт использует кластер ведения данных VC_T082G_10 – Определение структуры экрана основных данных ОснСредства, а второй пункт использует ведение ракурса V_T082A_01 – Бухучет ОснСредств: Структура экрана основной записи. Поэтому создаем две операции следующим образом. Выбираем кнопку добавления операции на нижестоящую ветку. Система перейдет к экрану создания операции, рисунок 8: SIMGH-8.png.
Вводим код идентификатора объекта, что-нибудь свое начинающееся с идентификатора имени пользователя, хотя это не важно, имя может быть любым, правила наименования объектов операций не проверяются системой. После ввода идентификатора и имени документа следует нажать кнопку «Создать» рядом с именем документа. Так мы созидаем документ для нашей операции, то имя документа будет таким же, как и имя идентификатора.
Фактически система создает справочный документ к вашей операции, который вызывается при клике мышью рядом с операцией в дереве настройки, как например, как на рисунке 9: SIMGH-9.png.
Создадим текст документа, например как на рисунке 10: SIMGH-10.png, после чего сохраним документ, не забыв его предварительно активировать. Система запросит запрос для транспорта содранного текста.
Если все выполнено корректно, то после возврата на предыдущий экран созидания операции, экран будет изменен, появится кнопка просмотра созданного документа, рисунок 11: SIMGH-11.png.
Далее перейдем к созданию атрибутов операции. Аналогично имя атрибута создаем таким же как и имя операции, рисунок 12: SIMGH-12.png.
Маршрутная карта ASAP ставим код 899, так как скорее всего наши операции к маршрутной карте ASAP скорее всего никак не привязаны. Необходимость и критичность операции задаем как необязательно и не критично, хотя код 899 и так определяет, что данная операция никак не будет использоваться для маршрутной карты настройки системы. Далее если мы хотим чтобы операция была доступна только для заданных стран или же исключена из настройки для заданных стран, то можем поставить переключатель в нужное положении и в появившейся ниже таблице перечислим коды стран. Слева можно задать коды прикладных компонентов для которых актуальна операция. Так как это настройка ОС, то нажав в таблице на строке кнопку F4, можно получить список доступных прикладных компонентов. Можно выбрать множественное присвоение. В данном случае я выбрал код компонента – Ведение основных средств, рисунок 13: SIMGH-13.png. Для поиска нужной ветки, хотя в окне и нет кнопки, но нажав в данном сначала окне кнопку развернуть все для самой верхней ветки, затем можно нажать Cntrl+F и в появившемся окне поиска задать, например поиск ветки «Основные средства» и т.д.
Теперь сохраняем созданный атрибут, система снова запросит запрос для переноса созданных атрибутов, после чего можно перейти непосредственно к ведению объектов, на следующей закладке. Аналогично предыдущим пунктам заполняем код объекта ведения в поле «Идентификатор» и присваиваем аналогично такое же имя как и у основной операции. Далее в таблице указываем имя объекта, тип ведения код C – Кластер и задаем имя кластера ведения данных, рисунок 14: SIMGH-14.png. Код транзакции задаем SM34, это транзакция ведения ракурса кластеров, по аналогии с ведением простого ракурса ведения таблицы транзакция SM30. Затем сохраняем созданный объект ведения. Система аналогично запросит запрос на перенос для созданной структуры данных.
На этом процесс создания IMG-операция закончен, можно выйти на предыдущий экран создания нашей структуры IMG. Построенное дерево будет аналогичным рисунке 15: SIMGH-15.png.
Как видим, появилась ветка вызова операции. При этом если сделать клик мышью на иконке документации, то будет открыто окно созданной документации, а если запустить выполнение операции, то система сразу же перейдет к настройке структуры экранов карточек ОС, рисунок 16: SIMGH-16.png.