zoukankan      html  css  js  c++  java
  • 转:在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.
  • 相关阅读:
    【转】分治法求最大值最小值
    JPA基本实体映射学习
    android权限
    Servlet实现基本文件上传
    Flask项目部署(nginx+supervisor+uwsgi)
    DevExpress学习笔记(三)XtraGrid
    DevExpress学习笔记(五)-以拖拽的方式构建树(TreeList)
    使用ICE建立C++与C#的通讯
    带有Wallet的impdp导入过程
    调用ODAC报BadImageFormatException异常的解决方法
  • 原文地址:https://www.cnblogs.com/elegantok/p/1572054.html
Copyright © 2011-2022 走看看