169 похожих чатов

Кто-Нибудь пробовал упаковывать произвольную структуру глубокой вложенности для передачи по

RFC? Чтобы на принимающей стороне можно было её восстановить не зная её типа.

16 ответов

27 просмотров

JSON?

Alexander-Nosov Автор вопроса
Dmitriy Ryb
JSON?

Не, нужно восстановить тип из отправляющей стороны. Иными словами нужно сериализовать CL_ABAP_TYPEDESCR

Alexander Nosov
Не, нужно восстановить тип из отправляющей стороны...

Не пробовал именно такое, но в целом юзал класс /UI2/CL_JSON в котором есть метод с говорящим названием GENERATE

Alexander-Nosov Автор вопроса
Dmitry B
Не пробовал именно такое, но в целом юзал класс /U...

Какая у него сигнатура? Нет системы под рукой(

Передавай одним параметром описание структуры, а вторым - значение структуры

Alexander-Nosov Автор вопроса
Iurii Slobodchikov
Передавай одним параметром описание структуры, а в...

Собственно сложность в формировании описания и его восстановление

Alexander-Nosov Автор вопроса
Iurii Slobodchikov
Например, фиелдкаталог...

Много нюансов, например структура не имеет полей, или глубокая вложенность

Alexander-Nosov Автор вопроса

Судя по сигнатуре информация о структуре будет не полная.

Alexander Nosov
Судя по сигнатуре информация о структуре будет не ...

А тебе прямо словарные типы нужно восстановить?

Alexander Nosov
Собственно сложность в формировании описания и его...

Формирование точно не сложное. Берёшь CL_ABAP_TYPEDESCR, рекурсивно по элементам опрашиваешь и собираешь в строку какого-то формата, желательно выбрать какой-нибудь существующий. Восстановить наверное чуть сложнее, не сильно много с динамическими типами работал.

Алексей Селявский
Формирование точно не сложное. Берёшь CL_ABAP_TYPE...

есть cl_abap_structdescr=>create и cl_abap_tabledescr=>create. Добавляешь им немного рекурсии и вот он, десерелизатор.

Alexander Nosov
Да

Попробуй тогда упаковать в data cluster: export ... to data buffer . А распаковать можно методом CL_ABAP_EXPIMP_UTILITIES=>DBUF_IMPORT_CREATE_DATA. в возвратном параметре по идее должны быть ссылки с полноценными словарными типами ( но не уверен 100% т.к. в моей задаче не было такого требования)

Alexander-Nosov Автор вопроса
Dmitry B
Попробуй тогда упаковать в data cluster: export .....

А разве экспорт в датакластер сохраняет метаданные?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта