当前位置:网站首页>ALV报表流程图解
ALV报表流程图解
2022-07-26 05:03:00 【月阴荒】
https://zhuanlan.zhihu.com/p/355316708
写一个ALV报表的步骤如下:
1.声明需要用到的变量
TABLES: mseg , mkpf , ztmm063h , mara , makt , ekpo , ekko ,ztbc120h.
2.定义屏幕的各种选项:
例如
SELECT-OPTIONS : s_mblnr FOR mseg-mblnr,
s_budat FOR mkpf-budat,
s_werks FOR mseg-werks,
s_lgort FOR mseg-lgort,
s_matnr FOR mara-mathn,
s_charg FOR ztmm063h-charg,
s_ebeln FOR ekpo-ebeln,
s_lifnr FOR mseg-lifnr.
SELECT-OPTIONS END OF BLOCK b1.
3.引用输出结构
DATA: gt_alv TYPE TABLE OF zsmm141a_alv,
gwa_alv TYPE zsmm141a_alv.
4.定义数据加工逻辑
START-OF-SELECTION.
PERFORM frm_get_data.

相关知识点
内部表
内部表是一个包含相同类型的数据对象的序列。
内部表只在程序运行过程中存在。
1.内部表的用途:
暂时存放从数据库表中读取的数据,以便作进一步的处理
暂时存放用于显示的清单数据
作为数据缓冲用于同其他程序进行数据交换
2.内部表的特性
内部表的行数不是预先定义的,而是动态增长的(每次增长8K)
内部表的行类型(LINETYPE)可以是任意一种ABAP数据类型。
3.内部表的类型:
标准表,有一个线性索引,主要通过索引访问。
排序表,定义了主键,可以通过主键和索引访问。
哈希表,没有索引,只能通过主键访问。
4.内部表的处理关键字
APPEND: 将工作区的内容添加到内部表的末尾
INSERT: 将工作区的内容添加到内部表指定的位置(行号)
COLLECT: 比较非数值型字段,将数值型字段累加到内部表中
MODIFY: 将工作区的内容覆盖内部表指定的行
DELECT: 从内部表中删除指定的行
LOOP AT: 将内部表的数据逐行读到工作区中
READ TABLE: 将内部表的某一特定行的数据读到工作区中
SORT: 对内部进行排序
CLEAR: 清楚工作区的内容
REFRESH:删除内部表中的所有记录
数据库
在ABAP程序中,可以通过两种方式访问数据库
OPEN SQL :标准SQL的子集,与ABAP完全集成,具有数据库无关性,数据库接口会自动将其转换为所使用的的数据库的标准SQL。
NATIVE SQL: 与数据库相关,使用数据库提供的标准SQL,不经过数据库接口的语法检查和转换。
避免使用NATIVE SQL
OPENSQL访问介绍
OPENSQL只包含函数据操作语言DML,数据定义语言DDL通过ABAP字典对象控制。
通过OPEN SQL可以执行的操作:SELECT , UPDATE , INSERT , DELETE , MODIFY
可以通过系统变量SY-SUBRC判断操作成功与否,SY-SUBRC = 0 表示执行成功 , SYBRC <>0 则表示执行不成功,
更详细的信息参考在线帮助文档
SAP SQL基本格式
SELECT子句用于确定读取什么数据-结果包含哪些字段-需要读取单挑记录还是多条记录(SINGLE)-结果是否可以包含重复记录(DISTINCT)
INTO子句表示读取的数据放入内存的声明位置(变量,工作区,内部表)FROM子句表示数据源(表或者视图)
SAP SQL读取方式
可以使用SELECT SINGLE读取单条记录,要确保读出的记录是唯一的,需要在WHERE语句中判断所有主键
如果不适用SINGLE关键字,则读取所有满足WHERE条件的记录,读取方式有两种:
1.以循环的方式逐行读入目标区域,需要由ENDSELECT语句配合使用。
2.使用SELECT…INTO TABLE 语句,一次将所有满足条件的记录读入内部表中,没有使用循环,步需要ENDSELECT。这种方式读取数据比前一种由更高的效率。
3.在INO子句中,可以使用CORRENPSONDING FIELDS OF , 系统只填充由相同名称的字段,如果不适用,则按照从左向右的顺序填充
4.在字段清单和WHERE子句中,只需指定字段名称,不需指定表名称。•WHERE子句中可以使用AND或OR实现复杂的逻辑条件。
5.SELECT *语句读取透明表的所有字段,可以没有INTO子句,但是必须使用TABLES声明透明表。
SAP SQL表链接方法
可以使用JOIN连接多个透明标进行查询
INNER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
透明表可以使用别名。
字段如果只存在于一个表中,不需要指定表名称
边栏推荐
- Distance between bus stops: simple simulation problem
- 推荐12个免费查找文献的学术网站,建议点赞、收藏!
- The first open source MySQL native HTAP database in China will be released soon! Look at the three highlights first, limited to the surrounding areas, waiting for you~
- npm操作指令
- 奥特学园ROS笔记--6
- Shell的read 读取控制台输入、read的使用
- Date and time function of MySQL function summary
- Redis解决库存超卖问题
- Install nccl \ mpirun \ horovod \ NVIDIA tensorflow (3090ti)
- MySQL eight knowledge points: from getting started to deleting the database
猜你喜欢

提高shuffle操作中的reduce并行度

Switch and router technology: dynamic routing protocol, rip routing protocol and OSPF routing protocol

STM32 development | ad7606 parallel multi-channel data acquisition

推荐系统-机器学习

分子骨架跃迁工具-DeLinker介绍

Icml2022 | imitation learning by evaluating the professional knowledge of the presenter

9 best project set management tools

minipcie接口CAN卡解决工控机扩展CAN通道的难题 minipcie CAN

Use field parameters for report translation

How to connect tdengine through idea database management tool?
随机推荐
Nacos registry
[acwing] 2983. Toys
The first open source MySQL native HTAP database in China will be released soon! Look at the three highlights first, limited to the surrounding areas, waiting for you~
npm操作指令
C language -- string function, memory function collection and Simulation Implementation
What are the characteristics of the grammar of Russian documents in the translation of scientific papers
一次线上事故,我顿悟了异步的精髓
Excel VBA:按日期汇总计算输出结果(sumif)
科技论文翻译,俄语文档的语法有何特点
How to connect tdengine through idea database management tool?
Ggjj, do you have a look at this problem? Does caching cause cross domain problems?
AXI协议(5):AXI协议的burst机制
注解@Autowired如何自动装配
LeetCode - 单调栈与单调队列
MySQL八股知识点:从入门到删库
What points should be paid attention to in the selection of project management system?
Excel VBA:实现自动下拉填充公式至最后一行
MODFLOW Flex、GMS、FEFLOW、HYDRUS实践应用
异步时父子线程间的ThreadLocal传递问题
安装NCCL\mpirun\horovod\nvidia-tensorflow(3090Ti)