SAP OOALV- 合计

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- 合计的更多相关文章
- SAP OOALV 添加状态灯
*&---------------------------------------------------------------------* INCLUDE <icon>. T ...
- 【ABAP系列】SAP ABAP OOALV 动态设置单元格可否编辑
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP OOALV 动 ...
- 【ABAP系列】SAP ABAP ALV合计或者小计 添加自定义文本
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP ALV合计或者小计 ...
- 一百一十二、SAP的OO-ALV之六,复制一个工程的工具栏到另外一个工程的工具栏
一.我们输入SE38,查看一个SAP的标准查询 二.可以看到这个程序拥有一个标准的工具栏 三.我们来到, 输入这个程序名,再点状态 四.把工具栏复制过来 五.弹出的窗口点对勾 六.系统提示已经复制 七 ...
- 一百零六、SAP的OOP面向对象编程,OO-ALV的简介
面向对象编程,如图 基本概念: 1.对象(Object)是一个现实实体的抽象.一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应. ...
- 一百一十一、SAP的OO-ALV之五,显示ALV表格
一.在屏幕里面有2部分,(PROCESS BEFORE OUTPUT 用于显示, PROCESS AFTER INPUT用于数据处理).我们创建的display_alv函数, 二.display_al ...
- 一百一十、SAP的OO-ALV之四,定义屏幕相关变量和逻辑流
一.代码如下,定义相关变量 二.来带屏幕页面,双击STATUS_9000和USER_COMMAND_9000,自动生成相应代码 三.点击是 四.会自动生产关联的Includ文件 五.我们自己创建一个M ...
- 一百零九、SAP的OO-ALV之三,屏幕绘制器的使用
一.在Screen页面,点击格式,会打开屏幕绘制器 二.点击定制控制,和PS一样画出一个显示区域的画布容器 三.双击之后,在弹出的属性页面写入一个名字,保存 四.激活屏幕后关闭 五.关闭屏幕绘制器之后 ...
- 一百零八、SAP的OO-ALV之二,创建屏幕Screen
一.在资源管理器,右键->创建屏幕 二.输入4位数字 三.输入屏幕的描述 四.在逻辑流里面PBO用于显示屏幕,PAI用于用户交互. 五.在元素清单里面,在屏幕中的所有元素都是在元素清单中的
- 一百零七、SAP的OO-ALV之一,新建程序
一.来带SE38模块,新建一个Z_TIANPAN_20190807_OOALV的本地程序 二.设置一个标题,点击对勾 三.选择保存为本地对象 我们下一篇来写创建屏幕
随机推荐
- 安卓记账本开发学习day2
今天遇到了xml文件报错,Wrong orientation? No orientation specified, and the default is horizontal, yet this la ...
- Blazor使用区域(Area)
在MVC中,我们经常使用区域(Area)来区分各个模块,比如后台我们可以写一个Admin的Area. 到了Blazor时代,已经不推荐这么做了,现在推荐的做法是通过Url来区分,比如Admin可以配置 ...
- 【虚拟机】VMware-open-vm-tools安装
open-vm-tools(VMware-tools的进化版) VMware Tool 和 open-vm-tools任选一样安装即可 在终端进入超级用户 换源下载,依次输入下面命令 sudo cp ...
- Redis 内存满了怎么办?这样设置才正确!
上回在<Redis 数据过期了会被立马删除么?>说到如果过期的数据太多,定时删除无法删除完全(每次删除完过期的 key 还是超过 25%),同时这些 key 再也不会被客户端请求,就无法走 ...
- 【kubernetes 问题排查】使用 kubeadm 部署时遇到的问题
引言 再使用kubeadm部署集群时会多少遇到一些问题,这里做下记录,方便后面查找问题时有方向,同时也为刚要入坑的你指明下方向,让你少走点弯路 问题汇总 The connection to the s ...
- XCTF练习题---CRYPTO---Broadcast
XCTF练习题---CRYPTO---Broadcast flag:flag{fa0f8335-ae80-448e-a329-6fb69048aae4} 解题步骤: 1.观察题目,下载附件 2.下载完 ...
- 【面试普通人VS高手系列】volatile关键字有什么用?它的实现原理是什么?
一个工作了6年的Java程序员,在阿里二面,被问到"volatile"关键字. 然后,就没有然后了- 同样,另外一个去美团面试的工作4年的小伙伴,也被"volatile关 ...
- salesforce零基础学习(一百一十三)Trigger中获取IP地址的过程
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.228.0.apexcode.meta/apexcode/apex_class_Auth ...
- 2021夏季学期华清大学EE数算OJ2:难缠的店长
2021年夏季学期华清大学电子系数算oj2题解 某知名oier锐评蒟蒻的oj1题解: 话不多说,进入oj2题解: 难缠的oj 之 难缠的店长 当时读完我已经因为无良甲方的行为出离愤怒了!但是做题还是要 ...
- mybatis plus 的 ActiveRecord 模式
实体类继承 Model public class Test extends Model<Test> implements Serializable {} 就可以 new Test().in ...