Фреймворк BOPF. ч 4. Создание Determination.

В третьей части мы создали свой бизнес-объект ZTS_CLIENT. Сначала создадим determination – определение, которое отобразит значение полей из transient-структуры. В данном примере напишем функционал, который будет находить бизнес-партнера с номером PARTNER и копировать его наименование в поле transient-структуры.

Создание determination в Business Object

Новый determination назовём ZDET_ROOT_NAME_ORG

Наименование determination

Также укажем имя класса, реализующего функционал определения. На закладке Trigger Condition укажем момент вызова

Trigger Conditions

Заклада Evaluation Timepoints оставляем без изменений.

На закладке Determination Dependency можно указать зависимости между несколькими определениями. Так как у нас первое определение, то там будет пусто Двойным кликом по имени класса создадим его заготовку.

Класс determination

В методе execute реализуем поиск бизнес-партнера и копирование его наименования в поле NAME_ORG1.

Разберем, что делает этот код.

В этот метод идентификатор строки ноды приходит в таблице it_key. С помощью метода retrieve мы получаем данные в таблицу lt_root. Затем мы находим бизнес-партнера с этим номером в таблице BUT000 и получаем его наименование в переменную lv_name_org1. В случае, если такого бизнес-партнера не нашли, сообщение об этом добавляем в объект eo_message. Иначе сохраняем наименование бизнес-партнера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *