Структура данных для списка значений ключа в функциональном модуле с поддержкой RFC?

Я пишу новую вызываемую функцию RFC в ABAP, которая должна иметь возможность импортировать список сопоставления значений ключей.

Вызывающее приложение RFC будет использовать Python с библиотекой PyRFC.

Я не уверен, должен ли я создать новую пользовательскую структуру данных, если я смогу повторно использовать существующую структуру данных.

Аргумент import должен содержать следующий список:

('key1', ['key1val1', 'key1val2', ...])
('key2', ['key2val1', 'key2val2', ...])
....

Если возможно, я хотел бы повторно использовать существующую структуру данных.

Одним из отвратительных способов было бы спроектировать API следующим образом: использовать строку и анализировать как json. Но это обходной путь, которого я хотел бы избежать.

Я нашел структуру данных WDY_KEY_VALUE но там значение является строкой. Мне нужна структура, в которой значением является список строк.

2 ответа

Решение

Вы можете создать глубокую структуру с KEY определяется с типом STRING а также VALUE определяется с типом STRINGTAB,

введите описание изображения здесь

Моделирование таких данных вполне возможно в ABAP DDIC:

  1. создать тип таблицы z_t_values со строками, построенными по типу string

  2. создать тип структуры z_s_key_values с полями key type string а также values type z_t_values

  3. создать тип таблицы z_t_key_values с типом строки z_s_key_values

теперь тип z_t_key_values соответствует вашему примеру ввода: это таблица строк, каждая строка содержит один ключ и таблицу значений

Другие вопросы по тегам