Skip to Content
1
Former Member
Jan 29, 2009 at 04:26 PM

how to enable the check box using cl_salv_table?

5750 Views

Hi Experts,

what code will change for to enable the check box in the following Report program?

REPORT ZMA_ALV_OOPS2.

TABLES:MARA.

TYPES:BEGIN OF T_MARA,

SEL TYPE C,

MATNR TYPE MARA-MATNR,

WERKS TYPE MARC-WERKS,

LGORT TYPE MARD-LGORT,

LABST TYPE MARD-LABST,

END OF T_MARA.

DATA:TB_MARA TYPE STANDARD TABLE OF T_MARA,

WA_MARA TYPE T_MARA.

DATA: GR_TABLE TYPE REF TO CL_SALV_TABLE.

DATA: GR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS.

DATA: GR_DISPLAY TYPE REF TO CL_SALV_DISPLAY_SETTINGS.

DATA: GR_COLUMNS TYPE REF TO CL_SALV_COLUMNS_TABLE.

DATA: GR_COLUMN TYPE REF TO CL_SALV_COLUMN_TABLE.

DATA: GR_SORTS TYPE REF TO CL_SALV_SORTS.

DATA: GR_AGG TYPE REF TO CL_SALV_AGGREGATIONS.

DATA: GR_FILTER TYPE REF TO CL_SALV_FILTERS.

DATA: GR_LAYOUT TYPE REF TO CL_SALV_LAYOUT.

DATA: GR_PRINT TYPE REF TO CL_SALV_PRINT.

DATA: GR_SELE TYPE REF TO CL_SALV_SELECTIONS.

DATA: GC_TRUE TYPE SAP_BOOL VALUE 'X'.

DATA: GR_ITEM TYPE REF TO CL_SALV_ITEM.

DATA: COLUMNNAME TYPE REF TO LVC_FNAME.

  • top of list for CCL

DATA: GR_CONTENT_CCL TYPE REF TO CL_SALV_FORM_ELEMENT.

DATA: GR_COL TYPE REF TO CL_SALV_COLUMN.

DATA: LT_SORT TYPE SALV_T_SORT_REF,

LS_SORT TYPE SALV_S_SORT_REF,

L_SEQUENCE TYPE SALV_DE_SORT_SEQUENCE,

T_SORT TYPE REF TO SALV_T_SORT_REF.

DATA: KEY TYPE SALV_S_LAYOUT_KEY.

DATA: COLOR TYPE LVC_S_COLO.

DATA: GR_EVENTS TYPE REF TO CL_SALV_EVENTS_TABLE.

DATA: GR_SELECTIONS TYPE REF TO CL_SALV_SELECTIONS.

**--Selection screen

SELECT-OPTIONS:S_MATNR FOR MARA-MATNR.

SELECT MATNR WERKS LGORT LABST

FROM MARD

INTO CORRESPONDING FIELDS OF TABLE TB_MARA

WHERE MATNR IN S_MATNR.

TRY.

CALL METHOD CL_SALV_TABLE=>FACTORY

IMPORTING

R_SALV_TABLE = GR_TABLE

CHANGING

T_TABLE = TB_MARA.

CATCH CX_SALV_MSG.

ENDTRY.

GR_TABLE->SET_SCREEN_STATUS(

PFSTATUS = 'SALV_TABLE_STANDARD'

REPORT = SY-REPID

SET_FUNCTIONS = GR_TABLE->C_FUNCTIONS_ALL ).

GR_FUNCTIONS = GR_TABLE->GET_FUNCTIONS( ).

GR_FUNCTIONS->SET_ALL( ABAP_TRUE ).

GR_DISPLAY = GR_TABLE->GET_DISPLAY_SETTINGS( ).

GR_SELE = GR_TABLE->GET_SELECTIONS( ).

GR_SELE->SET_SELECTION_MODE( ).

GR_TABLE->SET_TOP_OF_LIST( GR_CONTENT_CCL ).

*--- To change the column headings

GR_COLUMNS = GR_TABLE->GET_COLUMNS( ).

GR_COLUMNS->SET_OPTIMIZE( GC_TRUE ).

GR_SORTS = GR_TABLE->GET_SORTS( ).

TRY.

GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( 'SEL' ) .

GR_COLUMN->SET_CELL_TYPE( IF_SALV_C_CELL_TYPE=>CHECKBOX ).

GR_COLUMN->SET_LONG_TEXT( 'CHECKBOX' ).

CATCH CX_SALV_NOT_FOUND.

ENDTRY.

GR_COLUMN->SET_CELL_TYPE( 6 ).

GR_COLUMN->SET_SHORT_TEXT( 'Check Box' ).

GR_COLUMN->SET_LONG_TEXT( 'Check Box' ).

******Check box edit

******

TRY.

GR_SORTS->ADD_SORT( COLUMNNAME = 'MATNR' SEQUENCE =

IF_SALV_C_SORT=>SORT_UP ).

CATCH CX_SALV_DATA_ERROR

CX_SALV_NOT_FOUND

CX_SALV_EXISTING.

ENDTRY.

GR_LAYOUT = GR_TABLE->GET_LAYOUT( ).

KEY-REPORT = SY-REPID.

GR_LAYOUT->SET_KEY( KEY ).

GR_LAYOUT->SET_SAVE_RESTRICTION( CL_SALV_LAYOUT=>RESTRICT_NONE ).

TRY.

GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( 'MATNR' ).

CATCH CX_SALV_NOT_FOUND.

ENDTRY.

COLOR-COL = '8'.

COLOR-INT = '0'.

COLOR-INV = '1'.

GR_COLUMN->SET_COLOR( COLOR ).

GR_TABLE->DISPLAY( ).

Thanks,

Mahesh.