Progress indicator / Progress bar pada SAP pada dasarnya adalah sebuah komponen yang digunakan untuk menampilkan sejauh mana sebuah proses berjalan. Hal ini bisa kita terapkan di berbagai keperluan, misalnya kita membuat sebuah report yang membutuhkan pemrosesan data yang memakan waktu cukup lama, sehingga untuk menampilkan sejauh mana proses sudah berjalan kita bisa menggunakan progress bar.
Contoh Script di ABAP :
REPORT ywhy_test11. "Buat Type TYPES: BEGIN OF ty_mkpf, mblnr TYPE mkpf-mblnr, END OF ty_mkpf. "Buat Data DATA: gd_percent TYPE i, ld_countdata TYPE i, lt_mkpf TYPE TABLE OF ty_mkpf WITH HEADER LINE. "Dapatkan semua data transaksi di table MKPF dan masukkan ke table data SELECT mblnr FROM mkpf INTO TABLE lt_mkpf. "Dapatkan jumlah baris table data mkpf DESCRIBE TABLE lt_mkpf LINES ld_countdata. "loop dan tampilkan progress indicator LOOP AT lt_mkpf. "Panggil subrutin progress bar PERFORM progress_bar USING 'Retrieving data….'(001) sy-tabix ld_countdata. ENDLOOP. "Tampilkan pesan jika proses telah berakhir WRITE 'Process Telah Berakhir'. FORM progress_bar USING p_value "Isi Data p_tabix "Tab Index p_nlines "berapa line . DATA: w_text(350), 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 '%)' INTO w_text. "Tidak perlu menampilkan percentage yang sama "Jika di ulang maka SAP akan berjalan lambat 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
Hasil nya dapat dilihat pada gambar berikut :
Demikian artikel mengenai PROGRESS INDICATOR – FUNCTION MODULE SAPGUI_PROGRESS_INDICATOR .
Semoga dapat membantu.