1. 字符串倒数位数截取
DATA: L_WRK_LEN TYPE I,
L_WRK_LEN2 TYPE I,
L_WRK_LEN8 TYPE I,
L_WRK_OUT2 TYPE CHAR2,
L_WRK_OUT8 TYPE CHAR11,
L_WRK_EBELN TYPE EKPO-EBELN.
L_WRK_EBELN = '1234567890'.
* NO.1 取得号码的倒数两位
CLEAR: L_WRK_LEN, L_WRK_LEN2.
"字段本身的位数
L_WRK_LEN = STRLEN( L_WRK_EBELN ).
"从倒数第二位切割
L_WRK_LEN2 = L_WRK_LEN - 2.
"赋值
L_WRK_OUT2 = L_WRK_EBELN+L_WRK_LEN2(2).
* NO.2 编辑AAA+号码的后八位
CLEAR: L_WRK_LEN, L_WRK_LEN8.
"字段本身的位数
L_WRK_LEN = STRLEN( L_WRK_EBELN ).
"从倒数第八位切割
L_WRK_LEN8 = L_WRK_LEN - 8.
"赋值
CONCATENATE 'AAA' L_WRK_EBELN+L_WRK_LEN8(8)
INTO L_WRK_OUT8.
WRITE: / 'NO.1', L_WRK_OUT2,
/ 'NO.2', L_WRK_OUT8.
2. 补充前导0
最简单的方法是将变量赋值给同长度的N型变量中,再将N型变量倒回使用的输出变量中。
DATA: L_WRK_INPUT TYPE CHAR2,
L_WRK_ZERO TYPE NUMC5,
L_WRK_OUTPUT TYPE CHAR5.
L_WRK_INPUT = '99'.
L_WRK_ZERO = L_WRK_INPUT.
L_WRK_OUTPUT = L_WRK_ZERO.
write: / 'N型', L_WRK_OUTPUT.
3. CHAR型补充前空位SPACE
例:一个字段是CHAR型31位,代表一个月的31天,通过在这个字段中放入数字1来确定一个