简单的ALV显示例子

废话不多说,直接上傻瓜代码。归根结底,就是要将显示的字段一行一行的放入fieldcat的表里。

"定义ALV数据变量
DATA:
  IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
  WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
  WA_LAYOUT   TYPE SLIS_LAYOUT_ALV.
"定义ALV结构字段,使用宏的方式
DATA: POS TYPE I.
DEFINE ADD1.
  CLEAR wa_fieldcat.
  ADD 1 TO POS.
  WA_FIELDCAT-FIELDNAME = &1. "字段名称
  WA_FIELDCAT-TABNAME = &2. "字段所在的表
  WA_FIELDCAT-SELTEXT_M = &3."字段描述
  APPEND WA_FIELDCAT TO IT_FIELDCAT.
END-OF-DEFINITION.
"透明表取数
SELECT AUFNR, AUART, ERNAM INTO TABLE @DATA(AUFK_TAB) FROM AUFK UP TO 10 ROWS.
CLEAR:WA_FIELDCAT,IT_FIELDCAT,WA_LAYOUT.
"增加显示字段
ADD1 'AUFNR' 'AUFK_TAB' '销售订单'.
ADD1 'AUART' 'AUFK_TAB' '销售类型'.
ADD1 'ERNAM' 'AUFK_TAB' '创建者'.
"ALV格式控制
WA_LAYOUT-ZEBRA                = 'X'.    "呈现颜色交替
WA_LAYOUT-COLWIDTH_OPTIMIZE    = 'X'.    "优化列宽选项是否设置
"调用ALV显示函数
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT          = WA_LAYOUT
    IT_FIELDCAT        = IT_FIELDCAT
  TABLES
    T_OUTTAB           = AUFK_TAB
  EXCEPTIONS
    PROGRAM_ERROR      = 1
    OTHERS             = 2.
IF SY-SUBRC <> 0.
ENDIF.

显示效果:

 

 

其中宏的一部分也可变成慢慢的将工作区加入进fieldcat表,见下一篇例子。

转载于:https://www.cnblogs.com/BruceKing/p/11024526.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值