Professional Documents
Culture Documents
2
.ALV GRID CONTROL (ALV ).................................................................................................... 2
.ALV GRID CONTROL ...................................................................................................................... 2
. ALV ..................................................................................................... 6
ALV .............................................................................................................. 7
: SCREEN,,CONTAINER...................................................................7
: ALV ......................................................................................... 7
,............................................................................................................... 10
,........................................................................................................................................ 11
,..................................................................................................................... 11
:.......................................................................................................................... 12
:,.............................................................................................. 12
:................................................................................................................................. 12
:()...................................................................................................................... 13
:........................................................................................................................................ 13
:........................................................................................................................................ 14
:.................................................................................................................................... 16
:........................................................................................................................... 17
........................................................................................................ 18
......................................................................................................................................... 19
............................................................................................................................ 20
ALV GRID ...................................................................................................... 21
1.()................................................................................................................................ 22
2................................................................................................................................................ 22
3.................................................................................................................... 23
4....................................................................................................................................... 25
5.................................................................................................................................... 25
6. ........................................................................................................................................ 27
.ALV
The ALV Grid Control (ALV = SAP List Viewer),,
,.
SAP : SAP ,ALV GRID ,,,
.
ALV GRID :
3 ,,,..
ALV 3 ALV :, ALV, ALV.
ALV GRID :
ALV GRID
1. [Field catalog]
ALV ,,,,,.
:(, STRUCTURE LVC_S_FCAT)
ROW_POS
ALV : ()
COL_POS
ALV :
,, 1,2,..
FIELDNAME
ALV :
TABNAME
LVC
CURRENCY
ALV :
CFIELDNAME
ALV :
QUANTITY
ALV :
QFIELDNAME
ALV :
10
IFIELDNAME
ALV :
11
ROUND
ALV : ROUND
12
EXPONENT
ALV
13
KEY
ALV :
14
KEY_SEL
ALV :
15
ICON
ALV :
16
SYMBOL
ALV :
17
CHECKBOX
ALV :
18
JUST
ALV :
:
'R': right justified
'L': left justified
'C': centered
19
LZERO
ALV :
X'
20
NO_SIGN
ALV
X',
21
NO_ZERO
ALV :
X', 0
22
NO_CONVEXT
ALV :
23
EDIT_MASK
ALV :
24
EMPHASIZE
ALV :
25
FIX_COLUMN
ALV :
26
DO_SUM
ALV :
X',
27
NO_SUM
ALV :
X' ,
28
NO_OUT
ALV :
X' ,
29
TECH
ALV :
X'.
30
OUTPUTLEN
ALV :
31
CONVEXIT
32
SELTEXT
ALV :
33
TOOLTIP
ALV :
34
ROLLNAME
ALV : F1
35
DATATYPE
ABAP
ABAP
36
INTTYPE
ABAP (C,D,N,...)
ABAP (C,D,N,...)
37
INTLEN
38
LOWERCASE
X'
39
REPTEXT
40
HIER_LEVEL
ALV :
41
REPREP
ALV : /
42
DOMNAME
43
SP_GROUP
44
HOTSPOT
ALV :
X',,
45
DFIELDNAME
ALV :
46
COL_ID
ALV : ID
47
F4AVAILABL
X'.
48
AUTO_VALUE
ALV :
49
CHECKTABLE
50
VALEXI
51
WEB_FIELD
ALV :
52
HREF_HNDL
53
STYLE
ALV :
, PUSHBUTTION
54
STYLE2
ALV :
55
STYLE3
ALV :
56
STYLE4
ALV :
57
DRDN_HNDL
58
DRDN_FIELD
ALV :
59
NO_MERGING
60
H_FTYPE
61
COL_OPT
62
NO_INIT_CH
63
DRDN_ALIAS
64
REF_FIELD
ALV :
65
REF_TABLE
ALV :
66
TXT_FIELD
ALV :
67
ROUNDFIELD
ALV : ROUND
68
DECIMALS_O
ALV :
69
DECMLFIELD
ALV : DECIMALS
70
DD_OUTLEN
ALV :
71
DECIMALS
72
COLTEXT
ALV :
73
SCRTEXT_L
74
SCRTEXT_M
75
SCRTEXT_S
76
COLDDICTXT
ALV : DDIC
77
SELDDICTXT
ALV : DDIC
78
TIPDDICTXT
ALV : DDIC
79
EDIT
ALV :
.'X'
80
TECH_COL
ALV :
81
TECH_FORM
ALV :
82
TECH_COMP
ALV :
83
HIER_CPOS
ALV :
84
H_COL_KEY
: /
85
H_SELECT
86
DD_ROLL
()
87
DRAGDROPID
ALV : &
88
MAC
89
INDX_FIELD
90
INDX_CFIEL
91
INDX_QFIEL
92
INDX_IFIEL
93
INDX_ROUND
94
INDX_DECML
95
GET_STYLE
96
MARK
2.[layout]
Value range
CWIDTH_OPT
SPACE, 'X'
SMALLTITLE
SPACE, 'X'
GRID_TITLE
70
NO_HEADERS
SPACE, 'X'
NO_HGRIDLN
SPACE, 'X'
NO_MERGING
SPACE, 'X'
NO_ROWMARK
SPACE, 'X'
D A
NO_TOOLBAR
SPACE, 'X'
NO_VGRIDLN
SPACE, 'X'
SEL_MODE
EXCP_CONDS
SPACE, 'X'
EXCP_FNAME
30
EXCP_LED
LED
SPACE, 'X'
EXCP_ROLLN
SPACE, 'X'
CTAB_FNAME
30
INFO_FNAME
30
ZEBRA
SPACE, 'X'
NO_TOTLINE
SPACE, 'X'
NUMC_TOTAL
NUMC
SPACE, 'X'
TOTALS_BEF
SPACE, 'X'
STYLEFNAME
, PUSHBUTTON
30
3.,
[LVC_S_PRNT]
[LVC_S_SORT]
[LVC_S_FILT]
,,,.
. ALV .
DIALOG .
OO ALV GRID , FUNCTION ALV,, CL_GUI_ALV_GRID
.
ALV .
1,,,,, I_STRUCTURE_NAME.
2.,,,,
..
2 ,,,.
: SCREEN,,CONTAINER..
DATA: wcl_container TYPE REF TO cl_gui_custom_container,
wcl_alv TYPE REF TO cl_gui_alv_grid .
*---
DATA gt_fieldcat TYPE lvc_t_fcat .
*---
DATA gs_layout TYPE lvc_s_layo .
*----( SFLIGHT )
DATA BEGIN OF gt_list OCCURS 0 .
INCLUDE STRUCTURE sflight .
DATA END OF gt_list .
: ALV .
PBO :
"display_alv OUTPUT
FORM display_alv .
IF
wcl_alv IS INITIAL .
CREATE OBJECT: wcl_container
EXPORTING
container_name = 'ALV_CON'.
CREATE OBJECT wcl_alv
EXPORTING
i_parent = wcl_container.
*-----
PERFORM prepare_field_catalog CHANGING gt_fieldcat .
*-----
PERFORM prepare_layout CHANGING gs_layout .
*----- alv
CALL METHOD gr_alvgrid->set_table_for_first_display
EXPORTING
*
I_BUFFER_ACTIVE =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
is_layout = gs_layout
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
CHANGING
it_outtab = gt_list[]
it_fieldcatalog = gt_fieldcat
IT_SORT =
IT_FILTER =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4 .
ELSE .
*---- alv
CALL METHOD gr_alvgrid->refresh_table_display
*
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
finished = 1
OTHERS = 2 .
IF sy-subrc <> 0.
*--
ENDIF.
ENDIF .
ENDFORM.
"display_alv
"set_table_for_first_display"
,,, ALV
I_BUFFER_ACTIVE
.,
ALV
,'SFLIGHT'.,
I_STRUCTURE_NAME
, IT_FIELDCATALOG .
IS_VARIANT
I_SAVE
:
'X'
'U'
'A'
SPACE
:
I_DEFAULT
'X' ,
SPACE
IS_LAYOUT
IS_PRINT
IT_SPECIAL_GROUPS
SP_GROUP .
IT_TOOLBAR_EXCLUDING
IT_HYPERLINK
,LVC_S_HYPE HREF ,
HANDLE , GRID
IT_ALV_GRAPHICS
, ALV.
IT_OUTTAB
IT_FIELDCATALOG
IT_SORT
IT_FILTER
"REFRESH_TABLE_DISPLAY"
IS_STABLE
2 .,
,.
I_SOFT_REFRESH
,,,
,.
.: ALV,
.
,.
.
1.
= 'SFLIGHT'
CHANGING
ct_fieldcat
EXCEPTIONS
= pt_fieldcat[]
inconsistent_interface = 1
program_error
= 2
OTHERS
= 3.
IF sy-subrc <> 0.
*--Exception handling
ENDIF.
LOOP AT pt_fieldcat INTO ls_fcat .
CASE pt_fieldcat-fieldname .
WHEN 'CARRID' .
ls_fcat-outpulen = '10' .
ls_fcat-coltext = 'Airline Carrier ID' .
MODIFY pt_fieldcat FROM ls_fcat .
WHEN 'PAYMENTSUM' .
ls_fcat-no_out = 'X' .
MODIFY pt_fieldcat FROM ls_fcat .
ENDCASE .
ENDLOOP .
ENDFORM .
"prepare_field_catalog
,
(,,)
ALV , UI_FUNCTIONS ,
set_table_for_first_display "IT_TOOLBAR_EXCLUDING".
cl_gui_alv_grid , after_user_command .
, layout no_toolbar "X".
:
, ALV DEMO ..
:,.
,,..
:
get_frontend_fieldcatalog
set_frontend_fieldcatalog
get_frontend_layout
set_frontend_layout
,,,.
EXPORTING
it_fieldcatalog = lt_fcat[].
CALL METHOD gr_alvgrid->get_frontend_layout
IMPORTING
es_layout = ls_layout.
ls_layout-grid_title = 'Flights (with Payment Sums)' .
CALL METHOD gr_alvgrid->set_frontend_layout
EXPORTING
is_layout = ls_layout.
:
. LVC_T_SORT
. set_table_for_first_display IT_SORT .
:()
ALV ,.
"LVC_T_FILT". RANGES .
"SET_TABLE_FOR_FIRST_DISPLAY""IT_FILTER"
ls_filt-sign = 'E' .
ls_filt-option = 'BT' .
ls_filt-low = '20030101' .
ls_filt-high = '20031231' .
APPEND ls_filt TO pt_filt .
ENDFORM. " preparefiltertable
"get_filter_criteria" "set_filter_criteria".
:
,,"SEL_MODE".
..
SPACE
'A'
'B'
,,
'C'
,,
'D'
:
1. ALV ,.
2.,."GET_SELECTED_CELLS",
"GET_SELECTED_CELLS_ID", "GET_SELECTED_ROWS","GET_SELECTED_COLUMNS"
3. PAI ,,. PBO , SET .
:
, ALV .,.
,,.
ALV .,4 CHAR .
Cx y
-----------------------------------------Color | |
|
|
1/0: /
1/0: /
C ,(1 7),,,,,
.
Gray-blue
headers
Light gray
List bodies
yellow
totals
Blue-green
Key columns
green
red
orange
Control levels
A).
"emphasize". 4 CHAR ,.
:
LS_FCAT-EMPHASIZE = 'C701'.
,
.
B)
,,,.,
4 CHAR ,.
:
NOKEYCOL .,.,
.
,ALV "CTAB_FNAME",.
,--->--->.
:
."LVC_T_HYPE" , INT4 ,
ALV,,.
,WEB_FIELD .
, CARRID,CONNID :
, 2 :
Ls_fieldcat-web_field = 'CARRID_HANDLE'.
CONNID field catalog
Ls_fieldcat-web_field = 'CONNID_HANDLE.
"SET_TABLE_FOR_FIRST_DISPLAY" it_hyperlink
::
LOOP AT gt_list.
IF gt_list-carrid = XX.
Gt_list-carrid_handle = 1.
IF gt_list-connid = 01.
Gt_list-connid_handle = 4.
ENDIF.
ENDIF.
ENDLOOP.
:
,,
,.
,,,"LVC_T_DROP".
ALV ."SET_TABLE_FOR_FIRST_DISPLAY",
"SET_DROP_DOWN_TABLE".
,"DRDN_HNDL"
.:
ps_fcat-drdn_hndl = '1' .
(,
),"DRDN_FIELD".:
ps_fcat-drdn_field = 'PTYP_DD_HNDL' .
:
FORM prepare_drilldown_values.
DATA lt_ddval TYPE lvc_t_drop .
DATA ls_ddval TYPE lvc_s_drop .
ls_ddval-handle = '1' .
ls_ddval-value = 'JFK-12' .
APPEND ls_ddval TO lt_ddval .
ls_ddval-handle = '1' .
ls_ddval-value = 'JSF-44' .
APPEND ls_ddval TO lt_ddval .
ls_ddval-handle = '1' .
ls_ddval-value = 'KMDA-53' .
APPEND ls_ddval TO lt_ddval .
ls_ddval-handle = '1' .
ls_ddval-value = 'SS3O/N' .
APPEND ls_ddval TO lt_ddval .
CALL METHOD gr_alvgrid->set_drop_down_table
EXPORTING
it_drop_down = lt_ddval.
ENDFORM.
"prepare_drilldown_values
, set_drop_down_table ALV.
,ALV GRID .
. ALV GRID .
ALV GRID , HTML HTML SAP GUI .
:
Event
Application
HTML
Print_end_of_list
Print_top_of_list
Print_top_of_page
Print_end_of_page
Subtotal_text
ALV GRID
Event
Application
HTML
Button_click
Double_click
Hotspot_click
Ondrag
Collect information when elements of the ALV GRID Control are dragged
Ondrop
dropped
ondropComplete
ondropGetFlavor
Event
Application
HTML
Before_user_command
standard functions
User_command
codes
After_user_command
Application
HTML
Tool bar
Onf1
.
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
METHODS:
*-- ALV
Handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive,
*--
Handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm.
*--
Handle_hotspot_click
FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_row_id e_column_id es_row_no.
*--
Handle_before_user_command
FOR EVENT before_user_command OF cl_gui_alv_grid
IMPORTING e_ucomm.
*--
Handle_after_user_command
FOR EVENT after_user_command OF cl_gui_alv_grid
IMPORTING e_ucomm.
*-- ALV ,
Handle_data_changed
FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING er_data_changed.
*--
Handle_data_changed_finished
"
ALV :
"lcl_event_handler
"lcl_event_handler
"lcl_event_handler
"lcl_event_handler
"lcl_event_handler
METHOD handle_data_changed_finished.
PERFORM handle_data_chaged USING e_modified.
ENDMETHOD.
"handle_data_changed_finished
METHOD handle_menu_button.
PERFORM handle_menu_button USING e_object e_ucomm.
ENDMETHOD.
METHOD handle_button_click.
PERFORM handle_button_click USING e_objcet e_ucomm.
ENDMETHOD.
ENDCLASS.
"handle_menu_button
"lcl_event_handler IMPLEMENTATION
ALV GRID
, ALV GRID .
1.()
,,"HOTSPOT""X",
HOTSPOT_CLICK. HOTSPOT_CLICK ,"E_ROW_ID", 2 :
LVC_S_COL "E_COLUMN_ID", E_COLUMN_ID-FIELDNAME .
LVC_S_ROID "ES_ROW_NO", ES_ROW_NO-ROW_ID ,.
"handle_hotspot_click
SEATSOCC, 200.
2.
, 3 ..
:
"handle_double_click
SEATSOCC 200.
3.
ALV , GUI ,2 .
toolbar , user_command .
TOOLBAR ,"e_object""mt_toolbar".:
"handle_toolbar
:
Field
Description
FUNCTION
BUTN_TYPE
:
0
Button(normal)
Menu
Radio button
Checkbox
Menu entry
ICON
()
TEXT
()
QUICKINFO
()
DISABLED
. 1 2,
, menu_button :
text
= euro.
= trl
text
= turkish lira.
ENDCASE.
ENDFORM.
"handle_menu_button
, USER_COMMAND .
= gt_list-carrid
EXCEPTIONS
carrier_not_found = 1
oters
= 2.
ENDIF.
WHEN 'EU'.
READ TABLE gt_list INDEX ls_selected_row-row_id.
IF sy-subrc = 0.
CALL FUNCTION 'ZPOPUP_CONV_CURR_ADD_DISPLAY'
EXPORTING
monun = 'EU'
quant = gt_list-paymentsum.
ENDIF.
ENDCASE.
ENDFORM.
"handle_user_command
4..
ALV .,"before_user_command",
"set_user_command",.
:
"handle_before_user_command
5.
(style , style CL_GUI_ALV_GRID ,
MC_STYLE4_LINK,MC_STYLE4_LINK_NO,MC_STYLE_BUTTON,MC_STYLE_DISABLED,....),
/, F4,,,......
5.1 PUSHBUTTON
,"LVC_T_STYL". :
gs_layout-stylefname = 'CELLSTYLES'.
, 2 .
5.2
, SAP .
,, A,, B,.
, EDIT "X".,ALV ,,
,.,.
5.1 ,,"LVC_T_STYL". style
CL_GUI_ALV_GRID=>MC_STYLE_ENABLED CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
.CL_GUI_ALV_GRID=>MC_STYLE_ENABLED , CL_GUI_ALV_GRID=>MC_STYLE_DISABLED
.:
ENDLOOP.
ENDFORM.
"adjust_edittables
ALV STYLE .
gs_layout-stylefname = 'CELLSTYLES'.
, STYLE
. set_ready_for_input i_ready_for_input = 1 ALV
ALV i_ready_for_input 0
,
6.
alv ALV Alv grid :data_changed
data_changed_finished.
REGISTER_EDIT_EVENT ,.2 :
1.:
i_event_id = cl_gui_alv_grid=>mc_event_enter
2.:
i_event_id = cl_gui_alv_grid=>mc_event_modifies
,.
ALV ,DATA_CHANGED CL_ALV_CHANGED_DATA_PROTOCOL
ER_DATA_CHANGED ALV..
CL_ALV_CHANGED_DATA_PROTOCOL :
Get_cell_value
Modify_cell
Add_protocol_entry
Protocol_is_visible
Refresh_protocol
:
MT_MOD_CELLS
MT_MOD_ROWS
MT_GOOD_CELLS
MT_DELETED_ROWS
MT_INSERTED_ROWS
,.
:
TYPE lvc_value.
= ls_mod_cell-row_id
i_fieldname = 'CARRID'
IMPORTING
e_value
= lv_value.
= 'SU'
i_msgno
= '000'
i_msgty
= 'E'
i_msgv1
i_msgv2
= lv_value
i_msgv3
i_fieldname = ls_mod_cell-fieldname
i_row_id
= ls_mod_cell-rowid.
= ls_mod_cell-row_id
i_fieldname = ls_mod_cell-fieldname
i_value
= '500'.
ENDIF.
ENDLOOP.
ENDFORM.
"handle_data_changed
7.
Class ALV
Control Framework: Fatal error - GUI cannot be reached
Docking_container
DATA: cont_docking TYPE REF TO cl_gui_docking_container .