首先,使用abap中的CONCATENATE方法,会把要连接的字符串后面的空格自动给去掉的,但不会去
掉前面的空格,例如CONCATENATE ‘# ‘ ‘over’ INTO val.这样val值为“#over”,但如果CONCATENATE ‘ # ‘ ‘over’ INTO val. 那val的值就是“ #over”,使用空格在前面不
会被删掉的特性的话,那就有可能添加空格了。
方法为,先连接前面带有空格,最后带有一个特殊符号的字符串,如“ #”,连接后,把#
替换成后面连接的字符串的第一个字符就OK。当初连接的时候,后面那个字符串取第一位以后的字符串。
这样连接后就可以在前面添加空格。一下为方法:
*&———————————————————————*
*& Form condense
*&———————————————————————*
* 連接數據,让每個字符串占20個字符,用于对齐
*———————————————————————-*
* –>CHAR_NUM 要连接
* <–VAL 返回的字符串
* –>flag 占位符标识位,如果为M,则占18位,空则为20位
*———————————————————————-*
FORM condense USING flag char_num CHANGING val.
DATA: num(20) TYPE c,
len TYPE i,
slen TYPE i,
tem(20) TYPE c,
first_num TYPE c.
if flag = ‘M’.
move ‘ #’ to tem.
else.
move ‘ #’ to tem.
endif.
IF char_num <> ”.
len = STRLEN( char_num ).
slen = 20 – len.
tem = tem+len.
MOVE char_num TO num.
MOVE char_num TO first_num.
num = num+1.
CONCATENATE val tem num INTO val.
REPLACE ALL OCCURRENCES OF ‘#’ IN val WITH first_num.
ENDIF.
ENDFORM. “condense