Автор Тема: Создание структур IMG, модификация стандартной IMG  (Прочитано 34145 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
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.
« Последнее редактирование: Ноябрь 22, 2011, 12:54:39 am от Uukrul »

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Создание структур IMG, модификация стандартный IMG
« Ответ #1 : Ноябрь 22, 2011, 12:37:47 am »
Аналогичным образом добавляем остальные две операции. Дальше просто идут примеры заполнения экранов для операции YOWN_SCREEN_RULE_OS – Создание правил построения экрана для ОС, рисунки 17: SIMGH-17.png, 18: SIMGH-18.png и 19: SIMGH-19.png

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

И еще одна операция YOWN_MESSAGE – Ведение сообщений ОС. При определении кода документа использовано стандартное определение ORFA_NACHRICHTEN, атрибуты скопированы из предыдущих операций, рисунки 20: SIMGH-20.png, 21: SIMGH-21.png и 22: SIMGH-22.png.

В конечном итоге будет получена следующая структура документа рисунок 23: SIMGH-23.png.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Создание структур IMG, модификация стандартный IMG
« Ответ #2 : Ноябрь 22, 2011, 12:39:51 am »
2. Работа с созданными структурами IMG.

Созданную структуру меню можно или вызвать из своей программы или присвоить в стандартное дерево настроек системы. Рассмотрим оба вариант вызова созданной структуры.

2.1. Вызов структуры IMG из программы.

Для вызова структуры меню из своей программы нужно узнать ключ объекта созданного меню, для этого на первом экране транзакции ведения структур IMG – транзакция SIMGH, выберем созданную нами структуру, рисунок 24: SIMGH-24.png


Затем по меню: «Утилиты» –« Просмотр записи каталога объектов», перейдем в экран просмотра записи каталога, рисунок 25: SIMGH-25.png. Скопируем в буфер обмена созданный ключ объекта. Он потребуется для вызова в функциональном модуле.


Теперь зная ключ объекта меню настройки можно вызвать созданный объект, из своей программы, используя такой функциональный модуль:
Код: You are not allowed to view links. Register or Login
CALL FUNCTION 'STREE_EXTERNAL_DISPLAY'
  EXPORTING
    structure_id = 'A872C74EFBD78D36E1000000AC101826'.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Создание структур IMG, модификация стандартный IMG
« Ответ #3 : Ноябрь 22, 2011, 12:43:13 am »
2.2. Встраивание собственной структуры в стандартное меню настройки IMG.

Для расширения структур меню используется транзакция ведения S_IMG_EXTENSION – Ведение IMG. После запуска требуется ввести имя структуры, которую требуется расширить. Под расширением, подразумеваем добавление в стандартную структуру собственной, созданной на предыдущем шаге. Имя структуры IMG для основного дерева меню вызываемого транзакцией SPRO: «SAP Настройка: руководство по внедрению системы». На первом экране ведения нужно став в поле IMG-струкутура нажать F4 и ввести для поиска эту строку, рисунок 26: S_IMG_EXTENSION-1.png.

Вводим текст строки поиска и нажимаем кнопку поиска данных, рисунок 27: S_IMG_EXTENSION-2.png.

Выбрав структуру, которую будем расширять, создадим идентификатор расширения для структуры. Поле ввода идентификатора закрыто от ввода, поэтому для создания нужно нажать кнопку F4 в поле ввода «Ид. расширения». После чего будет открыт экран созданных идентификаторов расширений, так же в данном окне можно создать свой код идентификатора, что мы и сделаем, так как использовать чужой наверное будет не очень хорошим методом, рисунок 28: S_IMG_EXTENSION-3.png.

Как видим, пользовательских расширений на данный момент в системе нет. Создадим свой идентификатор расширения, нажав кнопку внизу на панели инструментов, рисунок 29: S_IMG_EXTENSION-4.png, где вводим имя идентификатора и поясняющий текст, после чего сохраняем созданный код.

Система спросит имя запроса, куда включить созданный код. После чего вернется на предыдущий экран, где уже будет находится, созданное нами имя идентификатора, рисунок 30: S_IMG_EXTENSION-5.png

Выберите созданный объект, сделав двойной клик мышью на имени расширения, после чего выбранный объект будет скопирован на первый экран ведения расширения, рисунок 31: S_IMG_EXTENSION-6.png.

Теперь выберем кнопку «Расширить структуру» после чего перейдем в режим ведения стандартной структуры настройки системы, Добавим собственную структуру в ветку ведения основных средств, для этого делаем клик мышью на ветке «Финансы (Нов)»

После чего в новом дереве выбираем ветку «Учет основных средств», после чего попадаем в дерево ведения основных средств, рисунок 33: S_IMG_EXTENSION-8.png


Свою структуру добавим вниз ветки «Учет основных средств», для этого установим курсор на заголовок дерева и по меню: «Обработать» – «Узлы» – «Вставить структуру IMG» – «На уровень глубже», рисунок 34: S_IMG_EXTENSION-9.png

В появившемся окне вводи имя ветки для нашей структуры, затем нажимаем кнопку поиска и найдем  нашу созданную структуру в предложенном окне списка, рисунок 35: S_IMG_EXTENSION-10.png.

После чего подтверждаем ввод данных и наша структура будет вставлена в стандартное дерево настройки, рисунок 36: S_IMG_EXTENSION-11.png

После чего сохраняем созданное расширение стандартной структуры. Система запросит запрос для переноса созданных объектов.

На этом все, если сейчас зайти в стандартную транзакцию настройки SPRO, то в ветке учета основных средств будет созданная нами структура настройки, рисунок 37: S_IMG_EXTENSION-12.png

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Создание структур IMG, модификация стандартной IMG
« Ответ #4 : Ноябрь 22, 2011, 12:46:41 am »
Ну и как обычно все одним файлов: SIMGH - Обработка структур IMG.pdf и как результат можно загнать ваших клиентов или пользователей в глубокий ступор и уважение, когда они увидят как ваши отчеты/программы настраиваются используя стандартную транзакцию SPRO.
« Последнее редактирование: Ноябрь 22, 2011, 06:58:13 pm от Uukrul »

Оффлайн Xzander

  • Newbie
  • *
  • Сообщений: 38
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Добрый день!
Спасибо за великолепный мануал, только что им воспользовался! Но вот что сбило с толку:
You are not allowed to view links. Register or Login
Вводим код идентификатора объекта, что-нибудь свое начинающееся с идентификатора имени пользователя, хотя это не важно, имя может быть любым, правила наименования объектов операций не проверяются системой. После ввода идентификатора и имени документа следует нажать кнопку «Создать» рядом с именем документа. Так мы созидаем документ для нашей операции, то имя документа будет таким же, как и имя идентификатора.
Имя идентификатора (а может даже и документа так же) должно начинатся c Y или Z. В противном случае у меня появлялась ошибка "Присвоение объекта SAP DSYS SIMGC* пакету Z* невозможно.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Имя идентификатора (а может даже и документа так же) должно начинатся c Y или Z. В противном случае у меня появлялась ошибка "Присвоение объекта SAP DSYS SIMGC* пакету Z* невозможно.
Ну хоть кто-то значит попытался пройти этот путь...  8) спасибо за комментарий, будем знать. Инструкция как нибудь подправлю.

Оффлайн Xzander

  • Newbie
  • *
  • Сообщений: 38
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Пустяки :)
У меня есть пара вопросов, один из которых по IMG. Может, вы подскажете, не могу найти инфу в инете.
Свою ветку в IMG я добавил, всё там просто и понятно, но как назло узел верхнего уровня не отображает название при входе в систему с английским языком! Хотя всё перевёл.
Пробовал удалять, добавлять - не помогает, не пойму, что за глюк. Для наглядности прилагаю скриншоты.
А второй вопрос касается переноса переводов именований объектов репозитория, таких как таблицы, элементы данных и т.д. - раньше была программа rs_lxe_record_torder для переноса переводов. А как в erp2005 переносить переводы в продуктив?
Заранее спасибо!

Оффлайн Xzander

  • Newbie
  • *
  • Сообщений: 38
  • Репутация: +2/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Решил проблему, может, кому-то пригодится.
В se63 в поле команды (где вводятся коды транзакций) ввёл "t".
заполнил поля объекта транспортного запроса: program id (pgmid).
Примеры возможных значений:
R3TR - name for Repository objects and Customizing objects
LIMU - subobject of Repository objects
LANG - language-specific part of object
В моём случае это R3TR.
Тип объекта и имя объекта.
Все эти три значения посмотрел в se10, в контекстном меню "Атрибуты объекта" того объекта,
переводы к текстовым полям которого нужно осуществить.

Sapforum.Biz