启用RFC的功能模块中键值列表的数据结构?

时间:2018-10-06 07:37:42

标签: sap abap pyrfc

我正在ABAP中编写一个新的RFC可调用函数,该函数应该能够导入键值映射列表。

RFC调用应用程序将使用带有PyRFC库的Python。

我不确定是否应该重用现有数据结构,是否应该创建新的自定义数据结构。

import参数应该能够包含以下内容的列表:

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

如果可能,我想重用现有的数据结构。

一个丑陋的技巧是像这样设计API:使用字符串并将其解析为json。但这是一种解决方法,我想避免。

我找到了数据结构WDY_KEY_VALUE,但其中的值是一个字符串。我需要一个值是字符串列表的结构。

2 个答案:

答案 0 :(得分:3)

您可以创建一个深度结构,其中将KEY定义为类型STRING,将VALUE定义为类型STRINGTAB

enter image description here

答案 1 :(得分:2)

在ABAP DDIC中完全可以对此类数据进行建模:

  1. 创建表类型z_t_values,其中行内置于类型string

  2. 使用字段z_s_key_valueskey type string

  3. 创建结构类型values type z_t_values
  4. 创建表类型z_t_key_values和行类型z_s_key_values

现在,类型z_t_key_values对应于您的示例输入:它是一个行表,每行包含一个键和一个值表