SAP中有三种数据,
1,系统数据
2,配置数据(Customizing Data)
3,应用数据(Application Data)
1,系统数据
ABAP数据字典,程序集(Program Library),类的集合(Class Library)等。
系统数据保存在系统表中。
1),ABAP数据字典
1)-1,SE11 ABAP数据字典
就是像这种在工具下的各个画面。
比如这里的SE11, 点开之后,输入表名。比如这里的EKKO,然后点照会。
这就是表定义。点 技术设定前面的那个 内容 图标,就能显示里面的数据。
点完 内容 图标,显示检索画面,输入条件,比如购买票,然后检索。
查询结果上选一条,然后点菜单栏图标做相应操作,比如下面这个就显示详细。
1)-2,SAP系统使用了那种数据库
从菜单 系统 > 状态
比如我这个练习机,使用的是DB6。其他常用的比如Oracle,SqlServer等。现在最新的HANA版本的话,使用的是SAP自己的DB HANA。
比如下面这样的,这是另一个练习机,DB是HDB,就是SAP自己的HANA DB。
1)-3,SAP中的表是如何定义的
尽管SAP后台使用各种各样的数据库,然是展现给用户的都是一样的。各种DB之间的差异用户是感觉不到的。
当想自定义一个表的时候,也是通过SE11,在界面进行定义的。
那么SE11中是如何自定义一个表的呢?下面学习一些概念及设计理由。
A),数据元素(Data Element)
定义表的时候,不是完全像普通定义数据库表一样,不仅有 表名,字段名,字段类型,长度,说明,还有一个 数据元素的概念。
双击数据元素,进入数据元素画面。像下面这样。除了域名,说明,这里面还有一个 域(Domain)的概念。
B),域(Domain)
双击 域 ,进入 域 的详细页面。这里才是像普通定义数据库字段一样,定义 类型,长度 等信息。
C),那么为啥要这么设计呢?
SAP中定义表的时候,要定义 域,数据元素,表 这三层结构。
数据元素 中定义 业务层面的东西。比如项目标签,
域 中定义技术层面的东西。比如类型啦,位数啦。
在每层中可以添加一些特殊的功能。
比如数据元素层中,还可以定义 项目标签(Field Label)。
这都有什么用呢?比如说,在各种不同场景中,比如报表中,如果页面空间比较宽裕,那就用中或长的,像下面的15个字符,显示中或长的标签;比如表头或什么地方,空间比较狭窄,那就用4个字符,只显示定义好的那几个字符(比如 会社)。
再比如,数据元素层中,定义这个检索Help功能。
双击名称(C_T001)
然后点测试 图标,就能看到画面中显示Help时候的模样。
D),像上面的元素,域等,这些定义出来的东西都放在哪里了?
也是放在数据库表里了。比如 DD04L 里面,存放数据元素。
可以看到所有上面咱们看到的定义,都保存在数据库中。
E),如何区分一个表里面存放的是不是系统表呢?
就是通过像下面这样 出荷类别。
比如这个 数据元素 表DD04L,出荷类别是 W,是可更新系统表。
其他的,A 表示应用数据表,C 表示配置数据表等。
2),程序集(Program Library)
结论就是说,像程序集 这种东西,也像上面的数据元素 表DD04L一样,放在系统表中。
2)-1,SE38 ABAP Editor
这里面Program栏目输入什么好呢?
比如咱们打开一个画面,购买发注 ME23N。
打开 菜单栏 > 状态
这个 SAPLMEGUI 就是程序名称。把这个放到SE38里面,即可打开代码。
2,配置数据(Customizing Data)
企业构造,各种标准功能的控制参数等。
配置数据保存在配置表中。
好像内容还蛮多的,放在下次博文中。
3,应用数据(Application Data)
各种主数据(Mater data),事务处理数据(Transaction data)。
事务数据保存在应用表中。
好像内容还蛮多的,放在下次博文中。
有什么问题,欢迎大家评论。