ABAP ALV的创建流程

流程顺序

在这里插入图片描述
ALV的组成主要分为以下3大部分:

  • 工具栏
  • 标题栏
  • 显示数据的网格控制器(必要时可以隐藏工具栏和标题栏)

ALV开发注意事项

  • 在ALV中,需要注意所有需要显示的列,都必须在相应的内表中有对应的字段,字段名字不能写错。
  • 在SAP ABAP程序中,字符串的大小写很重要,在单引号包围的字符串中,一般来说都应该用大写,特别是在调用一些系统的方法时传入字符串参数时。
  • 传入到ALV中的列对应的字段名称也必须使用大写字母,否则数据不会显示出来。
  • 使用宏定义或者子例程可以减少代码量,并且尽可能实现代码的复用。
  • 注意在form里定义的变量在离开form后,就会被系统释放掉,回收内存空间。

开发ALV的基本流程

第一步:声明变量

定义ALV所要用到的类型池:type-pools:slis.
针对ALV的控制信息数据(Layout & Fieldcat)

type-pools:slis.  "引入slis包定义使用专门ALV

data: gs_fielcat type lvc_s_fcat,  "ALV控制:字段目录
      gt_fielcat type lvc_t_fcat.  "字段目录的工作区

data: gs_layout type lvc_s_layo.   "ALV控制:布局结构

data: gs_listheader type slis_t_listheader,   "表头的设置
	  gs_setting    type lvc_s_glay.       "网格设置

data: lt_event type slis_t_event,    "事件的内表
      ls_event type slis_alv_event.  "事件的工作区

data: gs_sort type lvc_s_sort,   "ALV控制:排序顺序
	  gt_sort type lvc_t_sort.

data:gs_stbl type lvc_s_stabl.  "ALV控制:刷新稳定性

第二步:定义内表

存放自定义数据文件的数据,以及在ALV中显示

*方法一:
data: begin of gs_out,
    	sel,
      id    type zxytest-id,   "学号
      name  type zxytest-name,  "姓名
      age   type zxytest-age,   "年龄
      sex   type zxytest-sex,   "性别
      hobby type zxytest-hobby,  "爱好

      end of gs_out.
data:gt_out like table of gs_out.
field-symbols: <fs_out> like gs_out. "定义gs_out的指针

* 方法二
types:begin of ls_out,
    	sel,
      id    type zxytest-id,   "学号
      name  type zxytest-name,  "姓名
      age   type zxytest-age,   "年龄
      sex   type zxytest-sex,   "性别
      hobby type zxytest-hobby,  "爱好
      end of ls_out.

data: gs_out    type ls_out,
    	gt_out    type ls_out,
      gs_out_pc type ls_out,
      gt_out_pc type ls_out.

field-symbols:<fs_out> type lt_out.

第三步:读取数据

读取数据存放至Internal Table(内表)

form frm_get_data.
	select * 
   into corresponding fields of table gt_out
    from zxytest
    where id   in s_id
      and name in s_name
      and age  in s_age.
endform.

第四步:ALV格式控制

ALV开发中两个重要的对象——fieldcat和layout
在调用ALV的函数中,除了定义所输出使用的内表之外,还有两部分是必须确认的:列栏位属性和布局属性。
列栏位属性fieldcat:
设置输出中具体字段的名称、类型、格式等属性;
对于系统结构表,函数可参照此结构自动创建列属性(这里是指REUSE_ALV_GRID_DISPLAY_LVC方法中的i_structre_name参数
),可以没有调用列栏位属性。
布局属性layout:
设置输出ALV列表的整体布局的属性,如输出字段的颜色、表格中的线条等。
没有调用布局属性时,系统按默认布局输出,不做任何调整。
两对象同属于类型组slis,在ALV开发中必须声明类型组slis。

ALV参数控制

在列栏位属性主要用到的参考表
lvc_s_fcat;
lvc_t_fcat.

data:  gs_fielcat  type lvc_s
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值