01-17-2009 8:16 AM
Hiee friends ,
There is always a trailing space left at the extreme right end of ALV report . I don't wish to have that
blank space . I am using OO method for the alv report
I used the cl_gui_splitter_container , to split the main container but still the blank space at the
right end of alv report remains .
Can anyone tell me how to avoid that space or else to have a picture to over there so that there
would be no blank space in the alv report.
01-17-2009 8:21 AM
Hi Lokesh,
Use Method: SET_COLUMN_WIDTH of class CL_GUI_SPLITTER_CONTAINER to adjust the width.
Thanks!!
01-17-2009 9:58 AM
Can anyone have some sample code for this scenario, as the splitter class only splits the container into two but the trailing space the right end of alv report still remains .
01-19-2009 5:11 AM
Friends please help me in getting the solution/approach to the scenario in ALV.
I tried to split the screen and display the alv in one container in log in other . But the blank space at
the end of alv report still remains .
Please guide me .
01-19-2009 5:17 AM
Check the below code....
REPORT ZSPLIT_ALV .
Declearing Variable for the custom container N grid.
DATA: CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GRID TYPE REF TO CL_GUI_ALV_GRID,
l_docking TYPE REF TO cl_gui_docking_container,
l_splitter TYPE REF TO cl_gui_splitter_container,
l_container_top TYPE REF TO cl_gui_container,
l_container_bottom TYPE REF TO cl_gui_container,
HEAD TYPE REF TO CL_GUI_ALV_TREE.
DATA: GT_HEADER TYPE TABLE OF SLIS_LISTHEADER WITH HEADER LINE.
Declearing Field Catalog
DATA: GT_FIELDCAT TYPE LVC_T_FCAT,
WA_FIELDCAT LIKE LINE OF GT_FIELDCAT.
Declearing Layout Str N Varient
DATA: GS_LAYOUT TYPE LVC_S_LAYO.
DATA: GS_VARIANT LIKE DISVARIANT.
DATA: OK_CODE LIKE SY-UCOMM.
DATA: SAV.
GS_VARIANT-REPORT = SY-REPID.
SAV = 'A'.
*GS_LAYOUT-GRID_TITLE =
*'Report on Service Tax Payment to Vendors with Payment date details'.
GS_LAYOUT-DETAILTITL =
'REPORT TO DISPLAY SERVICE TAX REGISTER VENDOR DETAILS'.
GS_LAYOUT-Zebra = 'X'.
GS_LAYOUT-CWIDTH_OPT = 'X'.
Data Declaration
DATA: BUKRS LIKE BSIS-BUKRS,
HKONT LIKE BSIS-HKONT,
BUDAT LIKE BSIS-BUDAT.
Str of internal Table and work area.
DATA: BEGIN OF STR,
BUKRS LIKE BSIS-BUKRS,
HKONT LIKE BSIS-HKONT,
GJAHR LIKE BSIS-GJAHR,
BUDAT LIKE BSIS-BUDAT,
BELNR LIKE BSIS-BELNR,
BUZEI LIKE BSIS-BUZEI,
SGTXT LIKE BSIS-SGTXT,
DMBTR LIKE BSIS-DMBTR,
WAERS LIKE BSIS-WAERS,
LIFNR LIKE BSAK-LIFNR,
TXT LIKE BSAK-SGTXT,
NAME1 LIKE LFA1-NAME1,
AUGDT LIKE BSAK-AUGDT, " Clearing Date
AUGBL LIKE BSAK-AUGBL, " Clearing Doc No.
ITEM LIKE BSAK-BUZEI, " Clearing Doc Item
XBLNR LIKE BSIS-XBLNR, " Ref. Doc No,
FWBAS LIKE BSEG-FWBAS, "BASE AMOUNT
END OF STR.
DATA: ITAB LIKE STANDARD TABLE OF STR,
FIN_TAB LIKE STANDARD TABLE OF STR,
WA LIKE LINE OF ITAB.
DATA: T_BSAK LIKE BSAK OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF VEND OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
END OF VEND.
DATA: BEGIN OF T_BKPF OCCURS 0,
BUKRS LIKE BKPF-BUKRS,
BELNR LIKE BKPF-BELNR,
STBLG LIKE BKPF-STBLG,
END OF T_BKPF.
DATA : BEGIN OF T_BSEG OCCURS 0,
BUKRS LIKE BSEG-BUKRS,
BELNR LIKE BSEG-BELNR,
GJAHR LIKE BSEG-GJAHR,
BUZEI LIKE BSEG-BUZEI,
FWBAS LIKE BSEG-FWBAS,
END OF T_BSEG.
Selection Screen for input .
SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : COMP FOR BUKRS OBLIGATORY,
GL FOR HKONT OBLIGATORY,
DATE FOR BUDAT OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BLK.
Populating the Field catalog
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-REF_TABLE = 'BSIS'.
WA_FIELDCAT-REF_FIELD = 'BUKRS'.
WA_FIELDCAT-COLTEXT = 'Comp. Code'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-EMPHASIZE = 'C111'.
WA_FIELDCAT-COL_POS = 1.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
*CLEAR WA_FIELDCAT.
*WA_FIELDCAT-FIELDNAME = 'HKONT'.
*WA_FIELDCAT-REF_TABLE = 'BSIS'.
*WA_FIELDCAT-REF_FIELD = 'HKONT'.
*WA_FIELDCAT-COLTEXT = 'G/L Acc. No.'.
*WA_FIELDCAT-JUST = 'C'.
*WA_FIELDCAT-EMPHASIZE = 'C611'.
*WA_FIELDCAT-COL_POS = 2.
*APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUDAT'.
WA_FIELDCAT-REF_TABLE = 'BSIS'.
WA_FIELDCAT-REF_FIELD = 'BUDAT'.
WA_FIELDCAT-COLTEXT = 'Doc. Date'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-COL_POS = 3.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BELNR'.
WA_FIELDCAT-REF_TABLE = 'BSIS'.
WA_FIELDCAT-REF_FIELD = 'BELNR'.
WA_FIELDCAT-COLTEXT = 'Accounting Doc.'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-EMPHASIZE = 'C110'.
WA_FIELDCAT-COL_POS = 2.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'XBLNR'.
WA_FIELDCAT-REF_TABLE = 'BSAK'.
WA_FIELDCAT-REF_FIELD = 'XBLNR'.
WA_FIELDCAT-COLTEXT = 'Reference Doc.'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-COL_POS = 4.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUZEI'.
WA_FIELDCAT-REF_TABLE = 'BSIS'.
WA_FIELDCAT-REF_FIELD = 'BUZEI'.
WA_FIELDCAT-COLTEXT = 'Item'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-COL_POS = 5.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'SGTXT'.
WA_FIELDCAT-REF_TABLE = 'BSIS'.
WA_FIELDCAT-REF_FIELD = 'SGTXT'.
WA_FIELDCAT-COLTEXT = 'Item Text'.
WA_FIELDCAT-JUST = 'L'.
WA_FIELDCAT-COL_POS = 6.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'WAERS'.
WA_FIELDCAT-REF_TABLE = 'BSEG'.
WA_FIELDCAT-REF_FIELD = 'WAERS'.
WA_FIELDCAT-COLTEXT = 'CuRR'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-DO_SUM = 'X'.
WA_FIELDCAT-COL_POS = 7.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LIFNR'.
WA_FIELDCAT-REF_TABLE = 'BSAK'.
WA_FIELDCAT-REF_FIELD = 'LIFNR'.
WA_FIELDCAT-COLTEXT = 'Vendor'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-COL_POS = 8.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'NAME1'.
WA_FIELDCAT-REF_TABLE = 'LFA1'.
WA_FIELDCAT-REF_FIELD = 'NAME1'.
WA_FIELDCAT-COLTEXT = 'Vendor Name'.
WA_FIELDCAT-JUST = 'L'.
WA_FIELDCAT-COL_POS = 9.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'AUGDT'.
WA_FIELDCAT-REF_TABLE = 'BSAK'.
WA_FIELDCAT-REF_FIELD = 'AUGDT'.
WA_FIELDCAT-COLTEXT = 'Clearing Date'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-COL_POS = 10.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'AUGBL'.
WA_FIELDCAT-REF_TABLE = 'BSAK'.
WA_FIELDCAT-REF_FIELD = 'AUGBL'.
WA_FIELDCAT-COLTEXT = 'Clearing Doc No.'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-COL_POS = 11.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'ITEM'.
WA_FIELDCAT-REF_TABLE = 'BSAK'.
WA_FIELDCAT-REF_FIELD = 'BUZEI'.
WA_FIELDCAT-COLTEXT = 'Clr Doc Itm.'.
WA_FIELDCAT-JUST = 'C'.
WA_FIELDCAT-COL_POS = 12.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'TXT'.
WA_FIELDCAT-REF_TABLE = 'BSAK'.
WA_FIELDCAT-REF_FIELD = 'SGTXT'.
WA_FIELDCAT-COLTEXT = 'Cheque Details'.
WA_FIELDCAT-JUST = 'L'.
WA_FIELDCAT-COL_POS = 13.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'DMBTR'.
WA_FIELDCAT-REF_TABLE = 'BSIS'.
WA_FIELDCAT-REF_FIELD = 'DMBTR'.
WA_FIELDCAT-COLTEXT = 'Amount'.
WA_FIELDCAT-JUST = 'L'.
WA_FIELDCAT-DO_SUM = 'X'.
WA_FIELDCAT-COL_POS = 14.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'FWBAS'.
WA_FIELDCAT-REF_TABLE = 'BSEG'.
WA_FIELDCAT-REF_FIELD = 'FWBAS'.
WA_FIELDCAT-COLTEXT = 'BASE Amount'.
WA_FIELDCAT-JUST = 'L'.
WA_FIELDCAT-DO_SUM = 'X'.
WA_FIELDCAT-COL_POS = 15.
APPEND WA_FIELDCAT TO GT_FIELDCAT.
Selection of Document No.
SELECT * FROM BSIS INTO CORRESPONDING FIELDS OF TABLE ITAB
WHERE BUKRS IN COMP AND
HKONT IN GL AND
BUDAT IN DATE.
IF SY-SUBRC = 0.
Selection of Document No. Which are Reversed.
SELECT BUKRS BELNR STBLG FROM BKPF INTO CORRESPONDING FIELDS
OF TABLE T_BKPF FOR ALL ENTRIES IN ITAB
WHERE BUKRS = ITAB-BUKRS AND
BELNR = ITAB-BELNR .
SELECT BUKRS BELNR BUZEI FWBAS FROM BSEG INTO CORRESPONDING FIELDS
OF TABLE T_BSEG FOR ALL ENTRIES IN ITAB
WHERE BUKRS = ITAB-BUKRS AND
BELNR = ITAB-BELNR AND
BUZEI = ITAB-BUZEI.
IF NOT T_BKPF[] IS INITIAL.
Deleting the Documents which are reversed.
CLEAR WA.
LOOP AT ITAB INTO WA.
LOOP AT T_BKPF WHERE BUKRS = WA-BUKRS AND
BELNR = WA-BELNR .
IF T_BKPF-STBLG <> ' '.
DELETE ITAB WHERE
BELNR = T_BKPF-BELNR.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
Selecting the Vendor Details
SELECT * FROM BSAK INTO TABLE T_BSAK FOR ALL ENTRIES IN ITAB
WHERE BUKRS = ITAB-BUKRS AND
BELNR = ITAB-BELNR .
CLEAR WA.
LOOP AT ITAB INTO WA.
LOOP AT T_BSAK WHERE BUKRS = WA-BUKRS AND
BELNR = WA-BELNR .
WA-LIFNR = T_BSAK-LIFNR.
WA-AUGDT = T_BSAK-AUGDT.
WA-AUGBL = T_BSAK-AUGBL.
WA-ITEM = T_BSAK-BUZEI.
APPEND WA TO FIN_TAB.
ENDLOOP.
ENDLOOP.
ENDIF.
IF NOT FIN_TAB[] IS INITIAL.
LOOP AT FIN_TAB INTO WA.
LOOP AT T_BSEG WHERE BUKRS = WA-BUKRS AND
BELNR = WA-BELNR AND
BUZEI = WA-BUZEI.
WA-FWBAS = T_BSEG-FWBAS.
MODIFY FIN_TAB FROM WA TRANSPORTING FWBAS.
ENDLOOP.
ENDLOOP.
Selection for getting Vendor Name.
SELECT LIFNR NAME1 FROM LFA1 INTO TABLE VEND FOR ALL ENTRIES IN FIN_TAB
WHERE LIFNR = FIN_TAB-LIFNR.
CLEAR WA.
LOOP AT FIN_TAB INTO WA.
LOOP AT VEND WHERE LIFNR = WA-LIFNR.
WA-NAME1 = VEND-NAME1.
MODIFY FIN_TAB FROM WA.
ENDLOOP.
ENDLOOP.
ENDIF.
CLEAR WA.
LOOP AT FIN_TAB INTO WA.
LOOP AT T_BSAK WHERE BUKRS = WA-BUKRS AND
BELNR = WA-BELNR AND
BUZEI = WA-ITEM.
WA-TXT = T_BSAK-SGTXT.
MODIFY FIN_TAB FROM WA.
ENDLOOP.
ENDLOOP.
concatenate date-low6(2) date-low4(2) date-low+2(2)
into date-low
separated by '.'.
concatenate date-high6(2) date-high4(2)
date-high+2(2) into date-high
separated by '.'.
CALL SCREEN 500.
&----
*& Module STATUS_0500 OUTPUT
&----
text
----
MODULE STATUS_0500 OUTPUT.
SET PF-STATUS 'STAT'.
SET TITLEBAR 'TIT'.
ENDMODULE. " STATUS_0500 OUTPUT
&----
*& Module CRE_OBJ OUTPUT
&----
text
----
MODULE CRE_OBJ OUTPUT.
IF CONTAINER IS INITIAL.
CREATE OBJECT CONTAINER
EXPORTING CONTAINER_NAME = 'CUS_CON'.
CREATE OBJECT l_docking
EXPORTING side = cl_gui_docking_container=>dock_at_left
extension = 200.
CREATE OBJECT l_splitter
EXPORTING parent = CONTAINER
rows = 2
columns = 1.
CALL METHOD l_splitter->set_border
EXPORTING border = cl_gui_cfw=>true.
*
CALL METHOD l_splitter->set_row_mode
EXPORTING mode = l_splitter->mode_absolute.
CALL METHOD l_splitter->set_row_height
EXPORTING id = 1
height = 110.
l_container_top =
l_splitter->get_container( row = 1 column = 1 ).
l_container_bottom =
l_splitter->get_container( row = 2 column = 1 ).
CREATE OBJECT HEAD
EXPORTING parent = l_container_top.
CREATE OBJECT GRID
EXPORTING i_parent = l_container_bottom.
CLEAR GT_HEADER.
GT_HEADER-TYP = 'H'.
GT_HEADER-INFO = 'SERVICE TAX REGISTER VENDOR DETAILS'.
APPEND GT_HEADER.
CLEAR GT_HEADER.
GT_HEADER-TYP = 'S'.
GT_HEADER-KEY = 'Company Code : '.
GT_HEADER-INFO = comp-low.
if not comp-high is initial.
concatenate GT_HEADER-INFO ' - To - ' comp-high into GT_HEADER-INFO.
endif.
APPEND GT_HEADER.
CLEAR GT_HEADER.
GT_HEADER-TYP = 'S'.
GT_HEADER-KEY = 'G/L Account : '.
GT_HEADER-INFO = gl-low.
if not gl-high is initial.
concatenate GT_HEADER-INFO ' - To - ' gl-high into GT_HEADER-INFO.
endif.
APPEND GT_HEADER.
CLEAR GT_HEADER.
GT_HEADER-TYP = 'S'.
GT_HEADER-KEY = 'Posting Date : '.
GT_HEADER-INFO = date-low.
if not date-high is initial.
concatenate GT_HEADER-INFO ' - To - ' date-high into GT_HEADER-INFO.
endif.
APPEND GT_HEADER.
ENDIF.
ENDMODULE. " CRE_OBJ OUTPUT
&----
*& Module TRANS OUTPUT
&----
text
----
MODULE TRANS OUTPUT.
CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING I_STRUCTURE_NAME = 'STR'
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = GS_VARIANT
I_SAVE = 'A'
CHANGING IT_OUTTAB = FIN_TAB
IT_FIELDCATALOG = GT_FIELDCAT.
CALL METHOD HEAD->CREATE_REPORT_HEADER
EXPORTING IT_LIST_COMMENTARY = GT_HEADER[]
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_SET_SPLITTER_HEIGHT = 'X'.
ENDMODULE. " TRANS OUTPUT
&----
*& Module USER_COMMAND_0500 INPUT
&----
text
----
MODULE USER_COMMAND_0500 INPUT.
CASE OK_CODE.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'CANCEL'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0500 INPUT
Hope this helps.