SAP ABAP: Capturing CHECK BOX event in FM REUSE_ALV_GRID_DISPLAY / Cell Editing
Requirement: Show total number of rows selected as message whenever a user
click on a check box column in REUSE_ALV_GRID_DISPLAY.
To accomplish this, we have to use EVENTS in REUSE_ALV_GRID_DISPLAY to capture changes made by the user.
In data declaration:
Data: gt_events TYPE slis_t_event,
wa_events TYPE slis_alv_event.
*/------------------------------------------------------------------------
FORM display_alv_report.
*/------------------------------------------------------------------------
gd_repid = sy-repid.
Refresh: gt_events.
wa_events-name = 'CALLER_EXIT'.
wa_events-form = 'CALLER_EXIT'.
APPEND wa_events TO gt_events.
wa_events-name = 'DATA_CHANGED'.
wa_events-form = 'DATA_CHANGED'.
APPEND wa_events TO gt_events.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
is_layout = wa_layout
it_events = gt_events
it_fieldcat = lt_fieldcat[]
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = i_Output
EXCEPTIONS
program_error = 1
OTHERS = 2.
If sy-subrc <> 0.
Message 'Error in ALV report display' type 'E'.
Endif.
ENDFORM. "End of DISPLAY_ALV_REPORT
*/======================================================================
*/---------------------------------------------------------------------
FORM data_changed USING ir_data_changed TYPE REF TO cl_alv_changed_data_protocol.
*/---------------------------------------------------------------------
**// This module will be called every time changes made on the 'TAG' column.
**// If in the register_edit_event you use the MC_EVT_MODIFIED, any field
**// that has an EDIT mode will call this module whenever changes been made without capturing the ENTER event.
DATA ls_modi TYPE lvc_s_modi.
* Check each modification:
LOOP AT ir_data_changed->mt_mod_cells INTO ls_modi.
CASE ls_modi-fieldname.
WHEN 'TAG'.
* break-point.
Read table i_Output Index ls_modi-row_id.
Check sy-subrc eq 0.
If i_Output-tag eq 'X'.
gTagCtr = gTagCtr - 1.
Else.
gTagCtr = gTagCtr + 1.
Endif.
Perform Mess_Info Using gTagCtr.
ENDCASE.
ENDLOOP.
ENDFORM. "End of data_changed
*/=====================================================================
*/--------------------------------------------------------------------
FORM Mess_Info Using gTagCtr.
*/--------------------------------------------------------------------
Data: cCtr(5) type c.
Data: Mess type string.
cCtr = gTagCtr.
Concatenate 'Total rows selected (' cCtr ')'
Into Mess Separated by Space.
Message Mess Type 'S' Display Like 'I'.
ENDFORM. "End of Mess_Info
*/=====================================================================
*/---------------------------------------------------------------------
FORM caller_exit USING is_data TYPE slis_data_caller_exit.
*/---------------------------------------------------------------------
**//This module will be fired up before displaying the ALV report.
DATA: lr_alv TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lr_alv.
CALL METHOD lr_alv->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.
ENDFORM. "End of CALLER_EXIT
*/=====================================================
Sample output displaying total number of rows selected in REAL TIME.
Good luck and happy abaping!
Mabuhay, Philippines!
click on a check box column in REUSE_ALV_GRID_DISPLAY.
To accomplish this, we have to use EVENTS in REUSE_ALV_GRID_DISPLAY to capture changes made by the user.
In data declaration:
Data: gt_events TYPE slis_t_event,
wa_events TYPE slis_alv_event.
*/------------------------------------------------------------------------
FORM display_alv_report.
*/------------------------------------------------------------------------
gd_repid = sy-repid.
Refresh: gt_events.
wa_events-name = 'CALLER_EXIT'.
wa_events-form = 'CALLER_EXIT'.
APPEND wa_events TO gt_events.
wa_events-name = 'DATA_CHANGED'.
wa_events-form = 'DATA_CHANGED'.
APPEND wa_events TO gt_events.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
is_layout = wa_layout
it_events = gt_events
it_fieldcat = lt_fieldcat[]
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = i_Output
EXCEPTIONS
program_error = 1
OTHERS = 2.
If sy-subrc <> 0.
Message 'Error in ALV report display' type 'E'.
Endif.
ENDFORM. "End of DISPLAY_ALV_REPORT
*/======================================================================
*/---------------------------------------------------------------------
FORM data_changed USING ir_data_changed TYPE REF TO cl_alv_changed_data_protocol.
*/---------------------------------------------------------------------
**// This module will be called every time changes made on the 'TAG' column.
**// If in the register_edit_event you use the MC_EVT_MODIFIED, any field
**// that has an EDIT mode will call this module whenever changes been made without capturing the ENTER event.
DATA ls_modi TYPE lvc_s_modi.
* Check each modification:
LOOP AT ir_data_changed->mt_mod_cells INTO ls_modi.
CASE ls_modi-fieldname.
WHEN 'TAG'.
* break-point.
Read table i_Output Index ls_modi-row_id.
Check sy-subrc eq 0.
If i_Output-tag eq 'X'.
gTagCtr = gTagCtr - 1.
Else.
gTagCtr = gTagCtr + 1.
Endif.
Perform Mess_Info Using gTagCtr.
ENDCASE.
ENDLOOP.
ENDFORM. "End of data_changed
*/=====================================================================
*/--------------------------------------------------------------------
FORM Mess_Info Using gTagCtr.
*/--------------------------------------------------------------------
Data: cCtr(5) type c.
Data: Mess type string.
cCtr = gTagCtr.
Concatenate 'Total rows selected (' cCtr ')'
Into Mess Separated by Space.
Message Mess Type 'S' Display Like 'I'.
ENDFORM. "End of Mess_Info
*/=====================================================================
*/---------------------------------------------------------------------
FORM caller_exit USING is_data TYPE slis_data_caller_exit.
*/---------------------------------------------------------------------
**//This module will be fired up before displaying the ALV report.
DATA: lr_alv TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lr_alv.
CALL METHOD lr_alv->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.
ENDFORM. "End of CALLER_EXIT
*/=====================================================
Sample output displaying total number of rows selected in REAL TIME.
Good luck and happy abaping!
Mabuhay, Philippines!
Bet365 Casino Review and Bonus - VieCasino.com
ReplyDeleteCheck out Bet365 happyluke Casino's wide bet365 range クイーンカジノ of games, slots, table games, live betting, live dealer games, bingo and more. Join today and claim your welcome bonus.
Capturing checkbox events in SAP ABAP within function modules is an essential capability. It enhances the user experience by enabling dynamic responses to user interactions. How Stream Anime It is empowering developers for SAP systems solution.
ReplyDeletehttps://bayanlarsitesi.com/
ReplyDeleteKayseri
Sinop
Kilis
Hakkari
İ5Z
Ankara
ReplyDeleteBolu
Sakarya
Mersin
Malatya
8JS
Ankara
ReplyDeleteVan
Hakkari
Edirne
Yozgat
31İLCD
ankara parça eşya taşıma
ReplyDeletetakipçi satın al
antalya rent a car
antalya rent a car
ankara parça eşya taşıma
CMMW1
urfa evden eve nakliyat
ReplyDeletemalatya evden eve nakliyat
burdur evden eve nakliyat
kırıkkale evden eve nakliyat
kars evden eve nakliyat
NY2YH3
6FE0C
ReplyDeleteArdahan Lojistik
Sivas Parça Eşya Taşıma
Manisa Evden Eve Nakliyat
Eskişehir Lojistik
Balıkesir Parça Eşya Taşıma
6CC54
ReplyDeleteBalıkesir Lojistik
Giresun Lojistik
Altındağ Boya Ustası
Tokat Evden Eve Nakliyat
Van Evden Eve Nakliyat
Mersin Şehirler Arası Nakliyat
Çorum Şehirler Arası Nakliyat
İstanbul Lojistik
Bolu Şehirler Arası Nakliyat
B1AB6
ReplyDeleteÇerkezköy Yol Yardım
Bitget Güvenilir mi
Edirne Lojistik
Malatya Şehir İçi Nakliyat
Kastamonu Lojistik
Düzce Lojistik
Bitrue Güvenilir mi
Mercatox Güvenilir mi
Edirne Şehirler Arası Nakliyat
4C697
ReplyDeleteÇankaya Parke Ustası
Batman Lojistik
Eskişehir Şehir İçi Nakliyat
Bingöl Şehirler Arası Nakliyat
Ünye Mutfak Dolabı
Paribu Güvenilir mi
Erzincan Lojistik
Diyarbakır Evden Eve Nakliyat
Erzurum Parça Eşya Taşıma
437F3
ReplyDeleteTekirdağ Evden Eve Nakliyat
Yenimahalle Boya Ustası
Hakkari Şehir İçi Nakliyat
Çerkezköy Fayans Ustası
Zonguldak Evden Eve Nakliyat
Çerkezköy Televizyon Tamircisi
Bitlis Şehirler Arası Nakliyat
Ünye Marangoz
Çankırı Parça Eşya Taşıma
03926
ReplyDeleteHuobi Güvenilir mi
Muğla Evden Eve Nakliyat
Yenimahalle Fayans Ustası
Binance Referans Kodu
Ünye Kurtarıcı
Çerkezköy Halı Yıkama
Ünye Televizyon Tamircisi
Çerkezköy Kombi Servisi
Siirt Evden Eve Nakliyat
DF7EA
ReplyDeleteKayseri Lojistik
Adıyaman Lojistik
Bursa Parça Eşya Taşıma
Sincan Fayans Ustası
Çerkezköy Marangoz
Kayseri Şehirler Arası Nakliyat
Ünye Evden Eve Nakliyat
Kırıkkale Evden Eve Nakliyat
primobolan
3DEF0
ReplyDeleteCoin Para Kazanma
https://resimlimag.net/
Bitcoin Kazma
Coin Oynama
Kripto Para Çıkarma Siteleri
Bitcoin Çıkarma
Kripto Para Madenciliği Nasıl Yapılır
Binance Para Kazanma
Bitcoin Kazanma
2642D
ReplyDeleteKripto Para Nasıl Üretilir
Bitcoin Çıkarma Siteleri
Bitcoin Giriş Nasıl Yapılır
Bitcoin Madenciliği Nasıl Yapılır
Coin Nedir
Kripto Para Çıkarma
Mexc Borsası Kimin
Coin Oynama
Bitcoin Kazma
73825
ReplyDeleteCoin Madenciliği Nasıl Yapılır
Coin Nasıl Oynanır
Binance Ne Zaman Kuruldu
Coin Madenciliği Siteleri
Bitcoin Nasıl Kazılır
Bitcoin Nasıl Alınır
Coin Üretme
Binance Nasıl Oynanır
Bitcoin Nasıl Alınır
A73B1
ReplyDeletebinance referans kodu
resimli magnet
resimli magnet
binance referans kodu
resimli magnet
referans kimliği nedir
referans kimliği nedir
binance referans kodu
binance referans kodu
02296
ReplyDeletebinance referans kodu
resimli magnet
referans kimliği nedir
binance referans kodu
binance referans kodu
resimli magnet
binance referans kodu
resimli magnet
referans kimliği nedir
C7EC4
ReplyDeletedenizli random görüntülü sohbet
konya telefonda görüntülü sohbet
artvin en iyi ücretsiz sohbet siteleri
kırklareli canlı sohbet odası
yozgat kadınlarla sohbet et
edirne kadınlarla sohbet
izmir bedava sohbet odaları
canlı görüntülü sohbet siteleri
bursa canli goruntulu sohbet siteleri
A5D75
ReplyDeleteAksaray Görüntülü Sohbet
artvin sohbet uygulamaları
canlı sohbet
kadınlarla görüntülü sohbet
Bitlis Sohbet
Denizli Canli Sohbet
karaman rastgele görüntülü sohbet ücretsiz
mobil sohbet odaları
kocaeli görüntülü sohbet uygulamaları ücretsiz
9FC97
ReplyDeletediyarbakır yabancı sohbet
canlı ücretsiz sohbet
canlı sohbet ücretsiz
canlı ücretsiz sohbet
Ağrı Bedava Sohbet Chat Odaları
Kayseri Görüntülü Sohbet Odaları
Mardin En İyi Görüntülü Sohbet Uygulamaları
denizli sesli sohbet odası
adana ücretsiz sohbet odaları
EE8D3
ReplyDeletecanlı ücretsiz sohbet
urfa görüntülü sohbet kızlarla
Gümüşhane Sesli Sohbet Sitesi
trabzon sohbet muhabbet
Siirt Görüntülü Sohbet Siteleri Ücretsiz
siirt sesli sohbet odası
Siirt Ücretsiz Sohbet Uygulaması
kütahya rastgele görüntülü sohbet ücretsiz
Bolu Görüntülü Sohbet Siteleri Ücretsiz
CF686
ReplyDeletepapaya meyvesi
en güvenilir kripto borsası
mexc
gate io
bingx
filtre kağıdı
paribu
deve sütü sabunu
bitget
5DF45
ReplyDeletebinance
bitcoin nasıl kazanılır
copy trade nedir
4g mobil proxy
bitcoin nasıl oynanır
bingx
bitrue
binance
toptan sabun
2F6B4
ReplyDeleteilk kripto borsası
vindax
bitget
kızlarla canlı sohbet
toptan mum
binance
referans kod
coin nasıl alınır
mexc
C2C5C
ReplyDeletegüvenilir kripto para siteleri
huobi
paribu
binance referans kod
https://kapinagelsin.com.tr/
sohbet canlı
gate io
kraken
bitmex
bxfdcvgfcxgbvcfhgbch
ReplyDeleteشركة تنظيف افران