1. 包/开发类
开发类(Development Class——Package)
存储所有SAP系统开发过程中的相关对象(程序、类、表结构定义、系统数据类型等),方便进行管理和查询。
通过开发类方便地实现其所包含的对象在不同服务器的批量传输。传输是通过请求号,请求号是文件,用于记录所有对象的修改记录。
不属于任何开发类的对象,可分配给本地开发类 $TMP,该类中的对象不能进行系统间传输,主要用于测试。
2. SE21 创建包
包的属性
新建请求
SE09查看请求
3. SE38 程序创建
一般命名规则
ABAP 命名规则必须符合下列几条。
-
命名简易,快捷,唯一性
-
符合SAP客户化命名规划,一般以“Z”或“Y”开头
-
尽可能短
-
提供有意义的命名,可将中文翻译为英文,取英文开头
-
尽量少用特殊字符,'_'除外。
-
如果是复制SAP标准的对象或程序等,请在前面加”Z_XXXXX”。
程序属性
Executable Program(Type E——可执行程序)
- 可以通过ABAP EDITOR直接运行
- 一个processing blocks set按照预先定义好的顺序执行
- 可以使用标准的SELECTION SCREEN
- 主要用来显示LIST
Module Pool(Type M——模块池)
- 执行Module Pool必须至少定义一个Tcode用来指定initial screen
- 可以通过screen attributes来静态指定screen的调用顺序,或者通过程序代码来动态指定screen的调用顺序
- 一些类型的程序并不能够被直接执行,它们用来作为modularization units的容器,被其他可执行程序调用。
- 只要调用这些程序中的任一module,系统都会把整个主程序调用到当前的internal session中。
Function Group(Type F——函数组)
- 包括function modules,local data declarations和screens
Include Program(Type I——Include程序)
- 可以包括任何ABAP Statements
Interface Pool (Type J——接口池)
- 包括global interfaces和local data declarations
Class Pool(Type K——类别池)
- 包括global classes和local data declarations
4. SE11 数据字典
ABAP 数据字典是定义和管理数据元素及数据库元素的中心工具,系统的所有全局数据类型以及数据库表结构等都需要在数据字典中创建和维护。数据字典保证了数据的完整性,一致性,安全性。
数据字典的功能
- 定义系统全局数据类型(基本类型、结构,表结构等)
- 定义数据库对象结构(数据库表、视图)
- 屏幕字段的格式化
- 定义搜索帮助
- 定义锁对象
数据字典的对象
ABAP 字典中的基本对象为:表、视图、数据类型、域,搜索帮助和锁对象。
-
数据库表(Database Table)是数据库中实际存放数据的地方,在数据字典里定义的是表的结构,由行(记录)和列(字段)组成。表中的列通过数据元素来定义。透明表、存储表、簇表。
-
视图(View)是一个或者多个数据库表的逻辑表现形式,它本身不存储数据。视图有4种类型:
- 数据库视图(Database view) :对一张或者多张表按照连接条件和选择条件筛选后的数据显示的视图。连接条件自己定义,连接条件是inner join。一张表的视图可以维护数据,维护了视图之后,表的数据也改变。 多张表的视图只能显示。
- 投影视图(Projection view):数据来自一张表,用于屏蔽一些字段(一般用于保护数据时使用)。
- 维护视图(Maintenance view):允许你进行对几个表的数据进行修改,参与连接的表必须存在外键,他们的连接条件是不能自定义的。要维护和显示数必须要生成表格维护对话框(在“表格维护生成器”中维护),所有主键要在视图的字段里。
- 帮助视图(Help view):该类视图可以用搜索帮助的“selection method”中使用,参与连接表必须存在外键。
-
数据类型(Data Type)是数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。在SAP中,数据类型有3种:
- 数据元素(Data element):最基本的数据单位,没有结构,定义了数据的描述,数据类型和长度等其他特征。
- 结构(Structure):由数据元素或者其他的数据类型组成的一个特定结构。
- 表类型(Table type):table类型的数据元素,可存放多行数据。
-
类型组(Data Group)是一个定义了多个数据类型的程序。类型组里的数据类型通过在 ABAP 程序开始声明 TYPE-POOL 后使用。
-
域(Domain)指定了列的属性及允许的值。它通过数据元素和表的列相联系,不能直接把域用于定义表的列。这是 SAP 和其它系统的重要区别,在其它系统中,表的列会直接通过数据类型(字符、数字等)和长度来定义。
-
搜索帮助(Search Help)是非常有用的一个功能,可以提高用户友好性和程序的多样性,可用于自建表或者数据元素。
-
锁对象是对数据的访问进行并发的控制。加锁就是将用户正在访问的数据存在内存中的 LOCK TABLE 里,解锁了就释放数据。创建锁对象会自动生成两个函数,一个加锁,一个解锁,在程序里通过函数调用来对数据进行控制。锁对象要以 E 打头。
5. 创建数据库表
学生信息表ZTSTU_INFO,透明表以 ZT 开头
使用数据元素,以 ZE 开头
基本类型可使用预定义类型
或者域,域可以选择值范围,以 ZD 开头
常用 T-CODE
T-CODE | 描述 | 说明 |
---|---|---|
SE80 | 对象导航器 | 集合了所有与 ABAP 开发相关的工作区 |
SE38 | ABAP 编辑器 | 创建/修改/查询 ABAP 程序的开发工具 |
SE37 | 函数编辑器 | 创建/修改/查询函数的开发工具 |
SE11 | ABAP 数据字典 | 创建如数据表,试图,结构体等对象的开发工具 |
SE16 | 数据库数据编辑器 | 创建/修改/查询数据库表数据的开发工具 |
SE93 | 维护事务码 | 创建/修改/查询事务码的开发工具 |
SE43 | 维护局部菜单 | 创建/修改/查询SAP 菜单的开发工具 |
SE21 | 包编辑器 | 创建/修改/查询包的开发工具 |
SE24 | 类编辑器 | 创建/修改/查询类的开发工具 |
SE09 | 传输组织 | 释放/创建/修改 CTS(变更传输系统)的开发工具 |