11-19-2007 1:27 AM
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.
11-19-2007 1:32 AM
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
11-19-2007 1:46 AM
Hi Naimesh,
Ive created the screen ...What should I in the screen...What should I add there..
Thanks..
11-19-2007 1:55 AM
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
11-19-2007 2:27 AM
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
11-19-2007 4:29 AM
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.
11-19-2007 4:35 AM
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
11-19-2007 4:41 AM
11-19-2007 4:53 AM
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>