Login Form

Best viewed in IE 7.0

ADVERTISEMENTS
ADVERTISEMENT

Percentage Complete 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: mara_lines TYPE i,
gd_percent TYPE i.
 START-OF-SELECTION.

SELECT matnr
INTO TABLE it_mara
FROM mara.

CHECK sy-subrc EQ 0.
mara_lines = sy-dbcnt.
clear: gd_percent.

LOOP AT it_mara INTO wa_mara.
PERFORM progress_bar USING 'Retrieving data...'(001)
sy-tabix
mara_lines.
* WAIT UP TO 2 SECONDS.
ENDLOOP.
 
FORM progress_bar USING    p_value
p_tabix
p_nlines.

DATA: w_text(40),
w_percentage TYPE p,
w_percent_char(3).

w_percentage = ( p_tabix / p_nlines ) * 100.
w_percent_char = w_percentage.
SHIFT w_percent_char LEFT DELETING LEADING ' '.
CONCATENATE p_value w_percent_char '% Complete'(002) INTO w_text.

* This check needs to be in otherwise when looping around big tables
* SAP will re-display indicator too many times causing report to run
* very slow. (No need to re-display same percentage anyway)

if w_percentage gt gd_percent or p_tabix eq 1.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = w_percentage
text = w_text.
gd_percent = w_percentage.
endif.
endform. " PROGRESS_BAR


WRITE: /20 'Report is "Complete" OK'.
 
ADVERTISEMENT
Free software downloads