如果数据类型为P,如何在ALV中将负号从右移到左

2020-08-23 09:44发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我需要在ALV输出的字段值的左侧显示'-'符号,但是该字段所指的数据类型为压缩十进制。 较早的博客告诉使用数据类型char它将在这种情况下起作用,在这种情况下,我们不能对ALV输出中的该列使用过滤器选项。任何线索都将数据类型称为打包的十进制数。

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我需要在ALV输出的字段值的左侧显示'-'符号,但是该字段所指的数据类型为压缩十进制。 较早的博客告诉使用数据类型char它将在这种情况下起作用,在这种情况下,我们不能对ALV输出中的该列使用过滤器选项。任何线索都将数据类型称为打包的十进制数。

谢谢

付费偷看设置
发送
8条回答
SKY徐
1楼-- · 2020-08-23 10:12

你好,

有一个字符串模板格式设置选项,可用于放置SIGN。 您无需使用FM CLOI_PUT_SIGN_IN_FRONT。

BR,

Suhas

Tong__Ming
2楼-- · 2020-08-23 09:56

大家好,

我已经通过创建新的数据域ZAMT并特定于ZSIGN"转换例程"来解决了此问题。

这里是INPUT和OUTPUT功能。

1。 输入格式。

FUNCTION CONVERSION_EXIT_ZSIGN_INPUT。
*" --------------------------------------- -------------------------------
*" *"本地接口:
*" IMPORTING
*"参考(输入)
*"导出
*"参考(输出)
*" ------------------------ ----------------------------------------------
数据 :lv_str类型text30。

lv_str =输入。
CONFIGSE lv_str NO-GAPS。
如果strlen(lv_str)> 1.
如果lv_str + 0(1)='-'。
转换lv_str左删除领先的'-'。
合并lv_str'-'放入lv_str。
ENDIF。
ENDIF。
输出= lv_str。

ENDFUNCTION。 >

2.OUTPUT格式。

功能conversion_exit_zsign_output。
*" --------------------------------------- -----------------------------
*" *"本地接口:
*" IMPORTING
*" 参考(输入)
*"导出
*"参考(输出)
*" -------------------------- ------------------------------------------
DATA:lv_str TYPE text30 ,
lv_len类型i。
lv_str =输入。
将输入写到lv_str货币" THB"。"假定仅支持THB
压缩lv_str NO-GAPS。
lv_len = strlen(lv_str )。
lv_len = lv_len-1."返回1位置
IF lv_len> 1.
IF lv_str + lv_len(1)='-'。
lv_str + lv_len(1)=空格。
压缩lv_str NO-GAPS。
将'-'lv_str并入lv_str。
ENDIF。
ENDIF。
ENDIF。
写lv_str以输出右对齐。
ENDFUNCTION。

一周热门 更多>