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. Alibaba Java诊断工具Arthas查看Dubbo动态代理类

    原创/朱季谦 阅读Dubbo源码过程中,会发现,Dubbo消费端在做远程调用时,默认通过 Javassist 框架为服务接口生成动态代理类,接着再去调用代理类实现远程接口调用.在阅读这部分源码时,最后 ...

  2. java 竞赛常用方法

    一,基本数据类型 1.int,float.double等转换为字符串用 String.valueOf方法 eg:double转换为String Double dtDouble=12.31354; St ...

  3. C# 滑动验证码|拼图验证|SlideCaptcha

    使用背景: 关于滑动验证码的使用场所还是非常多的,如: 调取短信接口之前,和 注册请求之前 或者 频繁会调用的接口 都需要加这个拼图验证.这里先上一下效果图吧(心中无码,自然高清). 话不多说,开撸! ...

  4. OSPF MTU问题

    OSFP(开放式最短路径优先)链路状态协议,IGP 1.mtu 检测 链路俩段不匹配 假设双方的mtu不一致时 ospf建立如下: R1与R2交互hello报文,其中包含:目的IP地址:224.0.0 ...

  5. RAID5加热备盘

    RAID 5加热备盘 RAID 10磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1磁盘阵列中的硬盘设备若全部损坏,也会导致数据丢失.换句话说,在RAID 10 ...

  6. python数据可视化-matplotlib入门(5)-饼图和堆叠图

    饼图常用于统计学模块,画饼图用到的方法为:pie( ) 一.pie()函数用来绘制饼图 pie(x, explode=None, labels=None, colors=None, autopct=N ...

  7. 1.4 类UNIX系统是什么鬼?

    上节<UNIX和Linux的区别>中讲到了 UNIX 系统的历史,UNIX 是操作系统的开山鼻祖,是操作系统的发源地,后来的 Windows 和 Linux 都参考了 UNIX. 有人说, ...

  8. 浅谈Nginx性能调优

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! Linux系统参数优化 下文中提到的一些配置,需要较新的 ...

  9. 为什么不建议给MySQL设置Null值?《死磕MySQL系列 十八》

    大家好,我是咔咔 不期速成,日拱一卒 之前ElasticSearch系列文章中提到了如何处理空值,若为Null则会直接报错,因为在ElasticSearch中当字段值为null时.空数组.null值数 ...

  10. python数据类型、用户交互和运算符

    基本数据类型 1.字典dict(dictionary) 能够准确的记录储存的信息 """ 大括号里面 放多个元素 之间用逗号隔开 元素为K:V键表示储存 K相对于V一般表 ...