|
|
本帖最后由 wpsl5168 于 2012-5-11 17:50 编辑
gangtee 发表于 2012-5-11 12:25 ![]()
READ.
动态指定 table key 时,括号中放的是 key 的名字,比如 'ID' 或者一个值为 'ID' 的字符变量(如 ...
这么耐心真是非常感谢,8楼中DATA定义的部分确实没认真看到,也终于明白《SAP 程序设计》这本书里面动态对象使用READ语法【READ TABLE <fs> WIRH TABLE KEY (key1) = '001' (key2) = 'street1' .】中(key1)...是要定义的。
不过我终于开窍了,用以下方法即可:
LOOP AT ITAB
"固定字段的部分
ASSIGN COMPONENT 'ID' OF STRUCTURE <F_OUT_WA> TO <F_FS1>.
<F_FS1> = ITAB-ID.
ASSIGN COMPONENT 'OBJECT' OF STRUCTURE <F_OUT_WA> TO <F_FS1>.
<F_FS1> = ITAB-OBJECT.
ASSIGN COMPONENT 'CODE' OF STRUCTURE <F_OUT_WA> TO <F_FS1>.
<F_FS1> = ITAB-CODE.
"动态字段的部分
READ TABLE ITAB_NODE WITH KEY NODE = ITAB-NODE.
INDEX = SY-TABIX + 3. "因为前面有3个固定字段
ASSIGN COMPONENT INDEX OF STRUCTURE <F_OUT_WA> TO <F_FS1>.
<F_FS1> = ITAB-TEXT.
AT END OF CODE.
APPEND <F_OUT_WA> TO <F_OUT> .
CLEAR:<F_OUT_WA>.
ENDAT.
ENDLOOP.
|
|