Комментарии по теме

«Ко­рре­кти­ро­вка таблиц базы данных с помощью ABAP»
Олег Точенюк:
Андрей а вам никто никогда не говорил, что обновлять таблицы базы данных SAP категорически запрещено, независимо от того чем обусловлены такие желания. Свои Z-таблицы, да сколько угодно, но......
«Тра­нза­кция SM02: сообщения в SAP системе»
Олег Башкатов:
С помощью ФМ TH_POPUP можно отправить сообщение конкретному пользователю :-)
«MVC или как писать отчеты быстро и просто»
Олег Точенюк:
>>"Самое главное - это расположить инклуды с моделью и представлением до инклуда с контроллером"   А может проще написать в начале что-то типа: CLASS: <имя> DEFINITION...

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

7168

Точенюк Олег, консультант по 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

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

Ограниченный доступ

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


Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП»