Sie sind auf Seite 1von 12

SAP List Viewer (ALV)

ALV Grid Control is SAPs graphical list-viewing tool and is similar in look and
feel to Microsoft Excel. It helps you turn data into information. It is introduced in version
4.5X. Sap provides a set of ALV function modules which enhance the readability and
functionality of any report output.
ALV functionality lets users:
Apply typical list functions like summing, sorting and filtering without extra
programming effort.
Add response to user action by clicking on display line.
Define and save custom output settings.
Export list to other applications like excel.
Create totals and sub-totals without additional programming effort.
The commonly used ALV functions for this purpose are;
REUSE_ALV_GRID_DISPLAY
REUSE_ALV_FIELDCATALOG_MERGE
REUSE_ALV_COMMENTARY_WRITE
REUSE_ALV_BLOCK_LIST_INIT
REUSE_ALV_BLOCK_LIST_APPEND
REUSE_ALV_BLOCK_LIST_DISPLAY

ZALV_01
*--ALV report generation with the help of DDIC Structure
REPORT.

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

DATA ITAB TYPE TABLE OF KNA1.


*--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.
*--Attaching Type Group to Current program
TYPE-POOLS SLIS.
DATA ITAB TYPE TABLE OF ZSTU1.
DATA IT_FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA IS_FCAT LIKE LINE OF IT_FCAT.
*--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
LOOP AT IT_FCAT INTO IS_FCAT.
"Modifyig MetaData Field by Field
IF IS_FCAT-FIELDNAME = 'SNAME'.
IS_FCAT-SELTEXT_M = 'Customer name'.
ENDIF.
IF IS_FCAT-FIELDNAME = 'SFEE'.
IS_FCAT-EMPHASIZE = 'C710'.
ENDIF.
MODIFY IT_FCAT FROM IS_FCAT.
ENDLOOP.
ENDFORM."
*--Subroutine
FORM FETCH_DATA.
SELECT * FROM ZSTU1 INTO TABLE ITAB UP TO 15 ROWS.
ENDFORM."
*--Subroutine

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

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.
*--Internal table holding data
DATA: BEGIN OF IT_DATA OCCURS 1,
RNO TYPE I,
NAME(20),
FEE TYPE I,
END OF IT_DATA.
*--Internal table holding Fields Info.
DATA IT_FCAT TYPE SLIS_FIELDCAT_ALV OCCURS 1 WITH HEADER LINE.
*--Macro for adding records to the internal table.
DEFINE ADD_RECORD.
IT_DATA-RNO = &1.
IT_DATA-NAME = &2.
IT_DATA-FEE = &3.
APPEND IT_DATA.
CLEAR IT_DATA.
END-OF-DEFINITION.
*--Main Program
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILD_FCAT.
PERFORM SHOW_GRID.
*--Filling the Internal Table
FORM GET_DATA.
ADD_RECORD 123 'Raju' 1000.
ADD_RECORD 133 'Sita' 2000.
ADD_RECORD 167 'Jani' 3000.
ENDFORM.
*--Building the Field Catalog Manually
FORM BUILD_FCAT.
*--------------------------------Field 1
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'RNO'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
*--------------------------------Field 2
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'NAME'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
*--------------------------------Field 3
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'FEE'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
ENDFORM.

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

*--Displaying ALV report


FORM SHOW_GRID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = IT_FCAT[]
TABLES
T_OUTTAB = IT_DATA[].
ENDFORM.
ZALV_04
*--ALV that uses few Fieldctalog, Layout and Sorting features
REPORT.
*--Including the Type group SLIS
TYPE-POOLS SLIS.
*--Internal table holding data
DATA: BEGIN OF IT_DATA OCCURS 1,
RNO TYPE I,
NAME(20),
FEE TYPE I,
GENDER,
END OF IT_DATA.
*--Internal table holding Fields Info.
DATA IT_FCAT TYPE SLIS_FIELDCAT_ALV OCCURS 1 WITH HEADER LINE.
*--Structure for Layout
DATA IS_LAY TYPE SLIS_LAYOUT_ALV.
*--Internal table holding Sort Criteria.
DATA IT_SORT TYPE SLIS_SORTINFO_ALV OCCURS 1 WITH HEADER LINE.
*--Macro for adding records to the internal table.
DEFINE ADD_RECORD.
IT_DATA-RNO = &1.
IT_DATA-NAME = &2.
IT_DATA-FEE = &3.
IT_DATA-GENDER = &4.
APPEND IT_DATA.
CLEAR IT_DATA.
END-OF-DEFINITION.
*--Main Program
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM BUILD_FCAT.
PERFORM CHANGE_LAYOUT.
PERFORM DO_SORT.
PERFORM SHOW_GRID.
*-FORM GET_DATA.
ADD_RECORD 123
ADD_RECORD 133
ADD_RECORD 167
ADD_RECORD 145
ADD_RECORD 190
ENDFORM.
*-FORM BUILD_FCAT.

'Raju' 1000 'M'.


'Sita' 2000 'F'.
'Jani' 3000 'M'.
'Laxmi' 6000 'F'.
'Srija' 5000 'F'.

*--------------------------------Field 1
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'RNO'.
IT_FCAT-EMPHASIZE = 'C510'.
IT_FCAT-SELTEXT_S = 'RNo'.

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

IT_FCAT-SELTEXT_M = 'Roll No.'.


IT_FCAT-SELTEXT_L = 'Roll Number'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
*--------------------------------Field 2
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'NAME'.
IT_FCAT-SELTEXT_S = 'Name'.
IT_FCAT-SELTEXT_M = 'Student Name'.
IT_FCAT-SELTEXT_L = 'Name of the Student'.
IT_FCAT-OUTPUTLEN = 30.
APPEND IT_FCAT.
CLEAR IT_FCAT.
*--------------------------------Field 3
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'FEE'.
IT_FCAT-SELTEXT_M = 'Fee Paid'.
IT_FCAT-SELTEXT_L = 'Amount of Fee Paid in Rs.'.
IT_FCAT-DO_SUM = 'X'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
*--------------------------------Field 4
IT_FCAT-TABNAME = 'IT_DATA'.
IT_FCAT-FIELDNAME = 'GENDER'.
IT_FCAT-SELTEXT_M = 'Sex code'.
APPEND IT_FCAT.
CLEAR IT_FCAT.

ENDFORM.

*-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'
EXPORTING
IT_SORT
= IT_SORT[]
IS_LAYOUT = IS_LAY
IT_FIELDCAT = IT_FCAT[]
TABLES
T_OUTTAB = IT_DATA[].

ENDFORM.
ZALV_05
*--ALV With TOP OF PAGE info
REPORT.
TYPE-POOLS SLIS.
DATA IT_DATA TYPE SPFLI OCCURS 1 WITH HEADER LINE.
START-OF-SELECTION.
PERFORM GET_DATA.

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

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.
*--Subroutine for Page Header Info
FORM SUB1.
DATA IT_HEAD TYPE SLIS_LISTHEADER OCCURS 1 WITH HEADER LINE.
DATA STR(30) TYPE C.
DATA REC(3) TYPE N.
*------------------Page Header line 1
IT_HEAD-TYP = 'H'.
IT_HEAD-INFO = 'BRSL'.
APPEND IT_HEAD.
CLEAR IT_HEAD.
*------------------Page Header line 1
WRITE SY-DATUM USING EDIT MASK 'Day=__ Month=__ Year=____' TO STR.
IT_HEAD-TYP = 'A'.
IT_HEAD-INFO = STR.
APPEND IT_HEAD.
CLEAR IT_HEAD.
for LOGOS
*------------------Page Header line 1
*--OAOR (or OAER )
DESCRIBE TABLE IT_DATA LINES REC.
transaction
IT_HEAD-TYP = 'S'.
*--Class Name:
IT_HEAD-INFO = REC.
PICTURES
IT_HEAD-KEY = 'Records:'.
*--Class Type: OT
APPEND IT_HEAD.
*--Object Key: ZPICT1
CLEAR IT_HEAD.
*--F8 (Execute)
*----Expand standard Doc.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
Types (at bottom)
EXPORTING
*----Double Click on
IT_LIST_COMMENTARY
= IT_HEAD[]
Screens and browse for
I_LOGO
= ZPICT1.
your BMP file and select it.
ENDFORM.
*----Continue, Back, Back
ZALV_06
close transaction
*--ALV with Page Header and Page Footer using Standard OOPs Classand
CL_DD_DOCUMENT
REPORT.
TYPE-POOLS SLIS.
DATA ITAB TYPE TABLE OF SCARR.
SELECT * FROM SCARR INTO TABLE ITAB.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

I_CALLBACK_PROGRAM
= SY-REPID
I_CALLBACK_HTML_TOP_OF_PAGE = 'SUB1'
I_CALLBACK_HTML_END_OF_LIST = 'SUB2'
I_STRUCTURE_NAME
= 'SCARR'
TABLES
T_OUTTAB
= ITAB.

Page Header Subroutine


Page Footer Subroutine

*--Page Header
FORM SUB1 USING OBJ TYPE REF TO CL_DD_DOCUMENT.
CALL METHOD OBJ->ADD_PICTURE
EXPORTING
PICTURE_ID = 'ENJOYSAP_LOGO'.
CALL METHOD OBJ->NEW_LINE.
CALL METHOD OBJ->ADD_TEXT
EXPORTING
TEXT = 'International Flights'.
CALL METHOD OBJ->NEW_LINE.
CALL METHOD OBJ->ADD_TEXT
EXPORTING
TEXT = 'Ameerpet'.
ENDFORM.

"

*--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),
CITYTO(20),
FCOLOR(4),
for Multicolored Rows
END OF IT_DATA.
DATA IT_FCAT TYPE SLIS_FIELDCAT_ALV OCCURS 1 WITH HEADER LINE.
DATA IS_LAY TYPE SLIS_LAYOUT_ALV.
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.

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

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.
TYPES: BEGIN OF TY_STU,
RNO TYPE I,
NAME(20) TYPE C,
FEE TYPE P DECIMALS 2,
FLIGHTS TYPE I,
for Traffic Lights
END OF TY_STU.
DATA ITAB TYPE TABLE OF TY_STU WITH HEADER LINE.
DATA IT_FCAT TYPE TABLE OF SLIS_FIELDCAT_ALV WITH HEADER LINE.
DATA IS_LAY TYPE SLIS_LAYOUT_ALV.

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

*--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'.
ENDFORM.
"

for Traffic Lights

*-FORM GET_DATA.
ADD_RECORD
ADD_RECORD
ADD_RECORD
ADD_RECORD
ADD_RECORD
ADD_RECORD
ADD_RECORD
ADD_RECORD
ADD_RECORD
ADD_RECORD
ADD_RECORD

121
221
321
421
521
621
721
821
921
131
132

'Raju1' 1000.
'Raju2' 2000.
'Raju3' 3000.
'Raju4' 4000.
'Raju6' 1500.
'Raju6' 1200.
'Raju7' 100.
'Raju8' 200.
'Raju9' 7000.
'Raju10' 8000.
'Raju11' 10000.

LOOP AT ITAB.
IF ITAB-FEE < 1000.
ITAB-FLIGHTS = 1.
ELSEIF ITAB-FEE < 5000.
ITAB-FLIGHTS = 2.
ELSE.
ITAB-FLIGHTS = 3.
ENDIF.
MODIFY ITAB.
ENDLOOP.
ENDFORM.
"
*-FORM BUILD_FCAT.

Red Light
Yellow Light
Green Light

IT_FCAT-TABNAME = 'ITAB'.
IT_FCAT-FIELDNAME = 'RNO'.
IT_FCAT-SELTEXT_L = 'Roll Number'.
APPEND IT_FCAT.
CLEAR IT_FCAT.
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.

"

*--

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

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.
*--subroutine for displaying 1st ALV that contains Header details
FORM SHOW_HEADER_DATA.
SELECT * FROM SCARR INTO TABLE IT_DATA1.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM
= SY_REPID
I_CALLBACK_USER_COMMAND = 'SUB1' "name of the subroutine
I_STRUCTURE_NAME
= 'SCARR'
TABLES
T_OUTTAB
= IT_DATA1[].

ENDFORM.

*--Subroutine that can generate 2nd ALV corresponding to the selected


*--entry in header ALV
FORM SUB1 USING UCOMM LIKE SY-UCOMM
SELFLD TYPE SLIS_SELFIELD.
*--read the details of selected record into the header line IT_DATA1
READ TABLE IT_DATA1 INDEX SELFLD-TABINDEX.
*--Fetch all the Item Records from SPFLI whose CARRID matches with
*--selected record's CARRID.
SELECT * FROM SPFLI INTO TABLE IT_DATA2
WHERE CARRID = IT_DATA1-CARRID.

*--Display the Item's ALV

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_STRUCTURE_NAME = 'SPFLI'
TABLES
T_OUTTAB
= IT_DATA2[].

ENDFORM.
ZALV_10
*--Hierarchical ALV Reporting
*--Displaying Header and Item Tables data as Parent and Child nodes format
REPORT.
TYPE-POOLS SLIS.
DATA SKEY TYPE SLIS_KEYINFO_ALV.
DATA IT_HEAD TYPE TABLE OF SCARR.
DATA IT_ITEMS TYPE TABLE OF SFLIGHT.
SELECT * FROM SCARR INTO TABLE IT_HEAD.
SELECT * FROM SFLIGHT INTO TABLE IT_ITEMS.

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

10

*--Key Information which maintains Common Field between Two tables


SKEY-HEADER01 = 'CARRID'.
SKEY-ITEM01 = 'CARRID'.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM
= SY-REPID
I_TABNAME_HEADER
= 'IT_HEAD'
I_TABNAME_ITEM
= 'IT_ITEMS'
I_STRUCTURE_NAME_HEADER = 'SCARR'
I_STRUCTURE_NAME_ITEM = 'SFLIGHT'
IS_KEYINFO
= SKEY
"Key Information
TABLES
T_OUTTAB_HEADER
= IT_HEAD[]
T_OUTTAB_ITEM
= IT_ITEMS[].

ZALV_11
*--Blocked ALV Reporting. Displaying more than one ALV in one screen
REPORT.
TYPE-POOLS SLIS.
DATA IT_DATA1 TYPE SCARR OCCURS 1 WITH HEADER LINE.
DATA IT_DATA2 TYPE MARA OCCURS 1 WITH HEADER LINE.
DATA IT_DATA3 TYPE VBRK OCCURS 1 WITH HEADER LINE.
DATA IS_LAY1 TYPE SLIS_LAYOUT_ALV.
DATA IT_FCAT1 TYPE SLIS_FIELDCAT_ALV OCCURS 1.
DATA IT_EVENTS1 TYPE SLIS_ALV_EVENT OCCURS 1.
DATA IS_LAY2 TYPE SLIS_LAYOUT_ALV.
DATA IT_FCAT2 TYPE SLIS_FIELDCAT_ALV OCCURS 1.
DATA IT_EVENTS2 TYPE SLIS_ALV_EVENT OCCURS 1.
DATA IS_LAY3 TYPE SLIS_LAYOUT_ALV.
DATA IT_FCAT3 TYPE SLIS_FIELDCAT_ALV OCCURS 1.
DATA IT_EVENTS3 TYPE SLIS_ALV_EVENT OCCURS 1.

*--Main program
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM GENERATE_FCATS.
PERFORM COMBINING_ALVS.

*--Filling Internal tables with necessary details


FORM GET_DATA.
SELECT * FROM SCARR INTO TABLE IT_DATA1.
SELECT * FROM MARA INTO TABLE IT_DATA2 UP TO 5 ROWS.
SELECT * FROM VBRK INTO TABLE IT_DATA3 UP TO 8 ROWS.
ENDFORM.
*-FORM GENERATE_FCATS.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
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'
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'
EXPORTING
I_PROGRAM_NAME
= SY-REPID

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

for 1st ALV

for 2nd ALV

for 3rd ALV

11

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.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' Adding 1st ALV
EXPORTING
IS_LAYOUT = IS_LAY1
IT_FIELDCAT = IT_FCAT1
I_TABNAME = 'IT_DATA1'
IT_EVENTS = IT_EVENTS1
TABLES
T_OUTTAB = IT_DATA1[].
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_ APPEND' Adding 2nd ALV
EXPORTING
IS_LAYOUT = IS_LAY2
IT_FIELDCAT = IT_FCAT2
I_TABNAME = 'IT_DATA2'
IT_EVENTS = IT_EVENTS2
TABLES
T_OUTTAB = IT_DATA2[].
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_ APPEND' Adding 3rd ALV
EXPORTING
IS_LAYOUT = IS_LAY3
IT_FIELDCAT = IT_FCAT3
I_TABNAME = 'IT_DATA3'
IT_EVENTS = IT_EVENTS3
TABLES
T_OUTTAB = IT_DATA3[].
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
ENDFORM.

SAP-ABAP ALVs with Function Modules


Faculty: NagaBabu Tubati

12

Das könnte Ihnen auch gefallen