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: 

OO ALV

Former Member
0 Kudos

hi guys,

i am not able to display the alv grid.plz help me.

REPORT ZLAV_GRID_OOPS.

DATA: l_alv TYPE REF TO cl_gui_alv_grid,

lt_sflight TYPE TABLE OF sflight.

SELECT * FROM sflight INTO TABLE lt_sflight.

START-OF-SELECTION.

CREATE OBJECT l_alv

EXPORTING

i_parent = cl_gui_container=>screen0.

CALL METHOD l_alv->set_table_for_first_display

EXPORTING

i_structure_name = 'SFLIGHT'

CHANGING

it_outtab = lt_sflight.

.

Thanks.

Mahesh.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

I made a small change, then i can see the report.

DATA: l_alv TYPE REF TO cl_gui_alv_grid,

lt_sflight TYPE TABLE OF sflight.

PARAMETERS: p_carrid TYPE sflight-carrid.

START-OF-SELECTION.

write:''.

SELECT * FROM sflight INTO TABLE lt_sflight.

CREATE OBJECT l_alv

EXPORTING

i_parent = cl_gui_container=>screen0.

CALL METHOD l_alv->set_table_for_first_display

EXPORTING

i_structure_name = 'SFLIGHT'

CHANGING

it_outtab = lt_sflight.

12 REPLIES 12

Former Member
0 Kudos

Hi,

Where are you calling the screen?

Check this sample code. Before executing this code, doublw click on CALL SCREEN '0100'. create modules as defined in program in flow logic.


REPORT  z_alv.

DATA:
  w_carrid TYPE sflight-carrid,
  w_connid TYPE sflight-connid,
  fs_flight TYPE sflight.
DATA:
  t_flight LIKE
     TABLE OF
           fs_flight.

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

SELECTION-SCREEN: BEGIN OF BLOCK blk WITH FRAME TITLE text-001.
SELECT-OPTIONS:
  s_carrid FOR w_carrid,
  s_connid FOR w_connid.
SELECTION-SCREEN END OF BLOCK blk.

START-OF-SELECTION.
  PERFORM get_data.
  CALL SCREEN '0100'.
*&---------------------------------------------------------------------*
*&      Form  get_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_data .
  SELECT *
    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 'DYNPROSTATUS'.
  SET TITLEBAR 'TITLE1'.

ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  alv_grid  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE alv_grid OUTPUT.
  IF NOT r_cont IS BOUND.
    CREATE OBJECT r_cont
        EXPORTING container_name = 'CONTAINER_1'.
  ENDIF.
  IF NOT r_grid IS BOUND.
    CREATE OBJECT r_grid
        EXPORTING i_parent = r_cont.
  ENDIF.
  CALL METHOD r_grid->set_table_for_first_display(
              EXPORTING
                i_structure_name = 'SFLIGHT'
              CHANGING
                it_outtab        = t_flight ).
ENDMODULE.                 " alv_grid  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

Regards

Abhijeet

0 Kudos

hi Abhijeet,

is it possible to display with out creating layout .

Thanks,

Mahesh.

0 Kudos

WITH OUT CRATING SCREEN YOU CAN PRINT OOALV

DATA : CL_ALV TYPE REF TO CL_GUI_ALV_GRID.

CREATE OBJECT CL_ALV EXPORTING I_PARENT = CL_GUI_CONTAINER=>SCREEN0.

Edited by: murali papana on Sep 18, 2008 3:22 AM

0 Kudos

Yes Mahesh it is possible. Program which I have posted is working perfectly in my system.

0 Kudos

Without creating the screen it is not possible to display that

REPORT zlav_grid_oops.

DATA: l_alv TYPE REF TO cl_gui_alv_grid,
lt_sflight TYPE TABLE OF sflight.

SELECT * FROM sflight INTO TABLE lt_sflight.


START-OF-SELECTION.
  CREATE OBJECT l_alv
  EXPORTING
  i_parent =  cl_gui_custom_container=>default_screen.

  CALL METHOD l_alv->set_table_for_first_display
    EXPORTING
      i_structure_name = 'SFLIGHT'
    CHANGING
      it_outtab        = lt_sflight.
call screen 100.

just create the screen and no need to place any custom control on that. just check it.

If you are on higer versions then you can use the SALV approach

Former Member
0 Kudos

copy this code & execute

&----


*& Report ZMR_OOPS_1

*&

&----


*&

*&

&----


REPORT ZMR_OOPS_1.

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.

*interfaces ii

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.

break-point.

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 = 'ABC'.

CREATE OBJECT GRID

EXPORTING

I_PARENT = CONTROL.

PERFORM BUILD_CATALOG.

PERFORM BUILD_CATALOG1.

PERFORM BUILD_LAYOUT.

*call method grid->SET_FIRST_FIELDCATALOG

  • exporting

  • I_STRUCTURE_NAME = 'it_mara'.

  • Changing

  • IT_FIELDCATALOG = t_fieldcat.

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

Former Member
0 Kudos

Hi ,

You have not set your pf-status. How can you expect to see the ALV?

check this simple code

REPORT  z_alv_anirban .

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

Former Member
0 Kudos

Hi

Please go through this program.....

program test.

data: ok_code like sy-ucomm,

gt_sflight type table of sflight,

g_container type scrfname value 'BCALV_GRID_DEMO_0100_CONT1',

grid1 type ref to cl_gui_alv_grid,

g_custom_container type ref to cl_gui_custom_container.

----


  • MAIN *

----


select * from sflight into table gt_sflight.

call screen 100.

----


  • MODULE PBO OUTPUT *

----


module pbo output.

set pf-status 'MAIN100'.

if g_custom_container is initial.

create object g_custom_container

exporting container_name = g_container.

create object grid1

exporting i_parent = g_custom_container.

call method grid1->set_table_for_first_display

exporting i_structure_name = 'SFLIGHT'

changing it_outtab = gt_sflight.

endif.

endmodule.

----


  • MODULE PAI INPUT *

----


module pai input.

  • to react on oi_custom_events:

call method cl_gui_cfw=>dispatch.

case ok_code.

when 'EXIT'.

perform exit_program.

when others.

  • do nothing

endcase.

clear ok_code.

endmodule.

----


  • FORM EXIT_PROGRAM *

----


form exit_program.

  • CALL METHOD G_CUSTOM_CONTAINER->FREE.

  • CALL METHOD CL_GUI_CFW=>FLUSH.

leave program.

endform.

former_member188685
Active Contributor
0 Kudos

if you are on higer versions (ECC5.0 and above) then you can try this..

REPORT zlav_grid_oops.

DATA: l_alv TYPE REF TO cl_salv_table,
      lt_sflight TYPE TABLE OF sflight.

START-OF-SELECTION.
  SELECT * FROM sflight INTO TABLE lt_sflight.
  cl_salv_table=>factory(
    IMPORTING
      r_salv_table   = l_alv
    CHANGING
      t_table        = lt_sflight
         ).

  l_alv->display( ).

bpawanchand
Active Contributor
0 Kudos

Hi

see the data declarations part of this program you have not defined any container.Grid should be inside a container.

data :
   begin of fs_kna1,
      kunnr type kna1-kunnr,
      name1 type kna1-name1,
      ort01 type kna1-ort01,
      land1 type kna1-land1,
   end of fs_kna1.


data :
  t_kna1 like
standard table
      of fs_kna1.

data :
   w_alvgrid type ref to cl_gui_alv_grid,
   w_scrname type scrfname value 'ALVGRID',
   w_container type ref to cl_gui_docking_container,
   t_fieldcat type lvc_t_fcat,
   w_layout type lvc_s_layo.



start-of-selection.

  perform get_data.
  call screen '9002'.
*&---------------------------------------------------------------------*
*&      Form  get_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form get_data .

  select
    kunnr
    name1
    ort01
    land1
    into table t_kna1
    from kna1
    up to 100 rows.

endform.                    " get_data
*&---------------------------------------------------------------------*
*&      Module  display_alv  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
module display_alv output.

  if w_alvgrid is initial.

    create object w_container
      exporting
*        PARENT                      =
         repid                       = sy-repid
         dynnr                       = '9002'
*        SIDE                        = DOCK_AT_LEFT
         extension                   = 1500
*        STYLE                       =
*        LIFETIME                    = lifetime_default
*        CAPTION                     =
*        METRIC                      = 0
*        RATIO                       =
*        NO_AUTODEF_PROGID_DYNNR     =
*        NAME                        =
      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_alvgrid
      exporting
*        I_SHELLSTYLE      = 0
*        I_LIFETIME        =
         i_parent          = w_container
*        I_APPL_EVENTS     = space
*        I_PARENTDBG       =
*        I_APPLOGPARENT    =
*        I_GRAPHICSPARENT  =
*        I_NAME            =
*        I_FCAT_COMPLETE   = SPACE
      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.

    perform build_cat changing t_fieldcat.
    perform build_layout changing w_layout.


    call method w_alvgrid->set_table_for_first_display
      exporting
*        I_BUFFER_ACTIVE               = I_BUFFER_ACTIVE
*        I_BYPASSING_BUFFER            = I_BYPASSING_BUFFER
*        I_CONSISTENCY_CHECK           = I_CONSISTENCY_CHECK
*        I_STRUCTURE_NAME              = I_STRUCTURE_NAME
*        IS_VARIANT                    = IS_VARIANT
*        I_SAVE                        = I_SAVE
*        I_DEFAULT                     = 'X'
        is_layout                     = w_layout
*        IS_PRINT                      = IS_PRINT
*        IT_SPECIAL_GROUPS             = IT_SPECIAL_GROUPS
*        IT_TOOLBAR_EXCLUDING          = IT_TOOLBAR_EXCLUDING
*        IT_HYPERLINK                  = IT_HYPERLINK
*        IT_ALV_GRAPHICS               = IT_ALV_GRAPHICS
*        IT_EXCEPT_QINFO               = IT_EXCEPT_QINFO
*        IR_SALV_ADAPTER               = IR_SALV_ADAPTER
      changing
        it_outtab                     = t_kna1
        it_fieldcatalog               = t_fieldcat
*        IT_SORT                       = IT_SORT
*        IT_FILTER                     = IT_FILTER
      exceptions
        invalid_parameter_combination = 1
        program_error                 = 2
        too_many_lines                = 3
           .
    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.

    call method w_alvgrid->refresh_table_display
*       EXPORTING
*         IS_STABLE      = IS_STABLE
*         I_SOFT_REFRESH = I_SOFT_REFRESH
     exceptions
       finished       = 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.


  endif.                               " IF w_grid IS INITIAL

endmodule.                             " MODULE display_alv OUTPUT
*&---------------------------------------------------------------------*
*&      Form  build_cat
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_T_FIELDCAT  text
*----------------------------------------------------------------------*
form build_cat  changing p_t_fieldcat type lvc_t_fcat.


  data :
     l_fcat type lvc_s_fcat.

  clear l_fcat.
  l_fcat-fieldname = 'KUNNR'.
  l_fcat-tabname = 'T_KNA1'.
  l_fcat-coltext = 'Number'.
  l_fcat-col_pos = '0'.
  l_fcat-tooltip = 'Customer Number'.
  append l_fcat to p_t_fieldcat.

  clear l_fcat.
  l_fcat-fieldname = 'NAME1'.
  l_fcat-tabname = 'T_KNA1'.
  l_fcat-coltext = 'Name'.
  l_fcat-col_pos = '1'.
  l_fcat-tooltip = 'Customer Name'.
  append l_fcat to p_t_fieldcat.

  clear l_fcat.
  l_fcat-fieldname = 'ORT01'.
  l_fcat-tabname = 'T_KNA1'.
  l_fcat-coltext = 'City'.
  l_fcat-col_pos = '2'.
  l_fcat-tooltip = 'Customer City'.
  append l_fcat to p_t_fieldcat.

  clear l_fcat.
  l_fcat-fieldname = 'LAND1'.
  l_fcat-tabname = 'T_KNA1'.
  l_fcat-coltext = 'Country'.
  l_fcat-col_pos = '3'.
  l_fcat-tooltip = 'Customer Country'.
  append l_fcat to p_t_fieldcat.


endform.                    " build_cat
*&---------------------------------------------------------------------*
*&      Form  build_layout
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_W_LAYOUT  text
*----------------------------------------------------------------------*
form build_layout  changing p_w_layout type lvc_s_layo.


  p_w_layout-zebra = 'X'.
  p_w_layout-grid_title = 'customer Details'.
  p_w_layout-smalltitle = 'X'.

endform.                    " build_layout

Regards

pavan

Former Member
0 Kudos

I made a small change, then i can see the report.

DATA: l_alv TYPE REF TO cl_gui_alv_grid,

lt_sflight TYPE TABLE OF sflight.

PARAMETERS: p_carrid TYPE sflight-carrid.

START-OF-SELECTION.

write:''.

SELECT * FROM sflight INTO TABLE lt_sflight.

CREATE OBJECT l_alv

EXPORTING

i_parent = cl_gui_container=>screen0.

CALL METHOD l_alv->set_table_for_first_display

EXPORTING

i_structure_name = 'SFLIGHT'

CHANGING

it_outtab = lt_sflight.

0 Kudos

hi guys,

my problem was solved.

Thanks to everybody,

Mahesh.

Edited by: Mahesh Reddy .Pocha on Sep 18, 2008 10:01 AM