Abap Progress Bar Yapımı

25 Ağustos

2015

Abap Progress Bar Yapımı :

Abapta yapılan işlem sırasında işlemin yüzdelik olarak aşağıda gösterilmesini sağlamak istiyorsanız aşağıdaki kodlamayla yapabilirsiniz.


TYPES: BEGIN OF t_mara,
  matnr LIKE mara-matnr,
END OF t_mara.
DATA: it_mara TYPE STANDARD TABLE OF t_mara INITIAL SIZE 0,
      wa_mara TYPE t_mara.
DATA: mara_lines TYPE I,
      gd_percent TYPE I.
START-OF-SELECTION.

SELECT matnr
INTO TABLE it_mara
FROM mara.

CHECK sy-subrc EQ 0.
mara_lines = sy-dbcnt.
CLEAR: gd_percent.

LOOP AT it_mara INTO wa_mara.
  PERFORM progress_bar USING 'Veriler alınıyor...'(001)
        sy-tabix
        mara_lines.

ENDLOOP.

FORM progress_bar USING    p_value
      p_tabix
      p_nlines.

  DATA: w_text(40),
        w_percentage TYPE p,
        w_percent_char(3).

  w_percentage = ( p_tabix / p_nlines ) * 100.
  w_percent_char = w_percentage.
  SHIFT w_percent_char LEFT DELETING LEADING ' '.
  CONCATENATE p_value w_percent_char '% Tamamlandı'(002) INTO w_text.

  IF w_percentage GT gd_percent OR p_tabix EQ 1.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      percentage = w_percentage
      TEXT       = w_text.
    gd_percent = w_percentage.
  ENDIF.
ENDFORM.                    " PROGRESS_BAR

Yorumlar

Yorum Yapın !

%d blogcu bunu beğendi: