关闭

ALV报表

标签: 报表
316人阅读 评论(0) 收藏 举报
分类:

报表过程事件

在报表运行过程中由系统自动控制、按照一定次序被触发的事件,其目的是从数据库中选择数据并整理,准备进行列表输出。
INITIALIZATION-初始化事件:用于程序初始化,例如选择屏幕中字段默认值的填充。
START-OF-SELECTION-选择开始事件:如果报表中含有选择屏幕,则在选择屏幕的处理结束后触发,是报表程序的默认事件块。
END-OF-SELECTION-选择结束事件:在所有逻辑数据库处理结束后触发,一般在该事件之中输出列表。

选择屏幕事件

AT SELECTION-SCREEN OUTPUT-选择屏幕PBO事件:显示选择屏幕之前触发。
AT SELECTION-SCREEN-选择屏幕PAI事件:用户在选择屏幕中执行某些功能后被触发。可用于输入不正确的提示。

一个函数、两个控制结构的使用

  1. 函数: REUSE_ALV_GRID_DISPLAY_LVC
    调用此函数输出内表数据。
  2. 控制结构FIELD CATALOG(字段目录)
  3. 控制结构LAYOUT(布局控制)

两个触发事件

  1. 工具栏的自定义PF-STATUS
  2. 用户命令实现USER-COMMAND

输出ALV表头(实际项目较少使用)

以HTML的方式输出ALV表头。

调用函数: REUSE_ALV_GRID_DISPLAY_LVC

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
     EXPORTING
          I_CALLBACK_PROGRAM       = SY-REPID
          IT_FIELDCAT_LVC          = FIELDCAT
          IS_LAYOUT_LVC            = LAYOUT
          I_SAVE                   = 'A'
          I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'
          I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
     TABLES
          T_OUTTAB                 = ITAB.

FIELD CATALOG(字段目录)

FIELDCAT用来控制ALV显示的网格中每个字段的属性,如对应内表字段,输出长度
、可编辑状态、颜色、标签文本、样式等。
传入ALV函数的FIELDCAT参考系统表类型LVC_T_FCAT,其工作区参考结构LVC_S_FCAT。如:

DATA: FIELDCAT  TYPE LVC_T_FCAT.
DATA: FIELD TYPE LVC_S_FCAT.

LAYOUT(布局)

LAYOUT用来控制ALV显示的网格的整体布局,如选择模式、编辑状态、隐藏网格线、优化列宽、单元格和行颜色等。
传入ALV函数的LAYOUT参数系统结构LVC_S_LAYO,如:

DATA: LAYOUT TYPE LVC_S_LAYO.

转换例程(内部转换、外部转换):导入程序需要特别注意。

ALV颜色的优先级:单元格>行>列。

0
0
查看评论

abap ALV 报表入门

今天学习制作一个报表,最基本的报表,显示效果和se11进去查看表数据差不多。用ALV制作报表大概有4个步骤: 1.定义一些数据结构,主要是用于存数和显示的内表和alv的一些参数变量。 2.制作屏幕(界面). 3.获取屏幕输入的数据,用该数据从数据库中获取所需的数据放到前面定义的内表中。 4.调用AL...
  • yang362046076
  • yang362046076
  • 2015-09-10 14:53
  • 1787

ALV 报表的主要过程

业务:查询采购订单是否完成的表:EKKO, EKPO,EKET. ALV相关概念 ALV是系统的一种网格的显示方式,这种方式带有汇总\排序\筛选等功能,ALV格式的数据是以单元格为单位显示, ALV即能显示简单表单(SIMPLE LIST)又能显示有序表单(SEQUENTIAL...
  • Wengyuyu1234
  • Wengyuyu1234
  • 2012-09-13 09:29
  • 1107

SAP 中如何输出 ALV 格式报表?

其实并不难,关键就三点,如下: 一, 声明类型及用到的输出内表;TYPE-POOLS: SLIS.DATA: FC_HIER      TYPE SLIS_FIELDCAT_ALV OCCURS 0 WITH HEADER LINE.二, 将经过处理...
  • DJ2008
  • DJ2008
  • 2008-04-30 16:16
  • 2259

SAP MB52改为ALV显示格式

mb52显示格式如下,如图: mb52报表显示格式设置" title="sap mb52报表显示格式设置" style="margin:0px; padding:0px; border:0px; list-style:none"> ...
  • hugh_Lee
  • hugh_Lee
  • 2016-10-31 12:47
  • 1455

ABAP ALV 颜色设置(行,列,单元格)

关于ALV表格颜色,这种需求在项目中会经常用到。   列颜色 列的颜色很简单,在构成ALV字段的FIELDCAT内表中有一个字段是EMPHASIZE,将一个char型4位的颜色代码分配到FIELDCAT内表这个字段即可。 1 LW_FCAT-EMPHASIZE = ...
  • zhongguomao
  • zhongguomao
  • 2017-06-15 14:03
  • 326

如何在一个屏幕上输出两个ALV LIST

wa_layout-colwidth_optimize = 'X'. * init   CLEAR gv_repid.   gv_repid = sy-repid.  ...
  • lyb_yt
  • lyb_yt
  • 2013-04-08 10:20
  • 928

ABAP中,获取报表ALV数据sample

abap开发中,有时会需要获取另外一个已存在的报表中的数据,也就是绑定在ALV上的数据,通常有两种做法:第一种方法:把ALV的内表数据export到内存中,在调用结束后,用import从内存中读取出来,这种方法需要修改被调用报表;第二种方法:使用SAP提供的函数,这种方法不需要修改被调用报表的,以下...
  • champaignwolf
  • champaignwolf
  • 2018-01-18 14:23
  • 98

ALV报表中设置可修改字段

FORM FRM_DISPLAY .  DATA:   WS_FIELDCAT        TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,  ...
  • reacleliu
  • reacleliu
  • 2011-07-25 08:40
  • 787

OO实现ALV

一、      最简单的ALV显示 以前都是通过函数“REUSE_ALV_GRID_DISPLAY”来显示列表,这种方式是面向过程的,现在有另外一种面向对象化的方式来显示列表,函数REUSE_ALV_GRID_DISPLAY可以做到的它也能够做到。...
  • zhongguomao
  • zhongguomao
  • 2016-02-22 14:55
  • 587

fm alv 筛选器字段截断的问题

分类: 最近在使用fm alv的过滤器时发现 自己定义的字段 筛选时长度不够,有些部分sap给截断了。经过资料查询,总结一下:   如果是引用相关表的某些字段,在设置alv列标题时,设置一下ref_tabname、ref_fieldname和intlen  ...
  • po908
  • po908
  • 2014-07-21 15:09
  • 313
    个人资料
    • 访问:5410次
    • 积分:180
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类