ALV分类汇总

REPORT ztest1.
TABLES:mara,mbew.
TYPE
- POOLS:slis.
TYPES:BEGIN OF t_itab,
      matnr LIKE mara
- matnr,
      ersda LIKE mara
- ersda,
      matkl LIKE mara
- matkl,
      lbkum LIKE mbew
- lbkum,
      salk3 LIKE mbew
- salk3,
      END OF t_itab.
DATA:itab TYPE TABLE OF t_itab WITH HEADER LINE.

SELECTION
- SCREEN BEGIN OF BLOCK blok WITH FRAME TITLE txt1.
SELECT
- OPTIONS:matnr FOR mara - matnr.
SELECTION
- SCREEN END OF BLOCK blok.


INITIALIZATION.
  txt1 
=   ' 请输入选择条件 ' .

START
- OF - SELECTION.

END
- OF - SELECTION.
  PERFORM getdata.
  PERFORM disalv.
*&---------------------------------------------------------------------*
*&       Form  getdata
*&---------------------------------------------------------------------*
*        text
*----------------------------------------------------------------------*
*    -->   p1        text
*    <--   p2        text
*----------------------------------------------------------------------*
FORM getdata .
  SELECT
     mara
~ matnr
     mara
~ ersda
     mara
~ matkl
     mbew
~ lbkum
     mbew
~ salk3
     INTO TABLE itab
     FROM mara
     JOIN mbew ON ( mara
~ matnr  =  mbew ~ matnr AND mbew ~ bwkey  =   ' 1000 '  )
     WHERE mara
~ matnr IN matnr
     ORDER BY mara
~ matnr
     .
ENDFORM.                    
"  getdata
*&---------------------------------------------------------------------*
*&       Form  disalv
*&---------------------------------------------------------------------*
*        text
*----------------------------------------------------------------------*
*    -->   p1        text
*    <--   p2        text
*----------------------------------------------------------------------*
FORM disalv .
  DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
              is_variant LIKE disvariant,
              it_events   TYPE slis_t_event,
              is_layout   TYPE slis_layout_alv,
" ALV的格式
              i_list_comments TYPE slis_t_listheader,
              i_callback_program TYPE sy
- repid,
              title       TYPE lvc_title,
              it_sort     TYPE slis_t_sortinfo_alv
              .
  PERFORM fieldcat_init USING it_fieldcat.
" 输出列表控件表头
*   PERFORM layout_init USING is_layout.
*   PERFORM eventtab_build USING it_events.
  PERFORM e02_layout_sort_build CHANGING it_sort.
  i_callback_program 
=  sy - repid.
  title 
=   ' 测试 ' .

  CALL FUNCTION 
' REUSE_ALV_GRID_DISPLAY '
    EXPORTING
      i_callback_program 
=  i_callback_program
      i_grid_title       
=  title
      is_layout          
=  is_layout
      it_fieldcat        
=  it_fieldcat
      it_events          
=  it_events
      it_sort            
=  it_sort[]
    TABLES
      t_outtab           
=  itab
    EXCEPTIONS
      program_error      
=   1
      OTHERS             
=   2 .
  IF sy
- subrc  <>   0 .
  ENDIF.

ENDFORM.                    
"  disalv
*&---------------------------------------------------------------------*
*&       Form  fieldcat_init
*&---------------------------------------------------------------------*
*        text
*----------------------------------------------------------------------*
*        --> P_IT_FIELDCAT  text
*----------------------------------------------------------------------*
FORM fieldcat_init  USING  it_fieldcat TYPE slis_t_fieldcat_alv.
  DATA: ls_fieldcat TYPE slis_fieldcat_alv.

  ls_fieldcat
- fieldname  =   ' MATNR ' .
  ls_fieldcat
- reptext_ddic   =   ' 物料号 ' .
  ls_fieldcat
- no_zero  =   ' X ' .
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat
- fieldname  =   ' ERSDA ' .
  ls_fieldcat
- reptext_ddic   =   ' 创建日期 ' .
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat
- fieldname  =   ' MATKL ' .
  ls_fieldcat
- reptext_ddic   =   ' 物料组 ' .
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat
- fieldname  =   ' LBKUM ' .
  ls_fieldcat
- reptext_ddic   =   ' 总评估的库存 ' .
  ls_fieldcat
- do_sum  =   ' X ' .
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.

  ls_fieldcat
- fieldname  =   ' SALK3 ' .
  ls_fieldcat
- reptext_ddic   =   ' 估价的总库存价值 ' .
  ls_fieldcat
- do_sum  =   ' X ' .
  APPEND ls_fieldcat TO it_fieldcat.
  CLEAR ls_fieldcat.
ENDFORM.                    
"  fieldcat_init
*&---------------------------------------------------------------------*
*&       Form  e02_layout_sort_build
*&---------------------------------------------------------------------*
*        text
*----------------------------------------------------------------------*
*        <-- P_IT_SORT  text
*----------------------------------------------------------------------*
FORM e02_layout_sort_build CHANGING lt_sort TYPE slis_t_sortinfo_alv.
  DATA ls_sort TYPE slis_sortinfo_alv.
*
  CLEAR ls_sort.
  ls_sort
- fieldname  =   ' ERSDA ' .                               " #EC *
  ls_sort - spos       =   1 .
  ls_sort
- up         =   ' X ' .
  ls_sort
- subtot     =   ' X ' .
  APPEND ls_sort TO lt_sort.

  CLEAR ls_sort.
  ls_sort
- fieldname  =   ' MATKL ' .                               " #EC *
  ls_sort - spos       =   1 .
  ls_sort
- up         =   ' X ' .
  ls_sort
- subtot     =   ' X ' .
  APPEND ls_sort TO lt_sort.
ENDFORM.                    
"  e02_layout_sort_build
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值