Фреймворк BOPF. ч. 2.

В первой части я кратко описал основные возможности фреймворка BOPF. Теперь рассмотрим практический пример работы с фреймворком.

Работать мы будем с объектом /BOBF/CONF_LIBRARY

/BOBF/CONF_LIBRARY

Класс /BOBF/IF_CONF_LIBRARY_C содержит все константы, необходимые для работы с данным BO.

Для работы с содержимым BO прежде всего нужно создать сервисный менеджер. В качестве параметра указываем константу с ключом, которые берется из класса с константами. Имя класса с константами специфично для каждого BO и указано в его параметрах.

Затем можно сделать запрос и получить все данные этого BO

В результате, в таблице lt_root_key будет список ключей всех записей этого BO. Ключ представляет собой уникальный идентификатор конкретной записи.

Чтобы получить сами данные по этим ключам необходимо выполнить запрос retrieve. Параметром передаем таблицу ключей, которую получили в результате запроса query.

В таблице lt_failed_key будет перечень ключей, получение которых не произошло.

Теперь в таблице lt_data хранятся служебные идентификаторы и непосредственно сами данные этой ноды.

Для получения данных суб-ноды необходимо использовать метод retrieve_by_association

В данном случае используются следующие параметры:

iv_node_key — ключ родительской ноды.

it_key — перечень ключей, по которому нужно получить данные.

iv_association — ключ ассоциации суб-ноды, данные которой нужно получить.

iv_fill_data — параметр, указывающий необходимость получить данные. Если он равен abap_false, то метод вернет только идентификаторы KEY, PARENT_KEY (идентификатор родительской записи) и ROOT_KEY( идентификатор корневой записи)

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

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