sap alv开发详解
(2014-08-11 13:53:33)
标签:
abapalvgrid开发 |
分类: alv |
alv 是 abap list view 的缩写,alv报表程序的开发是abap最重要的任务之一。
常用数据类型包括:
data: slis_fieldcat_alv
定义要显示的字段的详细信息。
要用的参数有 slis_fieldcat-col_pos
= 1 :列编号从1开始。。
slis_fieldcat-fieldname =
:原表所在字段的名称。
slis_fieldcat-seltext_m =
:显示本字段名称,即新字段名称。
slis_fieldcat-i_fieldcat_key : 固定列, 固定 ’X'
data: slis_t_fieldcat_alv
包含所有要显示字段信息。
data:
i_layout 等
call
function 'reuse_alv_grid_display'
exporting
i_structure_name = 'spfli'
:定义列表信息来源表,即表字段信息和另一个表一样。
i_callback_program =
:程序名称
is_layout
=
:定义程序所定义layout名称。
i_grid_title
=
:定义alv标题。
i_fieldcat
=
:定义fieldcat信息,即字段信息表
tables
t_outtab
=
:定义所要显示数据来源,即数据表
expection
program_error
= 0
others
= 1.
call
function
'reuse_alv_list_display'
所有参数和grid大同小异。只是显示方式不同。
2.通过对象调用方法实现。
附:*-----------by
ymq-----------------------
i_layout type slis_layout_alv,
i_fieldcat type slis_fieldcat_alv.
carrid like spfli-carrid,
"hangban jicheng ren
connid like spfli-connid,
"hangbanlainjie.
countryto like
spfli-countryto , "guojia diama .
distance
like spfli-distance,
end of g_output.
select-options:
s_dist for
spfli-distance.
perform getdata.
perform
get_all_data.
endif.
select carrid
connid countryto distance into
corresponding fields of table gt_output from spfli where
distance in s_dist.
endform.
form get_all_data.
select carrid connid
countryto distance into
corresponding fields of table gt_output from spfli.
endform.
define hout.
i_fieldcat-fieldname =
&1.
i_fieldcat-seltext_m =
&2.
i_fieldcat-col_pos
= &3.
i_fieldcat-outputlen =
&4.
append i_fieldcat to
wa_fieldcat.
clear
i_fieldcat.
end-of-definition.
hout 'CARRID'
'航班继承人' 1
15.
hout 'CONNID'
'航班连接id' 2
15.
hout 'COUNTRYTO' '国家代码'
3 15.
hout 'DISTANCE'
'距离'
4 15.
call function
'REUSE_ALV_GRID_DISPLAY'
exporting i_callback_program =
sy-repid
it_fieldcat
= wa_fieldcat
tables
t_outtab =
gt_output
exceptions
program_error = 1
others
= 2.
endform.
alv 开发流程:
1..定义alv所用的类型池。
列: type-pools:slis.
2.定义alv所要显示的数据,对应的内表数据类型及内表数据对象。
3.调用函数显示数据。
实现alv的方式:1.直接调用功能函数。
report ya_ymq_hello2.
tables:spfli.
type-pools: slis.
data:wa_fieldcat type slis_t_fieldcat_alv ,
data: nn type i value 0.
data: begin of g_output,
data: gt_output like g_output occurs 0 with header line.
selection-screen :begin of block 10 with frame title
text-001.
selection-screen :end of block 10.
start-of-selection.
if s_dist is not initial. "有用户输入筛选条件
endif.
if s_dist is initial.
"无用户输入筛选条件。
perform alv_data.
form getdata.
form alv_data.
后一篇:sql 中各种join注解