Category Archive ABAP code

Show progress indicator


* Show progress indicator
  lw_percentage = ( sy-tabix * 100 ) / gw_nb_total.
  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      percentage = lw_percentage
      text       = 'Message to display in SAP GUI progress bar'.

Manage Parameter ID

Get parameter in selection screen :


  IF  p_matnr IS INITIAL.
    GET PARAMETER ID 'MAT' FIELD p_matnr.
  ENDIF.

To set the entered value to parameter ID :


  IF  p_matnr IS NOT INITIAL.
    SET PARAMETER ID 'MAT' FIELD p_matnr.
  ENDIF.

Parameter ID table : TPARA (editable via SM30 transaction).
User parameter ID table : USR05.

Check if function exists

You can check if a Function Module exists into table TFDIR (field FUNCNAME).

You can also use code :


CALL FUNCTION 'FUNCTION_EXISTS'
  EXPORTING
    funcname           = 'Function_name'
  EXCEPTIONS
    function_not_exist = 1.

Catch exception in ABAP

Code example below :


  DATA : lo_error      TYPE REF TO cx_root,
         lw_mess       TYPE string.

      TRY. " Avoid dump in case of non numerical values...
          lw_1 = ls_initial-zzip * ls_guaranteed-zzmtbur * 10 ** ls_guaranteed-zzrri.
          lw_2 = ls_initial-zzmtbur * 10 ** ls_initial-zzrri.
        CATCH cx_sy_conversion_no_number INTO lo_error.  " Récupérer le type d’erreur a « catcher » en générant un dump par exple. 
          lw_mess = lo_error->get_text( ).
      ENDTRY.

  IF lw_mess IS NOT INITIAL.
        " Display error (lw_mess)
  ENDIF.