На почитать, как можно добавить свои поля в ОЗМ, можно ноту SAP 44410, как уже писал
без поллитры там разобраться так просто вряд ли выйдет. В общем виде в большинстве
транзакций есть экзит с подэкраном пользователя, куда и можно добавлять свои данные, в
случае с ОЗМ, все немного сложнее, так как ОЗМ, фактически представляет из себя,
большой набор подэкранов, которые можно комбинировать по закладкам и т.д. а так же
дополнять свои подэкраны.
Возможные различные варианты обработки данных, все зависит от того как вы хотите
хранить данные, есть два варианта, в первом случае вы расширяет какую-то из таблиц
путем добавления своих полей данных. Во втором создаете свою таблицу, в которую
пишете данные со своего экрана. В этом случае, еще потребуется активировать экзит,
который срабатывает при сохранении ОЗМ, где нужно будет сохранить данные в свою
таблицу, тут кстати вы должны будете сами обрабатывать чтение данных и их запись, с
проверками новая запись, изменение и т.д. Я рассмотрю первый вариант, когда данные
пишутся в поля, которые находятся в стандартных таблицах системы. Пример предложен
был Marth-ой (http://sapforum.biz/index.php?action=profile;u=163). И так нужно было
добавить на экран ОЗМ на закладку основные данные два поля по 150 символов, которые
содержат более расширенное описание материла, т.е. нужно обойти ограничение в 40
символов для краткого текста ОЗМ. Я не рассматривал вариант, когда такие тексты нужно
вести на разных языках, поэтому данные предлагаю хранить в таблице MARA.
Идем в ведение таблиц, транзакция SE11 и там выбираем просмотр таблицы MARA, и там
выбираем создание дополнительной структуры к таблице.
В появившемся экране выбираем создание нового расширения, начинаем его как обычно
на Z или Y. Я сделал расширение с именем ZMYMARA.
Когда расширение сделано, активируем всю эту кухню, в принципе ошибок быть не
должно, если правильно назвали и имена полей не совпали с уже существующими полями
в таблице MARA, то активация будет успешной.
Теперь нарисуем эти поля на своем подэкране и сделаем обработку полей. С версии 4.0
как я понимаю, создана специальная программа, которая позволяет сгенерировать так
называемую заглушку группу функций, а далее эту группу и созданный нами экран мы
добавим в нужную последовательность экранов для нужного вида ОЗМ. Для начального
Выполняем программу и типа есть два варианта, если у вас ритейл система то выберите
ее, иначе индустриальное решение, рисунок SE38-COPYMGD1-0.png.
Система спросит имя группы функций, само собой начинается с Z или Y, ну например
типа так, ну и ответственным себя сделать не забудьте, а затем когда нажмете сохранить,
то далее у вас запросится имя пакета и запроса в который будем включать программу.
Вводим что оно хочет и ждем.
Теперь надо идти в группу функций MGD1 и там найдем подэкран, на который выводится
код материала и краткий текст, длинной 40 символов. Я использовал в качестве примера
экран «2002 – Основные данные – прочие данные».
Экран копируем в нашу созданную группу функций. Так как группа функций называется
YMY_MGD1, то программа будет называться SAPLYMY_MGD1, ну а номер экрана уже
будет наш 1001. В общем, после копирования группа функций будет выглядеть просто
страшно, так как экран потянет за собой ну очень много функционала. Пример на
рисунке SE80-YMY_MGD1-1.png ниже.
Теперь активируем группу функций и наш экран, опять же если все сделали правильно, то
ошибок быть не должно, все корректно активируется.
И так последний шаг, нужно добавить наш подэкран к ОЗМ. Это выполняется в настройке
экранов ОЗМ, я для примера взял последовательность экранов для вида материала ROH,
тут я не буду расписывать подробности настройки комбинаций полей для подэкранов, так
что будет кратко и так по SPRO: Общая логистика – Основные записи материалов –
Конфигурация основных записей материалов – Определение структуры экранов данных
по последовательностям экранов. Рисунок SPRO-0.png.
На самом деле в ОЗМ вся эта кухня выглядит на экране как MM03-1.png, ниже, т.е. как
видим есть группы подэкранов которые выведены на закладку. Предлагаю свой экран
длинных текстов добавить ниже кода материала и краткого текста.
Данные поля корректно меняются, сохраняются в базу и т.д. Никакой код для записи
данных из своих полей добавлять не нужно.