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: 

oops alv example

Former Member
0 Kudos

hi friend ,

i want to code for different oops alv pls

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hi,

check the code

REPORT z_alv_ooabap .

TABLES:

spfli.

DATA:

w_grid TYPE REF TO cl_gui_alv_grid,

w_container TYPE REF TO cl_gui_custom_container.

DATA:

t_spfli LIKE STANDARD TABLE OF spfli WITH HEADER LINE,

wa_field_catalog TYPE lvc_s_fcat,

t_field_catalog TYPE lvc_t_fcat,

wa_layout TYPE lvc_s_layo.

SELECT * FROM spfli INTO TABLE t_spfli.

CALL SCREEN '0100'.

&----


*& Module set_layout OUTPUT

&----


  • text

----


MODULE set_layout OUTPUT.

wa_layout-grid_title = 'SPFLI TABLE DETAILS'.

wa_layout-zebra = 'X'.

ENDMODULE. " set_layout OUTPUT

&----


*& Module field_catalog OUTPUT

&----


  • text

----


MODULE field_catalog OUTPUT.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'CARRID'.

wa_field_catalog-ref_field = 'CARRID'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 1.

APPEND wa_field_catalog TO t_field_catalog.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'CONNID'.

wa_field_catalog-ref_field = 'CONNID'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 2.

APPEND wa_field_catalog TO t_field_catalog.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'CITYFROM'.

wa_field_catalog-ref_field = 'CITYFROM'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 3.

APPEND wa_field_catalog TO t_field_catalog.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'CITYTO'.

wa_field_catalog-ref_field = 'CITYTO'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 4.

APPEND wa_field_catalog TO t_field_catalog.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'DISTANCE'.

wa_field_catalog-ref_field = 'DISTANCE'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 5.

wa_field_catalog-do_sum = 'X'.

wa_field_catalog-Emphasize = 'X'.

wa_field_catalog-Hotspot = 'X'.

APPEND wa_field_catalog TO t_field_catalog.

ENDMODULE. " field_catalog OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

CASE sy-ucomm.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module manage_alv_grid OUTPUT

&----


  • text

----


MODULE manage_alv_grid OUTPUT.

IF w_grid IS INITIAL.

CREATE OBJECT w_container

EXPORTING

container_name = 'CONTAINER1'

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5

OTHERS = 6

.

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 w_grid

EXPORTING

i_parent = w_container

EXCEPTIONS

error_cntl_create = 1

error_cntl_init = 2

error_cntl_link = 3

error_dp_create = 4

OTHERS = 5.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CALL METHOD w_grid->set_table_for_first_display

EXPORTING

i_structure_name = 'SPFLI'

is_layout = wa_layout

CHANGING

it_outtab = t_spfli[]

it_fieldcatalog = t_field_catalog

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.

ELSE.

MESSAGE 'GRID IS NOT INITAL' TYPE 'I'.

ENDIF.

ENDMODULE. " manage_alv_grid OUTPUT

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'ALVS_GUI'.

SET TITLEBAR 'TIT'.

ENDMODULE. " STATUS_0100 OUTPUT

Regards,

anirban

9 REPLIES 9

Former Member
0 Kudos

hi,

check the code

REPORT z_alv_ooabap .

TABLES:

spfli.

DATA:

w_grid TYPE REF TO cl_gui_alv_grid,

w_container TYPE REF TO cl_gui_custom_container.

DATA:

t_spfli LIKE STANDARD TABLE OF spfli WITH HEADER LINE,

wa_field_catalog TYPE lvc_s_fcat,

t_field_catalog TYPE lvc_t_fcat,

wa_layout TYPE lvc_s_layo.

SELECT * FROM spfli INTO TABLE t_spfli.

CALL SCREEN '0100'.

&----


*& Module set_layout OUTPUT

&----


  • text

----


MODULE set_layout OUTPUT.

wa_layout-grid_title = 'SPFLI TABLE DETAILS'.

wa_layout-zebra = 'X'.

ENDMODULE. " set_layout OUTPUT

&----


*& Module field_catalog OUTPUT

&----


  • text

----


MODULE field_catalog OUTPUT.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'CARRID'.

wa_field_catalog-ref_field = 'CARRID'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 1.

APPEND wa_field_catalog TO t_field_catalog.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'CONNID'.

wa_field_catalog-ref_field = 'CONNID'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 2.

APPEND wa_field_catalog TO t_field_catalog.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'CITYFROM'.

wa_field_catalog-ref_field = 'CITYFROM'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 3.

APPEND wa_field_catalog TO t_field_catalog.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'CITYTO'.

wa_field_catalog-ref_field = 'CITYTO'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 4.

APPEND wa_field_catalog TO t_field_catalog.

CLEAR wa_field_catalog.

wa_field_catalog-fieldname = 'DISTANCE'.

wa_field_catalog-ref_field = 'DISTANCE'.

wa_field_catalog-ref_table = 'SPFLI'.

wa_field_catalog-col_pos = 5.

wa_field_catalog-do_sum = 'X'.

wa_field_catalog-Emphasize = 'X'.

wa_field_catalog-Hotspot = 'X'.

APPEND wa_field_catalog TO t_field_catalog.

ENDMODULE. " field_catalog OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

CASE sy-ucomm.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module manage_alv_grid OUTPUT

&----


  • text

----


MODULE manage_alv_grid OUTPUT.

IF w_grid IS INITIAL.

CREATE OBJECT w_container

EXPORTING

container_name = 'CONTAINER1'

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5

OTHERS = 6

.

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 w_grid

EXPORTING

i_parent = w_container

EXCEPTIONS

error_cntl_create = 1

error_cntl_init = 2

error_cntl_link = 3

error_dp_create = 4

OTHERS = 5.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CALL METHOD w_grid->set_table_for_first_display

EXPORTING

i_structure_name = 'SPFLI'

is_layout = wa_layout

CHANGING

it_outtab = t_spfli[]

it_fieldcatalog = t_field_catalog

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.

ELSE.

MESSAGE 'GRID IS NOT INITAL' TYPE 'I'.

ENDIF.

ENDMODULE. " manage_alv_grid OUTPUT

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'ALVS_GUI'.

SET TITLEBAR 'TIT'.

ENDMODULE. " STATUS_0100 OUTPUT

Regards,

anirban

Former Member
0 Kudos

Hi Vikash,

refer to the link,

http://beingkedar.googlepages.com/objectorientedalv

with luck,

Pritam.

Former Member
0 Kudos

Go to se38.

Type BCALV* and F4 for that field. That displays a list of sample programs on OOPs ALV.

Regards,

Shailaja

Former Member
0 Kudos

Hi Vikash,

Please check the following links.

http://saptechnical.com/Tutorials/ALV/Total/text.htm

Above link contains example to display Total text in ALV grid using oops concept

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

Above link contains program on interactive ALV using OOPS

http://saptechnical.com/Tutorials/ALV/Styles/demo.htm

Above link contains example for ALV Styles in Field catalogue using OOPS

Thanks,

Naveen Kumar.

Former Member
0 Kudos

Hi!

Check out this sample code


REPORT  z_alv1.

DATA:
  w_carrid TYPE sflight-carrid,
  w_connid TYPE sflight-connid.

DATA:
  r_cont TYPE REF TO cl_gui_custom_container,
  r_grid TYPE REF TO cl_gui_alv_grid.

DATA:
  t_fieldcat TYPE lvc_t_fcat,
  fs_fieldcat LIKE LINE OF t_fieldcat.

TYPES:
  BEGIN OF types_flight,
    carrid   TYPE sflight-carrid,
    connid   TYPE sflight-connid,
    fldate   TYPE sflight-fldate,
    price    TYPE sflight-price,
    currency TYPE sflight-currency,
  END OF types_flight.

DATA:
  fs_flight TYPE types_flight,
  t_flight LIKE
     TABLE OF
           fs_flight.

SELECT-OPTIONS:
  s_carrid FOR w_carrid,
  s_connid FOR w_connid.


START-OF-SELECTION.

  PERFORM get_data.
  CALL SCREEN '0100'.

*&---------------------------------------------------------------------*
*&      Form  get_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_data .
  SELECT carrid
         connid
         fldate
         price
         currency
    FROM sflight
    INTO TABLE t_flight
   WHERE carrid IN s_carrid
     AND connid IN s_connid.
ENDFORM.                    " get_data
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS1'.
  SET TITLEBAR 'TITLE1'.
ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

  CASE sy-ucomm.
    WHEN 'BACK'.
      LEAVE TO SCREEN '0'.
  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Module  alv_grid  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE alv_grid OUTPUT.
  CREATE OBJECT r_cont
    EXPORTING

      container_name              = 'CONTAINER_1'
    EXCEPTIONS
      OTHERS                      = 6
      .
  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 r_grid
    EXPORTING
      i_parent          = r_cont
    EXCEPTIONS
      OTHERS            = 5
      .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  PERFORM build_fieldcat.

  CALL METHOD r_grid->set_table_for_first_display
    CHANGING
      it_outtab                     = t_flight
      it_fieldcatalog               = t_fieldcat
*      IT_SORT                       =
*      IT_FILTER                     =
    EXCEPTIONS
      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.

ENDMODULE.                 " alv_grid  OUTPUT
*&---------------------------------------------------------------------*
*&      Form  build_fieldcat
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM build_fieldcat .
  fs_fieldcat-fieldname = 'CARRID'.
  fs_fieldcat-tabname   = 'T_FLIGHT'.
  fs_fieldcat-scrtext_m = 'Airline Carrier ID'.
  APPEND fs_fieldcat TO t_fieldcat.

  CLEAR fs_fieldcat.
  fs_fieldcat-fieldname = 'CONNID'.
  fs_fieldcat-tabname   = 'T_FLIGHT'.
  fs_fieldcat-lzero     = '1'.
  fs_fieldcat-scrtext_m = 'Flight Conn ID'.
  APPEND fs_fieldcat TO t_fieldcat.

  CLEAR fs_fieldcat.
  fs_fieldcat-fieldname = 'FLDATE'.
  fs_fieldcat-tabname   = 'T_FLIGHT'.
  fs_fieldcat-scrtext_m = 'Flight Date'.
  APPEND fs_fieldcat TO t_fieldcat.

  CLEAR fs_fieldcat.
  fs_fieldcat-fieldname = 'PRICE'.
  fs_fieldcat-tabname   = 'T_FLIGHT'.
  fs_fieldcat-scrtext_m = 'Price'.
  APPEND fs_fieldcat TO t_fieldcat.

  CLEAR fs_fieldcat.
  fs_fieldcat-fieldname = 'CURRENCY'.
  fs_fieldcat-tabname   = 'T_FLIGHT'.
  fs_fieldcat-scrtext_m = 'Currency'.
  APPEND fs_fieldcat TO t_fieldcat.

ENDFORM.                    " build_fieldcat

Regards

Abhijeet

former_member217544
Active Contributor
0 Kudos

Hi,

Go through the following link

http://forums.madeitsimple.com/viewtopic.php?f=16&t=23

Hope this will help.

Regards,

Swarna Munukoti.

former_member69765
Contributor
0 Kudos

Hi..

See one example here ...

[http://www.abaplearning.com/index.php?option=com_content&view=section&id=2&Itemid=14 |http://www.abaplearning.com/index.php?option=com_content&view=section&id=2&Itemid=14]

The code samples are for members only... so you will have to login to check..

Here ... it is explained step by step how to program using OO ABAP and controls..

Regards

Varun.

Former Member
0 Kudos

Hi ,

Refer:

http://abapreports.blogspot.com/2008/06/oops-alv-sample-interactive-report.html

Regards,

Muneesh Gitta.

Edited by: Muneesh Gitta on Aug 1, 2008 10:27 AM