Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV Function Module

Former Member
0 Likes
493

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.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
466

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

4 REPLIES 4
Read only

former_member404244
Active Contributor
0 Likes
466

Hi,

Check the below link

http://www.uber-goober.com/forums/showthread.php?t=6061

Reward if helpful.

Regards,

Nagaraj

Read only

Former Member
0 Likes
466

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

Read only

Former Member
0 Likes
467

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