abap动态进度条

本文介绍了一个用于ABAP环境中显示进度信息的程序示例。该程序通过一个包含百分比和消息的进度条来展示运行状态,适用于长时间运行的任务。通过调整输入参数,可以改变进度条的显示内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值