SAP 新语法CONV 加上前导0去掉前导0以及日期单位转换

SAP中的CONV新语法简化代码示例,
SAP的CONV新语法提供了一种更简洁的方式来处理数据转换,如将对象转换为Char90,添加或去除前导零,以及日期转换为ISO格式。这种方法可以避免使用复杂的自定义例程或函数,提高了代码的可读性和效率。

SAP可以通过CONV的新语法的使用避免使用繁杂的例程或者函数

比如

objek = CONV char90( gs_alv-matnr )

又比如说加上前导0

lv_data = |{ lv_data ALPHA = IN }|. 

去前导零

lv_data = |{ lv_data ALPHA = OUT }|. 

日期转ISO

lv_datum = |{ lv_date DATE = ISO }|.

还有一个比较便捷的方式:

lv_matnr = |{ lv_matnr ALPHA = IN WIDTH = 18 }|.  "补前导零

SAP ABAP中,处理前导0的方有添加前导0和去除前导0,具体如下: ### 添加前导0 - **使用CONVERSION_EXIT_ALPHA_INPUT函数**:这是一种常见的添加前导零的方式,适用于处理数字或字符字段时补全前导零的需求 [^1]。 - **使用字符串模板表达式**:示例代码如下,将变量`lv_num`转换为指定格式,添加前导零 [^2]。 ```abap REPORT z437_test_2024. DATA(lv_num) = CONV aufnr( 2024 ). WRITE |{ lv_num }|. " 2024 " 添加前导零 lv_num = |{ lv_num ALPHA = IN }|. WRITE |{ lv_num }|. " 000000002024 ``` - **调用函数补全前导0**:通过调用`CONVERSION_EXIT_ALPHA_INPUT`函数,传入输入值和接收输出值的变量,实现前导零的补全 [^4]。 ```abap CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = ZC IMPORTING output = ZC. ``` ### 去除前导0 - **使用正则表达式替换**:通过正则表达式`0(\d)`匹配`0`加数字的模式,将其替换为数字本身,可去掉一到两位数字的前导0 [^3]。 ```abap DATA text2 TYPE string VALUE '01,02,04;03,05,08;06,09,010,20,025'. WRITE:/,'去前导0之前的字符串:',text2. REPLACE ALL OCCURRENCES OF REGEX '0(\d)' IN text2 WITH '$1'. WRITE:/,'去前导0之后的字符串:',text2. ``` - **调用函数去除前导0**:调用`CONVERSION_EXIT_ALPHA_OUTPUT`函数,传入输入值和接收输出值的变量,实现前导零的去除 [^4]。 ```abap CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = ZC IMPORTING output = ZC. ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值