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: 

check boxes in ALV Report how to do ?

Former Member
0 Kudos

ALV report how to keep check box in the first field?

thanks in advance..

chalapathi

3 REPLIES 3

Former Member
0 Kudos

Hi,

see this sample code

TYPE-POOLS: slis.

DATA: BEGIN OF itab6 OCCURS 0,
chk TYPE c,
a TYPE p,
b TYPE p,
END OF itab6.

DATA: ls_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.


itab6-a = '112'.
itab6-b = '225'.
APPEND itab6.
APPEND itab6.
APPEND itab6.
APPEND itab6.

ls_fieldcat-fieldname = 'CHK'.
ls_fieldcat-checkbox  = 'X'.            "for making this fld a chk box
ls_fieldcat-seltext_m = 'Chk box'.
ls_fieldcat-edit      = 'X'.
APPEND ls_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'A'.
ls_fieldcat-seltext_m = 'Hi'.
APPEND ls_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'B'.
ls_fieldcat-seltext_m = 'Hello'.
APPEND ls_fieldcat.
CLEAR ls_fieldcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_callback_program = sy-repid
    it_fieldcat        = ls_fieldcat[]
  TABLES
    t_outtab           = itab6[].

Cheers,

jose.

Former Member
0 Kudos

hi,

Check this small code.. U will get clear idea.

Report.

data : begin of it occurs 0,

MATNR TYPE MATNR,

c1 , " CHECK BOX FIELDS

c2,

end of it.

type-pools : slis.

data itlog type slis_t_fieldcat_alv.

data walog type slis_fieldcat_alv.

SELECT MATNR

FROM MARA

INTO TABLE IT .

****INSERTING CHECKBOX IN CHANGE MODE

WALOG-FIELDNAME = 'C1'.

WALOG-TABNAME = 'IT'.

WALOG-SELTEXT_M = 'CHECKBOX1'.

walog-CHECKBOX = 'X'.

WALOG-EDIT = 'X'.

APPEND WALOG TO ITLOG.

****INSERTING CHECKBOX IN DISPLAY MODE

WALOG-FIELDNAME = 'C2'.

WALOG-TABNAME = 'IT'.

WALOG-SELTEXT_M = 'CHECKBOX2'.

walog-CHECKBOX = 'X'.

WALOG-EDIT = ''.

APPEND WALOG TO ITLOG.

WALOG-FIELDNAME = 'MATNR'.

WALOG-TABNAME = 'IT'.

WALOG-SELTEXT_M = 'MATERIAL'.

walog-CHECKBOX = ''.

WALOG-EDIT = 'X'.

WALOG-NO_ZERO = 'X'. " LEFT ZEROS WILL CUT

APPEND WALOG TO ITLOG.

*WALOG-FIELDNAME = 'ICON'.

*WALOG-TABNAME = 'IT'.

*WALOG-SELTEXT_M = 'ICON'. "IN FIELDCATALOG ADDING THAT ICON

*walog-ICON = 'X'.

*walog-just = 'R'. " RIGHT JUSTIFICATION OR LEFT

**WALOG-EDIT = ''.

*APPEND WALOG TO ITLOG.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'ZALV_SIMPLE1'

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = ITLOG

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

Thanks and Regards,

surya

Former Member
0 Kudos
TYPE-POOLS : slis.


*-------------- Data

DATA : BEGIN OF itab OCCURS 0.
INCLUDE STRUCTURE t001.
DATA : flag tyPE c,
END OF itab.
DATA : alvfc TYPE slis_t_fieldcat_alv.
DATA : alvly TYPE slis_layout_alv.

*--------- Select Data

SELECT * FROM t001 INTO TABLE itab.


*------- Field Catalogue
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'ITAB'
i_inclname = sy-repid
CHANGING
ct_fieldcat = alvfc
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.


*---------------Display
alvly-box_fieldname = 'FLAG'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
it_fieldcat = alvfc
i_callback_program = sy-repid "<-------Important
i_callback_user_command = 'ITAB_USER_COMMAND' "<------ Important
is_layout = alvly
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.



*-------------------------------------------------
* CALL BACK FORM
*-------------------------------------------------

FORM itab_user_command USING whatcomm TYPE sy-ucomm whatrow TYPE
slis_selfield.

data : msg(100) type c.

LOOP AT itab.
if itab-flag = 'X'.
msg = sy-tabix.
condense msg.
concatenate 'Row Number ' msg ' ' into msg
separated by space.
message msg type 'I'.
endif.

ENDLOOP.



ENDFORM. "ITAB_user_command

regards,