TYPES: BEGIN OF ty_mara,
srno LIKE adrc-name1, " Storing the total text
matnr LIKE mara-matnr, " Material
ersda LIKE mara-ersda, " Creation date
ernam LIKE mara-ernam, " Created by
laeda LIKE mara-laeda, " Last change date
aenam LIKE mara-aenam, " Last change by
vpsta LIKE mara-vpsta, " Maintenance status
brgew LIKE mara-brgew, " Gross weight
ntgew LIKE mara-ntgew, " Net weight
gewei LIKE mara-gewei, " Weight Unit
END OF ty_mara. TYPES: BEGIN OF ty_mara_tmp,
matnr TYPE matnr, " Material
ersda TYPE ersda, " Creation date
ernam TYPE ernam, " Created by
laeda TYPE laeda, " Last change date
aenam TYPE aenam, " Last change by
vpsta TYPE vpsta, " Maintenance status
brgew TYPE brgew, " Gross weight
ntgew TYPE ntgew, " Net weight
gewei TYPE gewei, " Weight Unit
END OF ty_mara_tmp. DATA: gt_mara_tmp TYPE STANDARD TABLE OF ty_mara_tmp INITIAL SIZE 0,
gt_sort2 TYPE STANDARD TABLE OF lvc_s_sort INITIAL SIZE 0,
gt_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 0,
go_grid TYPE REF TO cl_gui_alv_grid,
gt_fieldcat TYPE lvc_t_fcat,
gs_mara_tmp TYPE ty_mara_tmp,
gs_layout TYPE lvc_s_layo,
gs_mara TYPE ty_mara,
gs_field TYPE lvc_s_fcat,
gs_sort2 TYPE lvc_s_sort.
*Set alv field
DEFINE set_alv_fieldcat.
gs_field-fieldname = &1.
gs_field-coltext = &2.
gs_field-rollname = &3.
gs_field-lzero = space.
gs_field-no_zero = 'X'.
APPEND gs_field TO gt_fieldcat.
CLEAR gs_field.
END-OF-DEFINITION. START-OF-SELECTION.
PERFORM frm_get_data.
PERFORM frm_set_field. END-OF-SELECTION.
CALL SCREEN 100. FORM frm_get_data.
* Fetch data
SELECT matnr " Material
ersda " Creation date
ernam " Created by
laeda " Last change date
aenam " Last change by
vpsta " Maintenance status
brgew " Gross weight
ntgew " Net weight
gewei " Weight Unit
FROM mara
INTO TABLE gt_mara_tmp
UP TO 10 ROWS
WHERE brgew NE 0.
CHECK sy-subrc = 0. LOOP AT gt_mara_tmp INTO gs_mara_tmp.
gs_mara-srno = '总计:'.
gs_mara-matnr = gs_mara_tmp-matnr.
gs_mara-ersda = gs_mara_tmp-ersda.
gs_mara-ernam = gs_mara_tmp-ernam .
gs_mara-laeda = gs_mara_tmp-laeda.
gs_mara-aenam = gs_mara_tmp-aenam.
gs_mara-vpsta = gs_mara_tmp-vpsta.
gs_mara-brgew = gs_mara_tmp-brgew.
gs_mara-ntgew = gs_mara_tmp-ntgew.
gs_mara-gewei = gs_mara_tmp-gewei.
APPEND gs_mara TO gt_mara.
ENDLOOP.
ENDFORM. FORM frm_set_field. gs_sort2-spos = 1. "Sort Order
gs_sort2-fieldname = 'SRNO'.
* gs_sort2-up = 'X'.
gs_sort2-down = 'X'.
gs_sort2-subtot = 'X'."Output subtotal
APPEND gs_sort2 TO gt_sort2. gs_layout-no_totline = 'X'.
gs_field-tech = 'X'.
gs_field-no_out = 'X'.
set_alv_fieldcat 'SRNO' '' 'MAKTX' .
set_alv_fieldcat 'MATNR' '' 'MATNR' .
set_alv_fieldcat 'ERSDA' '' 'ERSDA' .
set_alv_fieldcat 'ERNAM' '' 'ERNAM' .
set_alv_fieldcat 'LAEDA' '' 'LAEDA' .
set_alv_fieldcat 'AENAM' '' 'AENAM' .
set_alv_fieldcat 'VPSTA' '' 'VPSTA' . gs_field-do_sum = 'X'.
gs_field-ref_table = 'MARA'.
gs_field-ref_field = 'BRGEW'.
set_alv_fieldcat 'BRGEW' '' 'BRGEW' . gs_field-do_sum = 'X'.
gs_field-ref_table = 'MARA'.
gs_field-ref_field = 'NTGEW'.
set_alv_fieldcat 'NTGEW' '' 'NTGEW' .
set_alv_fieldcat 'GEWEI' '' 'GEWEI' .
ENDFORM. * Calling the screen to display ALV *&----------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&----------------------------------------------------------------*
* Display ALV report
*-----------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_100'.
IF go_grid IS INITIAL.
CREATE OBJECT go_grid
EXPORTING
i_parent = cl_gui_custom_container=>screen0
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
CHECK sy-subrc = 0. * CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
* EXPORTING
* i_internal_tabname = 'GT_MARA'
** i_structure_name = 'GT_MARA'
* CHANGING
* ct_fieldcat = gt_fieldcat
* EXCEPTIONS
* inconsistent_interface = 1
* program_error = 2
* OTHERS = 3.
* IF sy-subrc = 0.
*
* ENDIF. CALL METHOD go_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_outtab = gt_mara[]
it_fieldcatalog = gt_fieldcat
it_sort = gt_sort2
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
IF sy-subrc <> 0.
ENDIF. CALL METHOD cl_gui_alv_grid=>set_focus
EXPORTING
control = go_grid
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
MODULE exit INPUT.
LEAVE TO SCREEN 0.
ENDMODULE.

SAP OOALV- 合计的更多相关文章

  1. SAP OOALV 添加状态灯

    *&---------------------------------------------------------------------* INCLUDE <icon>. T ...

  2. 【ABAP系列】SAP ABAP OOALV 动态设置单元格可否编辑

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP OOALV 动 ...

  3. 【ABAP系列】SAP ABAP ALV合计或者小计 添加自定义文本

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP ALV合计或者小计 ...

  4. 一百一十二、SAP的OO-ALV之六,复制一个工程的工具栏到另外一个工程的工具栏

    一.我们输入SE38,查看一个SAP的标准查询 二.可以看到这个程序拥有一个标准的工具栏 三.我们来到, 输入这个程序名,再点状态 四.把工具栏复制过来 五.弹出的窗口点对勾 六.系统提示已经复制 七 ...

  5. 一百零六、SAP的OOP面向对象编程,OO-ALV的简介

    面向对象编程,如图 基本概念: 1.对象(Object)是一个现实实体的抽象.一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应. ...

  6. 一百一十一、SAP的OO-ALV之五,显示ALV表格

    一.在屏幕里面有2部分,(PROCESS BEFORE OUTPUT 用于显示, PROCESS AFTER INPUT用于数据处理).我们创建的display_alv函数, 二.display_al ...

  7. 一百一十、SAP的OO-ALV之四,定义屏幕相关变量和逻辑流

    一.代码如下,定义相关变量 二.来带屏幕页面,双击STATUS_9000和USER_COMMAND_9000,自动生成相应代码 三.点击是 四.会自动生产关联的Includ文件 五.我们自己创建一个M ...

  8. 一百零九、SAP的OO-ALV之三,屏幕绘制器的使用

    一.在Screen页面,点击格式,会打开屏幕绘制器 二.点击定制控制,和PS一样画出一个显示区域的画布容器 三.双击之后,在弹出的属性页面写入一个名字,保存 四.激活屏幕后关闭 五.关闭屏幕绘制器之后 ...

  9. 一百零八、SAP的OO-ALV之二,创建屏幕Screen

    一.在资源管理器,右键->创建屏幕 二.输入4位数字 三.输入屏幕的描述 四.在逻辑流里面PBO用于显示屏幕,PAI用于用户交互. 五.在元素清单里面,在屏幕中的所有元素都是在元素清单中的

  10. 一百零七、SAP的OO-ALV之一,新建程序

    一.来带SE38模块,新建一个Z_TIANPAN_20190807_OOALV的本地程序 二.设置一个标题,点击对勾 三.选择保存为本地对象 我们下一篇来写创建屏幕

随机推荐

  1. VUE(uni-app)+SSM 微信小程序

    环境 jdk:1.8.0_181 tomcat:7.0.100 mysql:8.0.25 工具 ideaIU+Hbuilder 遇到的问题 1.需要跳转到注册在tobar中页面时,需使用 uni.sw ...

  2. echarts饼图去除圈外指向横线

    series: [ { name: '实时人员信息', type: 'pie', radius: ['86%', '80%'], avoidLabelOverlap: false, label: { ...

  3. 虚拟机安装linux

    https://blog.csdn.net/wujiele/article/details/92803655https://www.cnblogs.com/yunwangjun-python-520/ ...

  4. windows批处理执行图片爬取脚本

    背景 由于测试时需要上传一些图片,而自己保存的图片很少. 为了让测试数据看起来不那么重复,所以网上找了一个爬虫脚本,以下是源码: 1 import requests 2 import os 3 4 c ...

  5. 面渣逆袭:Spring三十五问,四万字+五十图详解

    大家好,我是老三啊,面渣逆袭 继续,这节我们来搞定另一个面试必问知识点--Spring. 有人说,"Java程序员都是Spring程序员",老三不太赞成这个观点,但是这也可以看出S ...

  6. CSS 字体超出 省略 ... 展示

    效果 /* 标题 */ .title_t{ color: #000000; font-size: 130%; display: inline-block; line-height: 30px; wid ...

  7. 漏洞复现:MS10-046漏洞

    漏洞复现:MS10-046漏洞 实验工具1.VMware虚拟机2.Windows7系统虚拟机3.Kali 2021 系统虚拟机 1.在VMware中打开Windows7虚拟机和Kali 2021虚拟机 ...

  8. 生命周期和作用域 & mybatis执行流程

    流程 sqlSessionFactory 实例化后  --> transactional事务管理-->创建executor执行器-->创建SqlSession-->实现增删改查 ...

  9. springboot:使用异步注解@Async的前世今生

    在前边的文章中,和小伙伴一起认识了异步执行的好处,以及如何进行异步开发,对,就是使用@Async注解,在使用异步注解@Async的过程中也存在一些坑,不过通过正确的打开方式也可以很好的避免,今天想和大 ...

  10. 使用 Swoole 加速你的 CMS 系统,并实现热更新 (基于 Laravel 框架)

    主题:使用 Swoole 加速你的 CMS 系统,并实现热更新 关于 Swoole 的简介不再在此赘述,各位可以自行查看官网的文档进行详细的了解. 本文以 MyCms 为例,简要说明 Swoole 结 ...