*&---------------------------------------------------------------------*
*& Report ZTEST_SCHEDULE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST_SCHEDULE.
DO 100 TIMES.
PERFORM SHOW_PROGRESSBAR USING SY-INDEX.
WAIT UP TO 1 SECONDS.
ENDDO.
MESSAGE 'Finished!'(FIN) TYPE 'S'.
*&---------------------------------------------------------------------*
*& Form show_progressbar
*&---------------------------------------------------------------------*
FORM SHOW_PROGRESSBAR USING UPCT TYPE I.
DATA: FBAR TYPE C LENGTH 13,
FMSG TYPE C LENGTH 70.
CONSTANTS: PERCENT1 TYPE C VALUE '▏',
PERCENT2 TYPE C VALUE '▎',
PERCENT3 TYPE C VALUE '▍',
PERCENT4 TYPE C VALUE '▌',
PERCENT5 TYPE C VALUE '▋',
PERCENT6 TYPE C VALUE '▊',
PERCENT7 TYPE C VALUE '▉',
PERCENT8 TYPE C VALUE '█'.
DATA: FMOD TYPE N,
FTIM TYPE I,
FFIELD TYPE C LENGTH 10,
FIDX TYPE C LENGTH 3.
FIELD-SYMBOLS: <FS> TYPE C.
FTIM = UPCT DIV 8.
FMOD = UPCT MOD 8.
CLEAR: FBAR.
DO FTIM TIMES.
CONCATENATE FBAR PERCENT8 INTO FBAR.
ENDDO.
IF FMOD NE 0.
CONCATENATE 'percent' FMOD INTO FFIELD.
ASSIGN (FFIELD) TO <FS> .
CONCATENATE <FS> FBAR INTO FBAR.
ENDIF.
FIDX = SY-INDEX.
CONCATENATE FBAR FIDX '%' INTO FMSG.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = UPCT
TEXT = FMSG.
*& Report ZTEST_SCHEDULE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST_SCHEDULE.
DO 100 TIMES.
PERFORM SHOW_PROGRESSBAR USING SY-INDEX.
WAIT UP TO 1 SECONDS.
ENDDO.
MESSAGE 'Finished!'(FIN) TYPE 'S'.
*&---------------------------------------------------------------------*
*& Form show_progressbar
*&---------------------------------------------------------------------*
FORM SHOW_PROGRESSBAR USING UPCT TYPE I.
DATA: FBAR TYPE C LENGTH 13,
FMSG TYPE C LENGTH 70.
CONSTANTS: PERCENT1 TYPE C VALUE '▏',
PERCENT2 TYPE C VALUE '▎',
PERCENT3 TYPE C VALUE '▍',
PERCENT4 TYPE C VALUE '▌',
PERCENT5 TYPE C VALUE '▋',
PERCENT6 TYPE C VALUE '▊',
PERCENT7 TYPE C VALUE '▉',
PERCENT8 TYPE C VALUE '█'.
DATA: FMOD TYPE N,
FTIM TYPE I,
FFIELD TYPE C LENGTH 10,
FIDX TYPE C LENGTH 3.
FIELD-SYMBOLS: <FS> TYPE C.
FTIM = UPCT DIV 8.
FMOD = UPCT MOD 8.
CLEAR: FBAR.
DO FTIM TIMES.
CONCATENATE FBAR PERCENT8 INTO FBAR.
ENDDO.
IF FMOD NE 0.
CONCATENATE 'percent' FMOD INTO FFIELD.
ASSIGN (FFIELD) TO <FS> .
CONCATENATE <FS> FBAR INTO FBAR.
ENDIF.
FIDX = SY-INDEX.
CONCATENATE FBAR FIDX '%' INTO FMSG.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = UPCT
TEXT = FMSG.
ENDFORM. "show_progressbar
显示效果非常拉风: