可以用 ASSIGN 语句将字段 串的特殊组 件分配给字 段符号,过 程如下:
语法
ASSIGN COMPONENT <comp> OF STRUCTURE <s> TO <FS>.
系统将字符 串 <s> 的组件 <comp> 分配给字段 符号 <FS>。 可以指定 <comp> 为文字或变 量。如果 <comp> 属于类型 C 或字段串( 象组件一样 没有内表) ,它指定组 件的名称。 如果 <comp> 有任何其它 基本数据类 型,将被转 化为类型 I(参见 类型转换 (页 6–36) ),并且指 定组件号。
如果分配成 功,SY-SUBRC 设为 0。否则, 返回 4。
DATA: BEGIN OF LINE, COL1 TYPE I VALUE ’11’, COL2 TYPE I VALUE ’22’, COL3 TYPE I VALUE ’33’, END OF LINE.
DATA COMP(5) 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>.
输出如下:
11 22 33
33
该示例中, <F1> 指向字段串 LINE, <F2> 指向字段 COMP。 循环中,LINE 的组件由其 号码指定, 并且一个接 一个地被分 配到 <F3>。 循环之后, LINE 的组件 COL3 由其名称指 定,并被分 配到 <F3>。
|