abap 去前导0
时间: 2023-09-10 22:07:36 浏览: 57
ABAP中可以使用函数 `CONDENSE` 来去除字符串前导的空格和零。这个函数会移除字符串前面的所有空格和零,但是保留字符串中间和后面的空格和零。
示例代码如下:
```
DATA: lv_string TYPE string VALUE '0000123'.
CONDENSE lv_string NO-GAPS.
WRITE lv_string. " 输出 123
```
在上面的代码中,我们定义了一个字符串变量 `lv_string`,它的值为 `'0000123'`。然后我们使用 `CONDENSE` 函数去掉了前导的零,最终输出结果为 `'123'`。需要注意的是,我们使用了 `NO-GAPS` 参数来保留字符串中间和后面的空格和零。如果不加这个参数,函数会把所有的空格和零都去掉。
相关问题
abap select时去前导零
在ABAP的SELECT语句中去掉返回结果中的前导零有多种方法。其中一种常见的方法是使用LTRIM函数。你可以在SELECT语句中使用LTRIM函数来去掉返回结果中字段的前导零。例如:
SELECT LTRIM(MATNR, '0') AS MATNR_NO_ZEROS
FROM OBJK
INTO TABLE @DATA(LT_OBJK).
这样,返回结果中的MATNR字段就会去掉前导零。
另一种常见的方法是使用CONVERSION_EXIT_MATN1_OUTPUT函数。你可以在程序中调用这个函数来去掉MATNR字段的前导零。例如:
DATA: lv_matnr TYPE matnr.
lv_matnr = '000000000012345'.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
EXPORTING
input = lv_matnr
IMPORTING
output = lv_matnr.
在调用函数后,lv_matnr变量的值就会去掉前导零。
SAP ABAP 定义一个function去除前导零并调用
可以使用以下代码定义一个函数去除前导零:
```
FUNCTION remove_leading_zeros.
DATA: lv_input TYPE string,
lv_output TYPE string.
PARAMETERS p_input TYPE string.
lv_input = p_input.
lv_output = lv_input.
DO.
IF lv_output CO '0'.
EXIT.
ELSE.
lv_output+1 = ''.
ENDIF.
ENDDO.
WRITE lv_output.
ENDFUNCTION.
```
要调用此函数,可以在ABAP程序中使用类似以下代码的语句:
```
CALL FUNCTION 'remove_leading_zeros'
EXPORTING
p_input = '000123'.
```
这将移除输入字符串中的前导零,并输出结果“123”。