• January 18, 2026
  • Kishore Thutaram
  • 0

Handle the Amount Field Based on User Profile Setup to Avoid Short Dump in ABAP

Sometimes, ABAP programs throw short dumps when processing amount fields due to incorrect user profile settings such as decimal notation, number format, or user-specific parameters. This SAP QuickFix explains how aligning the amount field handling with user profile settings helps prevent these runtime errors.

    
 data : lv_amount         TYPE /scmtms/amount, 
      lv_curr           TYPE /scmtms/currency,
           lv_amount_char    TYPE char20.
IF lv_amount IS NOT INITIAL.
            SELECT SINGLE dcpfm FROM usr01 WHERE bname = @sy-uname INTO                     @DATA(lv_usr_decfmt).
            IF lv_usr_decfmt IS NOT INITIAL.
              TRY.
                  WRITE lv_amount TO lv_amount_char CURRENCY lv_curr LEFT-JUSTIFIED.
                  REPLACE ALL OCCURRENCES OF ',' IN lv_amount_char WITH ''.
                  ev_amount = lv_amount_char.
                CATCH cx_sy_arithmetic_error INTO DATA(lv_msg).
              ENDTRY.
            ELSE.
              TRY.
                  WRITE lv_amount TO lv_amount_char CURRENCY lv_curr LEFT-JUSTIFIED.
                  TRANSLATE lv_amount_char USING ',.. '.
                  CONDENSE lv_amount_char NO-GAPS.
                  ev_amount = lv_amount_char.
                CATCH cx_sy_arithmetic_error INTO lv_msg.
              ENDTRY.
            ENDIF.
    ENDIF.
    
    

Kishore Thutaram

"SAP solution architect with a strong problem-solving mindset, sharing practical SAP S/4HANA and ABAP insights from real-world projects."

https://fiowelt.com