在 SAP GUI 的状态栏显示进度条

SAP 标准的进度指示是通过调用函数模块 SAPGUI_PROGRESS_INDICATOR 实现的,表现为一个运行的时钟加上说明文字,但是有些用户认为时钟不好看,希望使用传统的 Windows 进度条,下面程序就是用字符模拟的进度条。不过本人认为,这个进度条还不如时钟好看 :-P。

 

注意,由于模拟字符属于 Unicode 字符集,因此本程序只能在 Unicode 系统中显示进度条,在非 Unicode 系统中,这些字符都会显示成“#”。

显示进度的程序基本封装在一个子程序里,您也可以自己把它封装到函数模块中,还可以添加其它用户消息。

 

Code
*&---------------------------------------------------------------------*
*& Report ZPROGRESSBAR
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zprogressbar.

DO
100 TIMES.
PERFORM show_progressbar USING sy
-index.
WAIT UP TO
1 SECONDS.
ENDDO.
MESSAGE
'Finished!'(fin) TYPE 'S'.

*&---------------------------------------------------------------------*
*& Form show_progressbar
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PCT text
*----------------------------------------------------------------------*
FORM show_progressbar USING upct TYPE i.

DATA: fbar TYPE c LENGTH
13,
fmsg TYPE c LENGTH
70.

CONSTANTS: percent1 TYPE c VALUE
'',
percent2 TYPE c VALUE
'',
percent3 TYPE c VALUE
'',
percent4 TYPE c VALUE
'',
percent5 TYPE c VALUE
'',
percent6 TYPE c VALUE
'',
percent7 TYPE c VALUE
'',
percent8 TYPE c VALUE
''.

DATA: fmod TYPE n,
ftim TYPE i,
ffield TYPE c LENGTH
10,
fidx TYPE c LENGTH
3.

FIELD
-SYMBOLS: <fs> TYPE c.

ftim
= upct DIV 8.
fmod
= upct MOD 8.
CLEAR: fbar.
DO ftim TIMES.
CONCATENATE fbar percent8 INTO fbar.
ENDDO.
IF fmod NE
0.
CONCATENATE
'percent' fmod INTO ffield.
ASSIGN (ffield) TO
<fs>.
CONCATENATE fbar
<fs> INTO fbar.
ENDIF.
fidx
= sy-index.
CONCATENATE fbar fidx
'%' INTO fmsg.

CALL FUNCTION
'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage
= upct
text
= fmsg.
.
ENDFORM.
"show_progressbar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值