SAP List Viewer (ALV)
SAP List Viewer (ALV)
SAP List Viewer (ALV)
Ameerpet, Hyderabad.
*--main program
START-OF-SELECTION.
PERFORM FETCH_DATA.
*--Output generation
END-OF-SELECTION.
PERFORM SHOW_ALV.
*--Subroutine
FORM FETCH_DATA.
SELECT * FROM KNA1 INTO TABLE ITAB UP TO 15 ROWS.
ENDFORM."
*--Subroutine
FORM SHOW_ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME = 'KNA1' "DDIC structure
TABLES
T_OUTTAB = ITAB.
ENDFORM."
ZALV_02
*--ALV report generation with the help of Field Catalog
*--Field Catalog is generated from DDIC structure and Later it is modified
REPORT.
*--main program
START-OF-SELECTION.
PERFORM FETCH_DATA.
PERFORM BUILD_FCAT.
*--Output generation
END-OF-SELECTION.
PERFORM SHOW_ALV.
*--Subroutine
FORM BUILD_FCAT.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_STRUCTURE_NAME = 'ZSTU1' "DDIC Table name
CHANGING
CT_FIELDCAT = IT_FCAT. "getting MetaData from DDIC
*--Subroutine
FORM SHOW_ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = IT_FCAT
TABLES
T_OUTTAB = ITAB.
ENDFORM."
ZALV_03
*--ALV by generating Fieldcatalog Manually
REPORT.
*--Including the Type group SLIS
TYPE-POOLS SLIS.
*--Main Program
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILD_FCAT.
PERFORM SHOW_GRID.
ZALV_04
*--ALV that uses few Fieldctalog, Layout and Sorting features
REPORT.
*--Including the Type group SLIS
TYPE-POOLS SLIS.
*--Main Program
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILD_FCAT.
PERFORM CHANGE_LAYOUT.
PERFORM DO_SORT.
PERFORM SHOW_GRID.
*--
FORM GET_DATA.
*--
FORM CHANGE_LAYOUT.
IS_LAY-ZEBRA = 'X'.
IS_LAY-NO_VLINE = 'X'.
IS_LAY-NO_HLINE = 'X'.
ENDFORM.
*--
FORM DO_SORT.
*-------------------------------Sort Criteria 1
IT_SORT-FIELDNAME = 'GENDER'.
IT_SORT-DOWN = 'X'.
IT_SORT-SUBTOT = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
*-------------------------------Sort Criteria 2
IT_SORT-FIELDNAME = 'FEE'.
IT_SORT-DOWN = 'X'.
APPEND IT_SORT.
CLEAR IT_SORT.
ENDFORM.
*--
FORM SHOW_GRID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM SHOW_GRID.
*--
FORM GET_DATA.
SELECT * FROM SPFLI INTO TABLE IT_DATA.
ENDFORM.
*--
FORM SHOW_GRID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'SUB1' "name of the subroutine
I_STRUCTURE_NAME = 'SPFLI'
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_GRID_TITLE = 'Bhaskar Reddy Software labs'
I_SCREEN_START_COLUMN = 5
I_SCREEN_START_LINE = 2
I_SCREEN_END_COLUMN = 100
I_SCREEN_END_LINE = 18
TABLES
T_OUTTAB = IT_DATA[].
ENDFORM.
TYPE-POOLS SLIS.
*--Page Header
FORM SUB1 USING OBJ TYPE REF TO CL_DD_DOCUMENT.
CALL METHOD OBJ->ADD_PICTURE
EXPORTING
PICTURE_ID = 'ENJOYSAP_LOGO'.
*--Page Footer
FORM SUB2 USING OBJ TYPE REF TO CL_DD_DOCUMENT.
CALL METHOD OBJ->ADD_TEXT
EXPORTING
TEXT = 'Bhaskar Reddy Software Labs'.
ENDFORM. "
ZALV_07
*--ALV with multicolored rows
REPORT.
TYPE-POOLS: SLIS.
DATA: BEGIN OF IT_DATA OCCURS 1,
CARRID(3),
CONNID(4),
CITYFROM(20),
START-OF-SELECTION.
PERFORM FILL_TABLE.
PERFORM BUILD_FCAT.
PERFORM MODIFY_LAYOUT.
PERFORM SHOW_ALV.
*--
FORM FILL_TABLE.
DATA STR(4).
DATA CH.
SELECT CARRID CONNID CITYFROM CITYTO FROM SPFLI INTO TABLE IT_DATA.
*--for getting different row colors
LOOP AT IT_DATA.
CH = SY-TABIX MOD 8.
CONCATENATE 'C' CH '10' INTO STR.
IT_DATA-FCOLOR = STR.
MODIFY IT_DATA.
ENDLOOP.
ENDFORM.
*--
FORM MODIFY_LAYOUT.
IS_LAY-INFO_FIELDNAME = 'FCOLOR'.
ENDFORM.
*--
FORM BUILD_FCAT.
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'CARRID'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'CONNID'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'CITYFROM'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'CITYTO'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
ENDFORM.
*--
FORM SHOW_ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IS_LAYOUT = IS_LAY
IT_FIELDCAT = IT_FCAT[]
TABLES
T_OUTTAB = IT_DATA[].
ENDFORM.
ZALV_08
*--ALV with Traffic Lights
REPORT.
TYPE-POOLS SLIS.
*--Macro
DEFINE ADD_RECORD.
ITAB-RNO = &1.
ITAB-NAME = &2.
ITAB-FEE = &3.
APPEND ITAB.
CLEAR ITAB.
END-OF-DEFINITION.
*--Main program
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILD_FCAT.
PERFORM MODIFY_LAYOUT.
PERFORM SHOW_ALV.
*--
FORM MODIFY_LAYOUT.
IS_LAY-LIGHTS_FIELDNAME = 'FLIGHTS'. “for Traffic Lights
ENDFORM. "
*--
FORM GET_DATA.
ADD_RECORD 121 'Raju1' 1000.
ADD_RECORD 221 'Raju2' 2000.
ADD_RECORD 321 'Raju3' 3000.
ADD_RECORD 421 'Raju4' 4000.
ADD_RECORD 521 'Raju6' 1500.
ADD_RECORD 621 'Raju6' 1200.
ADD_RECORD 721 'Raju7' 100.
ADD_RECORD 821 'Raju8' 200.
ADD_RECORD 921 'Raju9' 7000.
ADD_RECORD 131 'Raju10' 8000.
ADD_RECORD 132 'Raju11' 10000.
LOOP AT ITAB.
IT_FCAT-TABNAME = 'ITAB'.
IT_FCAT-FIELDNAME = 'NAME'.
IT_FCAT-OUTPUTLEN = 50.
IT_FCAT-JUST = 'C'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
IT_FCAT-TABNAME = 'ITAB'.
IT_FCAT-FIELDNAME = 'FEE'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
ENDFORM. "
*--
FORM SHOW_ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IS_LAYOUT = IS_LAY
IT_FIELDCAT = IT_FCAT[]
TABLES
T_OUTTAB = ITAB[].
ENDFORM. "
ZALV_09
*--Interactive ALV Reporting
*--to generate 2nd ALV with Item details by selecting
*--one header record from 1st ALV
REPORT.
TYPE-POOLS SLIS.
*--Header table
DATA IT_DATA1 TYPE SCARR OCCURS 1 WITH HEADER LINE.
*--Item table
DATA IT_DATA2 TYPE SPFLI OCCURS 1 WITH HEADER LINE.
*--Main Program
START-OF-SELECTION.
PERFORM SHOW_HEADER_DATA.
ZALV_10
*--Hierarchical ALV Reporting
*--Displaying Header and Item Tables data as Parent and Child nodes format
REPORT.
TYPE-POOLS SLIS.
ZALV_11
*--Blocked ALV Reporting. Displaying more than one ALV in one screen
REPORT.
TYPE-POOLS SLIS.
*--Main program
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM GENERATE_FCATS.
PERFORM COMBINING_ALVS.
*--
FORM GENERATE_FCATS.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' “for 1st ALV
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_DATA1'
I_STRUCTURE_NAME = 'SCARR'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = IT_FCAT1.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_ MERGE' “ for 2nd ALV
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_DATA2'
I_STRUCTURE_NAME = 'MARA'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = IT_FCAT2.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_ MERGE' “ for 3rd ALV
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_DATA3'
I_STRUCTURE_NAME = 'VBRK'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = IT_FCAT3.
ENDFORM.
*--
FORM COMBINING_ALVS.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID.