Для углубленного изучения BOPF создадим новый бизнес объект. Для этого зайдем в транзакцию BOBX и создадим BO.

Заходим в меню Extras-Propose Repository Names
В разделе Node отмечаем все пункты кроме Node Class Name нажимаем на кнопку Ok

В результате будет предложено наименование интерфейса констант

и наименования объектов для модели данных.

Двойным кликом по наименованию структуры данных приступаем к созданию полей структуры Структура будет иметь следующие поля

Также создадим transient структуру

После этого в бизнес-объекте создаем остальные элементы данных с помощью пункта меню Extras-Generate Dictionary Element
В появившемся окне оставим пункты по умолчанию и в результате будут созданы остальные элементы.

Провалившись в интерфейс констант можно посмотреть атрибуты сформированные атрибуты

Константами этого интерфейса мы будем постоянно пользоваться при работе с данным интерфейсом.
В контекстном меню корневой ноды создадим суб-ноду Work

В пункте меню Extras — Propose Repository Names на этот раз не будем создавать Transient Structure

Создадим необходимую структуру данных

Обязательно следует сгенерировать интерфейс констант с помощью меню Extras-Generate Constant Interface.
Сохраняем и генерируем BO с помощью кнопку

Основная часть BO готова. Для удобства работы с BO лучше создать альтернативный ключ. Для этого создадим индекс в табличном типе (ZTS_T_ROOT) и в таблице корневой ноды (ZTS_D_ROOT).


Теперь в контекстном меню создадим альтернативный ключ


С помощью меню Extras-Generate Dictionary Element сформируется табличный тип с нужным ключом


На этом мы пока закончили создание Business Object. В следующей части я опишу разработку программной обвязки.