ABAP FUNCTION ALV简单屏幕显示字段代码分享

如有不好之处请留言,希望追求完美。

接触ABAP时间 第49天

两种方式添加alv屏幕显示字段(普通写法、宏方式<比较干净利落>)

" 定义数据类型
TYPES : BEGIN OF WA_ITAB,
          VBELN TYPE VBRK-VBELN,  "发票编号
          GEWEI TYPE C,
        END OF WA_ITAB.

DATA : WA_VBRK   TYPE WA_ITAB,
       WA_OUTPUT LIKE TABLE OF WA_VBRK WITH HEADER LINE.

" 引入宏方式添加屏幕显示字段
DEFINE ADD_FIELD.
  WA_FIELD-FIELDNAME      = &1.
  WA_FIELD-REPTEXT_DDIC   = &2.
  WA_FIELD-KEY            = &3.
  WA_FIELD-NO_ZERO        = &4. 
  APPEND WA_FIELD TO IT_FIELD.
END-OF-DEFINITION.

" 声明屏幕显示字段需要的变量
DATA: IT_FIELD TYPE SLIS_T_FIELDCAT_ALV.
DATA: WA_FIELD TYPE SLIS_FIELDCAT_ALV.

"两种写法均可
DATA: IT_FIELD1 TYPE SLIS_T_FIELDCAT_ALV,
      WA_FIELD1 TYPE SLIS_FIELDCAT_ALV.

START-OF-SELECTION.
  PERFORM ADD_FIELD."调用屏幕显示字段方法1 
*  PERFORM FIELD_OUTPUT."调用屏幕显示字段方法2  宏方式
  PERFORM DATA_FILL."调用填充虚拟数据方法
  PERFORM DATA_OUTPUT."调用屏幕输出设置方法

  " 处理屏幕显示字段方式1
FORM ADD_FIELD.
  CLEAR WA_FIELD.
  WA_FIELD-FIELDNAME = 'VBELN'.
  WA_FIELD-SELTEXT_L = '物料编号'.
  APPEND WA_FIELD TO IT_FIELD.

  CLEAR WA_FIELD.
  WA_FIELD-FIELDNAME = 'GEWEI'.
  WA_FIELD-SELTEXT_L = '单位'.
  APPEND WA_FIELD TO IT_FIELD.
ENDFORM.

" 处理屏幕显示字段方式2  宏方式
FORM FIELD_OUTPUT.
  CLEAR WA_FIELD.
  CLEAR IT_FIELD.
  ADD_FIELD 'VBELN'       '物料编号' '' ''.
  ADD_FIELD 'GEWEI'       '单位'     '' ''.
ENDFORM.

" 屏幕输出展示字段设置
FORM DATA_OUTPUT.
  "定义ALV输入时宽度自动适应
  DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV. "设置输出格式,自适应等
  WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' " 调用函数
    EXPORTING
      IT_FIELDCAT = IT_FIELD
      IS_LAYOUT   = WA_LAYOUT  " 设置表单格式
    TABLES
      T_OUTTAB    = WA_OUTPUT.
ENDFORM.

"数据填充
FORM DATA_FILL.
  DO 3 TIMES.
    WA_VBRK-VBELN = '10001'.
    WA_VBRK-GEWEI = '10'.
    APPEND WA_VBRK TO WA_OUTPUT.
    CLEAR WA_VBRK.
  ENDDO.
ENDFORM.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值