admin管理员组

文章数量:1550528

在自开发的程序里有时候需要用到进度条来显示处理进度。如下图所示:

1.函数 (不推荐使用)

  DATA: lv_lines      TYPE i,  "总行数
  		lv_index      TYPE i,  "当前行数
  		lv_percentage TYPE i,  "百分比
        lv_text       TYPE sy-ucomm.  "显示消息 CHAR70

  DESCRIBE TABLE gt_alv LINES lv_lines.  "获取内表总行数

  LOOP AT gt_alv INTO DATA(ls_alv).
    lv_index = lv_index + 1.  "当前行数
    
    lv_percentage = lv_index * 100 / lv_lines.  "计算百分比
    
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'  "进度条显示
      EXPORTING
        percentage = lv_percentage  "百分比
        text       = lv_text.  "显示消息 CHAR70
  ENDLOOP.

2.类方法 (建议使用)

  DATA: lv_lines      TYPE i,  "总行数
  		lv_index      TYPE i,  "当前行数
        lv_text       TYPE sy-ucomm.  "显示消息 CHAR70

  DESCRIBE TABLE gt_alv LINES lv_lines.  "获取内表总行数

  LOOP AT gt_alv INTO DATA(ls_alv).
    lv_index = lv_index + 1.  "当前行数
    
    cl_progress_indicator=>progress_indicate(
      EXPORTING
        i_text               = lv_text  "显示消息 CHAR70
        i_processed          = lv_index  "当前行数
        i_total              = lv_lines  "总行数
        i_output_immediately = 'X'  "立刻显示  空为每10秒
    ).  "进度条显示
  ENDLOOP.

本文标签: 进度条ABAP