SAP ABAP学习代码笔记07

*&---------------------------------------------------------------------*
*& Report ZMMD0007_TEST_DL
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZMMD0007_TEST_DL.

TABLES :sscrfields,ztmm0045,marc."引用数据表

*---form不可以做DATA定义。

PERFORM get_alv_select."第三步
PERFORM get_alv_lfc.   "第四步
PERFORM get_alv_reuse. "第五步


*---第一步:声明ALV相关变量---*

DATA:gt_fieldcat TYPE lvc_t_fcat,
     gs_layout   TYPE lvc_s_layo,
     gs_fieldcat TYPE lvc_s_fcat.

*---第二步:定义内表---*

DATA:BEGIN OF zmmd0006_alv OCCURS 0,"定义一个代表头的内表
       mandt     TYPE marc-mandt,     "集团
       werks     TYPE marc-werks,     "工厂
       matnr     TYPE marc-matnr,     "料号
       zzhs_code TYPE marc-zzhs_code, "HScode
       zzsppm    TYPE marc-zzsppm,    "商品品名
       mc_zzbaxh TYPE marc-zzbaxh,    "物料备案序号
       zzbaxh    TYPE ztmm0045-zzbaxh,"备案序号
     END OF zmmd0006_alv.

DATA:gt_alv LIKE TABLE OF zmmd0006_alv WITH HEADER LINE."参考内表再定义一个内表


*---第三步:读取数据---*
FORM get_alv_select.
SELECT
  m~mandt,m~werks,m~matnr,m~zzhs_code,m~zzsppm,m~zzbaxh AS mc_zzbaxh,z~zzbaxh
  FROM ztmm0045 AS z INNER JOIN marc AS m
  ON z~zzhs_code = m~zzhs_code AND z~zzsppm = m~zzsppm
  INTO TABLE @gt_alv.
ENDFORM.

*---第四步:格式控制,布局结构---*
FORM get_alv_lfc.
*layout*

 gs_layout-zebra                = 'X'."ALV 控制: 可选行颜色 ()-呈现颜色交替斑马纹
 gs_layout-cwidth_opt           = 'X'."' '."优化列管-X&空格
 gs_layout-sel_mode             = 'A'."总计

*fieldcat*

DEFINE mcr_set_fieldcat."定义宏-fieldcat
    gs_fieldcat-fieldname  = &1. "字段名称
    gs_fieldcat-seltext    = &2. "字段文本
    gs_fieldcat-key        = &3.
    gs_fieldcat-edit       = &4. "可编辑状态
    gs_fieldcat-lowercase  = 'X'. "文本小写
    gs_fieldcat-just       = &5.  "对齐方式
    gs_fieldcat-checkbox   = &6. "设置是否选择框
    IF gs_fieldcat-outputlen IS INITIAL. "当coltext不存在显示filedtext,如字段没域,只有手工描述的情况
       gs_fieldcat-outputlen = 80.
    ENDIF.
    APPEND gs_fieldcat TO gt_fieldcat.
END-OF-DEFINITION.

 mcr_set_fieldcat:"插入宏-fieldcat
*'sel' '选择'(m00) 'X' 'L' 'X',
'MANDT' '集团'(m01) 'X' '' 'L' '',
'WERKS' '工厂'(m02) 'X' '' 'L' '',
'MATNR' '料号'(m03) 'X' '' 'L' '',
'ZZHS_CODE' '哈希编号'(m04) '' '' 'L' '',
'ZZSPPM' '商品品名'(m05) '' '' 'L' '',
'MC_ZZBAXH' '物料备案序号'(m06) '' '' 'L' '',
'ZZBAXH' '备案序号'(m07) '' '' 'L' ''.
ENDFORM.

*---第五步:显示ALV---*
FORM get_alv_reuse.
 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
 EXPORTING
   is_layout_lvc   = gs_layout
   it_fieldcat_lvc = gt_fieldcat
TABLES
  t_outtab  = gt_alv
EXCEPTIONS
  program_error = 1
  OTHERS        = 2.
"BREAK-POINT."断点-显示ALV
IF sy-subrc <> 0.

ENDIF.
ENDFORM.
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值