科莱特SAP ABAP干货 | 基础篇:二、数据字典(1)
moboyou 2025-04-11 16:18 14 浏览
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)
相关推荐
- 黄道十二宫杀手密码51年后被破解,来自两位程序员和数学家合作
-
杨净边策发自凹非寺量子位报道|公众号QbitAI黄道十二宫杀手(ZodiacKiller)可能是世界上最知名的高智商连环杀手,52年来从未被抓获。他的事迹已被改编成了多部好莱坞电影。△...
- 深入剖析MediaCodec解码器的基本原理及使用「建议新手收藏」
-
一,MediaCodec工作原理MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMu...
- Retrofit WebService 实践
-
前言作为Android开发,平时和后端聊得最多的除了喝酒就是接口。常用语:Restful和WebService,前者现在聊得多,后者以前聊得多。默认含义分别为:Restful:HTTP协议...
- 建议收藏!175部4K UHD版本经典高分电影洗版参考目录(2015之前)
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:1L789近两年很多经典高分老电影陆续开始重制成4KUHD版本,虽然我早已将这些电影的BD蓝光版收入,但纠结一番后还是花了不少时间将其全部...
- 2 个月的面试亲身经历告诉大家,如何进入 BAT 等大厂?
-
这篇文章主要是从项目来讲的,所以,从以下几个方面展开。怎么介绍项目?怎么介绍项目难点与亮点?你负责的模块?怎么让面试官满意?怎么介绍项目?我在刚刚开始面试的时候,也遇到了这个问题,也是我第一个思考的问...
- 详解Android官推Kotlin-First的图片加载库
-
前言Coil是一个非常年轻的图片加载库,在2020年10月22日才发布了1.0.0版本,但却受到了Android官方的推广,在AndroidDevelopersBackst...
- webview 渲染机制:硬件加速方式渲染的Android Web
-
webview渲染是什么?webview渲染是用于展现web页面的控件;webview可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于webview模式进行二次开发的w...
- 因为我对Handler的了解,居然直接给我加了5K
-
1Handler是什么?android提供的线程切换工具类。主要的作用是通过handler实现从子线程切换回主线程进行ui刷新操作。1.1为什么Handler能实现线程切换?在创建Handler的...
- 「经典总结」一个View,从无到有会走的三个流程,你知道吗?
-
前言一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程我们都知道Android视图是由一层一层构成的层级结构,直白点说,就是父View包含子View而子V...
- 这些垃圾代码是谁写的?哦,原来小丑竟是我自己
-
程序员是最喜欢自嘲、自黑的群体之一,比如他们常常称自己是“码农”、“程序猿”,再比如他们的工作明明是写代码、修Bug,也有人调侃说:“明明我们是修代码、写Bug!”本文整理了一些程序员“修代码、写...
- 手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇
-
/1前言/平时我们要下载图片,要要一个一个点击下载是不是觉得很麻烦?那有没有更加简便的方法呢?答案是肯定的,这里我们以天堂网为例,批量下载天堂网的图片。/2项目准备工作/首先我们第一步我们要安装...
- 音视频开发需要你懂得 ffmpeg 开源库的编码原理
-
引言音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,startcode以及基本的工作原理,...
- 「8年老 Android 开发」最全最新 Android 面试题系列全家桶(带答案)
-
下面跟大家分享的这些面试题都是互联网大厂真实流出的面试内容,每个问题都附带完整详细的答案,不像网上的那些资料三教九流有的甚至还没答案,这些面试题我也是经过日积月累才整理出来的精品资料。这些面试题主要是...
- 手把手教你爬取天堂网1920*1080大图片(批量下载)——实战篇
-
/1前言/上篇文章手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇我们谈及了天堂网站图片抓取的理论,这篇文章将针对上篇文章的未尽事宜进行完善,完成图片的批量抓取。/2图片网址解...
- PHP 8.1.9 更新发布
-
CLI:修复了内置服务器通过PHP_CLI_server_WORKERS环境变量的潜在溢出。修正了GH-8952(不再可能有意关闭std句柄)。Core:修复了GH-8923的错误(Windows上的...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)