Академический Документы
Профессиональный Документы
Культура Документы
План семинаров
План семинаров: https://training.sap.com/content/Schedule
2
План семинаров: SCM 650
https://training.sap.com/content/Schedule
3
Содержание
4
Обзор курса
5
План семинара:
Глава 1: Понятие организационных структур
Глава 2: Управлением копированием
Глава 3: Управление текстами
Глава 4: Выходные документы
Глава 5: Адаптация системы
Глава 1: Понятие организационных структур
Глава 1: Понятие организационных структур
Глава 1: Понятие организационных структур
Одним из первых важных шагов при внедрении системы SAP является представление структуры компании в системе.
Настройка организационной структуры означает представление реальных условий работы в системе SAP.
Действительные основные данные автоматически переносятся в документы сбыта.
Дополнительно, в зависимости от организационных единиц, определяются различные контрольные критерии для управления
основными данными и обработки операций.
9
Глава 1: Понятие организационных структур
IMG IMG > Структура предприятия > Определение > Сбыт > Определение, копирование, удаление, проверка сбытовой орг.
Транзакция SPRO
Настройка
10
Глава 1: Понятие организационных структур
11
Глава 1: Понятие организационных структур
12
Глава 1: Понятие организационных структур
13
Глава 1: Понятие организационных структур
IMG IMG > Структура предприятия > Определение > Сбыт > Ведение отдела сбыта
Транзакция SPRO
Настройка
14
Глава 1: Понятие организационных структур
IMG > Структура предприятия > Определение > Сбыт > Ведение группы сбыта
IMG IMG > Структура предприятия > Присвоение > Сбыт > Присвоение
'группа сбыта - отдел сбыта'
Транзакция SPRO
Настройка
15
Глава 1: Понятие организационных структур
16
Глава 1: Понятие организационных структур
17
Глава 2: Управление копированием
Глава 2: Управление копированием
19
Глава 2: Управление копированием
Задачи и процесс управления копированием
21
Глава 2: Управление копированием
IMG IMG > Сбыт > Продажа > Ведение управления копированием торговых документов -
Транзакция SPRO
Настройка
Глава 2: Управление копированием
IMG IMG > Сбыт > Основные функции > Управление текстом > Определение видов текста
Транзакция SPRO
Настройка
Глава 3: Управление текстами
Механизм определения текстов служит для автоматического создания текстов при
создании текстового объекта.
Для каждого текстового объекта (например, заголовка торгового документа или
централизованных текстов для клиента) можно определить различные схемы текстов.
Схемы текстов содержат все виды текстов текстового объекта, которые можно вести.
Каждый признак текстового объекта должен быть присвоен одной из определенных
схем.
При вводе заказа клиента торговому документу присваивается схема текстов,
определенная для заголовка торгового документа.
В схеме текстов для документов можно сохранить последовательность доступа для
каждого вида текста. Эта последовательность содержит стратегию поиска, которая
используется системой для поиска соответствующего текста.
В качестве источника текста для доступа каждый доступ содержит текстовый объект.
На слайде показаны текстовые объекты, которые могут быть
использованы в компоненте Сбыт.
Глава 3: Управление текстами
Виды текстов включаются в схему текстов. Схемы текстов содержат все виды текстов,
которые могут вестись в текстовом объекте.
Атрибуты схемы текстов различны для текстового объекта для клиентов и текстового
объекта для документов.
Пользователь может установить, должен ли текст копироваться или на него будет указана
ссылка.
В схемах текстов для документов пользователь может также указать, должен ли текст
- быть обязательным (журнал неполных данных);
- определяться автоматически;
- отображаться в документе в текстовом поле.
Глава 3: Управление текстами
Для каждого вида текста в схеме текстов можно определить, будет ли текст из исходного
документа копироваться (дублироваться) или он будет использован в качестве образца.
Использование текста в качестве ссылки приводит к следующим результатам:
Пока текст в торговом документе 2 ссылается на текст торгового документа 1, его
изменять нельзя.
Если текст в торговом документе 1 изменен, то текст в торговом документе 2 также
изменится.
Процедура копирования текста имеет следующие особенности:
- скопированный текст можно изменять в документе;
- если текст в торговом документе 1 изменяется, то это никаким образом не влияет на
текст в торговом документе 2.
В диалогах для документов сбыта имеется функция анализа для выбора выходных
документов (в функциях Создать и Изменить).
Путь по меню:
Выберите Перейти к --> Анализ поиска.
Глава 5: Адаптация системы
Глава 5: Адаптация системы
Для каждого компонента все поля, определенные как допустимые для доступа к
записям условий, объединены в собственных структурах связи.
Структура связи содержит все поля данных, используемых при работе с таблицей
условий. Таким образом, структуры связи содержат все поля
данных, которые могут использоваться для доступа к таблице условий.
Подпрограммы
Поэтому к настоящему моменту система имеет множество различных вариантов использования программных
расширений. При этом как техника расширения, так и возможности, определяемые вариантами использования, могут
кардинально отличаться.
Исторически возможные реализации и техники пользовательских расширений (замещений) развивались и
трансформировались.
41
Глава 5: Адаптация системы
Пользовательские расширения
Доступные техники расширений
В настоящий момент в системе используются и доступны для разработчиков следующие техники расширений:
• Field-Exit – Наверное, один из самых старых вариантов включения пользовательских расширений в логику работы
программы. В общем виде, данное расширение позволяет проверить значения, введенные (в диалоге или при
использовании пакетного ввода) в поля стандартных транзакций. В данном типе расширения можно только проверить
введенное пользователем значение, например, на существование в каком-то справочнике или сформировать/проверить
введенные данные по собственной маске. К сожалению, получить «регламентированный» доступ к значениям других
полей в контексте выполнения программы, для общего анализа введенных в поле данных – невозможно. Однако,
существуют механизмы, которые позволяют все - таки обойти это ограничение.
• Customerexits (Проекты расширений) – пользовательские расширения, использующие технику проектов, транзакции
CMOD/SMOD. Данная техника используется практически в любой функциональности системы. Это наиболее широкий
способ использования программных расширений. Для реализации технологии, используется вызов специального
функционального модуля, для этого в язык системы был введен отдельный оператор вызова функции расширения.
Основная проблема данного типа расширений - это поддержка написанного кода расширения несколькими
разработчиками, кроме того отсутствует возможность «регламентированного» доступа к переменным вне
функционального модуля системы, т.е. разработчики заранее определили набор переменных, которые передаются для
анализа и набор переменных, которые можно изменить в данном типе расширения. Как и при использовании техники
Field-Exit существует механизм обхода ограничения на доступ к переменным. Решение об использовании такой техники,
принимает пользователь. Разработчики SAP не используют такого рода расширений, эта техника полностью отдана на
откуп клиентам. Я встречал рекомендацию: если это возможно, в общем случае, использовать именно этот механизм
расширений.
42
Глава 5: Адаптация системы
Пользовательские расширения
• Userexits (Пользовательские подпрограммы) – пользовательские расширения для которых требуется получение ключа
разработчика, так как реализация данного расширения представляет собой модуль находящийся в пространстве имен
SAP. При этом в данном модуле реализованы подпрограммы, в которые требуется добавить пользовательский код. Так как
эти подпрограммы выполняются в рамках контекста основной системной программы, то необходимо очень аккуратно
обрабатывать доступные глобальные переменные основной программы. Данная техника достаточно активно
применяется в функциональности SD.
• Замещения – Технология замещений используется в некоторых модулях системы, например FI и позволяет автоматически
выполнить заполнение параметров документов при сохранении. Например, задачи замещения контрольного счета
кредитора при проводке счета логистики или сложные алгоритмы замещения объектов контировок. В общем виде,
данная техника замещений предназначается для работы без какого-либо кодирования на языке ABAP. Но, в одном из
вариантов реализации замещений, можно использовать программные вставки кода. Данная техника расширений
представляет пользователю довольно гибкий механизм управления значениями полей в документах. Техника позволяет,
как выполнять проверки в ходе сохранения документа, так и выполнять изменения в значениях полей. Одним из плюсов
данной техники, является то, что после работы замещения, структура сохраняемого документа еще раз проходит функции
проверки значений для полей документа. Соответственно если вы некорректно выполните замещение поля, например,
подставите в ходе замещения номер счета главной книги, которого нет в системе, то получите стандартное сообщение об
ошибке. Это в некоторой мере страховка от неправильной реализации кода замещения.
43
Глава 5: Адаптация системы
Пользовательские расширения
BTE - Business Transaction Events – техника расширения, позволяющая выполнить дополнительную проверку данных в
момент ввода документа в систему или выполнить обновление данных в собственных таблицах при формировании
определенных типов операций в функциональности главной книги FI-GL, учете дебиторской и кредиторской задолженности (FI-
AR и FI-AP) и модуле сбыта (SD). Появление данной техники должно было сгладить некоторые проблемы использования одной
точки расширения разными разработчиками. В некотором роде, для событий проверки значений это удалось сделать, однако
реализация события обновления может быть только одна. Техника бизнес событий используется как разработчиками SAP,
партнерами SAP, так и клиентами, хотя для клиентов часть событий ограничена к использованию.
BADI – Технология внедрения бизнес расширений в код стандартных транзакций, данная техника доступна в любых
модулях системы, фактически эта технология принята заместить технику Userexits, используя объектно-ориентированный подход
к реализации расширений системы. На данном этапе существуют два варианта реализации технологии BADI, это так называемы
старые и новые BADI расширения, которые отличаются способом реализации классов расширения. На первый взгляд техника
новых и старых BADI кажется одинаковой, но, если разобраться, различия существенны и непонимание этих различий приводит
к неправильному использованию новых BADI. Технология BADI призвана решить основную проблему использования точки
расширения несколькими пользователями с изоляцией вызовов. Причем, именно новая технология BADI предоставляет полную
изоляцию каждой инстанции.
Enhancements spot/section – Техника расширения, доступная с версии 6.0, позволяющая практически выполнить внедрение
пользовательского кода в любом месте стандартной бизнес-транзакции. Enhancement-ы в системе разделяются на «явные» и
«не явные». Явные точки расширения аналогично технике Userexits используют специально введенный оператор, неявные -
фактически присутствуют в начале и конце логически завершенного блока. Эта техника позволяет внедрять пользовательский
код в контекст выполнения стандартного кода системы. Вы получаете доступ ко всем переменным и можете фактически
полностью переопределить логику работы системы, что является очень небезопасным, так как это может привести к серьезным
сбоям в работе стандартных транзакций, в случае некорректной реализации кода расширения.
44
Глава 5: Адаптация системы
Пользовательские расширения
На данный момент, это, с одной стороны - очень мощный механизм расширения функциональности, а с другой - самый
небезопасный из всех типов расширений. Общая рекомендация от компании SAP: если существует возможность использования
любого другого типа расширения – используйте его, технику Enhancements используйте, только в том случае, когда других
возможностей влияния на выполняемый код нет.
Расширение объектов словаря данных. Система позволяет частично модифицировать некоторые элементы словаря
данных без получения ключа на объект. К таким модификациям относится: создание вторичных индексов к таблицам БД,
создание новых значений к доменам системы и расширение стандартных структур и таблиц системы.
45
Глава 5: Адаптация системы
Поэтому есть более простой метод поиска всех BADI, которые вызываются в ходе выполнения любой транзакции. Как мы
помним, фактически BADI, это класс, который создается в момент работы транзакции, таким образом, в системе существует
программа, которая для любого выполняемого кода, если находит точку вызова BADI, должна проверить существование
реализации данного BADI и если, такая реализация существует, то необходимо создать инстанцию реализующую класс.
В системе действительно есть реализация класса, который вызывается всегда, когда система пытается проверить
существование реализации BADI.
Это класс - CL_EXITHANDLER и его метод - GET_INSTANCE.
В транзакции SE24 переходим к просмотру кода реализации и на строке:
call method cl_exithandler=>get_class_name_by_interface
Глава 5: Адаптация системы
Устанавливаем точку останова
Теперь идем в интересующую нас транзакцию, и
в те моменты, когда будет проверяться
реализация/существование BADI, система будет
попадать в данный класс и метод. В переменной
exit_name, система будет возвращать имя BADI.
Соответственно, выполнив транзакцию, вы получите
все BADI, которые вызываются при ее работе.
Информация:
Дерево SAP: Инструменты -> АВАР-инструментальные средства
->Утилиты -> Business Add-Ins -> Определение ->
Инфосистема/Иерархия приложений (F4)
48