2007 Mar 12 9:37 PM
Hi,
How to display two girds in the final out put
one with po header details and another separate grid with item details how to do that?
SIRI
Hi,
How to display two girds in the final out put
one with po header details and another separate grid with item details how to do that?
SIRI
2007 Mar 12 9:40 PM
Hi,
You can use the OO ALV to create two grids..
You can check the program BCALV_GRID_01 for a simple ALV Grid..
You have to create another container in the screen and add the other ALV Grid..
Thanks,
Naren
2007 Mar 12 9:45 PM
hi Naren,
Is it not possible to develop with normal alv grids rather than OO ALV
2007 Mar 12 9:48 PM
No you can only do it with OO ALV.
Since you require different screen area for different ALV and screen cannot be divided in normal programming routines.
Regards,
Amit
2007 Mar 12 9:49 PM
Hi,
I believe it is not possible to do it using the FMs.
Thanks,
Naren
2007 Mar 12 10:03 PM
But
For each and every po number these grids should be displayed continuously like
po number range 400015-400017
In the out put screen I should get, for each n every po number two girds one with header details and one with item details. So for each n every po number these two grids should be displayed continuously... can u guide me how to do it
Thanks alot for your anticipation....
SIRI
2007 Mar 12 10:09 PM
Hi Sri,
Try this code:
EPORT Y730_ALV5 .
*ALV BLOCK LIST
type-pools : slis.
tables : vbak, ekko.
select-options : s_vkorg for vbak-vkorg,
s_ekorg for ekko-ekorg.
data : begin of it_vbak occurs 0,
vbeln like vbak-vbeln,
erdat like vbak-erdat,
ernam like vbak-ernam,
netwr like vbak-netwr,
end of it_vbak,
begin of it_ekko occurs 0,
ebeln like ekko-ebeln,
aedat like ekko-aedat,
ernam like ekko-ernam,
end of it_ekko.
data : it_fieldcat type slis_t_fieldcat_Alv,
wa_fieldcat type slis_fieldcat_Alv,
repid type sy-repid,
it_layout type SLIS_LAYOUT_ALV,
it_events type SLIS_T_EVENT.
initialization.
move sy-repid to repid.
start-of-selection.
select vbeln erdat ernam netwr from vbak
into table it_vbak
where vkorg in s_vkorg.
select ebeln aedat ernam from ekko
into table it_ekko
where ekorg in s_ekorg.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = repid.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = repid
I_INTERNAL_TABNAME = 'IT_VBAK'
I_INCLNAME = repid
CHANGING
CT_FIELDCAT = it_fieldcat.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = it_layout
IT_FIELDCAT = it_fieldcat
I_TABNAME = 'IT_VBAK'
IT_EVENTS = it_events
TABLES
T_OUTTAB = it_vbak.
clear it_fieldcat.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = repid
I_INTERNAL_TABNAME = 'IT_EKKO'
I_INCLNAME = repid
CHANGING
CT_FIELDCAT = it_fieldcat.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = it_layout
IT_FIELDCAT = it_fieldcat
I_TABNAME = 'IT_EKKO'
IT_EVENTS = it_events
TABLES
T_OUTTAB = it_ekko.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
***********
Let me know if you need any more clarifications.
BR
Rakesh
2007 Mar 12 10:12 PM
Hi
You can only do it using ALV Grid OO approach and You cannot use FM approach for this requirement..Please Check the sample programs starting with BCALV_GRID* for the same..
Cheers,
Hakim
2007 Mar 13 4:21 AM
Hello,
Check the code below.It has 2 alv grids on the same screen and a local class is used to handle the double click event in the first alv grid.When you double click on a row in the first ALV Grid,another ALV appears below with the detailed items.Name the two containers in your screen layout as <b>CONTAINER1</b> and <b>CONTAINER2</b>.
I have used tables <b>SPFLI for first grid</b> and <b>SFLIGHT for second grid</b>.You can use the tables depending on your requirements.
REPORT ZSAMPLE.
DATA:
<b>*first container and grid</b>
cont1 type ref to cl_gui_custom_container,
alv1 type ref to cl_gui_alv_grid,
<b>*second container and grid</b>
cont2 type ref to cl_gui_custom_container,
alv2 type ref to cl_gui_alv_grid,
<b>*table displayed in first grid</b>
itab_spfli type table of spfli,
wa_spfli like line of itab_spfli,
<b>*table displayed in second grid</b>
itab_sflight type table of sflight,
wa_sflight like line of itab_sflight,
ok_code type sy-ucomm.
<b>*local class for handling the double click event of first grid</b>
----
CLASS lcl_eh DEFINITION
----
........ *
----
class lcl_eh definition.
Public section.
Methods:DOUBLE_CLICK FOR EVENT DOUBLE_CLICK of cl_gui_alv_grid
importing E_ROW E_COLUMN ES_ROW_NO .
endclass.
<b>DATA: lo_obj TYPE REF TO lcl_eh.</b>
----
CLASS lcl_eh IMPLEMENTATION
----
........ *
----
class lcl_eh implementation.
Method double_click.
read table itab_spfli into wa_spfli INDEX e_row-index.
select * from sflight into table itab_sflight where carrid =
wa_spfli-carrid.
<b>*create second container and grid</b>
CREATE OBJECT CONT2
EXPORTING
CONTAINER_NAME = 'CONTAINER2'.
CREATE OBJECT ALV2
EXPORTING
I_PARENT = cont2.
CALL METHOD ALV2->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'SFLIGHT'
CHANGING
IT_OUTTAB = itab_sflight.
endmethod.
endclass.
<b>*selection-screen parameter</b>
PARAMETERS : carrid type spfli-carrid.
AT SELECTION-SCREEN.
SELECT * from spfli into table itab_spfli where carrid = carrid.
call screen 100.
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'GUI'.
SET TITLEBAR 'xxx'.
<b>*create first container and grid</b>
CREATE OBJECT CONT1
EXPORTING
CONTAINER_NAME = 'CONTAINER1'.
CREATE OBJECT ALV1
EXPORTING
I_PARENT = cont1.
<b>*set handler to handle the double click event</b>
<b>create object lo_obj.
set handler lo_obj->double_click for alv1.</b>
CALL METHOD ALV1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'SPFLI'
CHANGING
IT_OUTTAB = itab_spfli.
ENDMODULE. " STATUS_0100 OUTPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE USER_COMMAND_0100 INPUT.
case ok_code.
when 'BACK'.
leave to screen 0.
when 'EXIT'.
leave program.
endcase.
ENDMODULE. " USER_COMMAND_0100 INPUT
Regards,
Beejal
<b>**reward if this helps</b>
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |