Function实现ALV Table 二:ALV的弹出窗口形式
2008-09-19 10:14
274 查看
ALV除了可以显示列表在当前窗口,也可以用弹出窗口的形式显示列表。设置弹出窗口显示列表需要设置REUSE_ALV_GRID_DISPLAY四个参数:
i_screen_start_column 弹出窗口的左边距
i_screen_start_line 弹出窗口的上边距
i_screen_end_column 到弹出窗口显示结束的左边距
i_screen_end_line 到弹出窗口显示结束的上边距
通过这四个参数可以设置弹出窗口的显示大小和位置。
下面是效果图
源代码:
TYPE-POOLS slis.
SELECTION-SCREEN PUSHBUTTON
2(20) btn USER-COMMAND push.
initialization.
btn = 'Open new window'.
AT SELECTION-SCREEN.
PERFORM f_main.
*&---------------------------------------------------------------------*
*& Form
f_main
*&---------------------------------------------------------------------*
* ALV display
*----------------------------------------------------------------------*
FORM f_main.
DATA: lt_spfli TYPE TABLE OF spfli,
lt_fieldcat TYPE slis_t_fieldcat_alv.
PERFORM get_data TABLES lt_spfli.
PERFORM set_catalog CHANGING lt_fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = lt_fieldcat
i_screen_start_column = 10
i_screen_start_line = 1
i_screen_end_column = 100
i_screen_end_line = 25
TABLES
t_outtab = lt_spfli.
ENDFORM. "f_main
*&---------------------------------------------------------------------*
*& Form
get_data
*&---------------------------------------------------------------------*
* Get the data for output
*----------------------------------------------------------------------*
* -->PT_SPFLI data internal table
*----------------------------------------------------------------------*
FORM get_data TABLES pt_spfli.
SELECT * FROM spfli INTO TABLE pt_spfli.
ENDFORM. "get_data
*&---------------------------------------------------------------------*
*& Form
set_catalog
*&---------------------------------------------------------------------*
* set fieldcatalog for alv output
*----------------------------------------------------------------------*
FORM set_catalog CHANGING
pt_fieldcat TYPE slis_t_fieldcat_alv.
DATA lwa_fieldcat TYPE slis_fieldcat_alv.
"macro
DEFINE add_field.
clear lwa_fieldcat.
lwa_fieldcat-col_pos = &1.
lwa_fieldcat-fieldname = &2.
lwa_fieldcat-seltext_l = &3.
append lwa_fieldcat to pt_fieldcat.
END-OF-DEFINITION.
"add field catalog
add_field 1
'MANDT' 'Client'.
add_field 2
'CARRID' 'Airline Code'.
add_field 3
'CONNID' 'Fight Number'.
add_field 4
'COUNTRYFR' 'Country From'.
add_field 5
'CITYFROM' 'City From'.
add_field 6
'AIRPFROM' 'Airpart From'.
add_field 7
'COUNTRYTO' 'Country To'.
add_field 8
'CITYTO' 'City To'.
add_field 9
'AIRPTO' 'Airpart To'.
add_field 10 'FLTIME' 'Fly Time'.
add_field 11 'DEPTIME' 'Dept Time'.
add_field 12 'ARRTIME' 'Arrive Time'.
add_field 13 'DISTANCE' 'Distance'.
add_field 14 'DISTID' 'Mass unit of distance'.
add_field 15 'FLTYPE' 'Flight type'.
add_field 16 'PERIOD' 'Arrival n day(s) later'.
ENDFORM. "set_catalog
i_screen_start_column 弹出窗口的左边距
i_screen_start_line 弹出窗口的上边距
i_screen_end_column 到弹出窗口显示结束的左边距
i_screen_end_line 到弹出窗口显示结束的上边距
通过这四个参数可以设置弹出窗口的显示大小和位置。
下面是效果图
源代码:
TYPE-POOLS slis.
SELECTION-SCREEN PUSHBUTTON
2(20) btn USER-COMMAND push.
initialization.
btn = 'Open new window'.
AT SELECTION-SCREEN.
PERFORM f_main.
*&---------------------------------------------------------------------*
*& Form
f_main
*&---------------------------------------------------------------------*
* ALV display
*----------------------------------------------------------------------*
FORM f_main.
DATA: lt_spfli TYPE TABLE OF spfli,
lt_fieldcat TYPE slis_t_fieldcat_alv.
PERFORM get_data TABLES lt_spfli.
PERFORM set_catalog CHANGING lt_fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = lt_fieldcat
i_screen_start_column = 10
i_screen_start_line = 1
i_screen_end_column = 100
i_screen_end_line = 25
TABLES
t_outtab = lt_spfli.
ENDFORM. "f_main
*&---------------------------------------------------------------------*
*& Form
get_data
*&---------------------------------------------------------------------*
* Get the data for output
*----------------------------------------------------------------------*
* -->PT_SPFLI data internal table
*----------------------------------------------------------------------*
FORM get_data TABLES pt_spfli.
SELECT * FROM spfli INTO TABLE pt_spfli.
ENDFORM. "get_data
*&---------------------------------------------------------------------*
*& Form
set_catalog
*&---------------------------------------------------------------------*
* set fieldcatalog for alv output
*----------------------------------------------------------------------*
FORM set_catalog CHANGING
pt_fieldcat TYPE slis_t_fieldcat_alv.
DATA lwa_fieldcat TYPE slis_fieldcat_alv.
"macro
DEFINE add_field.
clear lwa_fieldcat.
lwa_fieldcat-col_pos = &1.
lwa_fieldcat-fieldname = &2.
lwa_fieldcat-seltext_l = &3.
append lwa_fieldcat to pt_fieldcat.
END-OF-DEFINITION.
"add field catalog
add_field 1
'MANDT' 'Client'.
add_field 2
'CARRID' 'Airline Code'.
add_field 3
'CONNID' 'Fight Number'.
add_field 4
'COUNTRYFR' 'Country From'.
add_field 5
'CITYFROM' 'City From'.
add_field 6
'AIRPFROM' 'Airpart From'.
add_field 7
'COUNTRYTO' 'Country To'.
add_field 8
'CITYTO' 'City To'.
add_field 9
'AIRPTO' 'Airpart To'.
add_field 10 'FLTIME' 'Fly Time'.
add_field 11 'DEPTIME' 'Dept Time'.
add_field 12 'ARRTIME' 'Arrive Time'.
add_field 13 'DISTANCE' 'Distance'.
add_field 14 'DISTID' 'Mass unit of distance'.
add_field 15 'FLTYPE' 'Flight type'.
add_field 16 'PERIOD' 'Arrival n day(s) later'.
ENDFORM. "set_catalog
相关文章推荐
- Function实现ALV Table 二:ALV的弹出窗口形式
- OO实现ALV TABLE 六:ALV的弹出窗口形式
- OO实现ALV TABLE 六:ALV的弹出窗口形式
- OO实现ALV TABLE 二:ALV显示的三种形式
- function模式设置ALV用弹出窗口显示
- 弹出窗口中实现ALV显示
- OO实现ALV TABLE 二:ALV显示的三种形式
- function模式设置ALV用弹出窗口显示
- asp.net中弹出确认窗口(confirm),实现确认删除的功能
- 实现弹出窗口的大小
- JS实现点击登录弹出窗口同时背景色渐变动画效果
- 在ShowModalDialog查询,实现查询结果不弹出新窗口
- 在原有网页上弹出一个子窗口并且实现半透明背景,原网页的滚动效果失效
- 弹出窗口功能的实现
- asp.net中弹出确认窗口(confirm),实现删除确认的功能
- ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑) [转载,佚名]
- js实现打开网页自动弹出添加QQ好友邀请窗口
- javascript实现弹出页面窗口最大化
- js实现弹出窗口、页面变成灰色并不可操作的例子分享
- 基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑