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
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值