分配字段串 组件
可以用 ASSIGN 语句将字段 串的特殊组 件分配给字 段符号,过 程如下:
语法
ASSIGN COMPONENT <comp> OF STRUCTURE <s> TO <FS>.
系统将字符 串 <s> 的组件 <comp> 分配给字段 符号 <FS>。 可以指定 <comp> 为文字或变 量。如果 <comp> 属于类型 C 或字段串( 象组件一样 没有内表) ,它指定组 件的名称。 如果 <comp> 有任何其它 基本数据类 型,将被转 化为类型 I(参见 类型转换),并且指 定组件号。
如果分配成 功,SY-SUBRC 设为 0。否则, 返回 4。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
REPORT ZTEST_COMPONENT. DATA: BEGIN OF LINE, COL1 TYPE I VALUE '11', COL2 TYPE I VALUE '22', COL3 TYPE I VALUE '33', END OF LINE. DATA COMP(4) VALUE 'COL3'. FIELD-SYMBOLS: <F1>, <F2>, <F3>. ASSIGN LINE TO <F1>. ASSIGN COMP TO <F2>. DO 3 TIMES. ASSIGN COMPONENT SY-INDEX OF STRUCTURE <F1> TO <F3>. WRITE <F3>. ENDDO. ASSIGN COMPONENT <F2> OF STRUCTURE <F1> TO <F3>. WRITE / <F3>. |
运行结果:
该示例中, <F1> 指向字段串 LINE, <F2> 指向字段 COMP。 循环中,LINE 的组件由其 号码指定, 并且一个接 一个地被分 配到 <F3>。 循环之后, LINE 的组件 COL3 由其名称指 定,并被分 配到 <F3>。
以上。
发表评论