首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每日5分钟,学习一个 ABAP 冷门知识点 (1):到底哪些单词不能作为 ABAP 透明表名称使用?

目前笔者大部分时间,都投入了日常开发工作的 Angular 技术研究中。

剩下的业余时间,主要花费在笔者下面五套 SAP 开发技术教程的持续更新上:

SAP ABAP 开发教程

SAP UI5 开发教程

SAP OData 开发教程

SAP Fiori Elements 开发教程

SAP CDS View 开发教程

从今天起笔者新起一个日更栏目,主要分享一些不为大众所知的 ABAP 冷门知识点,每个知识点五分钟即可浏览完毕。

知识点分享主要发布在笔者的知识星球,不定期也会同步到这个公众号上。

本栏目第一个知识点分享:到底哪些单词不能作为 ABAP 透明表名称使用?

在 SE11 事务码里试图创建一张名叫 ABSOLUTE 的透明表。

遇到错误消息:ABSOLUTE is a reserved word.

ABSOLUTE 单词是保留字,让我们换一个名称。

保留字是我们在大学学习《编程语言与程序设计》专业课上学到的一个概念。

编程语言把一组字面量标记为 reserved word,这些字面量拥有不可变更的内部含义,程序员不得把它们当作自定义标识符使用。这样做能消除解析歧义,提高编译器词法与语法分析的确定性。

在许多教程与文献里,reserved word 与 keyword 被混用,但二者并非严格等价。

在语言标准层面,keyword 集合是 reserved word 的集合真子集,即前者包含于后者。

差异体现在两个方面:

时间维度:保留字可能是未来关键字的候选之一。比如 ECMAScript 把 enum、implements 等单词提前锁定,避免后来引入新特性时造成代码冲突。

上下文维度:有的单词只在特定编译模式或作用域内成为保留字。例如 JavaScript 编程里的 await,仅在严格模式或模块顶层被视作保留字。

那回到 ABAP 世界,SE11 里创建 ABAP 透明表时,到底哪些名称不能使用呢?

查表 TRESE 即可。T 代表 Terminology,RESE 即 Reserved 的缩写。

第一列 NAME 列出了保留字的名称,第二列 SOURCEHINT 意思是该保留字在哪些数据库管理系统里引入。

ABAP 透明表这个术语本身的字面含义,就反映了其关键特性:在应用层和数据库层面表的结构是完全一致的。

这意味着,透明表在 ABAP 数据字典即 SE11 事务码中的定义,与应用服务器连接的数据库中表的实际物理结构相同。透明表通过 SAP 系统与应用程序逻辑紧密集成。

在 SAP 系统中,透明表具有以下特点:

1. 每个透明表都有一个唯一的名称和定义,与数据库中的物理表一一对应。透明表的字段在数据字典中定义,并映射到实际的数据库字段。这就是即便在 ABAP 应用层创建透明表的同时,也要遵循底层数据库管理系统引入的保留字限制的原因所在。

2. 可以通过 ABAP OPEN SQL 语句查询或修改透明表中的数据。

什么?你问我怎么知道这个表的名称的?

点上图这个 View details 超链接即可。

关注笔者的 SAP 开发知识星球,每日分享一个不为大众所知的 ABAP 冷门知识点:

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OQepFeecsZbEBIBgyu4JbH6Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券