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

oops report

spandana_babu
Participant
0 Likes
460

hi

experts

can anybody send a sample alv-reporting using oops concepts?

Thanks &Regards

Spandna

3 REPLIES 3
Read only

Former Member
0 Likes
437

Hi spandana,

Please provide ur mail id. so that I can send u some sample alv reports using OOPS.

Thanks.

Read only

Former Member
0 Likes
437

Check this link. It gives a sample of interactive ALV using OOPS.

http://www.saptechnical.com/Tutorials/ALV/Interactive/oops.htm

Also you have other ALV OOPS sample here in this link

http://www.saptechnical.com/Tutorials/ALV/ALVMainPage.htm

Do reward points if useful.

Thanks.

Read only

Former Member
0 Likes
437

TYPE-POOLS: icon.

TYPES: BEGIN OF t_kna1,

kunnr TYPE kna1-kunnr,

land1 TYPE kna1-land1,

name1 TYPE kna1-name1,

END OF t_kna1.

DATA: i_kna1 TYPE STANDARD TABLE OF t_kna1,

wa_kna1 TYPE t_kna1,

c_flag TYPE c VALUE 'X'.

DATA: customer TYPE REF TO cl_gui_custom_container,

customer_grid TYPE REF TO cl_gui_alv_grid,

enable_disable TYPE REF TO cl_gui_control.

DATA: i_fieldcat TYPE lvc_t_fcat,

wa_fieldcat TYPE lvc_s_fcat,

wa_layout TYPE lvc_s_layo,

wa_variant TYPE disvariant,

save_ok TYPE sy-ucomm,

ok_code TYPE sy-ucomm.

CONSTANTS: c_container(8) TYPE c VALUE 'CUSTOMER'.

----


  • CLASS lcl_EVENT_receiver DEFINITION

----


*

----


CLASS lcl_event_receiver DEFINITION DEFERRED.

DATA: o_event_receiver TYPE REF TO lcl_event_receiver.

----


  • CLASS lcl_event_receiver DEFINITION

----


*

----


CLASS lcl_event_receiver DEFINITION.

PUBLIC SECTION.

METHODS:

handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid

IMPORTING

e_object e_interactive,

handle_usercommand FOR EVENT user_command OF cl_gui_alv_grid

IMPORTING

e_ucomm,

handle_doubleclick FOR EVENT double_click OF cl_gui_alv_grid

IMPORTING

e_row e_column es_row_no.

ENDCLASS. "lcl_event_receiver DEFINITIO

----


  • CLASS lcl_event_receiver IMPLEMENTATION

----


*

----


CLASS lcl_event_receiver IMPLEMENTATION.

METHOD handle_toolbar.

DATA: wa_toolbar_button TYPE stb_button.

wa_toolbar_button-function = 'CHANGE'.

wa_toolbar_button-icon = icon_change.

wa_toolbar_button-disabled = 'X'.

wa_toolbar_button-text = 'Change'.

wa_toolbar_button-quickinfo = 'Change customer'.

APPEND wa_toolbar_button TO e_object->mt_toolbar.

ENDMETHOD. "handle_toolbar

METHOD handle_usercommand.

CASE e_ucomm.

WHEN 'CHANGE'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMETHOD. "handle_usercommand

METHOD handle_doubleclick.

CALL TRANSACTION 'XD01'.

ENDMETHOD. "handle_usercommand

ENDCLASS. "lcl_event_receiver IMPLEMENTATION

START-OF-SELECTION.

PERFORM f_getvalues.

END-OF-SELECTION.

PERFORM f_fieldcat USING: 'KUNNR' 'I_KNA1' 'Customer' '10',

'LAND1' 'I_KNA1' 'Country' '3' ,

'NAME1' 'I_KNA1' 'Name' '30'.

CALL SCREEN 100.

&----


*& Form f_getvalues

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM f_getvalues .

SELECT kunnr land1 name1 FROM kna1 INTO TABLE i_kna1 WHERE land1 EQ 'IN'.

ENDFORM. " f_getvalues

&----


*& Module display_grid OUTPUT

&----


  • text

----


MODULE display_grid OUTPUT.

IF customer IS INITIAL.

CREATE OBJECT customer

EXPORTING

container_name = c_container.

CREATE OBJECT customer_grid

EXPORTING

i_parent = customer.

  • I_APPL_EVENTS = space

ENDIF.

wa_layout-sel_mode = 'D'.

  • wa_layout-edit = 'X'.

wa_variant-report = sy-repid.

CALL METHOD customer_grid->set_table_for_first_display

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

  • I_STRUCTURE_NAME =

is_variant = wa_variant

i_save = 'A'

  • I_DEFAULT = 'X'

is_layout = wa_layout

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

it_outtab = i_kna1

it_fieldcatalog = i_fieldcat.

  • IT_SORT =

  • IT_FILTER =

  • EXCEPTIONS

  • INVALID_PARAMETER_COMBINATION = 1

  • PROGRAM_ERROR = 2

  • TOO_MANY_LINES = 3

  • others = 4

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CREATE OBJECT o_event_receiver.

SET HANDLER o_event_receiver->handle_usercommand FOR customer_grid.

SET HANDLER o_event_receiver->handle_toolbar FOR customer_grid.

SET HANDLER o_event_receiver->handle_doubleclick FOR customer_grid.

CALL METHOD customer_grid->set_toolbar_interactive.

ENDMODULE. " display_grid OUTPUT

&----


*& Form f_fieldcat

&----


  • text

----


  • -->P_0067 text

  • -->P_0068 text

  • -->P_0069 text

  • -->P_0070 text

----


FORM f_fieldcat USING p_fname

p_tabname

p_fldtxt

p_fldlen.

wa_fieldcat-fieldname = p_fname.

wa_fieldcat-tabname = p_tabname.

wa_fieldcat-outputlen = p_fldlen.

wa_fieldcat-coltext = p_fldtxt.

APPEND wa_fieldcat TO i_fieldcat.

ENDFORM. " f_fieldcat

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS '100'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module cancel INPUT

&----


  • text

----


MODULE cancel INPUT.

LEAVE PROGRAM.

ENDMODULE. " cancel INPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

save_ok = ok_code.

CLEAR:ok_code.

CASE save_ok.

WHEN 'EDIT'.

DATA: i_rowindex TYPE lvc_t_row.

CALL METHOD customer_grid->get_selected_rows

IMPORTING

et_index_rows = i_rowindex.

  • ET_ROW_NO =

.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT