2012 Sep 27 8:50 AM
Dear Experts,
I am using cl_gui_custom_container class and created two cotainer and printed using the method SET_TABLE_FOR_FIRST_DISPLAY. now report is working fine.
My requirement when i am cliking on print opiton data contain in both container should print in a single page.
I searched in forum and find REUSE_ALV_BLOCK_LIST_APPEND and its works fine. but client needed in Grid display.
Expecting your answers. .
Regards,
Thanesh
Dear Experts,
I am using cl_gui_custom_container class and created two cotainer and printed using the method SET_TABLE_FOR_FIRST_DISPLAY. now report is working fine.
My requirement when i am cliking on print opiton data contain in both container should print in a single page.
I searched in forum and find REUSE_ALV_BLOCK_LIST_APPEND and its works fine. but client needed in Grid display.
Expecting your answers. .
Regards,
Thanesh
2012 Sep 27 8:54 AM
check standard Program: RSDEMO_SPLITTER_CONTROL . But u need to add Print button yourself.
2012 Sep 27 10:16 AM
Thanks for your reply. .
I check the code and added print button, but print option is not working.
2012 Sep 27 10:25 AM
Thanesh,
Place 2 ALV GRIDS ON A SINGLE SCREEN. Hope it'll fix your issue.
Please refer below program.
TYPES : BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
MBRSH TYPE MARA-MBRSH,
MEINS TYPE MARA-MEINS,
END OF TY_MARA.
TYPES : BEGIN OF TY_MAKT,
MATNR TYPE MAKT-MATNR,
SPRAS TYPE MAKT-SPRAS,
MAKTX TYPE MAKT-MAKTX,
END OF TY_MAKT.
CLASS LCL_EVENT_HDLER DEFINITION DEFERRED.
DATA : OBJ TYPE REF TO LCL_EVENT_HDLER.
DATA : I_MARA TYPE TABLE OF TY_MARA.
DATA : WA_MARA LIKE LINE OF I_MARA.
DATA : I_MAKT TYPE TABLE OF TY_MAKT.
DATA : WA_MAKT LIKE LINE OF I_MAKT.
DATA : ALV_CONT TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
DATA : ALV_GRID TYPE REF TO CL_GUI_ALV_GRID.
DATA : I_FCAT TYPE LVC_T_FCAT.
DATA : WA_FCAT LIKE LINE OF I_FCAT.
DATA : ALV_CONT2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
DATA : ALV_GRID2 TYPE REF TO CL_GUI_ALV_GRID.
DATA : I_FCAT2 TYPE LVC_T_FCAT.
DATA : WA_FCAT2 LIKE LINE OF I_FCAT2.
CLASS LCL_EVENT_HDLER DEFINITION.
PUBLIC SECTION.
METHODS : HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW.
ENDCLASS. "LCL_EVENT_HDLER DEFINITION
CLASS LCL_EVENT_HDLER IMPLEMENTATION.
METHOD : HANDLE_DOUBLE_CLICK.
READ TABLE I_MARA INTO WA_MARA INDEX E_ROW-INDEX.
SELECT * FROM MAKT INTO CORRESPONDING FIELDS OF TABLE I_MAKT
WHERE MATNR = WA_MARA-MATNR.
CALL SCREEN 100.
ENDMETHOD. ":
ENDCLASS. "LCL_EVENT_HDLER IMPLEMENTATION
START-OF-SELECTION.
CALL SCREEN 100.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'MENU_100'.
* SET TITLEBAR 'xxx'.
IF ALV_CONT IS INITIAL.
PERFORM CREATE_OBJECTS.
PERFORM GET_DATA.
PERFORM CREATE_FCAT.
PERFORM DISPLAY_ALV.
CREATE OBJECT OBJ.
SET HANDLER OBJ->HANDLE_DOUBLE_CLICK FOR ALV_GRID.
ELSE.
PERFORM CREATE_OBJECTS2.
PERFORM CREATE_FCAT2.
PERFORM DISPLAY_ALV2.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
MODULE USER_COMMAND_0100 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE PROGRAM.
ENDIF.
ENDMODULE. " USER_COMMAND_0100 INPUT
FORM CREATE_OBJECTS .
CREATE OBJECT ALV_CONT
EXPORTING
CONTAINER_NAME = 'ALV_CONT'.
CREATE OBJECT ALV_GRID
EXPORTING
I_PARENT = ALV_CONT.
ENDFORM. " CREATE_OBJECTS
FORM GET_DATA .
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE I_MARA UP TO 100 ROWS.
ENDFORM. " GET_DATA
FORM CREATE_FCAT .
IF I_FCAT IS INITIAL.
WA_FCAT-COL_POS = '1'.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-SCRTEXT_M = 'MATERIAL NO'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '2'.
WA_FCAT-FIELDNAME = 'MTART'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-SCRTEXT_M = 'MATERIAL TYPE'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '3'.
WA_FCAT-FIELDNAME = 'MBRSH'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-SCRTEXT_M = 'INDUS. SECTOR'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '4'.
WA_FCAT-FIELDNAME = 'MEINS'.
WA_FCAT-TABNAME = 'I_MARA'.
WA_FCAT-SCRTEXT_M = 'MATERIAL UNITS'.
APPEND WA_FCAT TO I_FCAT.
CLEAR WA_FCAT.
ENDIF.
ENDFORM. " CREATE_FCAT
FORM DISPLAY_ALV .
CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
CHANGING
IT_OUTTAB = I_MARA
IT_FIELDCATALOG = I_FCAT.
ENDFORM. " DISPLAY_ALV
FORM CREATE_OBJECTS2 .
IF ALV_CONT2 IS INITIAL.
CREATE OBJECT ALV_CONT2
EXPORTING
CONTAINER_NAME = 'ALV_CONT2'.
CREATE OBJECT ALV_GRID2
EXPORTING
I_PARENT = ALV_CONT2.
ENDIF.
ENDFORM. " CREATE_OBJECTS2
FORM CREATE_FCAT2 .
IF I_FCAT2 IS INITIAL.
CLEAR WA_FCAT2.
WA_FCAT2-COL_POS = '1'.
WA_FCAT2-FIELDNAME = 'MATNR'.
WA_FCAT2-TABNAME = 'I_MAKT'.
WA_FCAT2-SCRTEXT_M = 'MATERIAL NO'.
APPEND WA_FCAT2 TO I_FCAT2.
CLEAR WA_FCAT2.
WA_FCAT2-COL_POS = '2'.
WA_FCAT2-FIELDNAME = 'SPRAS'.
WA_FCAT2-TABNAME = 'I_MAKT'.
WA_FCAT2-SCRTEXT_M = 'LANGUAGE'.
APPEND WA_FCAT2 TO I_FCAT2.
CLEAR WA_FCAT2.
WA_FCAT2-COL_POS = '3'.
WA_FCAT2-FIELDNAME = 'MAKTX'.
WA_FCAT2-TABNAME = 'I_MAKT'.
WA_FCAT2-SCRTEXT_M = 'DISCRIPTION'.
APPEND WA_FCAT2 TO I_FCAT2.
CLEAR WA_FCAT2.
ENDIF.
ENDFORM. " CREATE_FCAT2
FORM DISPLAY_ALV2 .
CALL METHOD ALV_GRID2->SET_TABLE_FOR_FIRST_DISPLAY
CHANGING
IT_OUTTAB = I_MAKT
IT_FIELDCATALOG = I_FCAT2.
ENDFORM. " DISPLAY_ALV2
2012 Oct 03 2:51 PM
My problem not displaying in a single screen. its already displaying in the singe screen.
print both container date in a single page, by cliking the print button or user defiend button.
Regards,
Thanesh
2012 Oct 03 3:52 PM
You could try to handle the "print" function event in both alv grid, and then execute the print in both grids.
- Look at events like before_user_command to intercept the event "Print" on any grid
- Look at methods like set_user_command to trigger print of the other grid (then insure you will not enter an infinite loop between tyhe two grids..)
- Manage the is_print of set_table_for_first_display (sub-fields like PRINT_CTRL-PRI_PARAMS-PRNEW) to insure only one spool generated.
Regards,
Raymond
2012 Oct 05 7:15 AM
I agree with Raymond Giuseppi .
this was an easy way to solve your issue...
Regards,
Vasantha
2012 Oct 05 7:33 AM
Hi,
I did same kind of requirement, let me search the code..
but i remember i have used two separate print buttons for printing data for two different containers.
Thanks
Karthi
2012 Oct 17 6:12 AM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |