百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

科莱特SAP ABAP干货 | 基础篇:二、数据字典(1)

ccwgpt 2025-03-11 13:56 57 浏览 0 评论

ABAP开发基础及应用

二、数据字典(1)




目标及说明

目标:

1、掌握SAP数据字典各种对象的定义和使用

2、能根据业务数据要求,建立存储数据用的表和视图


需求说明:

1、在SAP中自建程序,以对一企业(自由行集团)的销售业务进行管理;

2、本实践不对程序需求分析的过程进行说明,而仅对程序分析后所确定需要的数据表后,在系统中进行建立;

3、所需建立的表包括有客户表、雇员表、物料表、销售订单抬头表、销售订单明细表;

4、本实践建立完成的表和输入的数据,将在后续的实践中使用。


实践2-根据销售业务建立表及视图


需求分析:

1、数据字典说明

01

任何应用程序,复杂如SAP,简单如一个跑步APP,数据处理是其核心和目的。而数据处理后一般是需要存储的,不同类型程序会考虑不同的存储方式,像我们常用的Word是用一个编译后的格式化文档存储于硬盘;还有记事本则是以明文的方式存储于硬盘;手机上的APP会用其专门的记录格式存储于内存卡;而像SAP这样的系统,其数据则是存储于数据库的表中。

02

如果是采用其他语言开发软件,在确定关系模型后,将会通过SQL脚本语言或通过数据库的工具在数据库服务器中建立相应的表。而由于不同数据库系统是存在差异的,如Oracle中有Long类型可以存储最多达2G的一个记录,SQLServer中则无类型;在Oracle中要获得当前日期要通过dual,如select sysdate as now from dual,而SQLServer则无需通过此dual。总的来说,在不同的数据库系统中定义表时需要注意其差异。

03

SAP系统中所包含的集成开发工具,除能够在其中建立编写代码、程序调试等各种开发工作外,包括表的建立等,提供了数据字典这个强大的工具,使用此工具后,只需要关注业务需求,关注业务所需要的表、表中所需要的字段、表之间的关系等,而无需关心系统所使用的数据库系统是Oracle还是Sqlserver还是DB2。

04

在数据字典中建立表,可像SQLServer或Oracle一样简单,只需要指定表名、只需要建立所需要的字段、字段类型、长度、关键字段等即可;而数据字典还提供了非常多的工具,包括域、数据元素、结构类型、表类型、搜索帮助、锁等,以能更好的帮助表的管理和维护,如通过域对输入的值进行限制(如性别只能为男或女),如通过数据元素统一相同列在不同表中的类型(如此不会出现销售订单中雇员编号的长度为10,而在雇员表中长度却为8的情况)。


2、业务说明

① 后续的实践会完成销售管理的开发,包括对雇员、物料、客户的信息进行记录,包括对每一个销售订单进行记录等;

② 由此每一笔订单都能通过所开发的程序进行记录、查询及输出,如图2-1所示。

3、表及关系

① 经过对程序的业务分析,确定所需建立的表、表字段及表之间的关系如图2-2所示,图中的类型是SAP的类型,如CHAR为字符型,CURR为含金额单位的数字类型,QUAN为含计量单位的数字类型等。

② 如前所述,可以直接按上图建立表建立字段并制定类型,但如此虽然简单,但非常容易出现在不同表中类型不一致的情况以及其他问题,因此将会引入数据字典中域、数据元素以帮助定义。


4、域及数据元素和表的确定

① 域、数据元素都是为了帮助对表的定义的,要确定建立哪些域、哪些数据元素,可以有很多种方法或思路,如根据经验,如根据数据列表等,并无统一和严格的限制,当然定义的好坏也会影响到之后程序的编写和维护。

② 如下为确定要建立的域和数据元素的思路,使用Excel对字段进行记录,并按如下过程整理数据。

图2-3所示为按如上思路整理的Excel数据,其中绿色底色的表示使用系统交付的数据元素和域名,灰色底色的则表示与上一个记录相同。


5、搜索帮助及其它

① 为帮助后续数据的录入,如录入订单时能选择客户、物料、雇员等的代号,则建立搜索帮助;

② 为方便数据的维护,对表建立维护视图;

③ 为了能查看到订单的抬头及明细信息(能知道一个订单是哪个客户下的,买的什么物料,数量是多少),则将订单抬头表和明细表放在一起创建视图。

今天的内容就先分享到这儿啦!记得认真学习做笔记哦,我们下期再见~

下期内容预告:

二、数据字典(2)

相关推荐

VUE3前端开发入门系列教程二:使用iView框架辅助开发

1、安装iView新框架,支持VUE3npminstallview-ui-plus2、编辑src/main.js,添加以下内容,导入js和css到项目importViewUIPlusfrom...

万能前端框架uni app初探03:底部导航开发

前言本节我们使用uniapp的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的。一、基础知识1.tabBar如果应用是一个多tab应用,可以通过tabBar配...

Rust Web 开发框架,前端你可以选择哪个?

Rust构建一切。在如今流行的语言中,Rust可谓是将构建和高效作为自己优美的身姿在大众视野中脱颖而出。它是一门赋予每个人构建可靠且高效软件能力的语言。它有什么特性呢?高性能。Rust速度惊人且内...

连载:前端开发中纠结的Javascript框架(上)

如今,前端开发有着许许多多的框架和库。其中一些好用,一些却不尽人意。通常我们会习惯性运用某一概念,模块或句法。事实上,并没有什么万能工具。这篇文章是关于未来框架的发展趋势——那就是没有框架!我从以下几...

前端开发框架的演进架构:提升用户体验和开发效率

前端开发框架是现代Web应用开发的重要工具,它不仅可以帮助开发者构建复杂的用户界面,还能够提升用户体验和开发效率。随着Web技术的不断发展,前端开发框架也在不断演进,为开发者提供了更丰富、更高效的工具...

Google应用Mesh-TensorFlow框架,让CNN也能处理超高分辨率图像

为了要处理超高分辨率医疗图像数据,Google开发了一种空间数据分区(SpatialPartition)技术,在不牺牲图像分辨率的条件下,分析超高分辨率图像。Google使用Mesh-TensorF...

大模型安全挑战加剧:框架层漏洞成新靶心

近日,360数字安全集团发布了一份关于大模型安全漏洞的报告,揭示了当前大模型及围绕其构建的框架和应用中存在的严重安全问题。报告显示,360近期研究发现了近40个大模型相关的安全漏洞,其中既包括二进制内...

Keras 3.0正式发布:可用于TensorFlow、JAX和PyTorch

机器之心报道编辑:陈萍经过5个月的更新迭代,Keras3.0终于来了。「大新闻:我们刚刚发布了Keras3.0版本!」Keras之父FrancoisChollet在X上激动的...

TensorFlow和Keras入门必读教程(tensorflow与keras版本对应)

导读:本文对TensorFlow的框架和基本示例进行简要介绍。作者:本杰明·普朗什(BenjaminPlanche)艾略特·安德烈斯(EliotAndres)来源:华章科技01TensorFlo...

谷歌官方回应“TensorFlow遭弃”:还在投资开发,将与JAX并肩作战

鱼羊发自凹非寺量子位|公众号QbitAI终于,谷歌出面回应“TensorFlow遭弃”传闻:我们将继续致力于将TensorFlow打造为一流机器学习平台,与JAX并肩推动机器学习研究。这段时...

2025 年的PHP :现代 Web 开发的强大引擎

程序员还在吐槽PHP过时?2025年的PHP8.4直接封神了。看看最近更新的属性钩子、强类型系统,加上Laravel这些框架,老语言早就脱胎换骨。十年前说PHP弱类型容易崩代码的,现在脸疼不?联合类...

前端内卷终结者?htmx如何让开发者告别200行JS只做一个按钮

当你用React写一个点赞按钮需要引入3个状态管理库、编写80行JSX和120行钩子函数时,htmx只需要一行HTML:<buttonhx-post="/like"hx-sw...

NativePHP桌面版V1.0正式发布(元气桌面电脑版下载)

导读:各位小伙伴,使用PHP构建桌面级系统的利器,NativePHP来了。概述NativePHP是一个用于使用PHP构建桌面应用的框架。它允许PHP开发人员使用熟悉的工具和技术创建跨平台的原生应用...

PHP Laravel框架底层机制(php基本框架)

当然可以,Laravel是最受欢迎的PHP框架之一,以优雅的语法和丰富的生态而闻名。尽管开发体验非常“高端”,它的底层其实是由一系列结构清晰、职责分明的组件构成的。下面我从整体架构、核心流程、...

PHP框架之Laravel框架教程:2. 控制器、路由、视图简单介绍

2.控制器、路由、视图简单介绍我们先建立控制器,目录是:app/Http/Controllers,新建控制器Ding.php,代码如下:Ding.php:<?phpnamespaceA...

取消回复欢迎 发表评论: