ABAP報表中負值展示問題的處理方法

2021-09-08 10:24:07 字數 1492 閱讀 4345

現象描述

在使用abap報表展示資料的時候會涉及到金額類欄位,在手動計算金額的時候,有時會發生存在負值而無法正常展示的情況。

處理過程

abap報表的資料展示常用的方法有兩種,分別是表控制和alv

1、使用alv展示時負值不會報錯,但是金額欄位的負號預設顯示在結尾如圖

如果希望按照習慣將負號置於數字前段,則需要手動編寫乙個轉換例程的函式來實現。

首先建立乙個函式,命名規則conversion_exit_***x_output,其中***x為自定義名稱,參考**為

再建立對應的另外乙個函式,命名規則conversion_exit_***x_input,其中***x為自定義名稱,參考**為

然後在設定alv欄位屬性時將剛剛建立的轉換例程新增進去

最後重新執行報表就可以得到我們想要的展示結果

2、使用表控制展示時,如果資料存在負值,會出現short dump。

解決方法是將表控制中的該金額欄位的屬性設定為帶記號的,如下圖

設定完成後重新執行報表,程式能夠正常執行,負號顯示在末尾

如果希望加負號置前,可以在退出對話中將之前建立的轉換例程新增進去

新增以後的執行效果

在abap程式中負值展示問題的處理是一種特例,需要用上述特殊的方式來進行處理,否則會出現顯示不正常甚至是short dump。所以在程式設計的時候,如果涉及到金額字段,應該充分考慮是否存在負值的情況,並且進行全面的測試,防範傳輸之後出現此種問題。

報表中的子報表問題

報表中的子報表問題 收藏 注 本文引自http www.cnblogs.com dlwang2002 archive 2006 12 07 585815.html隨心所欲的blog subreport 是報表控制項中的乙個,可以在報表中巢狀另外乙個子報表。這裡討論的就是如何使用這個subreport...

如何解決報表關聯計算中的效能問題

報表開發過程中經常要在報表中完成資料關聯計算,有時為了降低報表製作複雜度,會將關聯關係放到可視的報表模板中完成 而有時則必須在報表中完成關聯,如多資料來源 異構資料來源的情況。在報表中做關聯往往導致報表效率不高,計算過慢,從而引發效能問題。為此,潤幹報表提供了高效能資料關聯方式 需要結合集算器實現 ...

如何解決報表關聯計算中的效能問題

報表開發過程中經常要在報表中完成資料關聯計算,有時為了降低報表製作複雜度,會將關聯關係放到可視的報表模板中完成 而有時則必須在報表中完成關聯,如多資料來源 異構資料來源的情況。在報表中做關聯往往導致報表效率不高,計算過慢,從而引發效能問題。為此,潤幹報表提供了高效能資料關聯方式 需要結合集算器實現 ...