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的本地程序 二.设置一个标题,点击对勾 三.选择保存为本地对象 我们下一篇来写创建屏幕
随机推荐
- BurpSuite与Xray多级代理实现联动扫描
Xray是长亭科技推出的,最经典的莫过于代理模式下的被动扫描,它使得整个过程可控且更加精细化: 代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都 ...
- 【二进制枚举】【CF Div2 C】
2022.3.4 https://codeforces.com/contest/1646/problem/C 题意: 给一个数, 问可以最少有几个以下的数构成: 1.x! 2.2^x(x在每次都是任 ...
- 『现学现忘』Git基础 — 7、设置Git Bash终端默认路径
目录 1.Git Bash默认路径 2.如何查看Git Bash终端默认路径 3.如何修改Git Bash终端的默认路径 4.拓展:指定目录进入Git Bash终端 5.注意事项 如果您不熟悉Git命 ...
- Weights Assignment For Tree Edges
题目: (我的题目很长,你忍一下--) 题目分析: 这道题目的体面比较复杂,先是讲了一下树是怎样的一个结构,并且告诉我们在这里,他是以什么样的一种方式描述一棵树的,就是通过描述每个节点的父节点是哪个( ...
- Java基础语法Day_07(1-3 常用API第一部分)
常用API第一部分 第1节 Scanner类 day07_01_API概述和使用步骤(使用最基本的三个步骤 搜索 构造方法 方法) day07_02_Scanner概述及其API文档 ...
- zookeeper篇-zk的选举机制
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. 说说zk的选举机制 基础概念 zxid=事务id=一个时间戳,代表当前事 ...
- Vue图片浏览组件v-viewer使用
简单介绍v-viewer的两种使用方法: Demo 安装依赖: npm install v-viewer --save 全局引入 import Viewer from 'v-viewer' impor ...
- SpringJDBC和事务控制
SpringJDBC和事务控制 主要内容 1.基本配置 <!--依赖导入--> <dependencies> <!-- 添加相关的依赖坐标 --> <!-- ...
- 不使用比较和条件判断实现min函数的一种方法
不使用比较和条件判断实现min函数,参数为两个32位无符号int. 面试的时候遇到的题目,感觉很有意思. 搜了一下多数现有的解法都是仅有两种限制之一,即要么仅要求不能使用比较,要么仅要求不能使用条件判 ...
- MySQL双主双从配置
双主双从结构图 Master1配置 server-id=1 #开启binlog日志 log-bin=mysql-bin #忽略的库 binlog-ignore-db=mysql #复制的库 binlo ...