收藏 分销(赏)

ALV详细字段介绍以及一些用法.doc

上传人:仙人****88 文档编号:8747030 上传时间:2025-02-28 格式:DOC 页数:33 大小:97KB
下载 相关 举报
ALV详细字段介绍以及一些用法.doc_第1页
第1页 / 共33页
ALV详细字段介绍以及一些用法.doc_第2页
第2页 / 共33页
点击查看更多>>
资源描述
ALV详细字段介绍 ALV常用参数的详细描述 调用功能模块: CALL FUNCTION \'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: fieldcat type slis_t_fieldcat_alv with header line. 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: sortable type slis_t_sortinfo_alv with header line. it_sort = sortable[] 属性 (排序)     Sortable-Fieldname        字段名              Up              升序排列              Down            降序排列              Subtot          3. Layout     data: layout type slis_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 = 'X'                    可选行颜色,如果设置了,出现了间隔色带 f2code = '&ETA'.               设置触发弹出详细信息窗口的功能码,这里是双击 detail_initial_lines  detail_popup          是否弹出详细信息窗口 detail_titlebar       设置弹出窗口的标题栏 totals_text totals_only group_change_edit header_text 4.按钮    DATA: i_events TYPE slis_t_event WITH HEADER LINE. 事件: it_events     = i_events[]   i_callback_pf_status_set = 'PF_STATUS_SET'   i_callback_user_command  = 'USER_COMMAND' 出口程序触发事件对应子程序: FORM PF_STATUS_SET USING rt_extab TYPE slis_t_extab. FORM user_command USING ucomm LIKE sy-ucomm selfield TYPE slis_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                Microsoft Excel             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 1. ALV表头设置 i_callback_html_top_of_page = 'ALV_TOP_OF_PAGE' form top_of_page using cl_dd type ref to cl_dd_document. 语法同HTML fomat ALV_GRID介绍 一.ALV介绍 The ALV Grid Control (ALV = SAP List Viewer)是一个显示列表的灵活的工具,它提供了基本功能的列表操作,也可以通过自定义来进行增强,因此可以允许你可以在大型的应用程序中使用.    SAP提示: 在SAP的开发项目中,ALV GRID也可以作为修改和创建数据的一种工具,然而,目前这个功能只在实验计划中使用,还没有向客户发布.    下面是一个ALV GRID的图片: 它包括3大部分,工具栏,标题,用于显示数据的网格控制器.如果有必要,用户可以隐藏标题和工具栏.     ALV家族包含3中ALV工具:简易的,两层ALV,分等级连续的列表和树形结构的ALV. 二.ALV GRID CONTROL (ALV网格控制器)    ALV GRID CONTROL使用了控制器技术以实现艺术性的屏幕显示,象所有的控制器一样,ALV GRID CONTROL通过系统中的一个全局的类提供了方法,以响应它的动作.    使用了ABAP的对象以后,列表是通过ALV的一个实例(INSTANCE)来显示的,程序员可以使用ABAP对象的事件管理. 三.ALV GRID CONTROL 实例    ALV GRID实例的定义,参照CL_GUI_ALV_GRID类      data ALV_GRID1 type ref to cl_gui_alv_grid. ALV GRID继承结构: ALV_GRID介绍(1) 四、ALV GRID相关的几个控制结构     1.字段目录 [Field catalog]        字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.        常用的控制字段如下:(下面的示例将说明这些字段的使用,参考STRUCTURE LVC_S_FCAT) 2 ROW_POS ALV 控制: 输出行 (内部使用) 3 COL_POS ALV 控制: 输出列 列的位置,第几列,例如1,2,….. 4 FIELDNAME ALV 控制: 内部表字段的字段名称 字段名称 5 TABNAME LVC 标签名称 表名,如果是内表,是1 6 CURRENCY ALV 控制: 货币单位 7 CFIELDNAME ALV 控制: 参考的当前单位的字段名称 8 QUANTITY ALV 控制: 计量单位 9 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 字符字段长度 1 相同的值不合并 60 H_FTYPE ALV 树控制: 功能类型 (总计,平均,最大.最小, ...) 61 COL_OPT 可选列优化的条目 62 NO_INIT_CH 字符字段长度 1 63 DRDN_ALIAS 字符字段长度 1 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 字符字段长度 1 89 INDX_FIELD 自然数 90 INDX_CFIEL 自然数 91 INDX_QFIEL 自然数 92 INDX_IFIEL 自然数 93 INDX_ROUND 自然数 94 INDX_DECML 自然数 95 GET_STYLE 字符字段长度 1 96 MARK 字符字段长度 1 ALV_GRID介绍(2) 2.布局控制[layout]    布局是用来控制整个ALV的一个布局,比如ALV的标题,是否可编辑,行颜色,列颜色.    参照ALV的控制结构[LVC_S_LAYO],以后的例子我将详细介绍如何设置行颜色和列颜色.    详细的结构说明 字段名 描述 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 如果被设置,选择列在选择模式,为D和A的时候隐藏 SPACE, \'X\' NO_TOOLBAR 隐藏工具条 SPACE, \'X\' NO_VGRIDLN 隐藏垂直线 SPACE, \'X\' SEL_MODE   选择模式 SPACE, \'A\', \'B\', \'C\', \'D\' 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个字符 ALV_GRID介绍(3) 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中写入如下代码:    PROCESS BEFORE OUTPUT .       MODULE display_alv . 创建DISPLAY_ALV的MODULE后,写下如下代码:    MODULE display_alv OUTPUT .       PERFORM display_alv .    ENDMODULE . 在FORM DISPLAY_ALV中,判断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 . 方法"set_table_for_first_display"的参数说明 ------------------------------------------------------------------------------ |I_BUFFER_ACTIVE     |  如果方法调用是静态的,可以设置这个标记,                 |             |  这表示,如果每次显示ALV都是相同的字段目录.              |                    |  既然这样,那么字段目录会被放到一个特殊的缓存里,                         |                    |  这样加速了ALV的显示                                   ------------------------------------------------------------------------------ |I_STRUCTURE_NAME    |  输出数据参考的数据字典的结构名,例如\'SFLIGHT\'. |                    |  如果指定了这个参数,字段目录会自动生成,下面的参数 |                    |  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个参数,一个是行,一个是列
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服