‎2007 Nov 15 12:22 PM
hi expert,
can u tl me abt the function module "REUSE_ALV_BLOCK_LIST_HS_APPEND"
if possible gv me a small example.
points wl b rewarded.
‎2007 Nov 15 12:44 PM
Hi Chandu
This is an example I have On the FM u required.
REPORT ZHSALV .
TYPE-POOLS SLIS.
TABLES : SFLIGHT,SBOOK.
DATA ITAB_SFLIGHT LIKE SFLIGHT OCCURS 0 WITH HEADER LINE.
DATA ITAB_SBOOK LIKE SBOOK OCCURS 0 WITH HEADER LINE.
DATA FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE.
DATA LAYOUT TYPE SLIS_LAYOUT_ALV .
DATA KEYINFO TYPE SLIS_KEYINFO_ALV.
SELECT * FROM SFLIGHT INTO TABLE ITAB_SFLIGHT.
SELECT * FROM SBOOK INTO TABLE ITAB_SBOOK.
FIELDCAT-COL_POS = 1.
FIELDCAT-FIELDNAME = 'CARRID'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SFLIGHT'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 2.
FIELDCAT-FIELDNAME = 'CONNID'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SFLIGHT'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 3.
FIELDCAT-FIELDNAME = 'FLDATE'.
FIELDCAT-TABNAME = 'ITAB_SFLIGHT'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 4.
FIELDCAT-FIELDNAME = 'SEATSMAX'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SFLIGHT'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 1.
FIELDCAT-FIELDNAME = 'CARRID'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SBOOK'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 2.
FIELDCAT-FIELDNAME = 'CONNID'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SBOOK'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 3.
FIELDCAT-FIELDNAME = 'FLDATE'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SBOOK'.
APPEND FIELDCAT.
EVENTS-FORM = 'TOP'.
EVENTS-NAME = 'TOP_OF_PAGE'.
APPEND EVENTS.
KEYINFO-HEADER01 = 'CARRID'.
KEYINFO-ITEM01 = 'CARRID'.
KEYINFO-HEADER01 = 'CONNID'.
KEYINFO-ITEM01 = 'CONNID'.
KEYINFO-HEADER01 = 'FLDATE'.
KEYINFO-ITEM01 = 'FLDATE'.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IT_EXCLUDING =
.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_HS_APPEND'
EXPORTING
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FIELDCAT[]
IS_KEYINFO = KEYINFO
I_HEADER_TABNAME = 'ITAB_SFLIGHT'
I_ITEM_TABNAME = 'ITAB_SBOOK'
IT_EVENTS = EVENTS[]
IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB_HEADER = ITAB_SFLIGHT
T_OUTTAB_ITEM = ITAB_SBOOK
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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.
FORM TOP.
WRITE 😕 'TOP OF PAGE'.
ENDFORM.
If helpful, reward points
‎2007 Nov 15 12:28 PM
Hi,
Check the below link
http://www.uber-goober.com/forums/showthread.php?t=6061
Reward if helpful.
Regards,
Nagaraj
‎2007 Nov 15 12:31 PM
Hi ...
it is used to generate a hierarchical list with block.
See below example..
TYPE-POOLS : SLIS.
TABLES : EKKO,EKPO,MARA,MAKT,EINE.
DATA : BEGIN OF IEKKO OCCURS 0,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
END OF IEKKO.
DATA : BEGIN OF IEKPO OCCURS 0,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
MENGE LIKE EKPO-MENGE,
MEINS LIKE EKPO-MEINS,
INFNR LIKE EKPO-INFNR,
END OF IEKPO.
DATA : BEGIN OF IMARA OCCURS 0,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MAKTX LIKE MAKT-MAKTX,
END OF IMARA.
DATA : BEGIN OF IEINE OCCURS 0,
INFNR LIKE EINE-INFNR,
EBELN LIKE EINE-EBELN,
NETPR LIKE EINE-NETPR,
WAERS LIKE EINE-WAERS,
END OF IEINE.
DATA : IFIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
IFIELDCATEINE TYPE SLIS_T_FIELDCAT_ALV,
IFIELDCATMARA TYPE SLIS_T_FIELDCAT_ALV,
WFIELDCAT TYPE SLIS_FIELDCAT_ALV,
ILAYOUT TYPE SLIS_LAYOUT_ALV,
IEVENTHEAD TYPE SLIS_T_EVENT,
IEVENTITEM TYPE SLIS_T_EVENT,
IEVENTEINE TYPE SLIS_T_EVENT,
WEVENT TYPE SLIS_ALV_EVENT,
IKEYINFO TYPE SLIS_KEYINFO_ALV.
PARAMETERS : P_NUM(3) TYPE N DEFAULT 10.
PERFORM GET_DATA_EKKO.
PERFORM GET_DATA_EKPO.
PERFORM GET_DATA_MARA.
PERFORM GET_DATA_EINE.
PERFORM BUILD_FCAT_HEAD.
PERFORM BUILD_FCAT_ITEM.
PERFORM BUILD_FCAT_MARA.
PERFORM BUILD_FCAT_EINE.
PERFORM BUILD_LAYOUT.
PERFORM BUILD_EVENT_TAB.
PERFORM BUILD_KEYINFO.
PERFORM DISPLAY_BLOCK.
&----
*& Form GET_DATA_EKKO
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_EKKO .
SELECT EBELN AEDAT INTO TABLE IEKKO FROM EKKO UP TO P_NUM ROWS WHERE EBELN LIKE '45000057%'.
ENDFORM. " GET_DATA_EKKO
&----
*& Form GET_DATA_EKPO
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_EKPO .
IF NOT IEKKO[] IS INITIAL.
SELECT EBELN EBELP MATNR MENGE MEINS INFNR INTO TABLE IEKPO FROM EKPO FOR ALL ENTRIES
IN IEKKO WHERE EBELN = IEKKO-EBELN.
ENDIF.
ENDFORM. " GET_DATA_EKPO
&----
*& Form DISPLAY_BLOCK
&----
text
----
--> p1 text
<-- p2 text
----
FORM DISPLAY_BLOCK .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IT_EXCLUDING =
.
CALL FUNCTION '<b>REUSE_ALV_BLOCK_LIST_HS_APPEND</b>'
EXPORTING
IS_LAYOUT = ILAYOUT
IT_FIELDCAT = IFIELDCAT
IS_KEYINFO = IKEYINFO
I_HEADER_TABNAME = 'IEKKO'
I_ITEM_TABNAME = 'IEKPO'
IT_EVENTS = IEVENTHEAD
IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB_HEADER = IEKKO
T_OUTTAB_ITEM = IEKPO
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = ILAYOUT
IT_FIELDCAT = IFIELDCATMARA
I_TABNAME = 'IMARA'
IT_EVENTS = IEVENTITEM
IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB = IMARA
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = ILAYOUT
IT_FIELDCAT = IFIELDCATEINE
I_TABNAME = 'IEINE'
IT_EVENTS = IEVENTEINE
IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB = IEINE
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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.
ENDFORM. " DISPLAY_BLOCK
&----
*& Form BUILD_FCAT_HEAD
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FCAT_HEAD .
WFIELDCAT-FIELDNAME = 'EBELN'.
WFIELDCAT-TABNAME = 'IEKKO'.
WFIELDCAT-SELTEXT_L = 'Pur. Doc no'.
WFIELDCAT-OUTPUTLEN = 15.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'AEDAT'.
WFIELDCAT-TABNAME = 'IEKKO'.
WFIELDCAT-SELTEXT_L = 'Pur. doc date'.
WFIELDCAT-OUTPUTLEN = 15.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.
ENDFORM. " BUILD_FCAT_HEAD
&----
*& Form BUILD_FCAT_ITEM
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FCAT_ITEM .
*WFIELDCAT-FIELDNAME = 'EBELN'.
*WFIELDCAT-TABNAME = 'IEKPO'.
*WFIELDCAT-SELTEXT_L = 'Pur. Doc no'.
*WFIELDCAT-OUTPUTLEN = 15.
*APPEND WFIELDCAT TO IFIELDCAT.
*CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'EBELP'.
WFIELDCAT-TABNAME = 'IEKPO'.
WFIELDCAT-SELTEXT_L = 'Pur. Doc item'.
WFIELDCAT-OUTPUTLEN = 15.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'MATNR'.
WFIELDCAT-TABNAME = 'IEKPO'.
WFIELDCAT-SELTEXT_L = 'Material no'.
WFIELDCAT-OUTPUTLEN = 18.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'MENGE'.
WFIELDCAT-TABNAME = 'IEKPO'.
WFIELDCAT-SELTEXT_L = 'P.O. Qty'.
WFIELDCAT-OUTPUTLEN = 15.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'MEINS'.
WFIELDCAT-TABNAME = 'IEKPO'.
WFIELDCAT-SELTEXT_L = 'UOM'.
WFIELDCAT-OUTPUTLEN = 3.
APPEND WFIELDCAT TO IFIELDCAT.
CLEAR WFIELDCAT.
ENDFORM. " BUILD_FCAT_ITEM
&----
*& Form BUILD_LAYOUT
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_LAYOUT .
ILAYOUT-COLWIDTH_OPTIMIZE = 'X'.
ILAYOUT-ZEBRA = 'X'.
ENDFORM. " BUILD_LAYOUT
&----
*& Form BUILD_EVENT_TAB
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_EVENT_TAB .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IEVENTHEAD
EXCEPTIONS
LIST_TYPE_WRONG = 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.
IEVENTITEM = IEVENTHEAD.
IEVENTEINE = IEVENTHEAD.
READ TABLE IEVENTHEAD INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC = 0.
WEVENT-FORM = 'TOPOFPAGEHEAD'.
MODIFY IEVENTHEAD FROM WEVENT INDEX SY-TABIX.
ENDIF.
READ TABLE IEVENTITEM INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC = 0.
WEVENT-FORM = 'TOPOFPAGEITEM'.
MODIFY IEVENTITEM FROM WEVENT INDEX SY-TABIX.
ENDIF.
READ TABLE IEVENTEINE INTO WEVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC = 0.
WEVENT-FORM = 'TOPOFPAGEEINE'.
MODIFY IEVENTEINE FROM WEVENT INDEX SY-TABIX.
ENDIF.
ENDFORM. " BUILD_EVENT_TAB
FORM TOPOFPAGEHEAD.
DATA : ILIST TYPE SLIS_T_LISTHEADER,
WLIST TYPE SLIS_LISTHEADER.
WLIST-INFO = 'Header data with P.O. no and creating date'.
WLIST-TYP = 'H'.
APPEND WLIST TO ILIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = ILIST
I_LOGO =
I_END_OF_LIST_GRID =
.
ENDFORM.
FORM TOPOFPAGEITEM.
DATA : ILIST TYPE SLIS_T_LISTHEADER,
WLIST TYPE SLIS_LISTHEADER.
WLIST-INFO = 'Material no in PO with type and description'.
WLIST-TYP = 'H'.
APPEND WLIST TO ILIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = ILIST
I_LOGO =
I_END_OF_LIST_GRID =
.
ENDFORM.
&----
*& Form BUILD_KEYINFO
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_KEYINFO .
IKEYINFO-HEADER01 = 'EBELN'.
IKEYINFO-ITEM01 = 'EBELN'.
ENDFORM. " BUILD_KEYINFO
&----
*& Form BUILD_FCAT_MARA
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FCAT_MARA .
WFIELDCAT-FIELDNAME = 'MATNR'.
WFIELDCAT-TABNAME = 'IMARA'.
WFIELDCAT-SELTEXT_L = 'Material no'.
WFIELDCAT-OUTPUTLEN = 18.
APPEND WFIELDCAT TO IFIELDCATMARA.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'MAKTX'.
WFIELDCAT-TABNAME = 'IMARA'.
WFIELDCAT-SELTEXT_L = 'Material desc'.
WFIELDCAT-OUTPUTLEN = 30.
APPEND WFIELDCAT TO IFIELDCATMARA.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'MTART'.
WFIELDCAT-TABNAME = 'IMARA'.
WFIELDCAT-SELTEXT_L = 'Material typ'.
WFIELDCAT-OUTPUTLEN = 15.
APPEND WFIELDCAT TO IFIELDCATMARA.
CLEAR WFIELDCAT.
ENDFORM. " BUILD_FCAT_MARA
&----
*& Form GET_DATA_MARA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_MARA .
IF NOT IEKPO[] IS INITIAL.
SELECT AMATNR AMTART B~MAKTX INTO TABLE IMARA FROM MARA AS A INNER JOIN
MAKT AS B ON
AMATNR = BMATNR FOR
ALL ENTRIES IN IEKPO
WHERE A~MATNR = IEKPO-MATNR.
ENDIF.
ENDFORM. " GET_DATA_MARA
&----
*& Form GET_DATA_EINE
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA_EINE .
IF NOT IEKPO[] IS INITIAL.
SELECT INFNR EBELN NETPR WAERS INTO TABLE IEINE FROM EINE
FOR ALL ENTRIES IN IEKPO WHERE INFNR = IEKPO-INFNR AND
EBELN = IEKPO-EBELN.
ENDIF.
ENDFORM. " GET_DATA_EINE
FORM TOPOFPAGEEINE.
DATA : ILIST TYPE SLIS_T_LISTHEADER,
WLIST TYPE SLIS_LISTHEADER.
WLIST-INFO = 'Purchasing info record'.
WLIST-TYP = 'H'.
APPEND WLIST TO ILIST.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = ILIST
I_LOGO =
I_END_OF_LIST_GRID =
.
ENDFORM.
&----
*& Form BUILD_FCAT_EINE
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FCAT_EINE .
WFIELDCAT-FIELDNAME = 'INFNR'.
WFIELDCAT-TABNAME = 'IEINE'.
WFIELDCAT-SELTEXT_L = 'Info rec no'.
WFIELDCAT-OUTPUTLEN = 15.
APPEND WFIELDCAT TO IFIELDCATEINE.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'EBELN'.
WFIELDCAT-TABNAME = 'IEINE'.
WFIELDCAT-SELTEXT_L = 'Pur ord no'.
WFIELDCAT-OUTPUTLEN = 15.
APPEND WFIELDCAT TO IFIELDCATEINE.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'NETPR'.
WFIELDCAT-TABNAME = 'IEINE'.
WFIELDCAT-SELTEXT_L = 'Net price'.
WFIELDCAT-OUTPUTLEN = 15.
APPEND WFIELDCAT TO IFIELDCATEINE.
CLEAR WFIELDCAT.
WFIELDCAT-FIELDNAME = 'WAERS'.
WFIELDCAT-TABNAME = 'IEINE'.
WFIELDCAT-SELTEXT_L = 'Currency'.
WFIELDCAT-OUTPUTLEN = 10.
APPEND WFIELDCAT TO IFIELDCATEINE.
CLEAR WFIELDCAT.
ENDFORM. " BUILD_FCAT_EINE
see example BALVBT01 also...
Hope it will solve ur problem...
<b>reward points if useful</b>
Thanks & Regards
ilesh 24x7
‎2007 Nov 15 12:44 PM
Hi Chandu
This is an example I have On the FM u required.
REPORT ZHSALV .
TYPE-POOLS SLIS.
TABLES : SFLIGHT,SBOOK.
DATA ITAB_SFLIGHT LIKE SFLIGHT OCCURS 0 WITH HEADER LINE.
DATA ITAB_SBOOK LIKE SBOOK OCCURS 0 WITH HEADER LINE.
DATA FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE.
DATA LAYOUT TYPE SLIS_LAYOUT_ALV .
DATA KEYINFO TYPE SLIS_KEYINFO_ALV.
SELECT * FROM SFLIGHT INTO TABLE ITAB_SFLIGHT.
SELECT * FROM SBOOK INTO TABLE ITAB_SBOOK.
FIELDCAT-COL_POS = 1.
FIELDCAT-FIELDNAME = 'CARRID'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SFLIGHT'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 2.
FIELDCAT-FIELDNAME = 'CONNID'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SFLIGHT'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 3.
FIELDCAT-FIELDNAME = 'FLDATE'.
FIELDCAT-TABNAME = 'ITAB_SFLIGHT'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 4.
FIELDCAT-FIELDNAME = 'SEATSMAX'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SFLIGHT'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 1.
FIELDCAT-FIELDNAME = 'CARRID'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SBOOK'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 2.
FIELDCAT-FIELDNAME = 'CONNID'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SBOOK'.
APPEND FIELDCAT.
FIELDCAT-COL_POS = 3.
FIELDCAT-FIELDNAME = 'FLDATE'.
FIELDCAT-REF_TABNAME = 'SFLIGHT'.
FIELDCAT-TABNAME = 'ITAB_SBOOK'.
APPEND FIELDCAT.
EVENTS-FORM = 'TOP'.
EVENTS-NAME = 'TOP_OF_PAGE'.
APPEND EVENTS.
KEYINFO-HEADER01 = 'CARRID'.
KEYINFO-ITEM01 = 'CARRID'.
KEYINFO-HEADER01 = 'CONNID'.
KEYINFO-ITEM01 = 'CONNID'.
KEYINFO-HEADER01 = 'FLDATE'.
KEYINFO-ITEM01 = 'FLDATE'.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IT_EXCLUDING =
.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_HS_APPEND'
EXPORTING
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FIELDCAT[]
IS_KEYINFO = KEYINFO
I_HEADER_TABNAME = 'ITAB_SFLIGHT'
I_ITEM_TABNAME = 'ITAB_SBOOK'
IT_EVENTS = EVENTS[]
IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB_HEADER = ITAB_SFLIGHT
T_OUTTAB_ITEM = ITAB_SBOOK
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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.
FORM TOP.
WRITE 😕 'TOP OF PAGE'.
ENDFORM.
If helpful, reward points
‎2007 Nov 15 4:18 PM
Hi,
Check this links for complete alv information .
http://abapprogramming.blogspot.com/search/label/ABAP%20ALV%20IN%20BRIEF
http://abapprogramming.blogspot.com/search/label/ALV%20COMPLETE
http://abapprogramming.blogspot.com/search/label/ALV%20GRID%20CONTROL
http://abapprogramming.blogspot.com/search/label/ALV%20IN%20BRIEF
.