Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

ALV Grid with check box

Former Member
0 Kudos

Hi All,

I have developed a ALV grid report where my first feild is checkbox.My requirement is that when user select some records using check box in output then a BDC should call to update each records.

But i am enable to get checked records when i click a button on application toolbaar.Please sugest me the way to get checked records.

I have used below code:

WA_FIELDCAT-FIELDNAME = 'CHECKBOX'.

WA_FIELDCAT-TABNAME = 'IT_BLOCKED_CUS'.

WA_FIELDCAT-CHECKBOX = 'X'.

wa_FIELDCAT-INPUT = 'X'.

WA_FIELDCAT-EDIT = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'KUNN2'.

WA_FIELDCAT-TABNAME = 'IT_BLOCKED_CUS'.

WA_FIELDCAT-SELTEXT_L = TEXT-001.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'KUNNR'.

WA_FIELDCAT-TABNAME = 'IT_BLOCKED_CUS'.

WA_FIELDCAT-SELTEXT_L = TEXT-002.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = G_REPID

I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

IT_EVENTS = IT_EVENTS

I_SAVE = 'A'

I_GRID_SETTINGS = S_GLAY

  • IT_SORT = IT_SORT

I_DEFAULT = 'X'

TABLES

T_OUTTAB = IT_BLOCKED_CUS

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

IF SY-SUBRC NE 0.

MESSAGE I018.

LEAVE LIST-PROCESSING.

ENDIF.

FORM PF_STATUS USING LT_EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'ZSTATUS'.

ENDFORM.

FORM USER_COMMAND USING G_UCOMM TYPE SY-UCOMM

R_SELFIELD TYPE SLIS_SELFIELD.

data: REF_GRID TYPE REF TO CL_GUI_ALV_GRID,

l_valid type c.

CASE G_UCOMM.

WHEN '&BLK_UNBLK'.

IF REF_GRID IS INITIAL.

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'

IMPORTING

E_GRID = REF_GRID.

ENDIF.

IF NOT REF_GRID IS INITIAL.

CALL METHOD REF_GRID->CHECK_CHANGED_DATA

ENDIF.

loop at IT_blocked_cus into wa_blocked_cus where CHECKBOX = 'X' .

PERFORM CALL_BDC.

endloop.

Please help me.

Regards,

Mohit khandelwal

1 ACCEPTED SOLUTION

former_member188685
Active Contributor
0 Kudos
FORM USER_COMMAND USING G_UCOMM TYPE SY-UCOMM
R_SELFIELD TYPE SLIS_SELFIELD.

data: REF_GRID TYPE REF TO CL_GUI_ALV_GRID,
l_valid type c.

break-point.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF_GRID.

IF NOT REF_GRID IS INITIAL.
CALL METHOD REF_GRID->CHECK_CHANGED_DATA
ENDIF.


CASE G_UCOMM.

WHEN '&BLK_UNBLK'.

loop at IT_blocked_cus into wa_blocked_cus where CHECKBOX = 'X' .
PERFORM CALL_BDC.
endloop.
endcase.
endform.

keep break-point in the above form and see. what is happening.

4 REPLIES 4

former_member188685
Active Contributor
0 Kudos
FORM USER_COMMAND USING G_UCOMM TYPE SY-UCOMM
R_SELFIELD TYPE SLIS_SELFIELD.

data: REF_GRID TYPE REF TO CL_GUI_ALV_GRID,
l_valid type c.

break-point.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF_GRID.

IF NOT REF_GRID IS INITIAL.
CALL METHOD REF_GRID->CHECK_CHANGED_DATA
ENDIF.


CASE G_UCOMM.

WHEN '&BLK_UNBLK'.

loop at IT_blocked_cus into wa_blocked_cus where CHECKBOX = 'X' .
PERFORM CALL_BDC.
endloop.
endcase.
endform.

keep break-point in the above form and see. what is happening.

0 Kudos

Hi,

Thanks for ur sugestion.Both function modules returns sy-subrc 0.But still check box field is not getting updated.

I couldn't find any clue for that.

Thanks

Mohit Khandelwal

0 Kudos
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_EVENTS = IT_EVENTS
I_SAVE = 'A'
IT_SORT = IT_SORT 
I_DEFAULT = 'X'
TABLES
T_OUTTAB = IT_BLOCKED_CUS
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.

IF SY-SUBRC NE 0.

ENDIF.

I just removed the s_glay. now try once. if possible share your code once.

0 Kudos

Hi ,

Thanks for your help.My problem solved once i removed s_glay.

Regards,

Mohit Khandelwal