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 report

Former Member
0 Likes
571

hi friends,

how to get two alv report outputs in a single list screen.

thanks...

hi friends,

how to get two alv report outputs in a single list screen.

thanks...

5 REPLIES 5
Read only

former_member673464
Active Contributor
0 Likes
551

hi,

You can use function module 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' to display hierachal alv list display.This is used when we want to display two lists in the single list screen.

regards,

veeresh

Read only

Former Member
0 Likes
551

Hi,

u can display 2 alv reports in single list screen using function modules

(REUSE_ALV_BLOCK_LIST_APPEND&REUSE_ALV_BLOCK_LIST_DISPLAY).

regards,

bharat.

Read only

Former Member
0 Likes
551

Hi,

here i am example program for u check it.

REPORT ZBHALV_BLOCK_LIST.

TABLES:LFA1,EKKO.

SELECT-OPTIONS:LIFNR FOR LFA1-LIFNR.

DATA:BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

ORT01 LIKE LFA1-ORT01,

REGIO LIKE LFA1-REGIO,

END OF ITAB.

DATA:BEGIN OF JTAB OCCURS 0,

LIFNR LIKE EKKO-LIFNR,

EBELN LIKE EKKO-EBELN,

BUKRS LIKE EKKO-BUKRS,

BSTYP LIKE EKKO-BSTYP,

EKORG LIKE EKKO-EKORG,

BSART LIKE EKKO-BSART,

END OF JTAB.

SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE LIFNR

IN LIFNR.

SELECT * FROM EKKO INTO CORRESPONDING FIELDS OF TABLE JTAB WHERE LIFNR

IN LIFNR.

TYPE-POOLS:SLIS.

DATA:LAYOUT TYPE slis_layout_alv.

DATA:EVE TYPE slis_t_event WITH HEADER LINE.

DATA:EVE1 TYPE slis_t_event WITH HEADER LINE.

DATA:HEAD TYPE slis_t_listheader WITH HEADER LINE.

DATA:FCAT TYPE slis_t_fieldcat_alv.

DATA:FCAT1 TYPE slis_t_fieldcat_alv.

LAYOUT-ZEBRA = 'X'.

LAYOUT-colwidth_optimize = 'X'.

LAYOUT-WINDOW_TITLEBAR = 'VENDOR DETAILS SCREEN'.

EVE1-NAME = 'TOP_OF_PAGE'.

EVE1-FORM = 'TOP_OF_PAGE1'.

APPEND EVE1.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = EVE[]

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.

READ TABLE EVE WITH KEY NAME = 'TOP_OF_PAGE'.

EVE-FORM = 'TOP_OF_PAGE'.

MODIFY EVE TRANSPORTING FORM WHERE NAME = 'TOP_OF_PAGE'.

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 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'ITAB'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = SY-REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = FCAT

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 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 = LAYOUT

IT_FIELDCAT = FCAT

I_TABNAME = 'ITAB'

IT_EVENTS = EVE[]

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB = ITAB

  • 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_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'JTAB'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = SY-REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = FCAT1

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 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 = LAYOUT

IT_FIELDCAT = FCAT1

I_TABNAME = 'JTAB'

IT_EVENTS = EVE1[]

  • IT_SORT =

  • I_TEXT = ' '

TABLES

T_OUTTAB = JTAB

  • 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_OF_PAGE.

REFRESH HEAD.

HEAD-TYP = 'H'.

HEAD-INFO = 'VENDORS DETAILS'.

APPEND HEAD.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEAD[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

FORM TOP_OF_PAGE1.

REFRESH HEAD.

HEAD-TYP = 'H'.

HEAD-INFO = 'PURCHASE DOCCUMENTS DETAILS'.

APPEND HEAD.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEAD[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

regards,

bharat.

Read only

Former Member
0 Likes
551

Hi ,

Check the following code.

Report zlist.

----


  • T Y P E - P O O L S

----


  • Alv-Grid Type

TYPE-POOLS :slis.

----


  • T A B L E S

----


*Tables

TABLES: vbap.

----


  • I N T E R N A L T A B L E S

----


DATA: ls_fieldcat_alv TYPE slis_fieldcat_alv, "FIELD CATALOG LIST FOR ALV

tb_field_cat TYPE slis_t_fieldcat_alv, "FIELD CATALOG

ls_fieldcat_alv1 TYPE slis_fieldcat_alv, "FIELD CATALOG LIST FOR ALV

tb_field_cat1 TYPE slis_t_fieldcat_alv, "FIELD CATALOG

top_of_page TYPE slis_t_listheader,

ls_line TYPE slis_listheader,

i_sort TYPE slis_t_sortinfo_alv,

x_layout TYPE slis_layout_alv,

t_events TYPE slis_t_event,

x_events type slis_alv_event.

DATA: BEGIN OF tb_vbap OCCURS 0,

vbeln LIKE vbap-vbeln,

kwmeng LIKE vbap-kwmeng,

END OF tb_vbap.

DATA: BEGIN OF tb_vbap1 OCCURS 0,

vbeln LIKE vbap-vbeln,

matnr LIKE vbap-matnr,

END OF tb_vbap1.

----


  • V A R I A B L E S

----


  • Global Variables

DATA: g_repid LIKE sy-repid. "Report ID

----


  • S E L E C T I O N S C R E E N

----


  • For User Input(Selection Criteria)

SELECTION-SCREEN BEGIN OF BLOCK b0 WITH FRAME TITLE text-001.

SELECT-OPTIONS : s_vbeln FOR vbap-vbeln.

SELECTION-SCREEN END OF BLOCK b0.

----


  • S T A R T - O F - S E L E C T I O N

----


START-OF-SELECTION.

  • SET PF-STATUS 'SAMPLE'.

  • FIELD CATALOG FOR ALV

PERFORM field_catalog USING tb_field_cat.

  • FIELD CATALOG FOR SECOND ALV

PERFORM field_catalog1 USING tb_field_cat1.

  • Get Data

PERFORM get_data.

  • For displaying the alv

PERFORM display.

----


  • F O R M S

----


&----


*& Form FILL_FIELD_CATALOG_UOM

&----


  • text

----


  • FIELD CATALOG FOR ALV

----


FORM field_catalog USING l_fieldcat TYPE slis_t_fieldcat_alv.

CLEAR ls_fieldcat_alv.

ls_fieldcat_alv-fieldname = 'VBELN'.

ls_fieldcat_alv-key = 'x'.

ls_fieldcat_alv-col_pos = 1.

ls_fieldcat_alv-ref_fieldname = 'VBELN'.

ls_fieldcat_alv-ref_tabname = 'VBAP'.

ls_fieldcat_alv-no_sum = 'x'.

APPEND ls_fieldcat_alv TO l_fieldcat.

CLEAR ls_fieldcat_alv.

ls_fieldcat_alv-fieldname = 'KWMENG'.

ls_fieldcat_alv-key = ''.

ls_fieldcat_alv-col_pos = 2.

ls_fieldcat_alv-ref_fieldname = 'KWMENG'.

ls_fieldcat_alv-ref_tabname = 'VBAP'.

ls_fieldcat_alv-do_sum = 'x'.

APPEND ls_fieldcat_alv TO l_fieldcat.

CLEAR ls_fieldcat_alv.

ENDFORM. " FILL_FIELD_CATALOG_UOM

&----


*& Form GET_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_data.

SELECT vbeln

kwmeng

FROM vbap

INTO TABLE tb_vbap

WHERE vbeln IN s_vbeln.

SELECT vbeln

matnr

FROM vbap

INTO TABLE tb_vbap1

WHERE vbeln IN s_vbeln.

ENDFORM. " GET_DATA

&----


*& Form display

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display .

  • Initialize Block

call function 'REUSE_ALV_BLOCK_LIST_INIT'

exporting

i_callback_program = g_repid.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = x_layout

it_fieldcat = tb_field_cat

i_tabname = 'TB_VBAP'

it_events = t_events

TABLES

t_outtab = tb_vbap.

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 = x_layout

it_fieldcat = tb_field_cat1

i_tabname = 'TB_VBAP1'

it_events = t_events

tables

t_outtab = tb_vbap1.

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'

.

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

&----


*& Form field_catalog1

&----


  • text

----


  • -->P_TB_FIELD_CAT1 text

----


FORM field_catalog1 USING l_fieldcat1 TYPE slis_t_fieldcat_alv.

CLEAR ls_fieldcat_alv1.

ls_fieldcat_alv1-fieldname = 'VBELN'.

ls_fieldcat_alv1-key = 'x'.

ls_fieldcat_alv1-col_pos = 1.

ls_fieldcat_alv1-ref_fieldname = 'VBELN'.

ls_fieldcat_alv1-ref_tabname = 'VBAP'.

APPEND ls_fieldcat_alv1 TO l_fieldcat1.

CLEAR ls_fieldcat_alv1.

ls_fieldcat_alv1-fieldname = 'MATNR'.

ls_fieldcat_alv1-key = ''.

ls_fieldcat_alv1-col_pos = 2.

ls_fieldcat_alv1-ref_fieldname = 'MATNR'.

ls_fieldcat_alv1-ref_tabname = 'VBAP'.

APPEND ls_fieldcat_alv1 TO l_fieldcat1.

CLEAR ls_fieldcat_alv1.

endform. " field_catalog1

Regards,

praveena

Read only

Clemenss
Active Contributor
0 Likes
551

Hi Amirdeen,

I hope we are talking about REUSE_ALV_LIST_DISPLAY. This one writes to the LIST screen.

You can use ALV event END_OF_LIST anc call REUSE_ALV_LIST_DISPLAY for the second table in this event.

I did not try but heard that it works.

If you want grid display, you need container elements and use OO ALV.

Regards,

Clemens