ABAP如何将Structure里面的数据转成内表
我有一个别人写好的Method,返回结构是一个Structure,里面的数据不止一行。我如何能将所有的Structure里面的数据转到一个内表(如itab)
你可以使用 APPEND LINES OF 语句将 Structure 中的数据逐行添加到内表中。
以下是一个示例代码:
TYPES: BEGIN OF ty_structure,
field1 TYPE string,
field2 TYPE string,
END OF ty_structure.
DATA: it_structure TYPE STANDARD TABLE OF ty_structure,
wa_structure TYPE ty_structure,
itab TYPE STANDARD TABLE OF ty_structure.
* 假设 Method 返回的结构体已经被存储在 it_structure 中
* 遍历 it_structure 中的每一行数据
LOOP AT it_structure INTO wa_structure.
APPEND wa_structure TO itab. " 将 Structure 中的数据添加到内表中
ENDLOOP.
以上代码中,我们首先定义了一个 ty_structure 类型的结构体和两个内表 it_structure 和 itab。然后,我们通过遍历 it_structure 内表中的每一行数据,并将其逐行添加到 itab 内表中。
请根据你实际使用的结构体和内表名称,将上面的代码修改为适合你的情况。
答案出自 编程语言 https://www.wodianping.com/
但是在Loop At it_structure.....时会报错,说它不是一个内表呀。如ZSC_S_ORCH_PROC_ITEM2SERVE是一个结构,
s_item2serve_list1是一个结构变量,用来存放Method返回的结果。
t_item2serve_list1是一个内表变量,用来存放结构转换后的结构。
```c
DATA: s_item2serve_list1 type ZSC_S_ORCH_PROC_ITEM2SERVE.
DATA: t_item2serve_list1 type STANDARD TABLE OF ZSC_S_ORCH_PROC_ITEM2SERVE.
data: wa_item2serve_list1 TYPE ZSC_S_ORCH_PROC_ITEM2SERVE.
调用 方法时,用s_item2serve_list1来接收Method的结构
```c
CALL METHOD ZCL_SC_ELE_ORCH_UTILS=>ZIF_SC_ELE_ORCH_UTILS~GET_LENS_ITEM_TO_SERVE_RULES
EXPORTING
I_QUOTATION = <fs_ori_data>-vbeln
IMPORTING
* E_ID_CRULE =
* E_NAME_CRULE =
* E_DESC_CRULE =
* E_PRIORITY =
* E_SUB_PRIORITY =
* E_LAST_SITE_KEY =
ET_ITEM2SERVE_LIST = s_item2serve_list1
ET_PROFIL_AREA_LIST = t_area_list1
* E_ERROR_MSG =
下面就是想用你说的方法来转换,但报错
loop at s_item2serve_list1 INTO wa_item2serve_list1.
endloop.
有人说如果类型是Structure,那结果肯定只有一行,那直接用Append就可以了。
如果有多行,那类型应该定义为Table。