CHECK BOX POP-UP AS INPUT HELP FOR ALV REPORT :
Provide check box pop-up help for input and then based on check box selection display output.
*&---------------------------------------------------------------------*
*& Report ZR_CHECKBOX_AS_IN_HELP_ALV
*&
*&---------------------------------------------------------------------*
REPORT ZR_CHECKBOX_AS_IN_HELP_ALV.
TYPE-POOLS: SLIS.
TABLES: T134.
TYPES: BEGIN OF TY_T134,
CHECK TYPE CHAR1,
MTART TYPE T134-MTART,
END OF TY_T134.
DATA : IT_T134 TYPE TABLE OF TY_T134,
WA_T134 TYPE TY_T134.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT LIKE LINE OF IT_FCAT.
DATA: IT_MARA TYPE TABLE OF MARA,
WA_MARA TYPE MARA.
SELECT-OPTIONS: S_MTART FOR T134-MTART NO INTERVALS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_MTART-LOW.
WA_FCAT-COL_POS = 1.
WA_FCAT-FIELDNAME = 'CHECK'.
WA_FCAT-SELTEXT_M = 'Select'.
WA_FCAT-TABNAME = 'IT_T134'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = 2.
WA_FCAT-FIELDNAME = 'MTART'.
WA_FCAT-SELTEXT_M = 'Material Type'.
WA_FCAT-TABNAME = 'IT_T134'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
SELECT MTART
FROM T134
INTO CORRESPONDING FIELDS OF TABLE IT_T134.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_TITLE = 'Select Material Type'
I_CHECKBOX_FIELDNAME = 'CHECK'
I_TABNAME = 'IT_T134'
IT_FIELDCAT = IT_FCAT
I_CALLBACK_PROGRAM = SY-REPID
TABLES
T_OUTTAB = IT_T134
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
LOOP AT IT_T134 INTO WA_T134 WHERE CHECK = 'X'.
S_MTART-LOW = WA_T134-MTART.
S_MTART-OPTION = 'EQ'.
S_MTART-SIGN = 'I'.
APPEND S_MTART.
ENDLOOP.
START-OF-SELECTION.
SELECT * FROM MARA
INTO TABLE IT_MARA
UP TO 50 ROWS
WHERE MTART IN S_MTART .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_STRUCTURE_NAME = 'MARA'
TABLES
T_OUTTAB = IT_MARA
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
OUTPUT:
Provide check box pop-up help for input and then based on check box selection display output.
*&---------------------------------------------------------------------*
*& Report ZR_CHECKBOX_AS_IN_HELP_ALV
*&
*&---------------------------------------------------------------------*
REPORT ZR_CHECKBOX_AS_IN_HELP_ALV.
TYPE-POOLS: SLIS.
TABLES: T134.
TYPES: BEGIN OF TY_T134,
CHECK TYPE CHAR1,
MTART TYPE T134-MTART,
END OF TY_T134.
DATA : IT_T134 TYPE TABLE OF TY_T134,
WA_T134 TYPE TY_T134.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT LIKE LINE OF IT_FCAT.
DATA: IT_MARA TYPE TABLE OF MARA,
WA_MARA TYPE MARA.
SELECT-OPTIONS: S_MTART FOR T134-MTART NO INTERVALS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_MTART-LOW.
WA_FCAT-COL_POS = 1.
WA_FCAT-FIELDNAME = 'CHECK'.
WA_FCAT-SELTEXT_M = 'Select'.
WA_FCAT-TABNAME = 'IT_T134'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = 2.
WA_FCAT-FIELDNAME = 'MTART'.
WA_FCAT-SELTEXT_M = 'Material Type'.
WA_FCAT-TABNAME = 'IT_T134'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
SELECT MTART
FROM T134
INTO CORRESPONDING FIELDS OF TABLE IT_T134.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_TITLE = 'Select Material Type'
I_CHECKBOX_FIELDNAME = 'CHECK'
I_TABNAME = 'IT_T134'
IT_FIELDCAT = IT_FCAT
I_CALLBACK_PROGRAM = SY-REPID
TABLES
T_OUTTAB = IT_T134
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
LOOP AT IT_T134 INTO WA_T134 WHERE CHECK = 'X'.
S_MTART-LOW = WA_T134-MTART.
S_MTART-OPTION = 'EQ'.
S_MTART-SIGN = 'I'.
APPEND S_MTART.
ENDLOOP.
START-OF-SELECTION.
SELECT * FROM MARA
INTO TABLE IT_MARA
UP TO 50 ROWS
WHERE MTART IN S_MTART .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_STRUCTURE_NAME = 'MARA'
TABLES
T_OUTTAB = IT_MARA
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
OUTPUT: