*&---------------------------------------------------------------------*
*& Include ZSHOWMES *
*&---------------------------------------------------------------------*
*& Author : jackxiong
*& Create Date : 2009-09-28*
*& Program Type : Report *
*& SAP Release : 4.7C *
*& Description : 用來做資訊類型 *
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form. SCHEDULE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM schedule USING
c_message TYPE c
i_percent TYPE i.
DATA: c_sche(204).
IF i_percent <= 0 OR i_percent > 100 .
c_sche = '百分比錯誤!!!'.
ELSE.
DATA: c_percent(4),
c_block(6) TYPE c VALUE '■■',
i_blocklen TYPE i,
i_count TYPE i,
i_col TYPE i,
i_len TYPE i,
i_temp TYPE i VALUE 0,
i_mod TYPE i.
i_blocklen = STRLEN( c_block ).
c_percent = i_percent.
CONDENSE c_percent.
c_percent+3(1) = '%'.
c_sche = c_percent.
i_count = i_percent / 4.
DO i_count TIMES.
i_col = ( i_temp * i_blocklen ) + 4.
c_sche+i_col(i_blocklen) = c_block.
i_temp = i_temp + 1.
ENDDO.
i_len = STRLEN( c_message ).
i_mod = i_len MOD 2.
IF i_mod = 1.
i_len = i_len + 1.
ENDIF.
IF i_len > 0.
c_sche+4(i_len) = c_message.
ENDIF.
i_len = STRLEN( c_sche ).
ENDIF.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 0
text = c_sche
EXCEPTIONS
OTHERS = 1.
ENDFORM. " SCHEDULE
*以下是調用這個include的示例程式:
**&---------------------------------------------------------------------*
**& Report ZTEMP_8 *
**& *
**&---------------------------------------------------------------------*
**& *
**& *
**&---------------------------------------------------------------------*
*
*report ztemp_8 .
*INCLUDE zshowmes.
*DATA: i_prog TYPE i,
*i_prog2 TYPE i.
*
*START-OF-SELECTION.
* DO 100 TIMES .
* DO 100000 TIMES.
* i_prog2 = i_prog2 + 1.
* ENDDO.
* i_prog = i_prog + 1.
* WRITE: / '第' NO-GAP , i_prog NO-GAP , '次運作:',i_prog2.
* PERFORM. schedule using '' i_prog. "調用上面的INCLUDE顯示進度
* ENDDO.