Расширение BP, добавить новую вкладку с полями клиента

Полезные документы:

BDT-Developer-Manual

BP_CustomerSupplier_Enhancement_Cookbook_CustomerEdition_114_final

 

1) В первую очередь создаем ГФ, в ней подэкран. Создаем модули PBO и PAI, и в соответствующих блоках пишем вызов ФМ

2) Создаем функциональные модули, которые будут отвечать за прием/передачу данных.

SAP диктует следующие шаблоны по наименованию:

<APPL_NAME>_BUPA_PBO_<VIEW_NAME>

<APPL_NAME>_BUPA_PAI_<VIEW_NAME>

<APPL_NAME> и <VIEW_NAME> – данные из настройки, об этом ниже.

3) Начинаем настройку. Наша цель, добавить доп. вкладку на экран закупок для конкретной роли ДП.

на стартовом экране вводим команду BUPT, откроется меню для настройки.

Требования SAP по наименованию настроек:

The central part in the naming for all BDT objects is the application name (<APPL_NAME>) defined in transaction BUS1 (example: ZCUS).
All datasets, screens, sections and views are named with <APPL_NAME>number (example: ZCUS01…ZCUS99).

Создаем приложение (транзакция BUS1):

Создаем набор данных (BUS23):

Создаем группу полей (BUS2):

Тут номер можно брать любой свободный, я взял 702

Заполняем поля в группе полей:

Создаем ракурс (BUS3):

Указываем приложение, набор данных, имя программы (посмотреть можно в ГФ, если кликнуть дважды на ее заголовке), и ФМ для PAI и PBO (работы с данными)

Добавляем в ракурс группу полей

Создаем фрагмент и присваиваем ему ракурс (BUS4):

Создаем экран, и присваиваем ему фрагмент (BUS05) :

SAP говорит, что нужно включать в экран фрагмент BUP009, чтобы корректно отображались общие данные

Создаем последовательность экранов (BUS6):

сначала саму последовательность с присвоением экрана

затем тип последовательности с указанием самой последовательности

Теперь нам нужно включить нашу последовательность, в последовательность Закупки

Это последовательность CVIV01.

Определяем так, заходим в BP, переходим на вкладку закупки, и вводим команду BDT_ANALYZER

Создаем делимость (BUSD), ракурсы ДП:

Т.к. нам надо расширить только для конкретной роли ДП, действуем так:

добавляем сначала наш ракурс в список

Идем в spro по пути:

находим нужную роль, и смотрим какой указан ракурс:

И добавляем наш ракурс в ракурс ДП

так же добавляем вызывающее приложение:

На этом настройка завершена. Переходим к коду.

FM PBO

FM PAI :

В завершение, чтобы поля сохранялись из транзакции, нужно добавить их в CVIS_EI_EXTERN ► VENDOR (LFA1) ► CENTRAL_DATA ► CENTRAL ►
DATA VMDS_EI_VMD_CENTRAL_DATA
DATAX VMDS_EI_VMD_CENTRAL_DATA_XFLAG