Application Development 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: 

Display of 2 ALV List

Former Member
0 Kudos

Hi,

I am trying to display 2 ALV List at a time...Can anyone please tellme what is wrong in the following code..Its not displaying any output after the selection-screen.

Should I pass anything else in addition..Or can anyone tell me what exactly I am missing out...

Thanks..

REPORT ZNNR_ALVOOPS_SCREEN.

TABLES: MARA,SPFLI.

*types: begin of ty_tab,

  • matnr type mara-matnr,

  • ernam type mara-ernam,

  • ersda type mara-ersda,

  • end of ty_tab.

TYPES: BEGIN OF TYPT.

INCLUDE STRUCTURE MARA.

TYPES: END OF TYPT.

TYPES: BEGIN OF TYPT1.

INCLUDE STRUCTURE SPFLI.

TYPES: END OF TYPT1.

DATA IO1 TYPE SPFLI-CARRID VALUE 'AA'.

DATA ITAB TYPE TABLE OF TYPT.

DATA WA LIKE LINE OF ITAB.

DATA ITAB1 TYPE TABLE OF TYPT1.

DATA WA1 LIKE LINE OF ITAB1.

*DATA OK_CODE TYPE SY-UCOMM.

DATA: GRID TYPE REF TO CL_GUI_ALV_GRID,

CONT TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

DATA: GRID1 TYPE REF TO CL_GUI_ALV_GRID,

CONTA TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

CREATE OBJECT CONT EXPORTING CONTAINER_NAME = 'CONT1' .

CREATE OBJECT GRID EXPORTING I_PARENT = CONT .

CREATE OBJECT CONTA EXPORTING CONTAINER_NAME = 'CONT2' .

CREATE OBJECT GRID1 EXPORTING I_PARENT = CONTA .

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.

SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.

SELECTION-SCREEN END OF BLOCK B1.

SELECT * FROM MARA INTO TABLE

ITAB

WHERE MATNR IN S_MATNR .

SELECT * FROM SPFLI INTO

TABLE ITAB1 WHERE CARRID = IO1.

CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME = 'MARA'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

IT_OUTTAB = ITAB

  • IT_FIELDCATALOG =

  • IT_SORT =

  • IT_FILTER =

EXCEPTIONS

INVALID_PARAMETER_COMBINATION = 1

PROGRAM_ERROR = 2

TOO_MANY_LINES = 3

others = 4

.

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 METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

I_STRUCTURE_NAME = 'SPFLI'

CHANGING

IT_OUTTAB = ITAB1.

8 REPLIES 8

naimesh_patel
Active Contributor
0 Kudos

I have rearranged your code .

Please check:

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.

SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.

SELECTION-SCREEN END OF BLOCK B1.

START-OF-SELECTION.
  CALL SCREEN 100.  " << YOU SCREEN NUMBER, ON WHICH YOU PUT BOTH CONTROLS


*** MODULE PBO - 
MODULE PBO OUTPUT.
SELECT * FROM MARA INTO TABLE
ITAB
WHERE MATNR IN S_MATNR .

SELECT * FROM SPFLI INTO
TABLE ITAB1 WHERE CARRID = IO1.


CREATE OBJECT CONT EXPORTING CONTAINER_NAME = 'CONT1' .
CREATE OBJECT GRID EXPORTING I_PARENT = CONT .

CREATE OBJECT CONTA EXPORTING CONTAINER_NAME = 'CONT2' .
CREATE OBJECT GRID1 EXPORTING I_PARENT = CONTA .



CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
* I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME = 'MARA'
* IS_VARIANT =
* I_SAVE =
* I_DEFAULT = 'X'
* IS_LAYOUT =
* IS_PRINT =
* IT_SPECIAL_GROUPS =
* IT_TOOLBAR_EXCLUDING =
* IT_HYPERLINK =
* IT_ALV_GRAPHICS =
* IT_EXCEPT_QINFO =
* IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = ITAB
* IT_FIELDCATALOG =
* IT_SORT =
* IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
.
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 METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'SPFLI'
CHANGING
IT_OUTTAB = ITAB1. 

ENDMODULE.

Regards,

Naimesh Patel

Former Member
0 Kudos

Hi Naimesh,

Ive created the screen ...What should I in the screen...What should I add there..

Thanks..

0 Kudos

The screen should be the screen which contains your custom containers CONT and CONTA. You don't need to create a new screen.

Regards

Naimesh Patel

Former Member
0 Kudos

Hi

Check this code ..if you following the same ..

FORM get_alv.

IF g_r_grid IS INITIAL.

CREATE OBJECT g_r_cont

EXPORTING container_name = 'CUSTCNTL'.

CREATE OBJECT g_r_grid

EXPORTING i_parent = g_r_cont.

IF g_r_grid1 IS INITIAL.

CREATE OBJECT g_r_cont1

EXPORTING container_name = 'CUSTCNTL1'.

CREATE OBJECT g_r_grid1

EXPORTING i_parent = g_r_cont1.

ENDIF.

g_r_variant = sy-repid.

  • Build Field Catalog

PERFORM build_field_catalog.

  • Exclude process options from ALV

PERFORM alv_excl.

  • setting ALV Grid layout

PERFORM alv_layo.

  • setting ALV Grid layout

PERFORM alv_layo1.

CALL METHOD g_r_grid->set_table_for_first_display

EXPORTING

is_layout = g_r_layo

is_variant = g_r_variant

it_toolbar_excluding = g_r_excl

i_save = 'X'

CHANGING

it_outtab = g_t_yetprint[]

it_fieldcatalog = g_t_fieldcat.

CALL METHOD g_r_grid1->set_table_for_first_display

EXPORTING

is_layout = g_r_layo1

is_variant = g_r_variant

it_toolbar_excluding = g_r_excl

i_save = 'X'

CHANGING

it_outtab = g_t_printed[]

it_fieldcatalog = g_t_fieldcat.

ELSEIF g_f_flg <> g_c_mark.

CALL METHOD g_r_grid->refresh_table_display.

CALL METHOD g_r_grid1->refresh_table_display.

ENDIF .

ENDFORM. " get_alv

Hope this Helps .

Praveen

mahaboob_pathan
Contributor
0 Kudos

hi, check this code.

REPORT ZSTEST_033 NO STANDARD PAGE HEADING .

TABLES VBAK.

DATA IT_VBAK LIKE VBAK OCCURS 0 WITH HEADER LINE.

DATA IT_VBAP LIKE VBAP OCCURS 0 WITH HEADER LINE.

DATA IT_KNA1 LIKE KNA1 OCCURS 0 WITH HEADER LINE.

SELECT-OPTIONS S_VBELN FOR VBAK-VBELN.

START-OF-SELECTION.

SELECT * FROM VBAK INTO TABLE IT_VBAK

WHERE VBELN IN S_VBELN.

END-OF-SELECTION.

LOOP AT IT_VBAK.

WRITE:/ IT_VBAK-VBELN ,

IT_VBAK-ERDAT,

IT_VBAK-KUNNR .

ENDLOOP.

SET PF-STATUS 'DDDD'.

TOP-OF-PAGE.

WRITE:/ 'Sales document header details'.

ULINE.

AT USER-COMMAND.

DATA: L_FIELD(20) TYPE C,

L_VALUE(10) TYPE N.

GET CURSOR FIELD L_FIELD VALUE L_VALUE.

IF SY-UCOMM EQ 'VBAP'.

SELECT * FROM VBAP INTO TABLE IT_VBAP

WHERE VBELN EQ L_VALUE.

LOOP AT IT_VBAP.

WRITE:/ IT_VBAP-VBELN,

IT_VBAP-POSNR,

IT_VBAP-MATNR,

IT_VBAP-NETWR.

ENDLOOP.

ELSEIF SY-UCOMM EQ 'KUNNR'.

SELECT * FROM KNA1 INTO TABLE IT_KNA1

WHERE KUNNR EQ L_VALUE.

LOOP AT IT_KNA1.

WRITE:/ IT_KNA1-KUNNR,

IT_KNA1-NAME1.

ENDLOOP.

ENDIF.

TOP-OF-PAGE DURING LINE-SELECTION.

WRITE:/ 'Secondary list..'.

ULINE.

Former Member
0 Kudos

Hi,

In ur program , add the below 2 lines.

REPORT ZNNR_ALVOOPS_SCREEN.

TABLES: MARA,SPFLI.

TYPES: BEGIN OF TYPT.

INCLUDE STRUCTURE MARA.

TYPES: END OF TYPT.

TYPES: BEGIN OF TYPT1.

INCLUDE STRUCTURE SPFLI.

TYPES: END OF TYPT1.

DATA IO1 TYPE SPFLI-CARRID VALUE 'AA'.

DATA ITAB TYPE TABLE OF TYPT.

DATA WA LIKE LINE OF ITAB.

DATA ITAB1 TYPE TABLE OF TYPT1.

DATA WA1 LIKE LINE OF ITAB1.

*DATA OK_CODE TYPE SY-UCOMM.

Data : loc type SCRFNAME value 'CONT1', <----


loc2 type SCRFNAME value 'CONT2'. <----


DATA: GRID TYPE REF TO CL_GUI_ALV_GRID,

CONT TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

DATA: GRID1 TYPE REF TO CL_GUI_ALV_GRID,

CONTA TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

CREATE OBJECT CONT EXPORTING CONTAINER_NAME = 'CONT1' .

CREATE OBJECT GRID EXPORTING I_PARENT = CONT .

CREATE OBJECT CONTA EXPORTING CONTAINER_NAME = 'CONT2' .

CREATE OBJECT GRID1 EXPORTING I_PARENT = CONTA .

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.

SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.

SELECTION-SCREEN END OF BLOCK B1.

SELECT * FROM MARA INTO TABLE

ITAB

WHERE MATNR IN S_MATNR .

SELECT * FROM SPFLI INTO

TABLE ITAB1 WHERE CARRID = IO1.

CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME = 'MARA'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

IT_OUTTAB = ITAB

  • IT_FIELDCATALOG =

  • IT_SORT =

  • IT_FILTER =

EXCEPTIONS

INVALID_PARAMETER_COMBINATION = 1

PROGRAM_ERROR = 2

TOO_MANY_LINES = 3

others = 4

.

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 METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

I_STRUCTURE_NAME = 'SPFLI'

CHANGING

IT_OUTTAB = ITAB1.

Rebvrt back if nay issues,

Regrads,

Naveen

uwe_schieferstein
Active Contributor
0 Kudos

Hello Renu

I have not checked your report. However, perhaps the following sample reports may be useful to you:

And if you are in a situation where you might need more than 3 ALV grids at the same time perhaps report <b>ZUS_SDN_SPLITTER_CONTAINER</b> might be useful:

Regards

Uwe

Former Member
0 Kudos

HI

see this program same requirement

you can understand very easily

&----


*& Report ZAMIT_ALVOOPS

*&

&----


*&

*&

&----


REPORT ZNNR_ALVOOPS_SCREEN.

tables: mara,spfli.

types: begin of ty_tab,

matnr type mara-matnr,

ernam type mara-ernam,

ersda type mara-ersda,

end of ty_tab.

DATA ITAB1 TYPE TABLE OF SPFLI.

DATA WA1 LIKE LINE OF ITAB1.

DATA IO1 TYPE SPFLI-CARRID VALUE 'AA'.

data itab type table of ty_tab.

data wa like line of itab.

DATA OK_CODE TYPE SY-UCOMM.

DATA: GRID TYPE REF TO CL_GUI_ALV_GRID,

CONT TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

DATA: GRID1 TYPE REF TO CL_GUI_ALV_GRID,

CONTA TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

CREATE OBJECT CONT EXPORTING CONTAINER_NAME = 'CONT1' .

CREATE OBJECT GRID EXPORTING I_PARENT = CONT .

CREATE OBJECT CONTA EXPORTING CONTAINER_NAME = 'CONT2' .

CREATE OBJECT GRID1 EXPORTING I_PARENT = CONTA .

selection-screen begin of block b1 with frame title text-100.

select-options: s_matnr for mara-matnr.

selection-screen end of block b1.

select matnr ernam ersda from mara into corresponding fields of table itab up to 15 rows

where matnr in s_matnr .

call selection-screen 100.

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

if ok_code = 'PB1'.

leave to screen 0.

else.

leave to screen 100.

endif.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE STATUS_0100 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

  • SET TITLEBAR 'xxx'.

SELECT * FROM SPFLI INTO

CORRESPONDING FIELDS OF TABLE ITAB1 WHERE CARRID = IO1.

CALL METHOD grid->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME = 'MARA'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

IT_OUTTAB = itab.

  • IT_FIELDCATALOG =

  • IT_SORT =

  • IT_FILTER =

  • EXCEPTIONS

  • INVALID_PARAMETER_COMBINATION = 1

  • PROGRAM_ERROR = 2

  • TOO_MANY_LINES = 3

  • others = 4

.

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 METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

I_STRUCTURE_NAME = 'SPFLI'

CHANGING

IT_OUTTAB = ITAB1.

ENDMODULE. " STATUS_0100 OUTPUT

<b>Reward if usefull</b>