SAP ABAP内表OCCURS,WORK AREA等 语法对比!

ABAP的指针的基本语法 在ABAP里面,field symbol就相当于c语言的指针。如果你定义并且分配了相应的结构或者变量给它,其实它就指向这个结构或者变量的地址,如果修改了field symbol的值,则相应结构或者变量的值也随之更改。 阅读详情
先来看看内表是什么东西。顾名思义内表是一张存在内存中的表。首先,它是由很多work
area组成。所谓work
area,说通俗一点即是表的一行,占用一定的内存空间。那么为什么要有内表存在呢?原因在于我们直接在数据库中取数速度慢,而内存的速度远远高于存储数据的硬盘的速度,我们将数据库表拷贝至存在于内存中的内表上,再在内表上进行查询、取数等操作,效率将大大提高。这也是近些年SAP大力推销其内存计算产品的一个原因。

先看一段关于内表的小程序:
DATA: BEGIN OF LINE,
      LINE1TYPE I,
      LINE2TYPE I,
      ENDOF LINE.

DATA: BEGIN OF LINE OCCURS 0,
      LINE1TYPE I,
      LINE2TYPE I,
      ENDOF LINE.

前者声明了一个work area,后者则声明了一个internal table。
对比这两段程序,可以看出二者的区别就在于一个包含OCCURS,而另一个不包含。OCCURS的意思是为这个内表分配多大的空间,可以简单的理解为为内表分配了若干行的空间。第一个程序没有使用occurs,所以它是一个workarea,我们可以简单的理解成它是内表的一行,因为内表是由若干个work area组成的。实际上我们可以先定义一行的workarea然后通过APPEND行的方式,来实现内表的定义,因此occurs现在就并不常用了。

内表与工作区在语法上有所区分,但在实际上可以理解为相近的东西,即内表是由工作区组成的。
内表操作对应的关键字有type table of, type lineof等,而单独使用type则是对于工作区而言。

再看一段关于内表声明的小程序:
DATA: BEGIN OF LINE OCCURS 0,
      LINE1TYPE I,
      LIEN2TYPE I,
      ENDOF LINE,
      ITABLIKE TABLE OF LINE.

TYPES: BEGIN OF LINE,
      LINE1TYPE I,
      LINE2TYPE I,
      ENDOF LINE.
DATA: ITAB TYPE TABLE OF LINE.

这边说明了DATA与TYPES的区别,因为这种区别导致了内表不同的声明方法。DATA声明的东西对应于c语言中的初始化变量,是已经分配了内存空间的了。而type声明的东西相当于一种变量类型,对应于c语言中的结构体,需要为它赋值、初始化。


117.SAP ABAP - 内表、结构、工作区、 OCCURS 0和WITH HEADER LINE - 记录 SAP ABAP中的内表、结构、工作区、OCCURS以及WITH HEADER LINE是编程中非常重要的概念和工具。通过合理使用这些概念和工具,我们可以高效地处理大量数据,并实现复杂的业务逻辑。OCCURS与HEADERLINE都是用来定义内表的语句,OCCURS是3.0版本之前的语句,在4.0系统中已经过时,不推荐使用。但是前者在定义一个内表的同时,还定义了一个数据对象(这个东西其实就是一个工作区,与内表的结构是完全一样的,之后也就演变成了所谓的headerline)。 阅读详情

相关推荐

SAP ABAP - 内表与工作区高效协作:OCCURS 0与WITH HEADER LINE实战解析

本文深入解析SAP ABAP开发中内表与工作区的高效协作机制,重点剖析了传统OCCURS 0与WITH HEADER LINE的实战应用与潜在风险。通过对比新旧代码风格,阐明清晰分离内表和工作区声明的重要性,旨在帮助开发者编写更健壮、可维护且符合现代ABAP开发范式的高质量代码。

weixin_29253711的博客 235

ABAP编程中对内表的定义,后面接一个OCCURS (n)是代表什么意思。

对内表的定义,我只说下有没occurs的区别。**DATA: BEGIN OF itab OCCURS 0,*  matnr LIKE mara-matnr,*  maktx LIKE makt-maktx,*  END OF itab.**SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE itab .**LOOP AT itab.*  W...

weixin_34355715的博客 1340

RISC-V交叉编译工具链riscv-gnu-toolchain从零安装与避坑指南

在x86架构上开发RISC-V程序,绕不开交叉编译这一基础概念:用A架构的电脑编译出能在B架构CPU上运行的程序。而riscv-gnu-toolchain正是RISC-V官方整合的GCC交叉编译工具链,它集成了binutils、GCC、C标准库和GDB,避免了自行配置各组件版本不匹配的麻烦。理解工具链变体(如riscv64-unknown-elf与riscv64-linux-gnu)的区别,是正确选择安装目标的前提。该工具链广泛应用于嵌入式裸机开发、RTOS移植、QEMU模拟运行和RISC-V Linux用

weixin_34013044的博客 387

【转载】SAP ABAP内表OCCURS,WORK AREA等 语法对比

先来看看内表是什么东西。顾名思义内表是一张存在内存中的表。首先,它是由很多work area组成。所谓work area,说通俗一点即是表的一行,占用一定的内存空间。那么为什么要有内表存在呢?原因在于我们直接在数据库中取数速度慢,而内存的速度远远高于存储数据的硬盘的速度,我们将数据库表拷贝至存在于内存中的内表上,再在内表上进行查询、取数等操作,效率将大大提高。这也是近些年SAP大力推销其内存计算...

ruci2010的博客 1121

Spring AI 实战:5 分钟搭建你的第一个 AI 应用(含完整代码)

能力关键 API适用场景基础对话简单问答、文本生成流式输出实时打字机效果@Bean模型需要调用外部工具结构化输出需要返回 Java 对象多轮对话聊天机器人场景Spring AI 让 Java 开发者可以用最熟悉的方式(Spring Boot + Maven)进入 AI 应用开发领域,不用学新语言,不用换框架,这是它最大的优势。但目前为止,我们的 AI 应用只能回答"它脑子里已有的知识"。如果让它读懂你自己的技术文档、公司内部知识库呢?这就是下一篇文章的主题——RAG(检索增强生成)实战。

qq_17204557的博客 642

YooAsset 2.2.12四层加密架构:跨平台资源安全实战指南

AssetBundle加密是Unity热更新安全的核心环节,其本质是通过算法、密钥管理与生命周期协同实现资源全链路防护。传统方案常陷于‘打包后加密’的误区,导致内存开销大、跨平台兼容差、逆向防护弱。YooAsset 2.2.12提出打包层、传输层、加载层、运行层四层防护架构,将加密前置到资源序列化前,并依托BundleHeader实现动态算法协商与密钥分发,显著提升iOS/Android/WebGL三端一致性。该方案兼顾AES-128等通用算法与SM4等国密支持,同时通过IMemoryDecryptor实现

weixin_32428571的博客 414

ABAP里面的OCCURS与HEADER LINE之间的一些区别

首先,看一下标准的官方解释: This addition to the statements DATA TABLEOF, DATA RANGEOF, and the obsolete statement DATAOCCURS (which is not allowed in classes) declares afurther data object alongside the intern

~ Caesar's wish书屋 ~ 5620

保姆级教程:断网环境下用Flexnet服务器搞定SolidWorks 2021安装与破解(附错误5解决方案)

本文提供SolidWorks 2021在断网环境下的企业级部署指南,详细解析Flexnet服务器本地化工作原理,并给出安装与破解的实战方案,特别针对常见的'错误5'问题提供多维度解决方案。适用于需要内网隔离或移动办公的工业设计场景,确保数据安全与授权合规。

weixin_28683391的博客 296

ABAP内表

1、内表 ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据。不同于二维数组,内表在创建后,列结构于列数是固定不变的,而行数是动态增长的。内表支持循环对每行数据进行操作,也支持整体操作。内行是具有行和列的结构,不同于数据库表,内表仅在程序运行期间在内存中存储数据。ABAP中有三种内表类型:标准表、哈希表、排序表。 2、可以使用的内表数据类型:structure、数据库表...

cherryfef的博客 2324

一生一芯——用RTL实现最简单的处理器NPC(南大数逻计组RV32ICPU) 代码及思考参考

本文介绍自己前期用Verilog编写的基于RV32I指令集的CPU,个人认为是最简单最易懂的版本(即没做什么优化,即代码很水,没有考虑一些奇怪的情况,只适用简单指令序列,即题目所示最简单的处理器),适合新手练手Verilog以及了解简单CPU的运行过程。本文基于一生一芯,利用Verilator进行仿真,并用gtkwave查看波形,不了解verilator和gtkwave的可以看前几篇文章。

long0_o的博客 3307

ICT调试技巧:从基础到实战的全面指南

本文提供了一份全面的ICT调试技巧指南,涵盖从基础认知到实战应用的全过程。详细解析了ICT设备硬件结构、程序文件构成,并重点讲解了调试界面的核心参数与高效快捷键。通过跳线、电阻、电容及二极管等常见元器件的实战调试案例,分享了参数设置要点与典型问题解决方案,帮助工程师快速掌握ICT调试核心技能,提升测试效率与准确性。

weixin_29202213的博客 341

sap --- ABAP 内表(internal table) 标题行(header line) 工作区(work area) 简介

刚开始学ABAP的时候,学到iternal table时,感觉一阵混乱. 搞不清楚什么是work area,什么是header line,以及occurs是干什么用的. 今天终于差不多搞明白了(我还是太弱啊...BS自己一下) 所以还是记录下来..省得自己以后再忘记... 先是用TYPES关键字定义一个行(row)的类型.如下: TYPES: BEGIN OF line,   fie

po908的专栏 1226

带你了解如何分析Jmeter监听器常用图表并定位瓶颈

1.1 Jmeter监听器常用图表 目录 1.1 Jmeter监听器常用图表 1.1-1 查看结果树 1.1-2 汇总报告 1.1-3 集合报告 1.1-4 综合图 1.1-5 断言结果 1.1-6 图形结果 1.1-7 响应时间图 1.2 Jmeter性能瓶颈定位 1.2-1 性能瓶颈产生的原因 1.2-2 性能瓶颈的解决方法 1.2-3 性能瓶颈如何定位 1.1-1 查看结果树 查看结果树:调试利器。可以查看每个请求具体的详情,方便进行测试的比对。有点类似我...

weixin_49029722的博客 4450

SAP ABAP BDC 录屏开发

SAP ABAP BDC 录屏开发

Li958172829的博客 3340

OsgEarth实战:飞机模型动态轨迹与雷达扫描效果实现详解

本文详细介绍了如何使用OsgEarth实现飞机模型动态轨迹与雷达扫描效果。通过实战案例,讲解了模型加载、路径规划、动态轨迹绘制、飞行姿态计算以及雷达扫描效果的实现方法,并提供了性能优化技巧,帮助开发者高效完成三维可视化项目开发。

weixin_29214199的博客 303

Android Camera MTK框架

Camera简介: 虽然前文说道Android在5.0之后就推出了Camera2 API,但是各个厂家的基本未适配,导致目前市场上大部分机型使用的仍然是Camera1 API。PS:Android 9.0 Google强制要求各个平台厂商(高通/MTK/华为等)支持Camera2,不再兼容Camera1。 ...

weixin_49303682的博客 5506

ABAP 内表(internal table) 标题行(header line) 工作区(work area) 简介 - [SAP]

  刚开始学ABAP的时候,学到iternal table时,感觉一阵混乱.搞不清楚什么是work area,什么是header line,以及occurs是干什么用的.今天终于差不多搞明白了(我还是太弱啊...BS自己一下)所以还是记录下来..省得自己以后再忘记... 先是用TYPES关键字定义一个行(row)的类型.如下:TYPES: BEGIN OF line,  field1 TYPE...

weixin_34246551的博客 123

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SAP DY-02

SAP DY-02 数据库 SE16 可以查看数据库相关的东西。设置中有个用户参数,可以选择查看数据库表的显示的方式。如视图格式,显示字段名还是字段文本。 SE11中我们可以自建表。字段类型可以属于一个字段域的。双击可以看到一些具体的属性。可以尝试自建表,自定义字段类型,自定义域。对于数量型(货币型)的字段类型,必须有有一个参考表和一个参考字段。一般选择一个主数据透明表。 视图可以在其中...

杉木卓卓的博客 391

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SAP

SAP 内表2008-11-27 22:531.内表的声明 Internal Table 的宣告 ABAP/4的 Internal Table 如同其它语言的数组结构, 在操作上可以有复制,删除,新增插入等功 能. 1.使用 TYPE 叙述 语法: TYPES OCCURS 宣告一个数组 ,...

sqn1984的博客 241
上一篇: 自然语言处理中的 Attention Model
下一篇: ABAP debug 方法.
Footloose_
博客等级 码龄10年 254粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值