目标及说明
目标:
- 掌握SAP数据字典各种对象的定义和使用
- 能根据业务数据要求,建立存储数据用的表和视图
需求说明:
- 在SAP中自建程序,以对一企业(自由行集团)的销售业务进行管理;
- 本实践不对程序需求分析的过程进行说明,而仅对程序分析后所确定需要的数据表后,在系统中进行建立;
- 所需建立的表包括有客户表、雇员表、物料表、销售订单抬头表、销售订单明细表;
- 本实践建立完成的表和输入的数据,将在后续的实践中使用。
开发实践
需求分析:
1、数据字典说明
- 任何应用程序,复杂如SAP,简单如一个跑步APP,数据处理是其核心和目的。而数据处理后一般是需要存储的,不同类型程序会考虑不同的存储方式,像我们常用的Word是用一个编译后的格式化文档存储于硬盘;还有记事本则是以明文的方式存储于硬盘;手机上的APP会用其专门的记录格式存储于内存卡;而像SAP这样的系统,其数据则是存储于数据库的表中。
- 如果是采用其他语言开发软件,在确定关系模型后,将会通过SQL脚本语言或通过数据库的工具在数据库服务器中建立相应的表。而由于不同数据库系统是存在差异的,如Oracle中有Long类型可以存储最多达2G的一个记录,SQLServer中则无类型;在Oracle中要获得当前日期要通过dual,如select sysdate as now from dual,而SQLServer则无需通过此dual。总的来说,在不同的数据库系统中定义表时需要注意其差异。
- SAP系统中所包含的集成开发工具,除能够在其中建立编写代码、程序调试等各种开发工作外,包括表的建立等,提供了数据字典这个强大的工具,使用此工具后,只需要关注业务需求,关注业务所需要的表、表中所需要的字段、表之间的关系等,而无需关心系统所使用的数据库系统是Oracle还是Sqlserver还是DB2。
- 在数据字典中建立表,可像SQLServer或Oracle一样简单,只需要指定表名、只需要建立所需要的字段、字段类型、长度、关键字段等即可;而数据字典还提供了非常多的工具,包括域、数据元素、结构类型、表类型、搜索帮助、锁等,以能更好的帮助表的管理和维护,如通过域对输入的值进行限制(如性别只能为男或女),如通过数据元素统一相同列在不同表中的类型(如此不会出现销售订单中雇员编号的长度为10,而在雇员表中长度却为8的情况)。
2、业务说明
- 后续的实践会完成销售管理的开发,包括对雇员、物料、客户的信息进行记录,包括对每一个销售订单进行记录等;
- 由此每一笔订单都能通过所开发的程序进行记录、查询及输出,如图2-1所示。
3、表及关系
- 经过对程序的业务分析,确定所需建立的表、表字段及表之间的关系如图2-2所示,图中的类型是SAP的类型,如CHAR为字符型,CURR为含金额单位的数字类型,QUAN为含计量单位的数字类型等。
- 如前所述,可以直接按上图建立表建立字段并制定类型,但如此虽然简单,但非常容易出现在不同表中类型不一致的情况以及其他问题,因此将会引入数据字典中域、数据元素以帮助定义。
4、域及数据元素和表的确定
- 域、数据元素都是为了帮助对表的定义的,要确定建立哪些域、哪些数据元素,可以有很多种方法或思路,如根据经验,如根据数据列表等,并无统一和严格的限制,当然定义的好坏也会影响到之后程序的编写和维护。
- 如下为确定要建立的域和数据元素的思路,使用Excel对字段进行记录,并按如下过程整理数据
No | 过程 | 说明 |
---|---|---|
1 | 列出所有表中的字段 | 如后面的表中有重复的字段则去掉不列出,增加1列记录每一字段的序号以方便数据排序 |
2 | 按类型长度对字段进行排序 | |
3 | 确定要建立的数据元素 | 可考虑相同类型相同长度相同含义的字段,建立为相同的数据元素 |
4 | 确定要建立的域 | 可考虑相同类型相同长度相同要求的数据元素,建立为相同的域 |
图2-3所示为按如上思路整理的Excel数据,其中绿色底色的表示使用系统交付的数据元素和域名,灰色底色的则表示与上一个记录相同。
5、搜索帮助及其它
- 为帮助后续数据的录入,如录入订单时能选择客户、物料、雇员等的代号,则建立搜索帮助;
- 为方便数据的维护,对表建立维护视图;
- 为了能查看到订单的抬头及明细信息(能知道一个订单是哪个客户下的,买的什么物料,数量是多少),则将订单抬头表和明细表放在一起创建视图。
实践步骤:
No | 步骤 | 说明 | 事务代码 | 事务说明 |
---|---|---|---|---|
1 | 创建表 | 根据业务需求及分析,创建域、数据元素和表 | SE11 | 数据字典 |
2 | 录入主数据 | 将客户、雇员、物料的数据通过不同方式录入到对应表 | SE11,SE16N | 数据字典,表浏览 |
3 | 录入业务数据 | 使用搜索帮助和表视图技术,将销售订单、订单明细的数据录入到对应表 | SE11,SM30 | 数据字典,视图维护 |
4 | 创建视图 | 通过建立视图,将订单、订单明细数据、客户部分属性在同一个视图中显示。 | SE11 | 数据字典 |
如上内容可以都通过Tcode:SE80或SE11完成,其过程稍有差异但结果是相同的;而在本实践步骤详细中,则主要通过SE11完成不同的操作,完成后可以通过SE80进入ABAP工作台查看或维护。
TCode:se11
事务代码执行后,出现数据字典的初始界面如图2-4所示,在此界面中可以进行各种数据字典对象的维护。
(续-->2创建表)