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

ALV grid display

Former Member
0 Likes
848

Hi Friends,

Could u plz tell me what is the main purpose of using Layout in ALV GRID DISPLAY???

Also can u plz give me a ALV grid display program in which layout is determined!!

thanks in advance,

regards,

Magesh.S

Hi Friends,

Could u plz tell me what is the main purpose of using Layout in ALV GRID DISPLAY???

Also can u plz give me a ALV grid display program in which layout is determined!!

thanks in advance,

regards,

Magesh.S

5 REPLIES 5
Read only

GauthamV
Active Contributor
0 Likes
781

use this program.

BCALV_GRID_09.

Read only

Former Member
0 Likes
781

hi,

for the use of layout, you can check the fields the structrue

lvc_s_layout

, just type in it in the abap editor and double click it.

and check the code below for details:


*&---------------------------------------------------------------------*
*& Report  ZDAVID_ALV1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZDAVID_ALV1.
CLASS ZCL_EVENT_RECEIVER DEFINITION DEFERRED." Declear a custom class
tables zemployee.
data: ls_fcat type lvc_s_fcat,
      li_fcat type lvc_t_fcat,
      ls_layo type lvc_s_layo,
      ls_color type lvc_s_scol,
      LO_EVENT TYPE REF TO ZCL_EVENT_RECEIVER,
      rows type lvc_t_row,
      wa_row like line of rows.

data: container type ref to cl_gui_custom_container,
      grid type ref to cl_gui_alv_grid.

types: begin of ty_emp,
  emp_x type c,
  zemp_id type zemp_id,
  zemp_name type zemp_name,
  zemp_salary type zemp_salary,
  zemp_dpart type zemp_dpart,
  rowcolor(4) type c,
  cellcolor type lvc_t_scol,
  end of ty_emp.

data: emp type table of ty_emp,
      wa_emp type ty_emp,
      wcellcolor type lvc_s_scol.

call screen 9000.


CLASS ZCL_EVENT_RECEIVER DEFINITION.

  PUBLIC SECTION.
    methods:
      handle_single_click
         for event hotspot_click of cl_gui_alv_grid
           importing
             e_row_id es_row_no e_column_id.


  PRIVATE SECTION.

ENDCLASS.                    "LCL_EVENT_RECEIVER DEFINITION
*
*   LCL_EVENT_RECEIVER (DEFINITION)
*  ===============================================================

*  ***************************************************************
*   LOCAL CLASSES: IMPLEMENTATION
*  ***************************************************************
*  ===============================================================
*   CLASS LCL_EVENT_RECEIVER (IMPLEMENTATION)
*
*   IN THIS EXAMPLE, ONLY EVENT DOUBLE_CLICK IS CAUGHT
*
CLASS ZCL_EVENT_RECEIVER IMPLEMENTATION.
 method handle_single_click.
     message e_column_id-fieldname type 'I'.
   endmethod.

ENDCLASS.                    "LCL_EVENT_RECEIVER IMPLEMENTATION
form sub_get_data.
  select * from zemployee into corresponding fields of wa_emp.
    wa_emp-emp_x = 'X'.
    if wa_emp-zemp_id = '171184'.
"        wa_emp-rowcolor = 'C610'.
       wcellcolor-fname = 'ZEMP_ID'.
       wcellcolor-color-col = '7'.
       wcellcolor-color-int = '1'.
       append wcellcolor to wa_emp-cellcolor.

      ENDIF.
    append wa_emp to emp.
    CLEAR WA_EMP. clear wcellcolor.
    endselect.
  endform.

form sub_create_obj.
  if container is initial.
    create object container
     exporting
       container_name = 'MYCONT'.
   endif.

   if grid is initial.
     create object grid
      exporting
        i_parent = container.
    endif.
  endform.


form sub_call_alv.
    call method grid->set_table_for_first_display
    exporting
      is_layout                     = ls_layo
    changing
      it_outtab                     = emp
      it_fieldcatalog               = li_fcat
      "it_sort                       = i_sort2
    exceptions
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      others                        = 4.
    if sy-subrc <> 0.
      endif.

    create object lo_event.
    set handler lo_event->handle_single_click for grid.

  endform.

form sub_fcat.
  clear ls_fcat.
  ls_fcat-fieldname = 'EMP_X'.
  ls_fcat-coltext = 'Check'.
  ls_fcat-checkbox = 'X'.
  ls_fcat-edit = 'X'.
  ls_fcat-hotspot = 'X'.
  append ls_fcat to li_fcat.
  clear ls_fcat.
  ls_fcat-fieldname = 'ZEMP_ID'.
  ls_fcat-coltext = 'ID'.
  append ls_fcat to li_fcat.
  clear ls_fcat.
  ls_fcat-fieldname = 'ZEMP_NAME'.
  ls_fcat-coltext = 'Name'.
  append ls_fcat to li_fcat.
  clear ls_fcat.
  ls_fcat-fieldname = 'ZEMP_SALARY'.
  ls_fcat-coltext = 'Salary'.
  ls_fcat-do_sum = 'X'.
  append ls_fcat to li_fcat.
  clear ls_fcat.
  ls_fcat-fieldname = 'ZEMP_DPART'.
  ls_fcat-coltext = 'Department'.
  ls_fcat-drdn_hndl = '1'.
  ls_fcat-edit = 'X'.
  append ls_fcat to li_fcat.
  clear ls_fcat.
  endform.

form sub_layout.
  ls_layo-zebra = 'X'.
  ls_layo-INFO_FNAME = 'ROWCOLOR'.
  ls_layo-sel_mode = 'A'.
  endform.

module pbo output.
   perform sub_get_data.
   perform sub_fcat.
   perform sub_layout.
   perform sub_create_obj.
   perform sub_drop.
   perform sub_call_alv.
  endmodule.

module pai input.

 call method grid->get_selected_rows
    importing
      ET_INDEX_ROWS = rows.
  LOOP AT ROWS INTO WA_ROW.
    MESSAGE WA_ROW-INDEX TYPE 'I'.

ENDLOOP.
  endmodule.

form sub_drop.
  data: wa_drop type lvc_s_drop,
        drop type lvc_t_drop.
  wa_drop-handle = '1'.
  wa_drop-value = 'Dev'.
  append wa_drop to drop.
  clear wa_drop.
  wa_drop-handle = '1'.
  wa_drop-value = 'Testing'.
  append wa_drop to drop.
  clear wa_drop.
  wa_drop-handle = '1'.
  wa_drop-value = 'Admin'.
  append wa_drop to drop.
  clear wa_drop.
  wa_drop-handle = '1'.
  wa_drop-value = 'NSS'.
  append wa_drop to drop.
  clear wa_drop.
  wa_drop-handle = '1'.
  wa_drop-value = 'Finance'.
  append wa_drop to drop.
  clear wa_drop.
  call method grid->set_drop_down_table
    EXPORTING
      it_drop_down = drop.
  endform.
*&---------------------------------------------------------------------*
*&      Module  set_gui  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE set_gui OUTPUT.
  "set pf-status 'PF_GUI'.
ENDMODULE.                 " set_gui  OUTPUT

Read only

Former Member
0 Likes
781

&----


*& Report ZRA_PO

*&

&This program is to create puchase order in alv display---

*&

*&

&----


REPORT ZRA_PO.

tables : ekko,ekpo..

type-pools slis.

*data: i_ekko like ekko occurs 0 with header line.

data: begin of i_tab occurs 0,

ebeln like ekko-ebeln,

bukrs like ekko-bukrs,

aedat like ekko-aedat,

zterm like ekko-zterm,

waers like ekko-waers,

ebelp like ekpo-ebelp,

TXZ01 like ekpo-txz01,

menge like ekpo-menge,

bprme like ekpo-bprme,

netpr like ekpo-netpr,

end of i_tab.

***Field description for ALV***

DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,

gd_tab_group TYPE slis_t_sp_group_alv,

gd_layout TYPE slis_layout_alv,

gd_repid LIKE sy-repid.

DATA: repname LIKE sy-repid.

DATA: fieldtab TYPE slis_t_fieldcat_alv,

fieldtab1 TYPE slis_t_fieldcat_alv,

i_grid_title TYPE lvc_title,

heading TYPE slis_t_listheader,

f_events TYPE slis_t_event,

f1_event TYPE slis_alv_event,

gs_layout TYPE slis_layout_alv.

DATA:gt_sort TYPE slis_t_sortinfo_alv.

DATA:gs_filter TYPE slis_t_filter_alv.

select-options: s_ebeln for ekko-ebeln.

*select EBELN BUKRS AEDAT ZTERM WAERS

*into corresponding fields of i_ekko from ekko where ebeln in s_ebeln.

*append i_ekko.

*endselect.

start-of-selection.

select aebeln abukrs aaedat azterm a~waers

bebelp btxz01 btxz01 bmenge bbprme bnetpr

into corresponding fields of table i_tab

from ( ekko as a

inner join ekpo as b on aebeln = bebeln ).

perform alv_display.

&----


*& Form alv_display

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form alv_display .

perform build_layout.

perform build_fieldcatlog.

PERFORM CALL_ALV.

endform. " alv_display

&----


*& Form build_fieldcatlog

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form build_fieldcatlog .

data l_fieldcat type slis_fieldcat_alv.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'EBELN'.

l_fieldcat-outputlen = 10.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-010.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'BUKRS'.

l_fieldcat-outputlen = 4.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-011.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'AEDAT'.

l_fieldcat-outputlen = 8.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-012.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'ZTERM'.

l_fieldcat-outputlen = 4.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-013.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'WAERS'.

l_fieldcat-outputlen = 5.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-014.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'EBELP'.

l_fieldcat-outputlen = 5.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-015.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'TXZ01'.

l_fieldcat-outputlen = 40.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-016.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'MENGE'.

l_fieldcat-outputlen = 15.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-017.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'BPRME'.

l_fieldcat-outputlen = 3.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-018.

APPEND l_fieldcat TO fieldtab1.

CLEAR l_fieldcat.

l_fieldcat-fieldname = 'NETPR'.

l_fieldcat-outputlen = 13.

l_fieldcat-tabname = 'i_tab'.

l_fieldcat-no_out = ' '.

l_fieldcat-seltext_l = text-019.

APPEND l_fieldcat TO fieldtab1.

endform. " build_fieldcatlog

&----


*& Form CALL_ALV

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form CALL_ALV .

REPNAME = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = REPNAME

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = gd_layout

IT_FIELDCAT = fieldtab1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS = f_events

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = i_tab

EXCEPTIONS

PROGRAM_ERROR = 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.

endform. " CALL_ALV

&----


*& Form build_layout

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form build_layout .

gd_layout-zebra = 'X'.

gd_layout-info_fieldname = 'ROWCOLOR'.

endform. " build_layout

Read only

Former Member
0 Likes
781

Hi

Go to Se38

Enter BALV* to get the sample program for ALV using Function module list display and Grid Display.

Enter BCALV* to get the sample program for ALV list and grid display using object Oriented method.

Regards

Neha

Read only

Former Member
0 Likes
781

hi,

The ALV Grid is a flexible tool for displaying lists. The tool provides common list operations as generic functions and can be enhanced by self-defined options.

The ALV Grid is used to build non-hierarchical, interactive, and modern-design lists. As a control, it is a component that is installed on the local PC.

The ALV Grid control provides typical list functions as sorting, filtering, summing, etc... while also gives the opportunity to develop user functions where needed. It presents numerous interfaces like Excel Inplace and Crystal Reports.

for more check this

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d97...

hope it may helps you.

thanks

Sachin