删除右边的零

2020-08-31 15:54发布

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

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


早安朋友,我可以帮助消除这种代码结构的零点:


SELECT SUM(ntgew)SUM(brgew)INTO(st_texto-pes_net,st_texto-pes_bru)
FROM vbap
在哪里vbeln EQ -vbeln。
-ntgew = st_texto-pes_net。 " 21,402,720。 000 " 在此处擦除
-brgew = st_texto-pes_bru。 " 21,822,230。 400 " 在此处擦除

清除gs_fcat。
gs_fcat-col_pos =17。
gs_fcat-fieldname ='NTGEW'。 在此处显示
gs_fcat-tabname =1。
gs_fcat-datatype ='QUAN'。
gs_fcat-inttype ='P'。
gs_fcat-domname ='MENG15 '。
gs_fcat-outputlen = gs_fcat-intlen。
追加gs_fcat至gt_fcat。

清除gs_fcat。
gs_fcat-col_pos = 18。
gs_fcat-fieldname ='BRGEW'。 在此处显示
gs_fcat-tabname =1。
gs_fcat-datatype ='QUAN'。
gs_fcat-inttype ='P'。
gs_fcat-domname ='MENG15 '。
gs_fcat-outputlen = gs_fcat-intlen。
将gs_fcat附加到gt_fcat。

他们可以为我提供一些示例。....

感谢一切
致谢

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

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


早安朋友,我可以帮助消除这种代码结构的零点:


SELECT SUM(ntgew)SUM(brgew)INTO(st_texto-pes_net,st_texto-pes_bru)
FROM vbap
在哪里vbeln EQ -vbeln。
-ntgew = st_texto-pes_net。 " 21,402,720。 000 " 在此处擦除
-brgew = st_texto-pes_bru。 " 21,822,230。 400 " 在此处擦除

清除gs_fcat。
gs_fcat-col_pos =17。
gs_fcat-fieldname ='NTGEW'。 在此处显示
gs_fcat-tabname =1。
gs_fcat-datatype ='QUAN'。
gs_fcat-inttype ='P'。
gs_fcat-domname ='MENG15 '。
gs_fcat-outputlen = gs_fcat-intlen。
追加gs_fcat至gt_fcat。

清除gs_fcat。
gs_fcat-col_pos = 18。
gs_fcat-fieldname ='BRGEW'。 在此处显示
gs_fcat-tabname =1。
gs_fcat-datatype ='QUAN'。
gs_fcat-inttype ='P'。
gs_fcat-domname ='MENG15 '。
gs_fcat-outputlen = gs_fcat-intlen。
将gs_fcat附加到gt_fcat。

他们可以为我提供一些示例。....

感谢一切
致谢

付费偷看设置
发送
11条回答
悻福寶寶
1楼 · 2020-08-31 16:03.采纳回答

您好 Brujo Brujo P

您正在使用报告中的两个字段

ntgew,"净重
brgew。"毛重

对于这两个文件

Domin-MENG13
数据类型-QUAN


默认具有3个小数位

示例1

数据:ntgew类型ntgew,"净重
brgew类型brgew。"毛重

ntgew ='21402720'。
brgew ='21822230'。

写 :/ntgew,
/brgew。

输出

默认我们将获得3位小数

如果您这样尝试

数据:ntgew类型p长度16,"净重
brgew TYPE p长度16",毛重

ntgew ='21402720'。
brgew ='21822230'。

WRITE:/ntgew,
/brgew。

输出


示例2


数据:ntgew类型ntgew,"净重
brgew类型brgew。"毛重

数据:ntgew_c(17)类型c,
brgew_c(17)类型c。

ntgew ='21402720.000'。
brgew ='21822230.400'。

ntgew_c = ntgew。
brgew_c = brgew。


通话功能' FTR_CORR_SWIFT_DELETE_ENDZERO'
更改
c_value = ntgew_c。



调用功能'FTR_CORR_SWIFT_DELETE_ENDZERO'
更改
c_value = brgew_c。

br>/brgew_c。


输出


落灬小鱼
2楼-- · 2020-08-31 16:14

感谢Ramesh,请使用:

在选择框中输入这些变量

类型:...的开头。

......

......

ntgew TYPE p长度16,净重
brgew TYPE p长度16。

结尾.....

数据:ntgew类型p长度16,"净重
brgew TYPE p长度16",毛重
SELECT SUM(ntgew)SUM(brgew)INTO(st_texto-pes_net,st_texto-pes_bru)
从vbap
Wbele EQ -vbeln。

将st_texto-pes_net移动到ntgew。
将st_texto-pes_bru移动到brgew。

ntgew。
-brgew = brgew。

三十六小时_GS
3楼-- · 2020-08-31 16:08

嗨,布鲁霍,

如果我理解您要求删除数字末尾的零。 您可以使用以下代码。

DATA:l_string1 TYPE字符串,

l_string2 TYPE字符串。
l_string1 = st_texto-pes_net。

l_string2 = st_texto-pes_bru。

压缩字符串1无间隙。


压缩string2无间隙。

查找"。" IN l_string1输入字符模式。

IF sy-subrc EQ0。
SHIFT l_string1右移尾迹:'0','。'。

ENDIF。


查找"。" 在字符模式下输入l_string2。

IF sy-subrc EQ0。
SHIFT l_string2右移尾迹:'0','。'。

ENDIF。


-ntgew = l_string1。 " 21,402,720.000"删除此处
-brgew = l_string2。 " 21,822,230.400"在此处擦除


输出:


21,402,720

21,822,230.4


此致

Shruti


lukcy2020
4楼-- · 2020-08-31 16:17

关于向右删除零,而不向左删除零...

jovirus
5楼-- · 2020-08-31 16:25

Brujo,

在附加到itab之前,请使用以下代码。

数据:v_char类型char25,

v_char1类型char25。

选择 SUM(ntgew)SUM(brgew)INTO(st_texto-pes_net,st_texto-pes_bru)
FROM vbap
WHERE vbeln EQ -vbeln。

将st_texto-pes_net移至v_char。

将st_texto-pes_bru移至v_char1。

缩小v_char无间隙。

SHIFT v_char右移尾随'0'。

压缩v_char1无间隙。

SHIFT v_char1右移尾号为'0'。


*使用字符值显示 -ntgew和

的结果

* -brgew。 我会解决

*您的问题。 不要在字段目录中使用数量值。

-ntgew = v_char。
-brgew = v_char1。

致谢,

大道至简
6楼-- · 2020-08-31 16:11

嗨,

根据您的代码看,我认为您正在尝试进行ALV输出。 如果正在使用,请检查LVC_S_FCAT结构中的DECIMALS_O字段。 此字段控制在ALV输出的小数位数。

干杯,

阿林丹

空代码
7楼-- · 2020-08-31 16:20

嗨,

尝试使用FM。

CONVERSION_EXIT_ALPHA_INPUT

CONVERSION_EXIT_ALPHA_OUTPUT

使用TRUNC语句。

此致。

一周热门 更多>