• 转:在ABAP中实现进度条的例子


    小弟在做一个项目时用户提出程序运行时显示进度条的问题,加之本人以前也碰到这种需要求,所以按以前在WIN32下的编程经验,设计了一个进度条显示INCLUDE程序。这个程序可以显示条状进度条以及进度百份比,并可以显示注释,现将代码COPY如下:

    *&---------------------------------------------------------------------*
    *& Include ZSHOWMES *
    *&---------------------------------------------------------------------*
    *& Author : wuping *
    *& Create Date : 2006-05-17 *
    *& 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.
  • 相关阅读:
    java_list<String> string[]拼接json
    java_method_删除事务回滚
    java_jdk_JDK版本切换批处理脚本
    java_js_检查是否全为数字
    java_method_stringUtils
    java_method_下拉框成json
    java_method_下载导入模版
    java_js_json_日期格式化
    java_js从字符串中截取数字
    gulp+tp5配置
  • 原文地址:https://www.cnblogs.com/elegantok/p/1572054.html
Copyright © 2020-2023  润新知