Application Development and Automation 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: 
Read only

Editable ALV using SALV classes

Former Member
0 Likes
1,357

HI All,

I need to make an ALV program editable which uses SALV classes for display. How can we make the ALV editable using SALV classes?

Any help will be appreciated.

Regards,

Neha

4 REPLIES 4
Read only

Former Member
0 Likes
712

Here are a few classes used in ALV, just read through their documentation or look at how they've been implemented in your system and you'll get a good idea on how to use them:

CL_ALV_EVENT_DATA (Changing Data Container for Events)

CL_ALV_EVENT_TOOLBAR_SET (ALV Context menu)

CL_ALV_TABLE_CREATE (Dynamic Creation of ALV Data Table)

CL_ALV_TREE_BASE (Basis Class ALV Tree Control)

CL_CK_ALVTREE_NKEY_2_OBJECT (Converter Node Key < > Object)

CL_COST_COSTINGVERSION_ALV (Display Costing Versions)

CL_GUI_ALV_GRID (List Viewer)

CL_GUI_ALV_GRID_BASE (Basis Class for ALV grid)

CL_GUI_ALV_TREE (ALV Tree Control)

CL_GUI_ALV_TREE_SIMPLE (Simple ALV Tree)

check the below links lot of info and examples r there for OOPS

http://www.sapgenie.com/abap/OO/index.htm

http://www.geocities.com/victorav15/sapr3/abap_ood.html

http://www.brabandt.de/html/abap_oo.html

Check this cool weblog:

/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql

/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql

http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm

http://www.sapgenie.com/abap/OO/

http://www.sapgenie.com/abap/OO/index.htm

http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm

http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt

http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf

http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt

http://www.allsaplinks.com/

http://www.sap-img.com/

http://www.sapgenie.com/

http://help.sap.com

http://www.sapgenie.com/abap/OO/

http://www.sapgenie.com/abap/OO/index.htm

http://www.sapgenie.com/abap/controls/index.htm

http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf

http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf

http://www.sapgenie.com/abap/OO/index.htm

http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm

http://www.sapgenie.com/abap/OO/

these links

http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm

For funtion module to class

http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm

for classes

http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm

for methods

http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm

for inheritance

http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm

for interfaces

http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm

For Materials:

1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291

2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt

3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf

4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf

5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt

6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf

7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt

😎 http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8

1) http://www.erpgenie.com/sap/abap/OO/index.htm

2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm

Check these sample code

data : begin of it_mara occurs 0,

mark type flag,

matnr type matnr,

mtart type mtart,

meins type meins,

end of it_mara.

data : begin of it_mara1 occurs 0,

  • mark type flag,

matnr type matnr,

mtart type mtart,

meins type meins,

end of it_mara1.

data : begin of it_mara2 occurs 0,

  • mark type flag,

matnr type matnr,

mtart type mtart,

meins type meins,

end of it_mara2.

data : t_fieldcat type lvc_t_fcat,

t_fieldcat1 type lvc_t_fcat,

s_fieldcat like line of t_fieldcat.

data : s_layout type lvc_s_layo.

data : control type ref to cl_gui_custom_container,

grid type ref to cl_gui_alv_grid.

data: begin of wa ,

mark type flag,

matnr type matnr,

mtart type mtart,

meins type meins,

end of wa.

class lcl_events_box definition.

public section.

methods :

*Handler_Data_Changed for event Data_Changed of cl_gui_alv_grid

*imporTing er_data_changed,

*

Handler_User_Command for event User_Command of cl_gui_alv_grid

imporTing e_ucomm,

Handler_ToolBar for event ToolBar of cl_gui_alv_grid

importing E_object E_interactive.

endclass.

class lcl_events_box implementation.

method Handler_user_command.

PERFORM FORM_USERCOMMAND CHANGING E_UCOMM.

endmethod.

method Handler_ToolBar.

PERFORM FORM_TOOLBAR CHANGING E_OBJECT E_INTERACTIVE

E_OBJECT->MT_TOOLBAR.

endmethod.

ENDCLASS.

start-of-selection.

data : w_events type ref to lcl_events_box.

select matnr mtart meins from mara into corresponding fields of table

it_mara.

call screen 100.

&----


*& Module pbo_module OUTPUT

&----


  • text

----


MODULE pbo_module OUTPUT.

if GRID is initial.

CREATE OBJECT CONTROL

EXPORTING

CONTAINER_NAME = 'CUST_CTRL'.

CREATE OBJECT GRID

EXPORTING

I_PARENT = CONTROL.

PERFORM BUILD_CATALOG.

PERFORM BUILD_CATALOG1.

PERFORM BUILD_LAYOUT.

CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

IS_LAYOUT = s_layout

CHANGING

IT_OUTTAB = it_mara[]

IT_FIELDCATALOG = t_fieldcat.

CREATE OBJECT W_EVENTS.

SET HANDLER : W_EVENTS->HANDLER_TOOLBAR FOR GRID,

W_EVENTS->HANDLER_USER_COMMAND FOR GRID.

CALL METHOD GRID->SET_TOOLBAR_INTERACTIVE.

ELSE.

call method grid->refresh_table_display.

ENDIF.

ENDMODULE. " pbo_module OUTPUT

&----


*& Form BUILD_CATALOG

FORM BUILD_CATALOG .

S_FIELDCAT-COL_POS = '1'.

S_FIELDCAT-FIELDNAME = 'MARK'.

S_FIELDCAT-CHECKBOX = 'X'.

S_FIELDCAT-eDIT = 'X'.

APPEND S_FIELDCAT TO T_FIELDCAT.

CLEAR S_FIELDCAT.

S_FIELDCAT-COL_POS = '2'.

S_FIELDCAT-FIELDNAME = 'MATNR'.

S_FIELDCAT-SCRTEXT_M = 'MATERIAL'.

APPEND S_FIELDCAT TO T_FIELDCAT.

S_FIELDCAT-COL_POS = '3'.

S_FIELDCAT-FIELDNAME = 'MTART'.

S_FIELDCAT-SCRTEXT_M = 'MATERL TYPE'.

APPEND S_FIELDCAT TO T_FIELDCAT.

S_FIELDCAT-COL_POS = '4'.

S_FIELDCAT-FIELDNAME = 'MEINS'.

S_FIELDCAT-SCRTEXT_M = 'UOM'.

APPEND S_FIELDCAT TO T_FIELDCAT.

ENDFORM. " BUILD_CATALOG

&----


*& Form BUILD_LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_LAYOUT .

S_LAYOUT-ZEBRA = 'X'.

  • S_LAYOUT-CWIDTH_OPT = 'X'.

S_LAYOUT-GRID_TITLE = 'Material Details'.

ENDFORM.

" BUILD_LAYOUT////////////////////////////////////

" USER_COMMAND_0100 INPUT

&----


*& Form FORM_USERCOMMAND

&----


  • text

----


  • <--P_E_UCOMM text

----


form FORM_USERCOMMAND changing p_e_ucomm.

CASE P_E_UCOMM.

WHEN 'INT1'.

DO.

READ TABLE IT_MARA INDEX SY-INDEX TRANSPORTING MARK MATNR.

IF SY-SUBRC <> 0.

EXIT.

ENDIF.

IF IT_MARA-MARK = 'X'.

read table it_mara into wa TRANSPORTING MATNR MTART MEINS .

MOVE-CORRESPONDING WA TO IT_MARA1.

READ TABLE IT_MARA1 TRANSPORTING MATNR MTART MEINS .

MOVE-CORRESPONDING IT_MARA1 TO IT_MARA2.

APPEND IT_MARA2.

CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

IS_LAYOUT = s_layout

CHANGING

IT_OUTTAB = it_mara2[]

IT_FIELDCATALOG = t_fieldcat1.

*

  • SET PARAMETER ID 'MAT' FIELD IT_MARA-MATNR.

  • CALL TRANSACTION 'MM02'.

. ENDIF.

  • ENDIF.

ENDDO.

ENDCASE.

endform. " FORM_USERCOMMAND

&----


*& Form FORM_TOOLBAR

&----


  • text

----


  • <--P_E_OBJECT text

  • <--P_E_INTERACTIVE text

  • <--P_E_OBJECT_>MT_TOOLBAR text

----


FORM FORM_TOOLBAR CHANGING P_E_OBJECT TYPE REF TO

CL_ALV_EVENT_TOOLBAR_SET

P_E_INTERACTIVE

MT_TOOLBAR TYPE TTB_BUTTON.

DATA WAL_BUTTON TYPE STB_BUTTON.

*WAL_BUTTON-ICON = ICON_status_reverse.

WAL_BUTTON-TEXT = 'GO'.

WAL_BUTTON-QUICKINFO = 'PROCEED'.

waL_button-FUNCTION = 'INT1'.

WAL_BUTTON-BUTN_TYPE = 0.

WAL_BUTTON-DISABLED = SPACE.

insert WAL_BUTTON INTO P_E_OBJECT->MT_TOOLBAR index 1.

endform. " FORM_TOOLBAR

&----


*& Module PF-STATUS OUTPUT

&----


  • text

----


module PF-STATUS output.

set pf-status 'Z7PSTAT'.

endmodule. " PF-STATUS OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


module USER_COMMAND_0100 input.

CASE SY-UCOMM.

WHEN 'BACK'.

LEAVE PROGRAM.

WHEN 'CANCEL'.

LEAVE PROGRAM.

ENDCASE.

endmodule. " USER_COMMAND_0100 INPUT

&----


*& Form BUILD_CATALOG1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form BUILD_CATALOG1 .

S_FIELDCAT-COL_POS = '1'.

S_FIELDCAT-FIELDNAME = 'MATNR'.

S_FIELDCAT-SCRTEXT_M = 'MATERIAL'.

APPEND S_FIELDCAT TO T_FIELDCAT1.

S_FIELDCAT-COL_POS = '2'.

S_FIELDCAT-FIELDNAME = 'MTART'.

S_FIELDCAT-SCRTEXT_M = 'MATERL TYPE'.

APPEND S_FIELDCAT TO T_FIELDCAT1.

S_FIELDCAT-COL_POS = '3'.

S_FIELDCAT-FIELDNAME = 'MEINS'.

S_FIELDCAT-SCRTEXT_M = 'UOM'.

APPEND S_FIELDCAT TO T_FIELDCAT1.

endform. " BUILD_CATALOG1

check the below link may be useful for you

http://www.sapdevelopment.co.uk/reporting/alvhome.htm

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf

Simple ALV report

http://www.sapgenie.com/abap/controls/alvgrid.htm

http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox

ALV

1. Please give me general info on ALV.

http://www.sapfans.com/forums/viewtopic.php?t=58286

http://www.sapfans.com/forums/viewtopic.php?t=76490

http://www.sapfans.com/forums/viewtopic.php?t=20591

http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.

2. How do I program double click in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=11601

http://www.sapfans.com/forums/viewtopic.php?t=23010

3. How do I add subtotals (I have problem to add them)...

http://www.sapfans.com/forums/viewtopic.php?t=20386

http://www.sapfans.com/forums/viewtopic.php?t=85191

http://www.sapfans.com/forums/viewtopic.php?t=88401

http://www.sapfans.com/forums/viewtopic.php?t=17335

4. How to add list heading like top-of-page in ABAP lists?

http://www.sapfans.com/forums/viewtopic.php?t=58775

http://www.sapfans.com/forums/viewtopic.php?t=60550

http://www.sapfans.com/forums/viewtopic.php?t=16629

5. How to print page number / total number of pages X/XX in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)

6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.

http://www.sapfans.com/forums/viewtopic.php?t=64320

http://www.sapfans.com/forums/viewtopic.php?t=44477

7. How can I set the cell color in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=52107

8. How do I print a logo/graphics in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=81149

http://www.sapfans.com/forums/viewtopic.php?t=35498

http://www.sapfans.com/forums/viewtopic.php?t=5013

9. How do I create and use input-enabled fields in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=84933

http://www.sapfans.com/forums/viewtopic.php?t=69878

10. How can I use ALV for reports that are going to be run in background?

http://www.sapfans.com/forums/viewtopic.php?t=83243

http://www.sapfans.com/forums/viewtopic.php?t=19224

11. How can I display an icon in ALV? (Common requirement is traffic light icon).

http://www.sapfans.com/forums/viewtopic.php?t=79424

http://www.sapfans.com/forums/viewtopic.php?t=24512

12. How can I display a checkbox in ALV?

http://www.sapfans.com/forums/viewtopic.php?t=88376

http://www.sapfans.com/forums/viewtopic.php?t=40968

http://www.sapfans.com/forums/viewtopic.php?t=6919

Go thru these programs they may help u to try on some hands on

ALV Demo program

BCALV_DEMO_HTML

BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode

BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode

BCALV_GRID_DEMO Simple ALV Control Call Demo Program

BCALV_TREE_DEMO Demo for ALV tree control

BCALV_TREE_SIMPLE_DEMO

BC_ALV_DEMO_HTML_D0100

Reward all helpfull answers

Message was edited by:

Karthikeyan Pandurangan

Read only

Former Member
0 Likes
712

Hi all,

Thanks for quick responses. However I need to make ALV editable using <b>SALV classes</b>. I can not use other classes as the program is already using these classes for display and I have to make it editable now.

Thanks and regards,

Pragya

Read only

Former Member
0 Likes
712

hi,

Go to se38 -> give BCALV_EDIT_* -> press f4.

U will get a list of OOPS ALV pgms.

Rgds

Reshma