SAP 简单报表快速开发

下面展示一个例子 报表开发案例

使用FALV的方法

// coding by wangchun 

*&---------------------------------------------------------------------*
*& Report ZPROMGRAM_WC02
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zpromgram_wc02.
TABLES: vbak,vbap,tvgrt.

TYPES:BEGIN OF ty_vbak,
        auart  LIKE         vbak-auart,"销售凭证类型
        vkorg  LIKE         vbak-vkorg,"销售组织
        vtweg  LIKE         vbak-vtweg,"分销渠道
        spart  LIKE         vbak-spart,"产品组
        vkbur  LIKE         vbak-vkbur,"销售办事处
        vkgrp  LIKE         vbak-vkgrp,"销售组
        bezei  LIKE         tvgrt-bezei,"销售员
        kunnr  LIKE         vbak-kunnr," 售达方
        name1  LIKE         kna1-name1,"售达方描述
        vbeln  LIKE         vbak-vbeln,"销售订单
        posnr  LIKE         vbap-posnr, "行项目
        erdat  LIKE         vbap-erdat, "创建时间
        bstnk  LIKE         vbak-bstnk, "客户参考
        matnr  LIKE         vbap-matnr, "物料
        maktx  LIKE         makt-maktx, "物料
        kwmeng LIKE         vbap-kwmeng, "数量
        ernam  LIKE         vbak-ernam, " 创建人
      END OF ty_vbak.
DATA:gt_alv TYPE TABLE OF ty_vbak.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
  SELECT-OPTIONS:s_auart FOR vbak-auart , "订单类型
                 s_vkorg FOR vbak-vkorg, "销售组织
                 s_kunnr FOR vbak-kunnr, "售达方
                 s_vbeln FOR vbak-vbeln, "订单编号
                 s_erdat FOR vbap-erdat ."创建日期
  .
SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION .

  PERFORM:get_data.   "取数
  PERFORM:alv_show.   "展shi

END-OF-SELECTION .

*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM get_data .
  SELECT DISTINCT
   a~vkorg  "销售组织
   a~vtweg  "分销渠道
   a~vkgrp  "销售组
   a~spart  "产品组
   a~vkbur  "销售办事处
   a~auart  "订单类型
   a~erdat  "订单日期
   a~vbeln  "订单号
   a~bstnk "客户参考
   a~kunnr  "客户编码
   a~waerk  "币种
   a~ernam  "制单人
   b~posnr  "行号
   b~matnr  "物料
   b~kwmeng  "订单数量
   c~name1  "客户全称
   d~bezei  "销售人员
   e~maktx  "物料描述
INTO CORRESPONDING FIELDS OF TABLE gt_alv
FROM vbak AS a
  INNER JOIN vbap AS b ON a~vbeln = b~vbeln
  INNER JOIN kna1 AS c ON a~kunnr = c~kunnr
  INNER JOIN tvgrt AS d ON a~vkgrp = d~vkgrp AND d~spras = '1'
  INNER JOIN makt AS e ON b~matnr = e~matnr AND e~spras = '1'
    WHERE a~auart  IN s_auart
    AND   a~vkorg  IN s_vkorg
    AND   a~kunnr  IN s_kunnr
    AND   a~vbeln  IN s_vbeln
    AND   b~erdat  IN s_erdat.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form ALV_SHOW
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM alv_show .
  DATA(falv) = zcl_falv=>create( CHANGING ct_table = gt_alv ).

  falv->display( ).
ENDFORM.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值