SAP progress indicator bar to count number of records processed within ABAP report and stop timeout

The progress indicator adds a small timer in the lower left corner of the SAP screen. It not only provides the user with the number of records processed but also stops reports timing out. It does this by reseting the timeout timer whenever it is called.

UPDATE!!!
Progress indicator no-longer prevents timeout in later versions of SAP so you can use TH_REDISPATCH


*&*******************************************************
*& DESCRIPTION: Demonstrate Progress indicator          *
*&*******************************************************
REPORT  zprogind.
TYPES: BEGIN OF t_mara,
         matnr LIKE mara-matnr,
       END OF t_mara.
DATA: it_mara TYPE STANDARD TABLE OF t_mara INITIAL SIZE 0,
      wa_mara TYPE t_mara.
DATA: gd_count(6)    TYPE n,
      gd_outtext(70) type c.
*********************************************************
*START-OF-SELECTION.
START-OF-SELECTION.
  SELECT matnr
   UP TO 500 ROWS
    INTO TABLE it_mara
    FROM mara.
  CHECK sy-subrc EQ 0.
  LOOP AT it_mara INTO wa_mara.
  add 1 to gd_count.
  concatenate 'Processing personnel data'(m10) gd_count into gd_outtext
            separated by ' '.
* Display indicator for employee count
  perform progress_indicator using gd_outtext.
  ENDLOOP.
  WRITE: /20 'Report is "Complete" OK'.
*&---------------------------------------------------------------------*
*&      Form  PROGRESS_INDICATOR
*&---------------------------------------------------------------------*
*       Displays progress indicator on SAP screen
*----------------------------------------------------------------------*
form progress_indicator using p_text.
  call function 'SAPGUI_PROGRESS_INDICATOR'
      exporting
*         PERCENTAGE = 0
           text       = p_text.
endform.                    " PROGRESS_INDICATOR

Related Articles

SAP ALV Reports - ABAP or Advanced List Viewer reports
ALV grid reports using the object methods functionality
ALV TREE Example ABAP code and information for creating ALV tree based reports
SAP Dynamic documents in ABAP objects
SAP dynamic document example screens
ABAP report Progress indicator - When added also Stops report timeout
SAP percentage complete progress indicator bar for your ABAP reports
Prevent ABAP report timeout by Reseting the SAP runtime value using TH_REDISPATCH
ABAP Reporting - Example code and information on various areas of ABAP reporting
ABAP Automatic refresh report to retrieve real time live data from SAP database
Automatic Refresh Report - periodically refreshes results
Capture ABAP report using WRITE statement to internal table with SAP
Write report straight to printer
Convert Spool request to PDF and send as e-mail
Convert Spool request to PDF and send as e-mail
Execute ABAP Report using the SUBMIT statement
ABAP report to display all the selection screen fields and any values input by the user