‎2007 Dec 14 6:58 AM
CAN ANYONE GIVE ME SAMPLE CODE OF DISPLAYING A ALV IN
Reuse_alv_grid_display
‎2007 Dec 14 7:01 AM
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
‎2007 Dec 14 7:02 AM
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 .
‎2007 Dec 14 7:04 AM
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.
‎2007 Dec 14 7:09 AM
‎2007 Dec 14 7:16 AM
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
‎2007 Dec 14 11:07 AM
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