Различают ABAP между различными клиентами SAP (Mandanten) - PullRequest
3 голосов
/ 12 ноября 2010


в настоящее время у нас есть система SAP с двумя разными клиентами 002 и 004.Моя задача - написать программу на ABAP для создания отчета о назначениях пользователей.Отчет будет в основном одинаковым для обоих клиентов.Но я должен выбрать разные таблицы и разное количество таблиц на обоих клиентах.В зависимости от того, к какому клиенту подключен пользователь, вызывающий отчет.
Вопрос: Есть ли способ различать в ABAP-коде разных клиентов?Нравится:

IF client = 002.
*dothis.
ELSE.
*dothatdifferentthing.
ENDIF.

Заранее спасибо.

Ответы [ 2 ]

9 голосов
/ 12 ноября 2010

Текущий клиент доступен в поле sy-mandt .

Например:

IF sy-mandt = '002'.
*dothis.
ELSE.
*dothatdifferentthing.
ENDIF.
5 голосов
/ 12 ноября 2010

Дополнительное предложение - попробуйте сделать это объектно-ориентированным способом, вставив весь общий код в абстрактный суперкласс и создав два подкласса, которые переносят только клиент-зависимый код. Затем, основываясь на SY-MANDT, создайте экземпляр любого из подклассов. Это может помочь уменьшить дублирование кода ...

...