ABAP 简介:数据类型, Opera教程和编辑器

什么是ABAP?
ABAP 代表高级业务应用程序编程。它是一种用于开发的编程语言。ping 申请 SAP R/3 系统。
ABAP 的最新版本称为 ABAP Objects,它支持面向对象的编程。 SAP 将运行使用 ABAP/4(早期 ABAP 版本)以及使用 ABAP 对象编写的应用程序。
本介绍并非旨在记录所有内容。 ABAP 语言 本书结构严谨,快速引入关键概念,让您能够开始编写可运行的程序,然后逐步学习更高级的主题。
数据类型
每个 ABAP 程序都以声明它将要处理的数据开始。
在 ABAP 中声明变量的语法 –
DATA Variable_Name TYPE Variable_Type.
计费示例:
DATA employee_number TYPE I.
以下是 ABAP 支持的数据类型列表。
| 数据类型 | 初始字段长度 | 有效字段长度 | 初始值 | 意 |
|---|---|---|---|---|
| 数字类型 | ||||
| I | 4 | 4 | 0 | 整数(整数) |
| F | 8 | 8 | 0 | 浮点数 |
| P | 8 | 1 - 16 | 0 | 包装数量 |
| 字符类型 | ||||
| C | 1 | 1 - 65535 | “……” | 文本字段(字母数字字符) |
| D | 8 | 8 | “00000000” | 日期字段(格式:YYYYMMDD) |
| N | 1 | 1 - 65535 | “0…0” | 数字文本字段(数字字符) |
| T | 6 | 6 | “000000” | 时间字段(格式:HHMMSS) |
| 十六进制类型 | ||||
| X | 1 | 1 - 65535 | X'0 … 0′ | 十六进制字段 |
以上八种类型是经典的定长类型。ABAP 还提供了两种可变长度类型,初学者几乎很快就会接触到它们: STRING 对于任何长度的文本,以及 XSTRING 适用于任意长度的二进制数据。
ABAP Opera职权范围
数据声明完毕后,运算符就会对其进行修改和比较。
赋值
a = 16. MOVE 16 TO a. WRITE a TO b.
这三个语句都用于移动值。等号是现代形式,而 MOVE 和 WRITE TO 是较旧的等效语句,您仍然会在旧程序中遇到它们。
算术运算
COMPUTE a = a * 100.
ABAP 还支持 ADD、SUB 指令。TRACT、MULTIPLY 和 DIVIDE 可以作为独立的关键字,但上面显示的 COMPUTE 形式是最常用的。
逻辑运算符
逻辑运算符返回真或假,下一节中的每个控制语句都会测试它们。每个逻辑运算符都有文字形式和符号形式,两者可以互换使用。
| 词形 | 符号形式 | 意 |
|---|---|---|
EQ |
= |
等于 |
NE |
<> |
不等于 |
GT |
> |
比...更棒 |
GE |
>= |
大于或等于 |
LT |
< |
Less 比 |
LE |
<= |
Less 大于或等于 |
控制声明
控制语句使用上述逻辑运算符来决定运行哪些代码行以及运行频率。
如果……结束如果
IF [NOT] exp [ AND / OR [NOT] exp ]. ........ [ELSEIF exp. .......] [ELSE. .......] ENDIF.
案例陈述
CASE variable. WHEN value1. ......... WHEN value2. ......... [WHEN OTHERS. .........] ENDCASE.
WHILE 循环
WHILE <logical expression>. ..... ENDWHILE.
DO循环
DO <n> TIMES. ..... ENDDO.
WHILE 循环会一直运行,直到条件成立为止。DO 循环会运行固定次数,或者无限循环,直到 EXIT 语句终止它。
ABAP 中的内部表
单个变量通常不够用。业务程序一次读取多行数据,而内部表就是将这些数据存储在内存中的结构。
内部表是一种动态数组。它没有固定的大小,只在程序运行期间存在,它是数据库和屏幕之间移动行的标准方法。
" Declare an internal table and a work area DATA: lt_employees TYPE TABLE OF pa0001, ls_employee TYPE pa0001. " Fill it from the database SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS. " Read it row by row LOOP AT lt_employees INTO ls_employee. WRITE: / ls_employee-pernr, ls_employee-ename. ENDLOOP.
以上三个操作涵盖了大部分日常工作:声明表,使用 SELECT 语句填充表,然后使用 LOOP AT 语句遍历表。APPEND 语句添加一行,READ TABLE 语句查找一行,DELETE 语句删除符合条件的行。
ABAP/4 编辑器
以上所有语法都输入在同一个地方。
交易 SE38 打开 ABAP 编辑器,作为开发人员,您将在这里花费大部分时间创建和修改程序。
ABAP/4 编辑器,事务代码 SE38
如何编写你的第一个 ABAP 程序
以上屏幕将显示以下步骤。按照以下步骤操作,几分钟内即可生成一份工作报告。
- 打开编辑器。 输入交易代码 SE38 ,在 SAP 在图形用户界面命令字段中按回车键。
- 请说出程序名称。 输入一个以……开头的名称 Z or Y, 例如
ZHELLO_WORLD这两个字母是客户命名空间, SAP 保证升级过程中绝不会覆盖这些文件。 - 创建它。 点击 创建输入简短描述,然后选择 可执行程序 作为类型。
- 分配一个包裹。 选择 本地对象 用于练习。本地对象会保留在您的系统中,无需传输请求。
- 编写代码。
REPORT zhello_world. DATA employee_name TYPE string. employee_name = 'Guru99'. WRITE: / 'Hello, ABAP!', / 'Welcome', employee_name.
- 检查语法。 媒体中心 Ctrl + F2键状态栏会报告任何错误以及导致错误的那一行代码。
- 激活程序。 媒体中心 Ctrl + F3键不活动的程序无法运行。
- 执行。 媒体中心 F8输出列表打开并显示两条 WRITE 行。
WRITE 语句中的斜杠会强制换行。去掉斜杠会将所有内容打印在一行上,这是大多数初学者最先养成的格式化习惯。
常用 ABAP 事务 Codes
几个简单的事务代码几乎就能满足新手 ABAP 开发人员的所有需求。
| 交易 | 目的 |
|---|---|
SE38 |
ABAP编辑器。创建、编辑、检查和运行程序。 |
SE80 |
对象导航器。一个用于管理程序、类、包和屏幕的统一工作台。 |
SE11 |
ABAP 字典。定义和检查数据库表、数据元素和域。 |
SE16N |
数据浏览器。无需编写 SELECT 语句即可查看任何表的内容。 |
SE37 |
函数构建器。创建和测试函数模块。 |
SE24 |
类生成器。为 ABAP 对象创建全局类。 |
ST22 |
转储分析。读取程序终止时的运行时错误。 |
SE38 和 SE11 足以生成一份初步报告。一旦程序崩溃,ST22 就成为这组报告中最有价值的。

