1. 程式人生 > 其它 >SAPGUI_PROGRESS_INDICATOR 顯示處理進度條

SAPGUI_PROGRESS_INDICATOR 顯示處理進度條

原文連結:https://blog.csdn.net/hjackyua/article/details/62885137
————————————————
版權宣告:本文為CSDN博主「熙來攘往」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。


在執行報表的時候,經常會遇到資料量很大,每一次查詢都會花費很長的時間,鬱悶的是你不知道到底查詢的進度,
所以可以利用函式“SAPGUI_PROGRESS_INDICATOR”來計算進度,顯示給使用者看。

使用這個函式,你只要輸入查詢次數和提示文字即可,下面用一個例子來看看這函式的用法:

DATA: g_total TYPE i,
g_cnt type i,
g_index type i.

DATA: gt_sflight TYPE TABLE OF sflight WITH HEADER LINE. START-OF-SELECTION. SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_sflight FROM sflight. DESCRIBE TABLE gt_sflight LINES g_total. LOOP AT gt_sflight. g_cnt = g_cnt + 1. PERFORM progress_indicator USING g_cnt g_total '
Progressing'. ENDLOOP. WRITE 'success'. *---------------------------------------------------------------------* * FORM progress_indicator * *---------------------------------------------------------------------* * ........ *
*---------------------------------------------------------------------* * --> VALUE(P_CUR) * * --> VALUE(P_TOTAL) * * --> VALUE(P_TEXT) * *---------------------------------------------------------------------* FORM progress_indicator USING value(p_cur) value(p_total) value(p_text). DATA:lv_text(50) TYPE c, lv_idx(3) TYPE n. lv_idx = ( P_CUR / P_TOTAL ) * 100. CONCATENATE lv_idx '%:' p_text INTO lv_text. CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING percentage = lv_idx text = lv_text EXCEPTIONS OTHERS = 0. ENDFORM.

效果: