REUSEALVGRIDDISPLAY超详细讲解.docx

上传人:b****5 文档编号:7431549 上传时间:2023-01-23 格式:DOCX 页数:15 大小:97.39KB
下载 相关 举报
REUSEALVGRIDDISPLAY超详细讲解.docx_第1页
第1页 / 共15页
REUSEALVGRIDDISPLAY超详细讲解.docx_第2页
第2页 / 共15页
REUSEALVGRIDDISPLAY超详细讲解.docx_第3页
第3页 / 共15页
REUSEALVGRIDDISPLAY超详细讲解.docx_第4页
第4页 / 共15页
REUSEALVGRIDDISPLAY超详细讲解.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

REUSEALVGRIDDISPLAY超详细讲解.docx

《REUSEALVGRIDDISPLAY超详细讲解.docx》由会员分享,可在线阅读,更多相关《REUSEALVGRIDDISPLAY超详细讲解.docx(15页珍藏版)》请在冰豆网上搜索。

REUSEALVGRIDDISPLAY超详细讲解.docx

REUSEALVGRIDDISPLAY超详细讲解

一、

REUSE_ALV_GRID_DISPLAY详解 

调用功能模块:

 CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'

   EXPORTING

     i_interface_check       =''                     接口一致性检查

     i_callback_program      =sy-repid               当前程序名

     is_layout               =layout                 输出样式

     it_fieldcat             =fieldcat[]             字段定义描述表

     i_callback_pf_status_set='PF_STATUS_SET'        触发事件调用子程序

     i_callback_user_command ='USER_COMMAND'         鼠标事件操作子程序

     it_events               =i_events[]             出口程序触发事件

   i_callback_html_top_of_page ='ALV_TOP_OF_PAGE'  ALV输出表头设置

i_grid_settings=wl_lvc_s_glay                   打印表头设置

     it_sort=sortable[]                              排序设置

TABLES

     t_outtab                =ig_out

EXCEPTIONS

 program_error           =1

OTHERS                  =2.

 

常用属性:

(赋值’’中内容必须为大写)

 

1. Fieldcat

data:

fieldcattypeslis_t_fieldcat_alvwithheaderline.

it_fieldcat             =fieldcat[]

属性

  (用来定义表单中的各个列的相关信息)

  Fieldcat-col_pos=n.                 输出列

  Fieldcat-tabname=‘FIELDNAME’.     对应的内表字段名

Fieldcat-seltext_s/m/l=‘列名’.    输出列文本

  (_s:

短文本

   _l:

长文本)

  Fieldcat-emphasize=‘CX10’.   带有颜色的高亮列

  (其中X=(1-7)

  颜色同format)

  Fieldcat-hotspot=‘X’.          作为热点显示

  可触发鼠标触发事件

  Fieldcat-currency=‘CURRKEY’.  表TCURX中的货币名称

  Fieldcat-quantity(3)           计量单位

  Fieldcat-qfieldname         参考计量单位的字段名称

  Fieldcat-round=n.          四舍五入至小数位数下

   n位

  Fieldcat-exponent=n.        浮点数的幂指数为n

  Fieldcat-key=‘X’.          关键字段

  Fieldcat-icon=‘X’.         作为图标输出

  Fieldcat-symbol=‘X’.       输出作为符号

  Fieldcat-checkbox=‘X’.     作为复选框输出

  Fieldcat-just=SPACE,'R','L','C'.  对齐方式

  Fieldcat-lzero=‘X’.         输出前导零

  Fieldcat-no_sign=‘X’.       输出抑制符号

  Fieldcat-no_zero=‘X’.       为输出隐藏零

  Fieldcat-edit_mask=SPACE,mask.. 输出为mask的模式

  Fieldcat-fix_column=‘X’.     固定列

  Fieldcat-do_sum=‘X’.       总计列值总和

  Fieldcat-no_out=‘X’.        列不输出

  Fieldcat-tech=‘X’.          该字段为技术字段

  Fieldcat-outputlen=n       列的字符宽度为n

  Fieldcat-decimals_out=n    能控制小数点的位数为n 

Fieldcat-datatype=C,I,N…       定义数据类型

2. SORT

   

data:

sortabletypeslis_t_sortinfo_alvwithheaderline.

it_sort=sortable[]

属性

  (排序)

   Sortable-Fieldname       字段名

            Up             升序排列

            Down           降序排列

            Subtot          

 

3. Layout

   

data:

layouttypeslis_layout_alv.

is_layout               =layout

属性(用于定义ALV表单的相关格式、属性)

       info_fieldname='LINE_COLOR'. 设置特殊行颜色

(将LINE_COLOR增加到内表字段,写'CX10'到特殊行的LINE_COLOR,X为颜色值)

       colwidth_optimize=‘X’.  优化列宽设置

no_colhead='X'.        不显示列名

no_vline='X'.           不显示列间竖线

zebra      

       f2code='&ETA'.   设置触发弹出详细信息窗口的功能码,这里是双击

no_vline          这个用来设置列间隔线

       detail_initial_lines  

detail_popup       是否弹出详细信息窗口

       detail_titlebar      设置弹出窗口的标题栏

       totals_text

       totals_only

       group_change_edit

       header_text

4.按钮

     

  DATA:

i_eventsTYPEslis_t_eventWITHHEADERLINE.

事件:

it_events    =i_events[]   

i_callback_pf_status_set='PF_STATUS_SET'   

i_callback_user_command ='USER_COMMAND'

出口程序触发事件对应子程序:

FORMPF_STATUS_SETUSINGrt_extabTYPEslis_t_extab.

FORMuser_commandUSINGucommLIKEsy-ucommselfieldTYPEslis_selfield.

系统按钮功能码:

 

功能代码:

             函数文本:

                         图标名称:

&ETA                  细节                       ICON_SELECT_DETAIL

&EB9                调用报告...                    ICON_TABLE_SETTINGS

&REFRESH             刷新                       ICON_REFRESH

&ALL                全部选择                     ICON_SELECT_ALL

&SAL                取消全选                     ICON_DESELECT_ALL

&OUP               按升序排列                    ICON_SORT_UP

&ODN               按降序排列                    ICON_SORT_DOWN

&ILT                 设置过滤器                   ICON_FILTER

&UMC                 总计                        ICON_SUM

&SUM                 小计...                     ICON_INTERMEDIATE_SUM

&RNT_PREV          打印预览                     ICON_LAYOUT_CONTROL

&VEXCEL           MicrosoftExcel                  ICON_XLS

&AQW               字处理...                      ICON_WORD_PROCESSING

%PC                  本地文件 ...                  ICON_EXPORT

%SL                 邮件收件人                     ICON_MAIL

&ABC                ABC分析                     ICON_ABC

&GRAPH               图形                        ICON_GRAPHICS

&OL0                更改布局...                     ICON_ALV_VARIANTS

&OAD               选择格式...                ICON_ALV_VARIANT_CHOOSE

&AVE                保存格式...                 ICON_ALV_VARIANT_SAVE

&INFO                 信息                     ICON_INFORMATION

 

4. ALV表头设置

i_callback_html_top_of_page ='ALV_TOP_OF_PAGE'

formtop_of_pageusingcl_ddtypereftocl_dd_document.

语法同HTMLfomat  

二、

REUSE_ALV_GRID_DISPLAY常用参数用法

 

byliyi

ly_liyi@

NeusoftGroupERPDivision

Jan.2008

Thisdocumentcontains17pages.Itcanbetransmittedorprintedasawhole.Noportionofitcanbemodifiedorreproducedwithoutthewrittenpermissionfromtheauthor.

 

 

TableofContents

 

KEYWORDS:

REUSE_ALV_GRID_DISPLAY参数

1.前提条件

ALVReport是SAP中一种常见的报表展现形式,它可以标准化、简单化R/3系统中的表单,可以提供给用户一个统一的表单格式以及用户接口。

ALV既能显示简单表单(SIMPLELIST)又能显示有序表单(SEQUENTIALLIST),编写一个ALV程序包含以下基本流程:

第一步:

定义将要用到的表,即TALBES定义部分,然后定义TYPE-POOLS:

SLIS

第二步:

定义“第一步”中提到的这些数据类型或者内表的实体对象

第三步:

定义一些需要用到的变量

第四步:

定义自己的选择屏幕

第五步:

定义INITIALIZATION部分,在这个部分往往要指定w_repid的值,

w_repid=sy-repid

第六步:

start-of-selection部分

用一个子函数完成对ALV表单标题区域的赋值(i_list_comments)

用一个子函数完成自己所需要数据的抓取

用一个子函数完成要显示列表的列名行(第一行)的相关赋值(i_fieldcat_alv)以及设置

用一个子函数完成输出格式的设置(i_layout)

用一个子函数FORMDISPLAY_DATA来显示上面封装好的数据,需要调用两个常用的FUNCTIONMODULE:

FUNCTION'REUSE_ALV_GRID_DISPLAY'“显示表单数据

FUNCTION'REUSE_ALV_COMMENTARY_WRITE'“显示表单标题

本文将着重介绍ABAP中显示表单数据REUSE_ALV_GRID_DISPLAY函数中常用参数的含义及用法,REUSE_ALV_LIST_DISPLAY中参数与此类似。

由于本文介绍ALV表单标题输出函数,需要读者对简单ALV报表有所了解。

文档最后通过一个实例演示了该函数中常用参数的实际用法及效果。

2.开发实例

ALV报表需要展现的数据抓取封装完成以后,需要用到FUNCTION输出数据,一个常用的FUNCTIONMODULE是REUSE_ALV_GRID_DISPLAY,该函数将以GRID风格将数据展现给前台用户。

该函数主要包含以下常用参数:

参数名称

默认值

用法

I_INTERFACE_CHECK

SPACE

接口一致性检查

I_BYPASSING_BUFFER

SPACE

是否使用BUFFER

I_BUFFER_ACTIVE

SPACE

如果每次显示ALV都是

相同的字段目录,则该字段目录会被放到一个特殊的缓存里,

加快ALV的显示速度。

I_CALLBACK_PROGRAM

SPACE

调用程序名称

I_CALLBACK_PF_STATUS_SET

SPACE

设置屏幕菜单

I_CALLBACK_USER_COMMAND

SPACE

实现对应菜单项及相应事件功能

I_CALLBACK_TOP_OF_PAGE

SPACE

设置ALV表头

I_CALLBACK_HTML_TOP_OF_PAGE

SPACE

加入HTML格式的表头

I_CALLBACK_HTML_END_OF_LIST

SPACE

加入HTML格式的表尾

I_STRUCTURE_NAME

为输出表数据结构的命名,指定了这个参数,域目录将会自动生成

I_BACKGROUND_ID

SPACE

设置报表背景

I_GRID_TITLE

设置抬头信息

I_GRID_SETTINGS

打印表头设置

IS_LAYOUT

设定输出样式

IT_FIELDCAT

设定显示的项目名称及输出设定

IT_SPECIAL_GROUPS

如果字段目录中一些字段通过SP_GROUP被分组在一起.必须为这些

组传递一个组的文本内表

IT_SORT

排序设置

IT_FILTER

过滤设置

I_DEFAULT

'X'

用户是否可以定义默认的布局:

'X'可以定义默认布局,

SPACE不可以定义默认布局

I_SAVE

SPACE

保存表格布局:

'X'只能保存全局变式

'U'只能保存特定变式

'A'都可以保存

SPACE不能保存变式

IS_VARIANT

管理表格布局

IT_EVENTS

设置抬头和结尾

IT_EVENT_EXIT

设置回调的方法的执行行为,表明用户所写的代码是在执行标准执行之前还是之后

IS_PRINT

从后端开始打印的参数

I_SCREEN_START_COLUMN

0

对话格式展现的开始列

I_SCREEN_START_LINE

0

对话格式展现的开始行

I_SCREEN_END_COLUMN

0

对话格式展现的结束列

I_SCREEN_END_LINE

0

对话格式展现的结束行

I_HTML_HEIGHT_TOP

0

HTML表头高度

I_HTML_HEIGHT_END

0

HTML表尾高度

IT_ALV_GRAPHICS

是否可以在图表中显示ALV

IT_HYPERLINK

使用超链接

T_OUTTAB

需要展现的表

下面针对常用的输入参数进行详细介绍:

●I_CALLBACK_PROGRAM:

定义调用程序名称,一般为当前程序sy-repid。

●I_CALLBACK_PF_STATUS_SET:

定义屏幕菜单,此参数允许报表展现用户自定义的屏幕菜单。

如设定i_callback_pf_status_set = 'PF_STATUS_SET'

定义如下FORM,程序自动调用PF01菜单。

FORM PF_STATUS_SET USING rt_extab TYPE slis_t_extab. 

  set pf-status 'PF01'.

ENDFORM.

●I_CALLBACK_USER_COMMAND:

此参数响应菜单项及相应事件。

如I_CALLBACK_USER_COMMAND= 'USER_COMMAND'

点击相应的按钮或双击等操作触发对应定义的事件。

FORM user_command using i_ucomm like sy-ucomm                                  is_selfield type slis_selfield.  

  case i_ucomm.

    when '&IC1'.

      message i888(sabapdocu) with 'DOUBLE CLICKED!

'.

    when 'CREATE'.

      message i888(sabapdocu) with 'CREATE'.

      CALL SCREEN 1001 .

  endcase.

ENDFORM.

●I_CALLBACK_TOP_OF_PAGE:

设置ALV表头信息。

如I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'

FORM TOP-OF-PAGE.

  DATA:

   t_header TYPE slis_t_listheader,

     wa_header TYPE slis_listheader,

     t_line LIKE wa_header-info,

     ld_line TYPE i,

     ld_linese TYPE c.

  wa_header-typ = 'S'. "标题字体大小.

  wa_header-info = 'thetopofalv program.'. "alv页上方的标题.

  APPEND wa_header TO t_header.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' "输出表标题.

    EXPORTING

      it_list_commentary       =  t_headeR.

ENDFORM.

此参数设置的表头格式如下:

●IT_FIELDCAT:

设定显示的项目名称。

如设定it_fieldcat = fieldcat_alv[]

下面将信息填充至fieldcat_alv后,报表运行时自动展现填充的信息。

FORM frm_display_alv .

  DEFINE h_out.

    wa_fieldcat-fieldname = '&1'.

    wa_fieldcat-seltext_l = &2.

    append wa_fieldcat to fieldcat_alv.

    clear wa_fieldcat.

  END-OF-DEFINITION.

  h_out matkl 'material group' .  "

  h_out matnr 'material num' .

  h_out meins 'material unit'.

  h_out maktx 'material desc'.

ENDFORM.  

 展现效果如下:

●I_SAVE:

设定是否可以保存报表布局(具体参数值见上表)。

如I_SAVE  = 'A'此设置允许保存所有布局。

●IS_LAYOUT:

设定报表输出样式。

该参数确定字段宽度、行颜色、是否显示分隔线等等属性,通常定义为

slis_layout_alv类型组。

如:

gs_layout TYPE slis_layout_alv.

is_layout = gs_layout

Ø设置Grid的字段列宽度自动适应

 GS_LAYOUT-COLWIDTH_OPTIMIZE='X'

Ø 设置Grid的行颜色变换显示

GS_LAYOUT-ZEBRA ='X'

Ø设置弹出窗口的标题栏

 GS_LAYOUT-DETAIL_TITLEBAR='详细内容'

Ø设置Grid的多行选择列,其中BOX必须为内表的一列,为一个字符长度

 GS_LAYOUT-BOX_FIELDNAME='BOX'

Ø设置Grid是否显示行分割线

  GS_LAYOUT-NO_VLINE='X'

Ø设置Grid的合计行显示在明细的上面

 GS_LAYOUT-TOTALS_BEFORE_ITEMS='X'

Ø 设置Grid不显示弹出明细显示窗口

GS_LAYOUT-DETAIL_POPUP='X'

Ø设置Grid显示LED列,LIG

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1