mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Merge pull request #1563 from mkaesemann/feature/limit_progress_indicator_update
Limit Progress Indicator Updates
This commit is contained in:
commit
17d59cc28f
|
@ -22,6 +22,9 @@ CLASS zcl_abapgit_progress DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_pct) TYPE i .
|
VALUE(rv_pct) TYPE i .
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
DATA mv_cv_time_next TYPE sy-uzeit .
|
||||||
|
DATA mv_cv_datum_next TYPE sy-datum .
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -52,14 +55,37 @@ CLASS ZCL_ABAPGIT_PROGRESS IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD show.
|
METHOD show.
|
||||||
|
|
||||||
DATA: lv_pct TYPE i.
|
DATA: lv_pct TYPE i.
|
||||||
|
DATA: lv_time TYPE t.
|
||||||
|
|
||||||
lv_pct = calc_pct( iv_current ).
|
CONSTANTS: c_wait_secs TYPE i VALUE 2.
|
||||||
|
|
||||||
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
|
GET TIME.
|
||||||
EXPORTING
|
lv_time = sy-uzeit.
|
||||||
percentage = lv_pct
|
IF mv_cv_time_next IS INITIAL AND mv_cv_datum_next IS INITIAL.
|
||||||
text = iv_text.
|
mv_cv_time_next = lv_time.
|
||||||
|
mv_cv_datum_next = sy-datum.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
"We only do a progress indication if enough time has passed
|
||||||
|
IF lv_time >= mv_cv_time_next AND sy-datum = mv_cv_datum_next OR
|
||||||
|
sy-datum > mv_cv_datum_next.
|
||||||
|
|
||||||
|
lv_pct = calc_pct( iv_current ).
|
||||||
|
|
||||||
|
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
|
||||||
|
EXPORTING
|
||||||
|
percentage = lv_pct
|
||||||
|
text = iv_text.
|
||||||
|
mv_cv_time_next = lv_time + c_wait_secs.
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
IF sy-datum > mv_cv_datum_next.
|
||||||
|
mv_cv_datum_next = sy-datum.
|
||||||
|
ENDIF.
|
||||||
|
IF mv_cv_time_next < lv_time.
|
||||||
|
mv_cv_datum_next = sy-datum + 1.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -14,6 +14,20 @@
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
<UNICODE>X</UNICODE>
|
<UNICODE>X</UNICODE>
|
||||||
</VSEOCLASS>
|
</VSEOCLASS>
|
||||||
|
<DESCRIPTIONS>
|
||||||
|
<SEOCOMPOTX>
|
||||||
|
<CLSNAME>ZCL_ABAPGIT_PROGRESS</CLSNAME>
|
||||||
|
<CMPNAME>MV_CV_DATUM_NEXT</CMPNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>Date or Earliest, Next Progress Display</DESCRIPT>
|
||||||
|
</SEOCOMPOTX>
|
||||||
|
<SEOCOMPOTX>
|
||||||
|
<CLSNAME>ZCL_ABAPGIT_PROGRESS</CLSNAME>
|
||||||
|
<CMPNAME>MV_CV_TIME_NEXT</CMPNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>Time of Earliest, Next Progress Display</DESCRIPT>
|
||||||
|
</SEOCOMPOTX>
|
||||||
|
</DESCRIPTIONS>
|
||||||
</asx:values>
|
</asx:values>
|
||||||
</asx:abap>
|
</asx:abap>
|
||||||
</abapGit>
|
</abapGit>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user