• 手工给alv添加合计



    手工给alv添加合计

    REPORT  zlm_test_004.

    TABLES:hrpy_rgdir,t001,pa0001 .
    TYPE-POOLSslis.
    DATA:BEGIN OF itab OCCURS 0,
         bukrs
    (10),                       "公司
         sachp
    (20),                       "部门
         pernr
    (20),                       "人员编号
         name
    (20),                        "姓名
         month
    (4),                        "月份
         bet01 
    LIKE pa0008-bet01        "岗位工资
         bet02 
    LIKE pa0008-bet01        "岗位津贴
         bet03 
    LIKE pa0008-bet01        "灰色收入
       
    END OF itab .
    DATABEGIN OF itab2 OCCURS ,
            bukrs
    (16),                    "公司
            sachp
    (10),                    "部门
            pernr
    (10),                    "人员编号
            name
    (10),                     "姓名
            month
    (4),                     "月份
            trfgr
    (20),                    "工资等级
            bet01
    (20),                    "岗位工资
            bet02
    (20),                    "岗位津贴
            bet03
    (20),                    "灰色收入
            
    color(4,
          
    END OF itab2.
    *****************
    DATA myrepid LIKE sy-repid        "REPORT NAME
    DATA allfields TYPE slis_t_fieldcat_alv.
    DATA wa_allfields TYPE LINE OF slis_t_fieldcat_alv.
    DATA layout   TYPE slis_layout_alv .
    DATA ls_event TYPE slis_alv_event.
    DATA gt_events TYPE slis_t_event.
    *****************
    CONSTANTSgc_grid_title(30TYPE VALUE '工资个人明细清单'.

    START-OF-SELECTION.
      
    PERFORM getdata.
      
    PERFORM fixdata.
    *&---------------------------------------------------------------------*
    *&      Form getdata
    *&---------------------------------------------------------------------*
    FORM getdata.
      itab
    -bukrs '忽悠公司'.
      itab
    -sachp 'A部门'.
      itab
    -pernr '111111'.
      itab
    -name '张三'.
      itab
    -month '11'.
      itab
    -bet01 '100'.
      itab
    -bet02 '120'.
      itab
    -bet03 '140'.
      
    APPEND itab.
      itab
    -bukrs '炒作公司'.
      itab
    -pernr '222222'.
      itab
    -name '李四'.
      itab
    -bet01 '200'.
      itab
    -bet02 '210'.
      itab
    -bet03 '140'.
      
    APPEND itab.
      itab
    -bukrs '忽悠公司'.
      itab
    -sachp 'B部门'.
      itab
    -pernr '333333'.
      itab
    -name '王麻子'.
      itab
    -bet01 '160'.
      itab
    -bet02 '120'.
      itab
    -bet03 '140'.
      
    APPEND itab.
      itab
    -pernr '444444'.
      itab
    -name '狗剩'.
      itab
    -bet01 '500'.
      itab
    -bet02 '120'.
      itab
    -bet03 '260'.
      
    APPEND itab.
      itab
    -sachp 'C部门'.
      itab
    -pernr '555555'.
      itab
    -name '铁蛋'.
      itab
    -bet01 '400'.
      itab
    -bet02 '220'.
      itab
    -bet03 '140'.
      
    APPEND itab.
    ENDFORM                   "getdata
    *&---------------------------------------------------------------------*
    *&      Form fixdata
    *&---------------------------------------------------------------------*
    FORM fixdata.
      
    SORT itab BY bukrs sachp pernr .
      
    LOOP AT itab .

        
    MOVE-CORRESPONDING itab TO itab2 .
        
    APPEND itab2.
        
    CLEAR itab2 .
       APPEND itab2                        "可以填加空行
        
    AT END OF sachp.
          
    SUM..
          
    MOVE-CORRESPONDING itab TO itab2.
          itab2
    -color 'C300'.
          
    CONCATENATE itab-sachp '合计INTO itab2-sachp .
          
    APPEND itab2 .
          
    CLEAR itab2 .
         APPEND itab2 .
        
    ENDAT.
        
    AT END OF bukrs.
          
    SUM.

          
    MOVE-CORRESPONDING itab TO itab2.
          itab2
    -color 'C310'.
          
    CONCATENATE itab-bukrs '小计INTO itab2-bukrs .
          
    APPEND itab2 .
          
    CLEAR itab2 .
         APPEND itab2 .
        
    ENDAT.
        
    AT LAST .
          
    SUM.
          
    MOVE-CORRESPONDING itab TO itab2.
          itab2
    -color 'C710'.
          itab2
    -bukrs '总计.
          
    APPEND itab2 .
        
    ENDAT.
      
    ENDLOOP .
      
    CLEAR wa_allfields.
      
    PERFORM build_layout USING layout.
      
    PERFORM display_data .
    ENDFORM                   "fixdata
    *&---------------------------------------------------------------------*
    *&      Form display_data
    *&---------------------------------------------------------------------*
          text
    *----------------------------------------------------------------------*
    FORM display_data .
      wa_allfields
    -fieldname 'BUKRS'.
      wa_allfields
    -seltext_l '公司'.
      
    APPEND wa_allfields TO allfields.
      
    CLEAR wa_allfields.
      wa_allfields
    -fieldname 'SACHP'.
      wa_allfields
    -seltext_l '部门'.
      
    APPEND wa_allfields TO allfields.
      
    CLEAR wa_allfields.
      wa_allfields
    -fieldname 'PERNR'.
      wa_allfields
    -seltext_l '人员编号'.
      
    APPEND wa_allfields TO allfields.
      
    CLEAR wa_allfields.
      wa_allfields
    -fieldname 'NAME'.
      wa_allfields
    -seltext_l '姓名'.
      
    APPEND wa_allfields TO allfields.
      
    CLEAR wa_allfields.
      wa_allfields
    -fieldname 'MONTH'.
      wa_allfields
    -seltext_l '月份'.
      
    APPEND wa_allfields TO allfields.
      
    CLEAR wa_allfields.
    **
      wa_allfields
    -fieldname 'BET01'.
      wa_allfields
    -seltext_l '岗位工资'.
      
    APPEND wa_allfields TO allfields.
      
    CLEAR wa_allfields.
    **
      wa_allfields
    -fieldname 'BET02'.
      wa_allfields
    -seltext_l '岗位津贴'.
      
    APPEND wa_allfields TO allfields.
      
    CLEAR wa_allfields.
      wa_allfields
    -fieldname 'BET03'.
      wa_allfields
    -seltext_l '灰色收入'.
      
    APPEND wa_allfields TO allfields.
      
    CLEAR wa_allfields.
      myrepid 
    sy-repid"REPROT NAME
      
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        
    EXPORTING
          i_callback_program 
    myrepid
          i_grid_title       
    '月工资个人明细清单"TITLE
          is_layout          
    layout
          it_events          
    gt_events
          i_save             
    'X'
          it_fieldcat        
    allfields
        
    TABLES
          t_outtab           
    itab2
        
    EXCEPTIONS
          program_error      
    1
          
    OTHERS             2.
    ENDFORM                    "display_data
    *&---------------------------------------------------------------------*
    *&      Form build_layout
    *&---------------------------------------------------------------------*
          text
    *----------------------------------------------------------------------*
         -->P_LAYOUT   text
    *----------------------------------------------------------------------*
    FORM build_layout USING p_layout TYPE slis_layout_alv.
      p_layout
    -colwidth_optimize 'X'.
      p_layout
    -info_fieldname 'COLOR'.
    ENDFORM.        

    http://blog.sina.com.cn/sapliumeng
  • 相关阅读:
    js 复制到剪切板
    200-api网关工程过滤器设置
    199-Zuul配置文件
    198-Feign有什么方便之处呢?
    12-sublime中文配置
    098-Servlet为什么直接相应给浏览器的信息会出现乱码?
    097-为什么我们在SpirngBoot中设置了响应头的编码,浏览器解析出来依然回事乱码呢?
    196-为什么SpringBoot框架中不能直接使用@WebServlet的注解?
    195-如何获取Spring容器中的对象?
    194-Spring注入属性的几个注解?
  • 原文地址:https://www.cnblogs.com/senlinmu110/p/3802168.html
Copyright © 2020-2023  润新知