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: 

Doubt in ALV OO

Former Member
0 Kudos

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.

4 REPLIES 4

Former Member
0 Kudos

Hi Lokesh,

Use Method: SET_COLUMN_WIDTH of class CL_GUI_SPLITTER_CONTAINER to adjust the width.

Thanks!!

Former Member
0 Kudos

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 .

Former Member
0 Kudos

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 .

Former Member
0 Kudos

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.