Хранение глубокой / вложенной структуры

SAP весьма разумно запрещает вам включать глубокие структуры в таблицы базы данных. Однако для нового проекта у меня есть глубоко вложенная структура, которую я хочу постоянно хранить. Эта структура включает еще дюжину структур, каждая из которых, возможно, будет дополнительно вложена. Эта структура в основном представляет собой моментальный снимок данных, содержащихся в десятках стандартных таблиц SAP для данного делового партнера. В настоящее время я не предвижу проблем с построением этой структуры, заполнением ее данными и отправкой по пути в виде XML.

Однако я не понимаю, как мне сохранить всю сделку в базе данных. Поскольку я не могу просто выгрузить этот вложенный беспорядок в одну таблицу, мне пришлось бы воссоздавать все базовые отношения между таблицами в Z-таблицах. Поскольку в целом это кажется слишком большим объемом работы, помимо того, что это утомительно и подвержено ошибкам, я ищу альтернативное решение для хранения этих данных.

Я встречал этот сценарий в других языках программирования, где я просто сохранял дамп данных всего объекта в XML, в плоский файл или в любой другой формат du jour. Затем этот дамп данных можно было бы просто загрузить, когда к таблице будет сделан запрос, а объект будет перестроен и загружен в память. Подходит ли это для разработки ABAP? Существуют ли существующие классы или функциональные модули для (де) построения общих вложенных структур, или мне придется писать собственную логику с нуля? Или есть альтернатива, которую мне не хватает?


person Lilienthal    schedule 02.05.2014    source источник
comment
ABAP действительно поддерживает сериализацию таблиц в XML XStrings. Все, что вам нужно сделать, это сохранить результирующие строки XStrings в таблице (поскольку сами строки XStrings плоские).   -  person Raven Dreamer    schedule 02.05.2014


Ответы (1)


Это обычное требование, и есть несколько способов добиться этого. Чаще всего используются следующие методы:

person vwegert    schedule 02.05.2014