SAP ABAP開發金額負號前置

在寫這篇博客前,我有遇到一個業務要求:讓我把借貸中的金額負號前置。接觸SAP的都知道,在SAP中的負號都是放到數值後面,接觸多了也就變得習以爲常,但是有需求就得修改。我搜了一些資料,都寫的很不錯,不過不適用我的情況,我需要的是很簡單快捷的途徑,而不是再加一段長代碼,所以就寫了一段簡單的。

DATA NUM TYPE P DECIMALS 2.      "模擬金額類型
DATA NUM1(10) TYPE C.            "定義字符串類型
NUM = '-15.25'.                  "賦值
NUM1 = NUM.                      
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT' "傳入值必須要字符型,這點很坑
  CHANGING
    VALUE = NUM1.

WRITE: / '修改前:',NUM.
WRITE: / '修改後:',NUM1.

在衆多資料中,都有推薦SAP系統已有的“CLOI_PUT_SIGN_IN_FRONT”這個將負號前置的bapi。但是它有一個坑,就是改變值必須要是字符型。在字符的轉換上,P類型可以直接轉C類型,直接賦值就行,不過C類型的長度需要把握好。

效果圖上的數字之所以不對齊,可能是是因爲P類型和C類型的不同,這放在報表中其實不影響顯示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章