abap动态进度条

来源:互联网 发布:淘宝怎么激活蚂蚁花呗 编辑:程序博客网 时间:2024/05/09 13:19

*&---------------------------------------------------------------------*
*& 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.

原创粉丝点击