Sadece Filtrelenmiş Satırları Seçme
Bir raporda HEPSİNİ SEÇ butonu ile bütün check boxlar tıklanırken, filtreleme yaptığımızda da bütün satırların checkboxları tıklanıyor. Bu hatalı bir durumdur ve kullanıcı farketmeden bütün satırları seçip, bütün satırlar üzerinde işlem yapar.
CASE e_ucomm.
WHEN `&HEPSI`.
DATA(lt_tmp) = me->mt_100_itab[].
"Elenen satırlar çek
me->mo_grid_100->get_filtered_entries(
IMPORTING et_filtered_entries = DATA(lt_index) ).
SORT lt_index DESCENDING.
"Elenmiş satırları sil
LOOP AT lt_index ASSIGNING FIELD-SYMBOL(<lfs_index>).
DELETE lt_tmp INDEX <lfs_index>.
ENDLOOP.
"Sadece seçilmişleri işaretle
LOOP AT me->mt_100_itab ASSIGNING FIELD-SYMBOL(<lfs_itab>).
READ TABLE lt_tmp TRANSPORTING NO FIELDS
WITH KEY logno = <lfs_itab>-logno
logitem = <lfs_itab>-logitem
BINARY SEARCH.
IF sy-subrc = 0.
<lfs_itab>-check = `X`.
ENDIF.
ENDLOOP.
UNASSIGN <lfs_itab>.
WHEN `&HICBIRI`.
LOOP AT me->mt_100_itab ASSIGNING <lfs_itab>.
CLEAR <lfs_itab>-check.
ENDLOOP.
UNASSIGN <lfs_itab>.