码迷,mamicode.com
首页 > 其他好文 > 详细

ABAP报表中负值展示问题的处理方法

时间:2014-08-15 22:19:49      阅读:1242      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   io   strong   数据   ar   

现象描述

在使用ABAP报表展示数据的时候会涉及到金额类字段,在手动计算金额的时候,有时会发生存在负值而无法正常展示的情况。

 处理过程

ABAP报表的数据展示常用的方法有两种,分别是表控制和ALV

1、使用ALV展示时负值不会报错,但是金额字段的负号默认显示在结尾如图

bubuko.com,布布扣

如果希望按照习惯将负号置于数字前段,则需要手动编写一个转换例程的函数来实现。

首先创建一个函数,命名规则CONVERSION_EXIT_XXXX_OUTPUT,其中XXXX为自定义名称,参考代码为

bubuko.com,布布扣

再创建对应的另外一个函数,命名规则CONVERSION_EXIT_XXXX_INPUT,其中XXXX为自定义名称,参考代码为

bubuko.com,布布扣

然后在设置ALV字段属性时将刚刚创建的转换例程添加进去

bubuko.com,布布扣

最后重新执行报表就可以得到我们想要的展示结果

bubuko.com,布布扣

2、使用表控制展示时,如果数据存在负值,会出现Short Dump。

bubuko.com,布布扣

解决方法是将表控制中的该金额字段的属性设置为带记号的,如下图

bubuko.com,布布扣

设置完成后重新执行报表,程序能够正常执行,负号显示在末尾

bubuko.com,布布扣

如果希望加负号置前,可以在退出对话中将之前创建的转换例程添加进去

bubuko.com,布布扣

添加以后的执行效果

bubuko.com,布布扣

在ABAP程序中负值展示问题的处理是一种特例,需要用上述特殊的方式来进行处理,否则会出现显示不正常甚至是Short Dump。所以在程序设计的时候,如果涉及到金额字段,应该充分考虑是否存在负值的情况,并且进行全面的测试,防范传输之后出现此种问题。

ABAP报表中负值展示问题的处理方法,布布扣,bubuko.com

ABAP报表中负值展示问题的处理方法

标签:style   blog   http   使用   io   strong   数据   ar   

原文地址:http://www.cnblogs.com/panjun-Donet/p/3915690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!