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

object oriented ALV

Former Member
0 Likes
355

I have the following object where i have to use only classes and methods.

1.I have to get all fields data from mara in alv grid and 2.I have to add one button on alv display toolbar & when user selects one material and will be clicking on that button it should go for mm03 for that material.I have completed the first one...can u pls help me to go further: I have given my code as given below

REPORT zmaterial_alvgrid.

DATA: o_container TYPE REF TO cl_gui_custom_container,

o_grid TYPE REF TO cl_gui_alv_grid,

it_mara LIKE TABLE OF mara.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'ZMENU'.

SET TITLEBAR 'ZTITLE'.

*CREATE CONTAINER OBJ

CREATE OBJECT o_container

EXPORTING

container_name = 'CONTAINER'.

IF sy-subrc = 0.

CREATE OBJECT o_grid

EXPORTING

i_parent = o_container.

IF sy-subrc = 0.

CALL METHOD o_grid->set_table_for_first_display

EXPORTING

i_structure_name = 'MARA'

CHANGING

it_outtab = it_mara.

ENDIF.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module READ_DATA OUTPUT

&----


  • text

----


MODULE read_data OUTPUT.

SELECT * INTO TABLE IT_MARA FROM MARA UP TO 1 ROWS.

CASE SY-UCOMM.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " READ_DATA OUTPUT

Regards,

sarkar

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
327

Hi,


CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_toolbar FOR o_grid

CALL METHOD o_grid->set_table_for_first_display
          EXPORTING
                i_structure_name = 'MARA'
          CHANGING
                it_outtab = it_mara.

 SET HANDLER event_receiver->handle_user_command
           FOR o_grid.

You must add inclide <ICON>

Create the class, you can put this code in the top:



DATA: gs_toolbar_qn         TYPE stb_button.

CLASS lcl_event_receiver DEFINITION.
    PUBLIC SECTION.
      METHODS: handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
                        IMPORTING e_object e_interactive.

    METHODS:  handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
                         IMPORTING e_ucomm.

    PRIVATE SECTION.
ENDCLASS.

 DATA : event_receiver TYPE REF TO lcl_event_receiver.

CLASS lcl_event_receiver IMPLEMENTATION.
    METHOD handle_toolbar_qn.
        MOVE 'ADD' TO gs_toolbar_qn-function.
        MOVE icon_insert_row TO gs_toolbar_qn-icon.
        MOVE 'Add line' TO gs_toolbar_qn-quickinfo.
        MOVE space TO gs_toolbar_qn-disabled.
        APPEND gs_toolbar_qn TO e_object->mt_toolbar.
    ENDMETHOD.

  METHOD handle_user_command.
    CASE e_ucomm.
      WHEN '....'.
    ENDCASE.
  ENDMETHOD.

ENDCLASS.

I hope that help you, maybe i have forget some parts of code ... tell me

1 REPLY 1
Read only

Former Member
0 Likes
328

Hi,


CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_toolbar FOR o_grid

CALL METHOD o_grid->set_table_for_first_display
          EXPORTING
                i_structure_name = 'MARA'
          CHANGING
                it_outtab = it_mara.

 SET HANDLER event_receiver->handle_user_command
           FOR o_grid.

You must add inclide <ICON>

Create the class, you can put this code in the top:



DATA: gs_toolbar_qn         TYPE stb_button.

CLASS lcl_event_receiver DEFINITION.
    PUBLIC SECTION.
      METHODS: handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
                        IMPORTING e_object e_interactive.

    METHODS:  handle_user_command FOR EVENT user_command OF cl_gui_alv_grid
                         IMPORTING e_ucomm.

    PRIVATE SECTION.
ENDCLASS.

 DATA : event_receiver TYPE REF TO lcl_event_receiver.

CLASS lcl_event_receiver IMPLEMENTATION.
    METHOD handle_toolbar_qn.
        MOVE 'ADD' TO gs_toolbar_qn-function.
        MOVE icon_insert_row TO gs_toolbar_qn-icon.
        MOVE 'Add line' TO gs_toolbar_qn-quickinfo.
        MOVE space TO gs_toolbar_qn-disabled.
        APPEND gs_toolbar_qn TO e_object->mt_toolbar.
    ENDMETHOD.

  METHOD handle_user_command.
    CASE e_ucomm.
      WHEN '....'.
    ENDCASE.
  ENDMETHOD.

ENDCLASS.

I hope that help you, maybe i have forget some parts of code ... tell me