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

Former Member
0 Likes
805

CAN ANYONE GIVE ME SAMPLE CODE OF DISPLAYING A ALV IN

Reuse_alv_grid_display

6 REPLIES 6
Read only

Former Member
0 Likes
782

Hi,

goto SE80 --> PACKAGE --> SLIS

there is a long list for ALV Standard Programs

you can take help from there,

Check Program Names starts with : BCALV_TEST_GRID*

Reward points, if helpful,

Sandeep kaushik

Read only

Former Member
0 Likes
782

HI SWAPNA

&----


*& Report ZSAMP_ALV2 *

*& *

&----


*& *

*& *

&----


REPORT ZSAMP_ALV2 .

TABLES: ekko.

type-pools: slis. "ALV Declarations

*Data Declaration

*----


TYPES: BEGIN OF t_ekko,

ebeln TYPE ekpo-ebeln,

ebelp TYPE ekpo-ebelp,

statu TYPE ekpo-statu,

aedat TYPE ekpo-aedat,

matnr TYPE ekpo-matnr,

menge TYPE ekpo-menge,

meins TYPE ekpo-meins,

netpr TYPE ekpo-netpr,

peinh TYPE ekpo-peinh,

END OF t_ekko.

DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,

wa_ekko TYPE t_ekko.

*ALV data declarations

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,

gt_events type slis_t_event,

gd_prntparams type slis_print_alv.

************************************************************************

*Start-of-selection.

START-OF-SELECTION.

perform data_retrieval.

perform build_fieldcatalog.

*perform build_layout.

*perform build_events.

*perform build_print_params.

perform display_alv_report.

&----


*& Form BUILD_FIELDCATALOG

&----


  • Build Fieldcatalog for ALV Report

----


form build_fieldcatalog.

fieldcatalog-fieldname = 'EBELN'.

fieldcatalog-seltext_m = 'Purchase Order'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 10.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

  • fieldcatalog-do_sum = 'X'.

  • fieldcatalog-no_zero = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'EBELP'.

fieldcatalog-seltext_m = 'PO Item'.

fieldcatalog-col_pos = 1.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'STATU'.

fieldcatalog-seltext_m = 'Status'.

fieldcatalog-col_pos = 2.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'AEDAT'.

fieldcatalog-seltext_m = 'Item change date'.

fieldcatalog-col_pos = 3.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MATNR'.

fieldcatalog-seltext_m = 'Material Number'.

fieldcatalog-col_pos = 4.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MENGE'.

fieldcatalog-seltext_m = 'PO quantity'.

fieldcatalog-col_pos = 5.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MEINS'.

fieldcatalog-seltext_m = 'Order Unit'.

fieldcatalog-col_pos = 6.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'NETPR'.

fieldcatalog-seltext_m = 'Net Price'.

fieldcatalog-col_pos = 7.

fieldcatalog-outputlen = 15.

fieldcatalog-do_sum = 'X'.

fieldcatalog-datatype = 'CURR'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'PEINH'.

fieldcatalog-seltext_m = 'Price Unit'.

fieldcatalog-col_pos = 8.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

endform. " BUILD_FIELDCATALOG

&----


*& Form BUILD_LAYOUT

&----


  • Build layout for ALV grid report

----


form build_layout.

gd_layout-no_input = 'X'.

gd_layout-colwidth_optimize = 'X'.

gd_layout-totals_text = 'Totals'(201).

endform. " BUILD_LAYOUT

&----


*& Form DISPLAY_ALV_REPORT

&----


  • Display report using ALV grid

----


form display_alv_report.

gd_repid = sy-repid.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = gd_repid

i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM

i_callback_user_command = 'USER_COMMAND'

  • i_grid_title = outtext

is_layout = gd_layout

it_fieldcat = fieldcatalog[]

  • it_special_groups = gd_tabgroup

it_events = gt_events

is_print = gd_prntparams

i_save = 'X'

  • is_variant = z_template

tables

t_outtab = it_ekko

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. " DISPLAY_ALV_REPORT

&----


*& Form DATA_RETRIEVAL

&----


  • Retrieve data form EKPO table and populate itab it_ekko

----


form data_retrieval.

select ebeln ebelp statu aedat matnr menge meins netpr peinh

up to 10 rows

from ekpo

into table it_ekko.

endform. " DATA_RETRIEVAL

----


  • Form TOP-OF-PAGE *

----


  • ALV Report Header *

----


Form top-of-page.

*ALV Header declarations

data: t_header type slis_t_listheader,

wa_header type slis_listheader,

t_line like wa_header-info,

ld_lines type i,

ld_linesc(10) type c.

  • Title

wa_header-typ = 'H'.

wa_header-info = 'EKKO Table Report'.

append wa_header to t_header.

clear wa_header.

  • Date

wa_header-typ = 'S'.

wa_header-key = 'Date: '.

CONCATENATE sy-datum+6(2) '.'

sy-datum+4(2) '.'

sy-datum(4) INTO wa_header-info. "todays date

append wa_header to t_header.

clear: wa_header.

  • Total No. of Records Selected

describe table it_ekko lines ld_lines.

ld_linesc = ld_lines.

concatenate 'Total No. of Records Selected: ' ld_linesc

into t_line separated by space.

wa_header-typ = 'A'.

wa_header-info = t_line.

append wa_header to t_header.

clear: wa_header, t_line.

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = t_header

i_logo = 'HCL_logo'.

endform.

----


  • FORM USER_COMMAND *

----


  • --> R_UCOMM *

  • --> RS_SELFIELD *

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

  • Check function code

CASE r_ucomm.

WHEN '&IC1'.

  • Check field clicked on within ALVgrid report

IF rs_selfield-fieldname = 'EBELN'.

  • Read data table, using index of row user clicked on

READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.

  • Set parameter ID for transaction screen field

SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.

  • Sxecute transaction ME23N, and skip initial data entry screen

CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM.

&----


*& Form BUILD_EVENTS

&----


  • Build events table

----


form build_events.

data: ls_event type slis_alv_event.

call function 'REUSE_ALV_EVENTS_GET'

exporting

i_list_type = 0

importing

et_events = gt_events[].

read table gt_events with key name = slis_ev_end_of_page

into ls_event.

if sy-subrc = 0.

move 'END_OF_PAGE' to ls_event-form.

append ls_event to gt_events.

endif.

read table gt_events with key name = slis_ev_end_of_list

into ls_event.

if sy-subrc = 0.

move 'END_OF_LIST' to ls_event-form.

append ls_event to gt_events.

endif.

endform. " BUILD_EVENTS

&----


*& Form BUILD_PRINT_PARAMS

&----


  • Setup print parameters

----


form build_print_params.

gd_prntparams-reserve_lines = '3'. "Lines reserved for footer

gd_prntparams-no_coverpage = 'X'.

endform. " BUILD_PRINT_PARAMS

&----


*& Form END_OF_PAGE

&----


form END_OF_PAGE.

data: listwidth type i,

ld_pagepos(10) type c,

ld_page(10) type c.

write: sy-uline(50).

skip.

write:/40 'Page:', sy-pagno .

endform.

&----


*& Form END_OF_LIST

&----


form END_OF_LIST.

data: listwidth type i,

ld_pagepos(10) type c,

ld_page(10) type c.

skip.

write:/40 'Page:', sy-pagno .

endform.

REGARDS

KUMAR .

Read only

mahaboob_pathan
Contributor
0 Likes
782

Hi,

REPORT ZSTEST_036 .

TABLES VBAK.

TYPE-POOLS SLIS.

DATA ITAB LIKE VBAK OCCURS 0 WITH HEADER LINE.

*--ALV

DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.

*--

SELECT-OPTIONS S_VBELN FOR VBAK-VBELN.

START-OF-SELECTION.

SELECT * FROM VBAK INTO TABLE ITAB WHERE VBELN IN S_VBELN.

END-OF-SELECTION.

*--1

WA_FIELDCAT-FIELDNAME = 'VBELN'.

WA_FIELDCAT-SELTEXT_L = 'Sal doc no'.

WA_FIELDCAT-KEY = 'X'.

WA_FIELDCAT-HOTSPOT = 'X'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--2

WA_FIELDCAT-FIELDNAME = 'ERDAT'.

WA_FIELDCAT-SELTEXT_L = 'Date'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--3

WA_FIELDCAT-FIELDNAME = 'KUNNR'.

WA_FIELDCAT-SELTEXT_L = 'Customer'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

*--LAYOUT

I_LAYOUT-ZEBRA = 'X'.

I_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

*---OUTPUT

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

I_CALLBACK_TOP_OF_PAGE = '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 = I_LAYOUT

IT_FIELDCAT = I_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_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

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ITAB

  • 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.

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

DATA L_HEADER TYPE SLIS_T_LISTHEADER.

DATA WA_HEADER TYPE SLIS_LISTHEADER.

WA_HEADER-TYP = 'S'.

WA_HEADER-INFO = 'Sales details'.

APPEND WA_HEADER TO L_HEADER.

WA_HEADER-TYP = 'H'.

WA_HEADER-INFO = 'Sales details'.

APPEND WA_HEADER TO L_HEADER.

WA_HEADER-TYP = 'A'.

WA_HEADER-INFO = 'Sales details'.

APPEND WA_HEADER TO L_HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = L_HEADER

I_LOGO = 'ENJOYSAP_LOGO'

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

Reward points if use full.

Read only

RaymondGiuseppi
Active Contributor
0 Likes
782

Take a look at <a href="http://www.alvrobot.com.ar/home.php">Alv report generator</a> you will find an ALVrobot that generate easily a report using ALV reuse library.

Regards

Read only

former_member386202
Active Contributor
0 Likes
782

Hi,

Refr this codew

&----


*& Form sub_field_catalog

&----


  • text

----


FORM sub_field_catalog .

it_fieldcat-fieldname = 'BLART'.

it_fieldcat-seltext_m = text-002.

it_fieldcat-col_pos = 0.

it_fieldcat-outputlen = 2.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'BELNR'.

it_fieldcat-seltext_m = text-003.

it_fieldcat-col_pos = 1.

it_fieldcat-outputlen = 10.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'BLDAT'.

it_fieldcat-seltext_m = text-004.

it_fieldcat-col_pos = 2.

it_fieldcat-outputlen = 8.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'BUDAT'.

it_fieldcat-seltext_m = text-005.

it_fieldcat-col_pos = 3.

it_fieldcat-outputlen = 8.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'LIFNR'.

it_fieldcat-seltext_m = text-006.

it_fieldcat-col_pos = 4.

it_fieldcat-outputlen = 10.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'NAME1'.

it_fieldcat-seltext_m = text-007.

it_fieldcat-col_pos = 5.

it_fieldcat-outputlen = 35.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'XREF3'.

it_fieldcat-seltext_m = text-008.

it_fieldcat-col_pos = 6.

it_fieldcat-outputlen = 20.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'ZUONR'.

it_fieldcat-seltext_m = text-009.

it_fieldcat-col_pos = 7.

it_fieldcat-outputlen = 18.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'DMBTR'.

it_fieldcat-seltext_m = text-010.

it_fieldcat-col_pos = 8.

it_fieldcat-outputlen = 13.

it_fieldcat-do_sum = 'X'.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'EBELN'.

it_fieldcat-seltext_m = text-011.

it_fieldcat-col_pos = 9.

it_fieldcat-outputlen = 10.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'TXZ01'.

it_fieldcat-seltext_m = text-012.

it_fieldcat-col_pos = 10.

it_fieldcat-outputlen = 40.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'ERFMG'.

it_fieldcat-seltext_m = text-013.

it_fieldcat-col_pos = 11.

it_fieldcat-outputlen = 13.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'MENGE'.

it_fieldcat-seltext_m = text-014.

it_fieldcat-col_pos = 12.

it_fieldcat-outputlen = 13.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

it_fieldcat-fieldname = 'USNAM'.

it_fieldcat-seltext_m = text-015.

it_fieldcat-col_pos = 13.

it_fieldcat-outputlen = 12.

APPEND it_fieldcat TO it_fieldcat.

CLEAR it_fieldcat.

ENDFORM. " sub_field_catalog

&----


*& Form sub_display_data

&----


  • text

----


FORM sub_display_data .

*--Local Variables

DATA : lv_repid LIKE sy-repid.

*--Pass the Report name

lv_repid = sy-repid.

wa_layout-colwidth_optimize = 'X'.

IF NOT it_final[] IS INITIAL.

*--Call the function module to display the ALV report

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = lv_repid

is_layout = wa_layout

it_fieldcat = it_fieldcat[]

i_default = 'X'

i_save = 'A'

  • is_variant = wa_variant

it_events = it_events

  • is_print = wa_print

  • it_sort = li_sort

TABLES

t_outtab = it_final

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.

ELSE.

*--No data found for the given selection criteria.

MESSAGE text-016 TYPE 'I'.

LEAVE LIST-PROCESSING.

ENDIF.

ENDFORM. " sub_display_data.

Regards,

Prashant

Read only

Former Member
0 Likes
782

hi ,

try this

REPORT zint_alv.

TYPE-POOLS:slis.

TABLES:mara,

makt,

mseg.

DATA:BEGIN OF itab OCCURS 0,

matnr LIKE mara-matnr,

maktx LIKE makt-maktx,

END OF itab.

DATA:BEGIN OF itab1 OCCURS 0,

mblnr LIKE mseg-mblnr,

menge LIKE mseg-menge,

meins LIKE mseg-meins,

werks LIKE mseg-werks,

END OF itab1.

DATA:fcat TYPE slis_t_fieldcat_alv,

fcat1 TYPE slis_t_fieldcat_alv,

eve TYPE slis_t_event,

eve1 TYPE slis_t_event.

DATA:t_mat LIKE mara-matnr,

s_mat LIKE mara-matnr,

g_repid LIKE sy-repid,

subtot TYPE slis_t_sortinfo_alv,

g_subtot LIKE LINE OF subtot.

SELECTION-SCREEN:BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

SELECT-OPTIONS:mat FOR mara-matnr OBLIGATORY.

SELECTION-SCREEN:END OF BLOCK blk1.

INITIALIZATION.

PERFORM build_fcat USING fcat.

PERFORM build_eve.

START-OF-SELECTION.

PERFORM get_data.

PERFORM dis_data.

&----


*& Form build_fcat

&----


  • text

----


  • -->T_FCAT text

----


FORM build_fcat USING t_fcat TYPE slis_t_fieldcat_alv.

DATA:wa_fcat TYPE slis_fieldcat_alv.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MATNR'.

wa_fcat-ref_fieldname = 'MATNR'.

wa_fcat-ref_tabname = 'MARA'.

wa_fcat-seltext_m = 'Material'.

  • wa_fcat-input = ' '.

  • wa_fcat-edit = 'X'.

wa_fcat-input = 'X'.

APPEND wa_fcat TO t_fcat.

CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MAKTX'.

wa_fcat-seltext_m = 'Description'.

APPEND wa_fcat TO t_fcat.

CLEAR wa_fcat.

ENDFORM. "build_fcat

&----


*& Form build_eve

&----


  • text

----


FORM build_eve.

DATA:t_eve TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = eve

  • EXCEPTIONS

  • LIST_TYPE_WRONG = 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. "build_eve

&----


*& Form get_data

&----


  • text

----


FORM get_data.

SELECT maramatnr maktmaktx INTO CORRESPONDING FIELDS OF TABLE itab

FROM mara INNER JOIN makt

ON maramatnr = maktmatnr

WHERE mara~matnr IN mat.

ENDFORM. "get_data

&----


*& Form dis_data

&----


  • text

----


FORM dis_data.

g_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = g_repid

it_fieldcat = fcat

it_events = eve

TABLES

t_outtab = itab

  • 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. "dis_data