• January 18, 2026
  • Admin
  • 0

Handle the amount field based on user profile set up to get rid of short dump issue in ABAP

 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.