ABAP--SAP显示处理进度的函数

来源:互联网 发布:儿童学围棋软件 编辑:程序博客网 时间:2024/05/01 19:45

*---------------------------------------------------------------------*
*       FORM PROGRESS_INDICATOR                                       *
*---------------------------------------------------------------------*
form progress_indicator
                 using value(v_text) type c                              "输出文本
                       value(v_processed) like sy-tabix           "处理计数
                       value(v_total) like sy-tabix                       "总计数
                       value(v_new) type c.

  statics: s_time_next like sy-uzeit,
           s_date_next like sy-datum.

  data: l_percentage type i,
        l_text(72) type c.

  get time.
  if v_new is initial.
    check s_date_next < sy-datum
       or s_date_next = sy-datum and s_time_next <= sy-uzeit.
  endif.

  l_percentage = ( v_processed * 100 ) div v_total.
  if l_percentage > 0.
    write l_percentage to l_text.
    condense l_text.
    concatenate l_text '%' into l_text.
    condense l_text.
  endif.
  concatenate l_text v_text into l_text separated by space.
  condense l_text.
  call function 'SAPGUI_PROGRESS_INDICATOR'
    exporting
      percentage = l_percentage
      text       = l_text.

  s_date_next = sy-datum.
  s_time_next = sy-uzeit + 10.
  if s_time_next < sy-uzeit.
    add 1 to s_date_next.
  endif.
endform.                               "PROGRESS_INDICATOR


 

*----------------------------------------------------------------------*
* Form  WRITE_SAPGUI_TEXT
*----------------------------------------------------------------------*
* write a progress message on the GUI
*----------------------------------------------------------------------*
FORM write_sapgui_text USING p_text.

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      text = p_text.

ENDFORM.                    " WRITE_SAPGUI_TEXT

*----------------------------------------------------------------------*
* Form  WRITE_SAPGUI_PERC
*----------------------------------------------------------------------*
* write a progress message on the GUI
*----------------------------------------------------------------------*
FORM write_sapgui_perc USING p_text p_perc.

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      text       = p_text
      percentage = p_perc.

ENDFORM.                    " WRITE_SAPGUI_PERC

 

原创粉丝点击