2006 Jul 28 5:43 PM
Can you give me an example/document on ALV grid ?
Thanks a lot.
2006 Jul 28 5:46 PM
Hi,
in SE38, check for programs with name starting with BCALV*
Regards,
Vara
2006 Jul 28 5:45 PM
Hi,
Check the programs with pattren BCALV in SE38 . there are many examples on ALV and also check the transaction DWDM.
check this link :
http://www.sapgenie.com/abap/controls/alvgrid.htm
Regards
Appana
2006 Jul 28 5:46 PM
Hi,
in SE38, check for programs with name starting with BCALV*
Regards,
Vara
2006 Jul 28 5:47 PM
Search in se38 for BALVGRID . This will list ALV GRID Sample programs by SAP.
Use BCALVGRID for Object oriented Grid samples.
Thanks
Sujamol
2006 Jul 28 6:07 PM
Hi,
Please check the sample program for ALV
DATA : o_alvgrid TYPE REF TO cl_gui_alv_grid,
i_fieldcat TYPE lvc_t_fcat,
wa_layout TYPE lvc_s_layo,
o_container TYPE REF TO cl_gui_custom_container,
o_container_top TYPE REF TO cl_gui_container,
o_container_bot TYPE REF TO cl_gui_container,
o_split TYPE REF TO cl_gui_easy_splitter_container,
o_line_dockingcont TYPE REF TO cl_gui_docking_container,
o_event_receiver TYPE REF TO lcl_event_receiver.
DATA: i_final_log TYPE STANDARD TABLE OF zpesanlage.
SELECT-OPTIONS : s_anlage FOR eanl-anlage.
***********************************************************************
AT SELECTION SCREEN
***********************************************************************
AT SELECTION-SCREEN.
Select installation
SELECT * FROM zpesanlage INTO TABLE i_final_log
WHERE anlage IN s_anlage.
IF sy-subrc NE 0.
MESSAGE s001(zespur) WITH text-010.
EXIT.
ENDIF.
***********************************************************************
END OF SELECTION
***********************************************************************
END-OF-SELECTION.
IF NOT i_installation[] IS INITIAL.
CALL SCREEN 9000.
ELSE.
MESSAGE s001(zespur) WITH text-010.
LEAVE LIST-PROCESSING.
ENDIF.
&----
*& Module STATUS_9000 OUTPUT
&----
PBO
----
MODULE status_9000 OUTPUT.
SET PF-STATUS 'STATUS01'.
SET TITLEBAR 'TITLE01'.
IF o_alvgrid IS INITIAL.
*-- Create Instances
PERFORM create_object.
*-- Create Field catalog
PERFORM field_catalog TABLES i_fieldcat.
**-- Set ALV Layout
PERFORM create_layout.
**-- Sort i_final based on Installation No.
SORT i_final_log BY anlage ASCENDING.
**-- Generate ALV Grid
PERFORM display_list TABLES i_final_log
i_fieldcat
USING wa_layout.
ELSEIF NOT o_alvgrid IS INITIAL.
CALL METHOD o_alvgrid->refresh_table_display.
CLEAR wa_layout.
REFRESH: i_fieldcat.
ENDIF.
ENDMODULE. " STATUS_9000 OUTPUT
&----
*& Module USER_COMMAND_9000 INPUT
&----
PAI
----
MODULE user_command_9000 INPUT.
ok_code = sy-ucomm.
CASE ok_code.
WHEN 'EXIT' OR 'CANC'.
PERFORM free_objects USING o_alvgrid 'ALV' text-029.
PERFORM free_internal_tables.
LEAVE PROGRAM.
WHEN 'BACK'.
PERFORM free_objects USING o_alvgrid 'ALV' text-029.
PERFORM free_internal_tables.
SET SCREEN '0'.
LEAVE SCREEN.
ENDCASE.
ENDMODULE. " USER_COMMAND_9000 INPUT
&----
*& Form create_object
&----
Create Object
----
FORM create_object .
IF sy-batch IS INITIAL.
IF o_alvgrid IS INITIAL.
CREATE OBJECT o_container
EXPORTING
container_name = 'CONTAINER1'.
ENDIF.
CREATE OBJECT o_alvgrid
EXPORTING
i_parent = o_container.
ELSE.
CREATE OBJECT o_alvgrid
EXPORTING
i_parent = o_line_dockingcont
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE e001(zespur) WITH text-029.
LEAVE LIST-PROCESSING.
ENDIF.
ENDIF.
ENDFORM. " create_object
&----
*& Form field_catalog
&----
Field Catalog
----
FORM field_catalog TABLES p_fieldcat STRUCTURE lvc_s_fcat. "#EC *
DATA ls_fcat TYPE lvc_s_fcat.
REFRESH p_fieldcat.
CLEAR ls_fcat.
ls_fcat-col_pos = 1.
ls_fcat-fieldname = text-018.
ls_fcat-outputlen = 12.
ls_fcat-tabname = text-023.
ls_fcat-coltext = text-024.
ls_fcat-fix_column = c_x.
ls_fcat-just = c_x.
ls_fcat-no_zero = c_x.
APPEND ls_fcat TO p_fieldcat.
CLEAR ls_fcat.
ls_fcat-col_pos = 2.
ls_fcat-fieldname = text-019.
ls_fcat-outputlen = 15.
ls_fcat-tabname = text-023.
ls_fcat-coltext = text-025.
ls_fcat-fix_column = c_x.
ls_fcat-just = c_x.
APPEND ls_fcat TO p_fieldcat.
CLEAR ls_fcat.
ls_fcat-col_pos = 3.
ls_fcat-fieldname = text-020.
ls_fcat-tabname = text-023.
ls_fcat-coltext = text-026.
ls_fcat-just = c_x.
APPEND ls_fcat TO p_fieldcat.
CLEAR ls_fcat.
ls_fcat-col_pos = 4.
ls_fcat-fieldname = text-021.
ls_fcat-tabname = text-023.
ls_fcat-coltext = text-027.
ls_fcat-just = c_x.
APPEND ls_fcat TO p_fieldcat.
CLEAR ls_fcat.
ls_fcat-col_pos = 5.
ls_fcat-fieldname = text-022.
ls_fcat-tabname = text-023.
ls_fcat-coltext = text-028.
ls_fcat-just = c_x.
APPEND ls_fcat TO p_fieldcat.
ENDFORM. " field_catalog
&----
*& Form create_layout
&----
Layout
----
FORM create_layout.
wa_layout-zebra = c_x.
wa_layout-cwidth_opt = c_x.
ENDFORM. " create_layout
&----
*& Form display_list
&----
Dispalay List for grid
----
FORM display_list TABLES p_output
p_fieldcat "#EC *
USING value(p_layout).
*-- Display Report
CALL METHOD o_alvgrid->set_table_for_first_display
EXPORTING
i_save = c_a
is_layout = p_layout
it_toolbar_excluding = i_excl_func
CHANGING
it_outtab = p_output[]
it_fieldcatalog = p_fieldcat[]
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE i000(zo_spa) WITH text-039. " Error in Displaying
LEAVE LIST-PROCESSING.
ENDIF.
CREATE OBJECT o_event_receiver.
SET HANDLER o_event_receiver->handle_double_click FOR o_alvgrid.
CALL METHOD o_alvgrid->refresh_table_display.
ENDFORM. " display_list
&----
*& Form free_objects
&----
Free Objects
----
FORM free_objects USING pobject
value(ptype)
value(ptext) TYPE c.
DATA: lo_objectalv TYPE REF TO cl_gui_alv_grid.
CASE ptype.
WHEN 'ALV'.
lo_objectalv = pobject.
IF NOT ( lo_objectalv IS INITIAL ).
CALL METHOD lo_objectalv->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
CLEAR: pobject, lo_objectalv.
PERFORM error_handle USING ptext.
ENDIF.
WHEN OTHERS.
sy-subrc = 1.
PERFORM error_handle
USING text-029.
ENDCASE.
ENDFORM. " free_objects
&----
*& Form error_handle
&----
Error Handle
----
FORM error_handle USING value(ptext) TYPE c.
IF sy-subrc NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = text-030
txt2 = sy-subrc
txt1 = ptext.
ENDIF.
ENDFORM. " error_handle
&----
*& Form free_internal_tables
&----
Free Internal tables
----
FORM free_internal_tables .
clear: i_installation.
ENDFORM. " free_internal_tables
Regards,
Prakash.
2006 Jul 28 6:04 PM
Hi nuren,
check these links, u will find a lot of example codes:
http://www.sapgenie.com/abap/controls/alvgrid.htm
http://www.sap-img.com/abap/sample-programs-on-alv-grid.htm
http://goldenink.com/abap/alv_grid.html
http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_basic.htm
http://www.sap-img.com/abap/display-secondary-list-using-alv-grid.htm
http://www.howforge.com/abap-4-example-code-alv-grid-control-by-applying-object-cl-gui-alv-grid
http://sap.niraj.tripod.com/id64.html
hope this helps u,
regards,
keerthi.
2006 Jul 28 6:05 PM
hi nuren,
check the demo programs by typing Balv in se38
check these..
http://www.sap-img.com/abap/sample-programs-on-alv-grid.htm
http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_basic.htm
http://www.sapdevelopment.co.uk/reporting/alv/alvscr.htm
http://help.sap.com/saphelp_sm32/helpdata/en/8d/e994374c9cd355e10000009b38f8cf/content.htm
REPORT ZTEST_ALV NO STANDARD PAGE HEADING LINE-COUNT 5.
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.
***FIELD CATALOG.
*CHANGES BY LAXMI
DATA: ITAB_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
*END CHANGES
***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 = 'A'
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
hope this helps,
do reward if it helps,
priya.
2006 Jul 28 6:09 PM
Hi,
Have a look at the below demo programs.
<b>BCALV_GRID_01
BCALV_GRID_02
BCALV_GRID_03
BCALV_GRID_04
BCALV_GRID_05
BCALV_GRID_06
BCALV_GRID_07
BCALV_GRID_08
BCALV_GRID_09
BCALV_GRID_10
BCALV_GRID_11</b>
Complete ALV Programming Guide can be viewed from http://help.sap.com
Cheers,
Abdul Hakim
2006 Jul 28 6:20 PM
Hi Nuren
Refer to the following links.
http://www.esnips.com/web/ALVDocs
http://www.sapfans.com/forums/viewtopic.php?t=58286
Award points if found useful.
Regards
Inder
2006 Jul 28 6:21 PM
hi nuren,
check the below good example for alv grid
ALV Grid
I assume the documentation was showing examples of entire table structure being output in ALV. The following is a basic example of displaying an internal table in. I hope this helps in some way.
-
&----
*& Report Z_TEST_ALV_EX1 *
*& *
&----
*& *
*& *
&----
report z_test_alv_ex1.
*& Types
types: begin of type_1,
pernr like pa0001-pernr,
begda like pa0001-begda,
endda like pa0001-endda,
orgeh like pa0001-orgeh,
plans like pa0001-plans,
count type i,
end of type_1.
*&
data: it_1 type table of type_1,
wa_1 type type_1.
*& Declare Layout Of The Output
data: g_layout type lvc_s_layo,
gs_variant type disvariant. "finally chosen layout
*& Layouts should always be based on the type LVC_S_LAYO. This layout
*& determine overall settings for the output
*& Declare the Field Catalog
data: g_fieldcat type lvc_t_fcat with header line.
*& The Field catalog should always be based on the type lvc_t_fcat
data: ok_code like sy-ucomm.
data: g_container type scrfname value 'BCALV_GRID1',
grid1 type ref to cl_gui_alv_grid,
g_custom_container type ref to cl_gui_custom_container.
*&-Start-Of-Selection
start-of-selection.
select * from pa0001 into corresponding fields of table it_1
where endda = '99991231'.
loop at it_1 into wa_1.
wa_1-count = wa_1-count + 1.
modify it_1 from wa_1.
endloop.
call screen 0100.
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
module status_0100 output.
set pf-status 'MAIN100'.
*Set Container
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.
*& Fill Field catalog
perform field_catalogue.
*Display Data Using the Method
gs_variant = sy-repid.
call method grid1->set_table_for_first_display
exporting is_layout = g_layout
is_variant = gs_variant
changing it_outtab = it_1
it_fieldcatalog = g_fieldcat[].
endif.
endmodule. " STATUS_0100 OUTPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
module user_command_0100 input.
to react on custom events:
call method cl_gui_cfw=>dispatch.
case ok_code.
when 'EXIT'.
leave program.
when others.
endcase.
clear ok_code.
endmodule. " USER_COMMAND_0100 INPUT
&----
*& Form field_catalogue
&----
text
----
--> p1 text
<-- p2 text
----
form field_catalogue.
clear g_fieldcat.
g_fieldcat-fieldname = 'PERNR'.
g_fieldcat-dd_outlen = '8'.
g_fieldcat-inttype = 'N'.
g_fieldcat-coltext = 'Personnel Id'.
append g_fieldcat.
clear g_fieldcat.
g_fieldcat-fieldname = 'BEGDA'.
g_fieldcat-dd_outlen = '8'.
g_fieldcat-inttype = 'D'.
g_fieldcat-coltext = 'Start Date'.
append g_fieldcat.
clear g_fieldcat.
g_fieldcat-fieldname = 'ENDDA'.
g_fieldcat-dd_outlen = '8'.
g_fieldcat-inttype = 'D'.
g_fieldcat-coltext = 'End Date'.
append g_fieldcat.
clear g_fieldcat.
g_fieldcat-fieldname = 'ORGEH'.
g_fieldcat-dd_outlen = '8'.
g_fieldcat-inttype = 'N'.
g_fieldcat-coltext = 'Org Unit'.
append g_fieldcat.
clear g_fieldcat.
g_fieldcat-fieldname = 'PLANS'.
g_fieldcat-dd_outlen = '8'.
g_fieldcat-inttype = 'N'.
g_fieldcat-coltext = 'Position'.
append g_fieldcat.
clear g_fieldcat.
g_fieldcat-fieldname = 'COUNT'.
g_fieldcat-do_sum = 'X'.
g_fieldcat-coltext = 'Count'.
append g_fieldcat.
endform. " field_catalogue
if u need further info on alv-grid shoot me a test mail to callnaveen@gmail.com
if u find it useful mark the points
Regards,
Naveen
2006 Jul 28 10:42 PM
Check all the example programs in SLIS development class / package.
Regds
Manohar
2006 Jul 29 5:54 AM
Hi Nuren,
There are two methods of creating ALV grid.
1) Using the Function Modules
2) Using Object Oriented Methodology.
If you want to work on ALV using Object Oriented Methodology, you can go through this document for a beginning...
http://esnips.com/doc/b708766f-a934-42a1-8064-c4de75b48fc4/Sample-Program-of-alv-using-oops.ppt
You can explore ALV using this document.
http://esnips.com/doc/2d953590-e8c5-490c-a607-d1ab7cf517d7/ALV.pdf
Regards,
Amit.