ABAP编程基础:学习笔记与关键概念解析
需积分: 15 140 浏览量
更新于2024-07-29
收藏 268KB DOC 举报
"ABAP学习笔记"
ABAP(Advanced Business Application Programming)是SAP公司开发的一种编程语言,用于构建在SAP R/3和SAP NetWeaver平台上的业务应用程序。以下是一些基本的ABAP知识点,这些内容来源于学习笔记:
1. 引用类型:在ABAP中,你可以声明一个引用类型的数据对象,如`z_ref`,并创建其实例。例如,声明`myref`:
```abap
DATA myref TYPE z_ref.
CREATEDATA myref TYPE z_ref.
```
2. 内表与结构体:可以基于数据字典中的表类型创建内表对象或结构体。例如,声明一个内表`mytable`和一个结构体`myline`:
```abap
DATA mytable TYPE z_table. " 数据字典表类型的内表
myline TYPE LINE OF z_table. " 表类型的行结构,即结构体
```
3. 获取系统日期与时间:系统日期可通过`SY-DATUM`获取,系统时间通过`SY-UZEIT`获取。
4. 系统字段定位:`SY-FDPOS`字段提供了字符比较的结果,当比较为真时,它会给出偏移量信息。
5. `SY-FDPOS`字段:在处理字符串时,它提供字符的位置信息。
6. `SY-INDEX`字段:在循环语句中,它记录当前循环的次数。
7. `SY-TABIX`字段:在操作内表行之后,返回该行的索引。
8. 系统变量`SY-SUBRC`:如果操作成功,其值为0;否则,返回非0值,表示有错误发生。
9. 用户名:`SY-UNAME`字段可以获取当前执行程序的用户名称。
10. 屏幕序号:`SY-DYNNR`用于获取屏幕的序号。
11. OK代码:`SY-UCOMM`或`SYST-UCOMM`存储用户在屏幕上的OK代码或命令。
12. 屏幕组ID:`SY-DYNGR`用于识别屏幕组。
13. 常量声明:使用`CONSTANT`关键字声明常量,例如:
```abap
CONSTANT const LENGTH len TYPE type|LIKE dobj[DECIMALS dec][VALUE val].
```
14. 描述字段属性:使用`DESCRIBE FIELD`来获取字段的属性,如长度、类型等。
15. 数据赋值:使用`MOVE`或`=`运算符进行数据赋值:
```abap
MOVE source TO destination. 或 destination = source.
```
16. 清空数据:`CLEAR`关键字用于初始化或清空字段或变量,例如:
```abap
CLEAR f.
```
17. 检查字段是否为初始值:`IS INITIAL`可以用来检查字段是否为空:
```abap
f IS INITIAL.
```
18. 检查字段是否已分配:`IS ASSIGNED`检查字段是否已赋值:
```abap
f IS ASSIGNED.
```
19. 检查过程参数:`IS [SUPPLIED | REQUESTED]`用于检查过程参数是否已被传入或请求:
```abap
p IS SUPPLIED.
```
20. 范围检查:`BETWEEN`关键字用于检查数据对象是否在特定范围内:
```abap
f1 BETWEEN f2 AND f3.
```
21. 选择表条件:`IN SELECT-TABLE`检查数据对象是否符合选择表的逻辑条件:
```abap
f IN seltab.
```
22. 输出控制:`WRITE`语句用于屏幕输出,例如在指定位置输出变量:
```abap
WRITE: /10 g. " 在10个空格后输出变量g
(8) time USING EDITMASK '__:__:__'. " 保持8位长度输出time
```
23. 光标移动:在ABAP中,你可以通过编程控制屏幕光标的移动,但具体语法可能会根据不同的屏幕处理技术(如ALV或经典屏幕)有所不同。
以上内容只是ABAP编程的冰山一角,ABAP还包括更复杂的概念,如选择屏幕处理、数据库操作、OO编程、报表开发、Web服务等。学习ABAP需要不断地实践和探索,以掌握这个强大的企业级编程语言。
2019-09-26 上传
2020-01-03 上传
点击了解资源详情
点击了解资源详情
2011-04-08 上传
yuaj223
- 粉丝: 0
- 资源: 2
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南