有时我们期望在abap中实现像 1+ 1 = 2, 2 + 1 = 3, 3+ 1= 4的递增功能。
即: A + 1 = B
B + 1 = C.
C + 1 = D.
原代码如下:
------------------------------------------------------------------
data: str type c LENGTH 15,
str2 type string,
str3 type string,
l_pos type i,
mydate(10).
data:l_c1 type c,
l_c2 TYPE c,
l_x type x,
l_asc type i.
FIELD-SYMBOLS: <fs_x> type x.
l_c1 = 'A'.
DO 26 TIMES.
ASSIGN l_c1 to <fs_x> CASTING. “将指针指向变量l_c1
l_asc = <fs_x>.
WRITE: / l_asc,',',l_c1.
<fs_x> = <fs_x> + 1. "<fs_x>递增就等于l_c1在递增
ENDDO.
---------------------------------------------
直接定义一个x类型的是不能转换的,因为只有field symbol才能做强制转换
结果:
65 , A
66 , B
67 , C
68 , D
69 , E
70 , F
71 , G
72 , H
73 , I
74 , J
75 , K
76 , L
77 , M
78 , N
79 , O
80 , P
81 , Q
82 , R
83 , S
84 , T
85 , U
86 , V
87 , W
88 , X
89 , Y
90 , Z