08-25-2006 8:59 AM
hi,
plz send code for alv grid display
i need expalnation of grid control
08-25-2006 9:17 AM
Se37.
REUSE_ALV_GRID_DISPLAY
CTRLSHIFTF3
ENTER
double click right half
presto, examples a plenty
08-25-2006 9:17 AM
Program list
http://www.sap-img.com/abap-function.htm
There is a ALV GRID document on SDN, you can get that.
Regards,
Ravi
Note : Please mark all the helpful answers
08-25-2006 9:20 AM
08-25-2006 9:31 AM
HI
GOOD
FOR EXAMPLE
http://www.sap-img.com/abap/display-secondary-list-using-alv-grid.htm
You can use ALV Grid to display and edit table data. A main feature of ALV Grid is that it contains a standard set of functions. These functions extend beyond the functions of a table control.
Use->
The cells in ALV Grid can be editable or read-only. You can switch to the cell editing mode by pressing [F2] only if the grid is editable.
THANKS
MRUTYUN
08-25-2006 9:33 AM
hi narendra,
TABLES: LFA1,LFB1,LFM1.
TYPE-POOLS: SLIS.
TYPE-POOLS: ICON.
***DATA DECLN.
DATA: V_LIFNR LIKE LFA1-LIFNR,
V_BUKRS LIKE LFB1-BUKRS,
V_EKORG LIKE LFM1-EKORG,
V_KTOKK LIKE LFA1-KTOKK.
DATA: ITAB_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
***SORTING
DATA: GS_SORT TYPE SLIS_SORTINFO_ALV,
GT_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE.
FOR LAYOUT
DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA : V_REPID TYPE SY-REPID.
*INTERNAL TABLE DECLN
DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
BUKRS LIKE LFB1-BUKRS,
EKORG LIKE LFM1-EKORG,
KTOKK LIKE LFA1-KTOKK,
NAME1 LIKE LFA1-NAME1,
STRAS LIKE LFA1-STRAS,
ORT01 LIKE LFA1-ORT01,
REGIO LIKE LFA1-REGIO,
PFORT LIKE LFA1-PFORT,
PSTLZ LIKE LFA1-PSTLZ,
PSTL2 LIKE LFA1-PSTL2,
TELF1 LIKE LFA1-TELF1,
COLOR(3) TYPE C,
*CELLCOLOR TYPE LVC_T_SCOL,
END OF ITAB.
*SELECTION-SCREEN.
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONS: S_LIFNR FOR LFA1-LIFNR.
SELECT-OPTIONS: S_BUKRS FOR LFB1-BUKRS.
SELECT-OPTIONS: S_EKORG FOR LFM1-EKORG.
SELECT-OPTIONS: S_KTOKK FOR LFA1-KTOKK.
SELECTION-SCREEN: END OF BLOCK B1.
PARAMETERS: R_LIST RADIOBUTTON GROUP G1,
R_GRID RADIOBUTTON GROUP G1.
**AT SELECTION-SCREEN.
AT SELECTION-SCREEN.
IF NOT S_LIFNR IS INITIAL.
SELECT SINGLE LIFNR
INTO V_LIFNR
FROM LFA1
WHERE LIFNR IN S_LIFNR.
IF SY-SUBRC <> 0.
MESSAGE E001(ZZ1).
ENDIF.
ELSE.
MESSAGE E005(ZZ1).
ENDIF.
IF NOT S_BUKRS IS INITIAL.
SELECT SINGLE BUKRS
FROM T001
INTO V_BUKRS
WHERE BUKRS IN S_BUKRS.
IF SY-SUBRC <> 0.
MESSAGE E002(ZZ1).
ENDIF.
ELSE.
MESSAGE E006(ZZ1).
ENDIF.
IF NOT S_EKORG IS INITIAL.
SELECT SINGLE EKORG
FROM T024E
INTO V_EKORG
WHERE EKORG IN S_EKORG.
IF SY-SUBRC <> 0.
MESSAGE E003(ZZ1).
ENDIF.
ELSE.
MESSAGE E007(ZZ1).
ENDIF.
IF NOT S_KTOKK IS INITIAL.
SELECT SINGLE KTOKK
FROM T077K
INTO V_KTOKK
WHERE KTOKK IN S_KTOKK.
IF SY-SUBRC <> 0.
MESSAGE E008(ZZ1).
ENDIF.
ELSE.
MESSAGE E008(ZZ1).
ENDIF.
***start of selection.
START-OF-SELECTION.
V_REPID = SY-REPID.
PERFORM GET_DATA.
****END OF SELECTION.
END-OF-SELECTION.
PERFORM GET_FIELD_CATALOG.
*PERFORM BUILD_FIELDCAT.
IF R_LIST = 'X'.
PERFORM LIST_DISPLAY.
ELSE.
PERFORM GRID_DISPLAY.
ENDIF.
&----
*& Form GET_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_DATA .
SELECT LFA1~LIFNR
LFB1~BUKRS
LFM1~EKORG
LFA1~KTOKK
LFA1~NAME1
LFA1~STRAS
LFA1~ORT01
LFA1~REGIO
LFA1~PFORT
LFA1~PSTLZ
LFA1~PSTL2
LFA1~TELF1
FROM LFA1 INNER JOIN LFB1 ON LFA1LIFNR = LFB1LIFNR
INNER JOIN LFM1 ON LFA1LIFNR = LFM1LIFNR
INTO CORRESPONDING FIELDS OF TABLE ITAB
WHERE LFA1~LIFNR IN S_LIFNR.
ENDFORM. " GET_DATA
&----
*& Form GET_FIELD_CATALOG
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_FIELD_CATALOG .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = V_REPID
I_INTERNAL_TABNAME = 'ITAB'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = V_REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = ITAB_FIELDCAT[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 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.
ENDFORM. " GET_FIELD_CATALOG
&----
*& Form LIST_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM LIST_DISPLAY .
WA_LAYOUT-INFO_FIELDNAME = 'COLOR'.
WA_LAYOUT-ZEBRA = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = ITAB_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'U'
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
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.
ENDFORM. " LIST_DISPLAY
&----
*& Form BUILD_FIELDCAT
&----
text
----
--> p1 text
<-- p2 text
----
FORM BUILD_FIELDCAT .
ITAB_FIELDCAT-COL_POS = 0.
ITAB_FIELDCAT-FIELDNAME = 'LIFNR'.
ITAB_FIELDCAT-KEY = 'X'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-OUTPUTLEN = '10'.
ITAB_FIELDCAT-SELTEXT_L = 'VENDOR'(009).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 1.
ITAB_FIELDCAT-FIELDNAME = 'BUKRS'.
ITAB_FIELDCAT-KEY = 'X'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-OUTPUTLEN = '4'.
ITAB_FIELDCAT-SELTEXT_L = 'COMPANY CODE'(010).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 2.
ITAB_FIELDCAT-FIELDNAME = 'EKORG'.
ITAB_FIELDCAT-KEY = 'X'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-OUTPUTLEN = '4'.
ITAB_FIELDCAT-SELTEXT_L = 'PURCHASING ORG'(011).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 3.
ITAB_FIELDCAT-FIELDNAME = 'KTOKK'.
ITAB_FIELDCAT-OUTPUTLEN = '4'.
ITAB_FIELDCAT-SELTEXT_L = 'ACCOUNT GRP'(012).
ITAB_FIELDCAT-EMPHASIZE = 'X'.
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 4.
ITAB_FIELDCAT-FIELDNAME = 'NAME1'.
ITAB_FIELDCAT-OUTPUTLEN = '12'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-SELTEXT_L = 'VENDOR NAME'(013).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 5.
ITAB_FIELDCAT-FIELDNAME = 'STRAS'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-OUTPUTLEN = '12'.
ITAB_FIELDCAT-SELTEXT_L = 'STREET'(014).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 6.
ITAB_FIELDCAT-FIELDNAME = 'ORT01'.
ITAB_FIELDCAT-OUTPUTLEN = '12'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-SELTEXT_L = 'CITY'(015).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 7.
ITAB_FIELDCAT-FIELDNAME = 'REGIO'.
ITAB_FIELDCAT-OUTPUTLEN = '2'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-SELTEXT_L = 'REGION'(016).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 8.
ITAB_FIELDCAT-FIELDNAME = 'PFORT'.
ITAB_FIELDCAT-OUTPUTLEN = '10'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-SELTEXT_L = 'PO BOX'(017).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 9.
ITAB_FIELDCAT-FIELDNAME = 'PFTLZ'.
ITAB_FIELDCAT-EMPHASIZE = 'X'.
ITAB_FIELDCAT-OUTPUTLEN = '10'.
ITAB_FIELDCAT-SELTEXT_L = 'POST CODE'(018).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 10.
ITAB_FIELDCAT-FIELDNAME = 'PSTL2'.
ITAB_FIELDCAT-OUTPUTLEN = '10'.
ITAB_FIELDCAT-SELTEXT_L = 'PO ZIP'(019).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
ITAB_FIELDCAT-COL_POS = 11.
ITAB_FIELDCAT-FIELDNAME = 'TELF1'.
ITAB_FIELDCAT-OUTPUTLEN = '16'.
ITAB_FIELDCAT-SELTEXT_L = 'TELEPHONE'(020).
APPEND ITAB_FIELDCAT.
CLEAR ITAB_FIELDCAT.
CLEAR GS_SORT.
GS_SORT-FIELDNAME = 'LIFNR'.
GS_SORT-SPOS = 1.
GS_SORT-UP = 'X'.
GS_SORT-SUBTOT = 'X'.
APPEND GS_SORT TO GT_SORT.
*L_POS = L_POS + 1.
*DATA: LS_CELLCOLOR TYPE LVC_S_SCOL.
*DATA: L_INDEX TYPE SY-TABIX.
*
*LOOP AT ITAB.
L_INDEX = SY-TABIX.
if l_index = 1 or l_index = 10.
LS_CELLCOLOR-FNAME = 'VBELN'.
LS_CELLCOLOR-COLOR-COL = '6'.
LS_CELLCOLOR-COLOR-INT = '1'.
APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
endif.
if l_index = 5 or l_index = 20.
LS_CELLCOLOR-FNAME = 'VBELN'.
LS_CELLCOLOR-COLOR-COL = '4'.
LS_CELLCOLOR-COLOR-INT = '1'.
APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
endif.
*ENDLOOP.
ENDFORM. " BUILD_FIELDCAT
&----
*& Form GRID_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM GRID_DISPLAY .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_REPID
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 =
IT_FIELDCAT = ITAB_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.
ENDFORM. " GRID_DISPLAY
check this link..
http://www.sapdevelopment.co.uk/reporting/alv/alvgrid.htm
http://www.sap-img.com/abap/sample-programs-on-alv-grid.htm
hope this helps,
do reward if it helps,
priya.
Message was edited by: Priya
08-25-2006 9:40 AM
hi Narendra,
Check this out
http://www.sap-img.com/abap/example-of-a-simple-alv-grid-report.htm
Regards,
Santosh
08-25-2006 9:43 AM
If you just want to fetch data from a table and display it then i have written a small sample program below.
DATA:
dock TYPE REF TO cl_gui_docking_container,
alv TYPE REF TO cl_gui_alv_grid,
it_spfli LIKE TABLE OF spfli.
<u><b>Creating an object For container in which the alv grid control has to be kept.Here I'm using docking container.
A check is written as only once that container should be created:</b></u>
IF dock IS INITIAL.
CREATE OBJECT dock
EXPORTING
extension = 670.
ENDIF.
<u><b>Creating an object fro alv grid:</b></u>
CREATE OBJECT alv
EXPORTING
i_parent = dock.
<u><b>Selecting data from table spfli:</b></u>
SELECT * FROM spfli INTO TABLE it_spfli.
<u><b>"ToDisplay:</b></u>
CALL METHOD alv->set_table_for_first_display
EXPORTING
i_structure_name = 'SPFLI'
CHANGING
it_outtab = it_spfli.
08-25-2006 9:59 AM
Hi,
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.
There are a number of ways to create a fieldcat.
For the purpose of this example i will build the fieldcatalog manualy
by populating the internal table fields individually and then
appending the rows. This method can be the most time consuming but can
also allow you more control of the final product.
Beware though, you need to ensure that all fields required are
populated. When using some of functionality available via ALV, such as
total. You may need to provide more information than if you were
simply displaying the result
I.e. Field type may be required in-order for
the 'TOTAL' function to work.
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).
gd_layout-totals_only = 'X'.
gd_layout-f2code = 'DISP'. "Sets fcode for when double
"click(press f2)
gd_layout-zebra = 'X'.
gd_layout-group_change_edit = 'X'.
gd_layout-header_text = 'helllllo'.
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 = 'Z_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,
Shalini
08-25-2006 10:10 AM