RFC? Чтобы на принимающей стороне можно было её восстановить не зная её типа.
JSON?
Не, нужно восстановить тип из отправляющей стороны. Иными словами нужно сериализовать CL_ABAP_TYPEDESCR
Не пробовал именно такое, но в целом юзал класс /UI2/CL_JSON в котором есть метод с говорящим названием GENERATE
Какая у него сигнатура? Нет системы под рукой(
Передавай одним параметром описание структуры, а вторым - значение структуры
Поддерживаю, так существенно проще получится.
Собственно сложность в формировании описания и его восстановление
Например, фиелдкаталог...
Много нюансов, например структура не имеет полей, или глубокая вложенность
Судя по сигнатуре информация о структуре будет не полная.
А тебе прямо словарные типы нужно восстановить?
Формирование точно не сложное. Берёшь CL_ABAP_TYPEDESCR, рекурсивно по элементам опрашиваешь и собираешь в строку какого-то формата, желательно выбрать какой-нибудь существующий. Восстановить наверное чуть сложнее, не сильно много с динамическими типами работал.
есть cl_abap_structdescr=>create и cl_abap_tabledescr=>create. Добавляешь им немного рекурсии и вот он, десерелизатор.
Попробуй тогда упаковать в data cluster: export ... to data buffer . А распаковать можно методом CL_ABAP_EXPIMP_UTILITIES=>DBUF_IMPORT_CREATE_DATA. в возвратном параметре по идее должны быть ссылки с полноценными словарными типами ( но не уверен 100% т.к. в моей задаче не было такого требования)
А разве экспорт в датакластер сохраняет метаданные?
Обсуждают сегодня