Sunteți pe pagina 1din 10

Community

(http://www.sap.com/)
(https://community.sap.com) (/users/login.html?
redirect_to=%2Fquestions%2F1989393%2Falv-
grid-display-using-classes.html)
Ask a Question (https://answers.sap.com/questions/ask.html) Write a Blog Post (https://blogs.sap.com/wp-admin/post-new.php) Login (/users

Not what you're looking for? Search community questions.

Former Member
ALV Grid display using classes
Feb 06, 2007 at 12:40 PM | 532 Views
Fquestions%2F1989393%2Falv-grid-display-using-
ata%3D1989393%26s_csrf%3D1569246093005.5413)
0
Fquestions%2F1989393%2Falv-grid-display-using-
data%3D1989393%26s_csrf%3D1569246093005.5413)
I am having a problem while displaying data using ALV grid by the method of classes.I am not able display data for the top-of-page event (which is a protected method in the
ALV class - Z class).How do I access this method for display of information in Top of Page and feed the data there? The Display ALV grid( all data from an internal table )
meanwhile is a Public method in the same class.

Moreover I am also not able to provide any description for field headings(columns) just as we do while filling field catalog in the normal AL grid display.They appear only if
they are dictionary fields.How do I provide my own descriptions?

ABAP Development (/tags/833755570260738661924709785639136)

Follow (/users/login.html?redirect_to=%2Fquestions%2F1989393%2Falv-grid-display-using-classes.html%3Fs_action%3Dfollow%26s_csrf%3D1569246093005.5413)

RSS Feed

Related questions
To Insert the Row in the alv display (https://answers.sap.com/questions/12730571/to-insert-the-row-in-the-alv-display.html)
By Karthik Sekar ( https://people.sap.com/karthisaki) , Jul 15, 2019
Which SAP ALV (https://answers.sap.com/questions/12655571/which-sap-alv.html)
By Jonny Wellard ( https://people.sap.com/jonny.wellard) , Apr 05, 2019
is it possible WRAP TEXT in alv grid display? (https://answers.sap.com/questions/12689630/is-it-possible-wrap-text-in-alv-grid-display.html)
By Sri PRasu ( https://people.sap.com/sri6666) , May 17, 2019

5 Answers

Votes | Newest | Oldest

Former Member

Feb 06, 2007 at 12:45 PM

Hi Savitha,
ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989403%23answer-
%26s_data%3D1989403%26s_csrf%3D1569246093005.5413)
0 To change the headings: get a reference to all columns by calling method get_columns( ) of CL_SALV_TABLE. Then select your column and
ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989403%23answer-
n%26s_data%3D1989403%26s_csrf%3D1569246093005.5413)
change the headings with methods: set_short_text, set_medium_text and set_long_text.

Regards.
John.
Share

Former Member

Feb 06, 2007 at 12:45 PM

Hi savitha,
ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989416%23answer-
%26s_data%3D1989416%26s_csrf%3D1569246093005.5413)
0 to top-of-page look at this:
ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989416%23answer-
n%26s_data%3D1989416%26s_csrf%3D1569246093005.5413)
/people/vijaybabu.dudla/blog/2006/07/21/topofpage-in-alv-using-clguialvgrid
Regards, Dieter
Share

Judith Jessie Selvi (/users/541553/judithjessieselvi.html)


(/users/541553/judithjessieselvi.html)
Feb 06, 2007 at 01:06 PM

Refer this link


ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989555%23answer-
%26s_data%3D1989555%26s_csrf%3D1569246093005.5413)
0 http://www.sapdevelopment.co.uk/reporting/alv/alvscr.htm (http://www.sapdevelopment.co.uk/reporting/alv/alvscr.htm) /
ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
Share
%3FchildToView%3D1989555%23answer-
n%26s_data%3D1989555%26s_csrf%3D1569246093005.5413)

Former Member

Feb 06, 2007 at 01:32 PM

Hi Savitha , Use this program.


ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989716%23answer-
%26s_data%3D1989716%26s_csrf%3D1569246093005.5413)
0
ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989716%23answer-
n%26s_data%3D1989716%26s_csrf%3D1569246093005.5413)

/
* ======================================================
* This program is an example of two ALV Grid controls
* with Drag and Drop effects between them
*
* Developer Name; Chidanand Chauhan
* Date: 09-Aug-2006
* Company: Rapidigm (I) Ltd.
* Purpose : Dummy Program for future references related to
* Drag n Drop.
* ======================================================

REPORT Z7CC_OOPS_ALV_DRAG_N_DROP .

* -------------------------------------------------
* CREATED ONE PHYSICAL TABLE IN TRANSACTION: SE11
* NAMED: Z7CCTRANSACTIONS* WITHTHE THE FOLLOWING STRUCTURE.
* -------------------------------------------------
* FIELD NAME | DATA ELEMENT | KEY
* -------------------------------------------------
* MANDT | MANDT | yes
* KUNNR | KUNNR | yes
* BELNR | MBLNR | yes
* BLDAT | BLDAT |
* DMBTR | DMBTR |
* WAERS | WAERS |
* -------------------------------------------------

*&---------------------------LOGIC OF THE PROGRAM----------------------*


* We have used one Class for the Drag and drop is DND_TOOLS.
*
* When the user drag and drop the line item from left alv to right alv
* method flows in this fashion.
* HANDLE_DRAG_FROM_LEFT
* HANDLE_DROP_TO_RIGHT
* HANDLE_DROPCOMPLETE_FROM_LEFT
*
* and Event flows in this fashion.
* ONDRAG, ONDROP, ONDROPCOMPLETE.
*
* When the user drag and drop the line item from right alv to left alv
* method flows in this fashion.
* HANDLE_DRAG_FROM_RIGHT
* HANDLE_DROP_TO_LEFT
* HANDLE_DROPCOMPLETE_FROM_RIGHT
*&---------------------------------------------------------------------*

*&---------------------------------------------------------
* DECLARATION OF THE INTERNAL TABLE.
*&---------------------------------------------------------

DATA : I_Z7CCTRANSACTIONS TYPE TABLE OF Z7CCTRANSACTIONS


WITH HEADER LINE.
DATA : I_Z7CCTRANSACTIONS2 TYPE TABLE OF Z7CCTRANSACTIONS
WITH HEADER LINE.

DATA : OK_CODE LIKE SY-UCOMM .

*declaration of the container


DATA : MCONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER .
*declaration of the container for left alv
DATA : MCONTLEFT TYPE REF TO CL_GUI_CONTAINER .
* declaration of the container for right alv.
DATA : MCONTRIGHT TYPE REF TO CL_GUI_CONTAINER .
* var used to split the container into two parts.
DATA : MSPLITCONT TYPE REF TO
CL_GUI_EASY_SPLITTER_CONTAINER .
* declaration for the alv grid( left and right side.
DATA : MALV_LEFT TYPE REF TO CL_GUI_ALV_GRID .
DATA : MALV_RIGHT TYPE REF TO CL_GUI_ALV_GRID .
* count the no of rows in the alv.
DATA : MROW TYPE LVC_S_ROW .
* declaration of the layout structure.
DATA: GS_LAYOUT TYPE LVC_S_LAYO ,
/
G_BEHAVIOUR_ALV TYPE REF TO CL_DRAGDROP.

DATA : MLINES TYPE I .


*&-----------------------------------------------------------
* Name of the custom control added on the screen
DATA GC_CUSTOM_CONTROL_NAME TYPE SCRFNAME VALUE 'mcontainer'.

*-----------------------------------------------------*
* CLASS lcl_dragdropobj DEFINITION
*-----------------------------------------------------*
* This is the Class of Drag Drop Object .
* This Object is used as a temporary storage means
* of the information extracted with drag
*-----------------------------------------------------*
CLASS LCL_DRAGDROPOBJ DEFINITION.
PUBLIC SECTION.
DATA: I_Z7CCTRANSACTIONS TYPE Z7CCTRANSACTIONS ,
INDEX TYPE I ,
ORIGINAL_TABLE(5) TYPE C ,
PROCEED_TRANS(1) TYPE C .
ENDCLASS.
* declare object for dragdrop object.
DATA : MDATA TYPE REF TO LCL_DRAGDROPOBJ .

*-----------------------------------------------------*
* CLASS DND_TOOLS DEFINITION
*-----------------------------------------------------*
* This class contains the methods responding to the
* events ONDRAG , ONDROP , ONDROPCOMPLETE
* of the ALV Grid Controls
*-----------------------------------------------------*
CLASS DND_TOOLS DEFINITION .
PUBLIC SECTION .
METHODS : HANDLE_DRAG_FROM_LEFT
FOR EVENT ONDRAG OF
CL_GUI_ALV_GRID
IMPORTING
E_ROW
E_DRAGDROPOBJ .

METHODS : HANDLE_DROPCOMPLETE_FROM_LEFT
FOR EVENT ONDROPCOMPLETE OF
CL_GUI_ALV_GRID
IMPORTING
E_ROW
E_DRAGDROPOBJ .

METHODS : HANDLE_DRAG_FROM_RIGHT
FOR EVENT ONDRAG OF
CL_GUI_ALV_GRID
IMPORTING
E_ROW
E_DRAGDROPOBJ .

METHODS : HANDLE_DROPCOMPLETE_FROM_RIGHT
FOR EVENT ONDROPCOMPLETE OF
CL_GUI_ALV_GRID
IMPORTING
E_ROW
E_DRAGDROPOBJ .

METHODS : HANDLE_DROP_TO_LEFT
FOR EVENT ONDROP OF
CL_GUI_ALV_GRID
IMPORTING
E_DRAGDROPOBJ .

METHODS : HANDLE_DROP_TO_RIGHT
FOR EVENT ONDROP OF
CL_GUI_ALV_GRID
IMPORTING
E_DRAGDROPOBJ .

METHODS: HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF
CL_GUI_ALV_GRID
IMPORTING
/
E_ROW
E_COLUMN.

ENDCLASS .

*-----------------------------------------------------*
* CLASS DND_TOOLS IMPLEMENTATION
*-----------------------------------------------------*
CLASS DND_TOOLS IMPLEMENTATION .
* ----------------------------------------------------
METHOD HANDLE_DRAG_FROM_LEFT .

MROW = E_ROW-INDEX .
READ TABLE I_Z7CCTRANSACTIONS INDEX MROW INTO
I_Z7CCTRANSACTIONS .

CREATE OBJECT MDATA .


MOVE I_Z7CCTRANSACTIONS TO MDATA->I_Z7CCTRANSACTIONS .
MOVE MROW TO MDATA->INDEX .
MOVE 'LEFT' TO MDATA->ORIGINAL_TABLE .

E_DRAGDROPOBJ->OBJECT = MDATA .
ENDMETHOD .
* ----------------------------------------------------
METHOD HANDLE_DROPCOMPLETE_FROM_LEFT .

* NB : the following data object MDATA is local to


* the method and contains the information from the
* import parameter of the method E_DRAGDROPOBJ

*& Creation of the funtions SAPGUI_PROGRESS_INDICATOR for the


* progress bar.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 50
TEXT = ''
.

DATA : MDATA TYPE REF TO LCL_DRAGDROPOBJ .

MDATA ?= E_DRAGDROPOBJ->OBJECT .
CHECK MDATA->PROCEED_TRANS = 'X' .

MROW = MDATA->INDEX .
DELETE I_Z7CCTRANSACTIONS INDEX MROW .

APPEND MDATA->I_Z7CCTRANSACTIONS TO I_Z7CCTRANSACTIONS2 .


SORT I_Z7CCTRANSACTIONS2 BY KUNNR BELNR .
DELETE I_Z7CCTRANSACTIONS2 WHERE KUNNR IS INITIAL .

DESCRIBE TABLE I_Z7CCTRANSACTIONS LINES MLINES .


IF MLINES EQ 0 .
CLEAR I_Z7CCTRANSACTIONS .
APPEND I_Z7CCTRANSACTIONS TO I_Z7CCTRANSACTIONS .
ENDIF .

CALL METHOD MALV_LEFT->REFRESH_TABLE_DISPLAY.


CALL METHOD MALV_RIGHT->REFRESH_TABLE_DISPLAY.

ENDMETHOD .
* ----------------------------------------------------
METHOD HANDLE_DRAG_FROM_RIGHT.

MROW = E_ROW-INDEX .
READ TABLE I_Z7CCTRANSACTIONS2 INDEX MROW INTO
I_Z7CCTRANSACTIONS2 .

CREATE OBJECT MDATA .


MOVE I_Z7CCTRANSACTIONS2 TO MDATA->I_Z7CCTRANSACTIONS .
MOVE MROW TO MDATA->INDEX .
MOVE 'RIGHT' TO MDATA->ORIGINAL_TABLE .

E_DRAGDROPOBJ->OBJECT = MDATA .
ENDMETHOD .
/
* ----------------------------------------------------
METHOD HANDLE_DROPCOMPLETE_FROM_RIGHT .

*& Creation of the funtions SAPGUI_PROGRESS_INDICATOR for the


* progress bar.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 50
TEXT = ''
.

DATA : MDATA TYPE REF TO LCL_DRAGDROPOBJ .

MDATA ?= E_DRAGDROPOBJ->OBJECT .

CHECK MDATA->PROCEED_TRANS = 'X' .


MROW = MDATA->INDEX .
DELETE I_Z7CCTRANSACTIONS2 INDEX MROW .

APPEND MDATA->I_Z7CCTRANSACTIONS TO I_Z7CCTRANSACTIONS .


SORT I_Z7CCTRANSACTIONS BY KUNNR BELNR .
DELETE I_Z7CCTRANSACTIONS WHERE KUNNR IS INITIAL .
DESCRIBE TABLE I_Z7CCTRANSACTIONS2 LINES MLINES .
IF MLINES EQ 0 .
CLEAR I_Z7CCTRANSACTIONS2 .
APPEND I_Z7CCTRANSACTIONS2 TO I_Z7CCTRANSACTIONS2 .
ENDIF .

CALL METHOD MALV_LEFT->REFRESH_TABLE_DISPLAY.


CALL METHOD MALV_RIGHT->REFRESH_TABLE_DISPLAY.

ENDMETHOD .
* ----------------------------------------------------
METHOD HANDLE_DROP_TO_LEFT .
DATA : MDATA TYPE REF TO LCL_DRAGDROPOBJ .

*& '?=' This is Casting Operator used to check at the runtime.

MDATA ?= E_DRAGDROPOBJ->OBJECT .

IF MDATA->ORIGINAL_TABLE = 'RIGHT' .
MDATA->PROCEED_TRANS = 'X' .
ELSE .
MDATA->PROCEED_TRANS = ' ' .
ENDIF .

E_DRAGDROPOBJ->OBJECT = MDATA .

ENDMETHOD .
* ----------------------------------------------------
METHOD HANDLE_DROP_TO_RIGHT .
DATA : MDATA TYPE REF TO LCL_DRAGDROPOBJ .

MDATA ?= E_DRAGDROPOBJ->OBJECT .

IF MDATA->ORIGINAL_TABLE = 'LEFT' .
MDATA->PROCEED_TRANS = 'X' .
ELSE .
MDATA->PROCEED_TRANS = ' ' .
ENDIF .

E_DRAGDROPOBJ->OBJECT = MDATA .

ENDMETHOD .

*------------------------------------------------------
METHOD HANDLE_DOUBLE_CLICK.

DATA: VAL(1). " value used to store the value of the Popup Button.

*& Call funtion POPUP_TO_CONFIRM for the message.

CALL FUNCTION 'POPUP_TO_CONFIRM'


EXPORTING
TITLEBAR = 'Message for the Confirmation.'
* DIAGNOSE_OBJECT = ' '
TEXT_QUESTION = ' Are you sure u want to delete this'
/
* TEXT_BUTTON_1 = 'Ja'(001)
* ICON_BUTTON_1 = ' '
* TEXT_BUTTON_2 = 'Nein'(002)
* ICON_BUTTON_2 = ' '
* DEFAULT_BUTTON = '1'
* DISPLAY_CANCEL_BUTTON = 'X'
* USERDEFINED_F1_HELP = ' '
* START_COLUMN = 25
* START_ROW = 6
* POPUP_TYPE =
IMPORTING
ANSWER = VAL
* TABLES
* PARAMETER =
* EXCEPTIONS
* TEXT_NOT_FOUND = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*& condition is button is yes then value would be 1.


IF VAL = '1'.

*& Creation of the funtions SAPGUI_PROGRESS_INDICATOR for the


* progress bar.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 50
TEXT = ''
.

MROW = E_ROW-INDEX .
DELETE I_Z7CCTRANSACTIONS INDEX MROW.
CALL METHOD MALV_LEFT->REFRESH_TABLE_DISPLAY.
CALL METHOD MALV_RIGHT->REFRESH_TABLE_DISPLAY.
ENDIF.

ENDMETHOD.

ENDCLASS .
*& Create a refrence of DND_TOOLS Class
DATA : MLISTENER TYPE REF TO DND_TOOLS .

* ======================================================
* START OF SELECTION
* ======================================================
START-OF-SELECTION .

PERFORM GET_DATA .

CALL SCREEN 100 .


* ----------------------------------------------------
* The screen 100 has the custom control MCONTAINER and
* on the flow logic has the following modules :
*
* PROCESS BEFORE OUTPUT.
*
* MODULE STATUS_0100.
*
* MODULE PREPARE_SCREEN .
*
* PROCESS AFTER INPUT.
*
* MODULE USER_COMMAND_0100.
*
* ----------------------------------------------------
* (Off course not commented out in the real flow logic)
* ----------------------------------------------------

*-----------------------------------------------------*
* FORM GET_DATA *
*-----------------------------------------------------*
* FOR THIS EXAMPLE THE DATA SELECTION IS HARD CODED
/
* ----------------------------------------------------*
FORM GET_DATA .

CLEAR : I_Z7CCTRANSACTIONS , I_Z7CCTRANSACTIONS[] .


I_Z7CCTRANSACTIONS-MANDT = SY-MANDT .
I_Z7CCTRANSACTIONS-WAERS = 'EUR ' .
I_Z7CCTRANSACTIONS-KUNNR = '0000000001' .

I_Z7CCTRANSACTIONS-BELNR = '0000000001' .
I_Z7CCTRANSACTIONS-BLDAT = '20030101' .
I_Z7CCTRANSACTIONS-DMBTR = '1000' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000002' .
I_Z7CCTRANSACTIONS-BLDAT = '20030202' .
I_Z7CCTRANSACTIONS-DMBTR = '1010' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000003' .
I_Z7CCTRANSACTIONS-BLDAT = '20030323' .
I_Z7CCTRANSACTIONS-DMBTR = '1020' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000004' .
I_Z7CCTRANSACTIONS-BLDAT = '20030404' .
I_Z7CCTRANSACTIONS-DMBTR = '1030' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000005' .
I_Z7CCTRANSACTIONS-BLDAT = '20030505' .
I_Z7CCTRANSACTIONS-DMBTR = '1040' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000006' .
I_Z7CCTRANSACTIONS-BLDAT = '20030606' .
I_Z7CCTRANSACTIONS-DMBTR = '1050' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000007' .
I_Z7CCTRANSACTIONS-BLDAT = '20030707' .
I_Z7CCTRANSACTIONS-DMBTR = '1060' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000008' .
I_Z7CCTRANSACTIONS-BLDAT = '20030808' .
I_Z7CCTRANSACTIONS-DMBTR = '1070' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000009' .
I_Z7CCTRANSACTIONS-BLDAT = '20030909' .
I_Z7CCTRANSACTIONS-DMBTR = '1080' .
APPEND I_Z7CCTRANSACTIONS .
I_Z7CCTRANSACTIONS-BELNR = '0000000010' .
I_Z7CCTRANSACTIONS-BLDAT = '20031010' .
I_Z7CCTRANSACTIONS-DMBTR = '1090' .
APPEND I_Z7CCTRANSACTIONS .

CLEAR : I_Z7CCTRANSACTIONS2 , I_Z7CCTRANSACTIONS2[] .


APPEND I_Z7CCTRANSACTIONS2 .

CREATE OBJECT MCONTAINER


EXPORTING
CONTAINER_NAME = GC_CUSTOM_CONTROL_NAME
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM .

*&-----------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&-----------------------------------------------------*
* -----------------------------------------------------
* The PF STATUS STATUS100 called from the module below,
* has on the Standard toolbar the buttons
* BACK , EXIT and CANCEL .
* These buttons are provided with function code = 'EXIT'
* -----------------------------------------------------
MODULE STATUS_0100 OUTPUT.
* set titlebar 'TITLEDRAGDROP' .
SET PF-STATUS 'STATUS100'.
ENDMODULE. " STATUS_0100 OUTPUT
/
* -----------------------------------------------------*
* Module USER_COMMAND_0100 INPUT
* -----------------------------------------------------*
* The following module checks the User Command and ends
* the program
* ------------------------------------------------------
MODULE USER_COMMAND_0100 INPUT.

IF OK_CODE = 'EXIT' .
CLEAR : MCONTAINER ,
MCONTLEFT ,
MCONTRIGHT ,
MSPLITCONT ,
MALV_LEFT ,
MALV_RIGHT .
LEAVE TO SCREEN 0 .
ENDIF .

ENDMODULE. " USER_COMMAND_0100 INPUT

*&----------------------------------------------------*
*& Module PREPARE_SCREEN OUTPUT
*&----------------------------------------------------*
MODULE PREPARE_SCREEN OUTPUT.

* if mcontainer is initial .
CREATE OBJECT MCONTAINER
EXPORTING
CONTAINER_NAME = 'MCONTAINER' .
CREATE OBJECT MSPLITCONT
EXPORTING
PARENT = MCONTAINER
ORIENTATION = 1 .
MCONTLEFT = MSPLITCONT->TOP_LEFT_CONTAINER .
MCONTRIGHT = MSPLITCONT->BOTTOM_RIGHT_CONTAINER .

CREATE OBJECT MALV_LEFT


EXPORTING I_PARENT = MCONTLEFT .
CREATE OBJECT MALV_RIGHT
EXPORTING I_PARENT = MCONTRIGHT .

PERFORM SET_LAYOUT_CAPABLE_OF_DRAG_DRO
USING 'X' 'X' .

CALL METHOD MALV_LEFT->SET_TABLE_FOR_FIRST_DISPLAY


EXPORTING
I_STRUCTURE_NAME = 'Z7CCTRANSACTIONS'
IS_LAYOUT = GS_LAYOUT
CHANGING
IT_OUTTAB = I_Z7CCTRANSACTIONS[] .

CALL METHOD MALV_RIGHT->SET_TABLE_FOR_FIRST_DISPLAY


EXPORTING
I_STRUCTURE_NAME = 'Z7CCTRANSACTIONS'
IS_LAYOUT = GS_LAYOUT
CHANGING
IT_OUTTAB = I_Z7CCTRANSACTIONS2[] .

CREATE OBJECT MLISTENER .


SET HANDLER MLISTENER->HANDLE_DRAG_FROM_LEFT
FOR MALV_LEFT .
SET HANDLER MLISTENER->HANDLE_DROPCOMPLETE_FROM_LEFT
FOR MALV_LEFT .

SET HANDLER MLISTENER->HANDLE_DRAG_FROM_RIGHT


FOR MALV_RIGHT.
SET HANDLER MLISTENER->HANDLE_DROPCOMPLETE_FROM_RIGHT
FOR MALV_RIGHT.
SET HANDLER MLISTENER->HANDLE_DROP_TO_RIGHT
FOR MALV_RIGHT.
SET HANDLER MLISTENER->HANDLE_DROP_TO_LEFT
FOR MALV_LEFT .

SET HANDLER MLISTENER->HANDLE_DOUBLE_CLICK


FOR MALV_LEFT .
SET HANDLER MLISTENER->HANDLE_DOUBLE_CLICK
/
FOR MALV_RIGHT .

* endif .
ENDMODULE. " PREPARE_SCREEN OUTPUT

* -----------------------------------------------------*
* Form SET_LAYOUT_CAPABLE_OF_DRAG_DRO
* -----------------------------------------------------*
* Definition of a Drag & Drop behaviour for the ALV
* grid
* ------------------------------------------------------
FORM SET_LAYOUT_CAPABLE_OF_DRAG_DRO USING DRAG DROP.

DATA : EFFECT TYPE I ,


HANDLE_ALV TYPE I .

CREATE OBJECT G_BEHAVIOUR_ALV.


EFFECT = CL_DRAGDROP=>MOVE + CL_DRAGDROP=>COPY .

CALL METHOD G_BEHAVIOUR_ALV->ADD


EXPORTING
FLAVOR = 'Line'
DRAGSRC = DRAG
DROPTARGET = DROP
EFFECT = EFFECT.
CALL METHOD G_BEHAVIOUR_ALV->GET_HANDLE
IMPORTING HANDLE = HANDLE_ALV.

GS_LAYOUT-S_DRAGDROP-ROW_DDID = HANDLE_ALV.

ENDFORM. " SET_LAYOUT_CAPABLE_OF_DRAG_DRO

Share

Former Member

Feb 06, 2007 at 02:01 PM

Thanks a lot for the info.


ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989825%23answer-
%26s_data%3D1989825%26s_csrf%3D1569246093005.5413)
0 But how do I access the ON_TOP_OF_PAGE(Top-of-Page Event Handler) method in a custom class where it is a protected method?
ct_to=%2Fquestions%2F1989393%2Falv-grid-display-using-
%3FchildToView%3D1989825%23answer-
n%26s_data%3D1989825%26s_csrf%3D1569246093005.5413)
Thanks,
Savitha
Share

1 Comment

Former Member

Feb 06, 2007 at 02:10 PM (/comments/1989882/view.html)


By changing the method to public (it's a custom class) or by adding a public method. Or by creating a sub class of this one.
Regards,
John.

Like (/users/login.html?redirect_to=%2Fquestions%2F1989393%2Falv-grid-display-using-classes.html%3FchildToView%3D1989882%23comment-
1989882%26s_action%3Dlike_comment%26s_data%3D1989882%26s_csrf%3D1569246093005.5413)
0
Share

Share & Follow

(https://www.facebook.com/sapcommunity) (https://twitter.com/SAPCommunity) (https://www.youtube.com/c/SAPCommunities)

(https://www.linkedin.com/company/sap) (http://www.slideshare.net/SAP) (https://instagram.com/sap/) ()

Privacy (http://sap.com/about/legal/privacy.html) Terms of Use (http://sap.com/corporate/en/legal/terms-of-use.html)

Legal Disclosure (http://sap.com/about/legal/impressum.html) Copyright (http://sap.com/about/legal/copyright.html)

Trademark (http://sap.com/about/legal/trademark.html) Sitemap (http://www.sap.com/sitemap/index.html)

Newsletter (https://sap.com/registration/newsletter.html)

S-ar putea să vă placă și