自己做了一个alv的练习

这个博客展示了如何使用ABAP创建一个自定义的ALV(列表视图)来查询和显示采购订单数据。通过定义数据结构、选择屏幕、布局和列属性,博主实现了对采购组织、订单号、供应商、订单日期等关键信息的筛选和显示。此外,还包含了在ALV事件中处理用户操作的逻辑。
摘要由CSDN通过智能技术生成

*&---------------------------------------------------------------------*
*& Report  ZALVTEST01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zalvtest01.

TABLES:ekko,
       ekpo,
       makt.

TYPE-POOLS: slis.


TYPES:  BEGIN  OF lt_ekko,
         ekorg  LIKE ekko-ekorg,  "采购组织
         ebeln  LIKE ekko-ebeln,  "采购订单号
         lifnr  LIKE ekko-lifnr,  "供应商
         aedat  LIKE ekko-aedat,  "采购订单创建日
        END  OF lt_ekko.

TYPES:  BEGIN  OF lt_ekpo,
       ebeln  LIKE ekpo-ebeln,    "采购订单号
       waers  LIKE ekko-waers,    "货币码
       werks  LIKE ekpo-werks,    "工厂
       ebelp  LIKE ekpo-ebelp,    "采购订单行项目
       matnr  LIKE ekpo-matnr,    "物料号
       maktx  LIKE makt-maktx,    "物料描述
       ktmng  LIKE ekpo-ktmng,    "数量
       meins  LIKE ekpo-meins,    "单位
       peinh  LIKE ekpo-peinh,    "价格
       END  OF lt_ekpo.

DATA:  t_ekko  TYPE  TABLE  OF lt_ekko,
       w_ekko  type lt_ekko,
       t_ekpo  TYPE  TABLE  OF lt_ekpo.

DATA: i_fieldcat_alv  TYPE slis_t_fieldcat_alv, "定义列标题(属性信息)
      i_fieldcat  TYPE slis_fieldcat_alv, "定义对象

      i_layout  TYPE slis_layout_alv,

      i_events  TYPE slis_t_event, "alv事件
      w_events  LIKE  LINE  OF i_events,

      i_list_comments  TYPE slis_t_listheader, "alv表单标题区域设置
      w_list_comments  LIKE  LINE  OF i_list_comments,

      w_repid  LIKE sy-repid  VALUE sy-repid. "当前程序
*选择屏幕
SELECTION-SCREEN  BEGIN  OF  BLOCK b1  WITH  FRAME  TITLE t1.

SELECT-OPTIONS: s_bsart  FOR ekko-bsart,   "凭证类型
                s_bedat  FOR ekko-bedat,   "凭证日期
                s_ebeln  FOR ekko-ebeln,   "采购订单号
                s_ekorg  FOR ekko-ekorg,   "采购组织
                s_ekgrp  FOR ekko-ekgrp,   "采购组
                s_llief  FOR ekko-llief.   "供应商
SELECTION-SCREEN  END  OF  BLOCK b1.

INITIALIZATION.
  t1 =  '采购查询'.

START-OF-SELECTION.

   PERFORM getdata.
   PERFORM events_build.
   PERFORM layout_build.
   PERFORM fieldcat_build.
   PERFORM alv_display_data.


*&---------------------------------------------------------------------*
*&      Form  getdata
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM getdata.

   SELECT ekorg
         ebeln
         lifnr
         aedat
     INTO  TABLE t_ekko
     FROM ekko
     WHERE bsart  IN s_bsart
     AND   bedat  IN s_bedat
     AND   ebeln  IN s_ebeln
     AND   ekorg  IN s_ekorg
     AND   ekgrp  IN s_ekgrp
     AND   llief  IN s_llief.

ENDFORM.                     "getdata

*&----------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值