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

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

ccwgpt 2025-03-11 13:56 50 浏览 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)

相关推荐

定时任务工具,《此刻我要...》软件体验

之前果核给大家介绍过一款小众但实用的软件——小说规则下载器,可以把网页里的小说章节按照规则下载到本地,非常适合喜欢阅读小说的朋友。有意思的是,软件作者当时看到果核写的体验内容后,给反推荐到他的帖子里去...

前端定时任务的神库:Node-cron,让你的项目更高效!

在前端开发中,定时任务是一个常见的需求。无论是定时刷新数据、轮询接口,还是发送提醒,都需要一个可靠且灵活的定时任务解决方案。今天,我要向大家介绍一个强大的工具——Node-cron,它不仅能解决定时任...

Shutter Pro!一款多功能定时执行任务工具

这是一款可以在电脑上定时执行多种任务的小工具,使用它可以根据时间,电量等来设定一些定时任务,像定时打开程序、打开文件,定时关机重启,以及定时弹窗提醒等都可以轻松做到。这是个即开即用的小工具,无需安装,...

深度解析 Redis 缓存击穿及解决方案

在当今互联网大厂的后端开发体系中,Redis缓存占据着极为关键的地位。其凭借高性能、丰富的数据类型以及原子性操作等显著优势,助力众多高并发系统从容应对海量用户的访问冲击,已然成为后端开发从业者不可或...

从零搭建体育比分网站完整步骤(比较好的体育比分软件)

搭建一个体育比分网站是一个涉及前端、后端、数据源、部署和维护的完整项目。以下是从零开始搭建的详细流程:一、明确项目需求1.功能需求:实时比分展示(如足球、篮球、网球等)支持多个联赛和赛事历史数据查询比...

告别复杂命令行:GoCron 图形界面让定时任务触手可及

如果你是运维人员或者经常接触一些定时任务的配置,那么你一定希望有一款图形界面来帮助你方便的轻松配置定时任务,而GoCron就是这样一款软件,让你的配置可视化。什么是GoCron从名字你就可以大概猜到,...

Java任务管理框架核心技术解析与分布式高并发实战指南

在当今数字化时代,Java任务管理框架在众多应用场景中发挥着关键作用。随着业务规模的不断扩大,面对分布式高并发的复杂环境,掌握其核心技术并进行实战显得尤为重要。Java任务管理框架的核心技术涵盖多个方...

链表和结构体实现:MCU软件定时器(链表在单片机中的应用)

在一般的嵌入式产品设计中,介于成本、功耗等,所选型的MCU基本都是资源受限的,而里面的定时器的数量更是有限。在我们软件设计中往往有多种定时需求,例如脉冲输出、按键检测、LCD切屏延时等等,我们不可能...

SpringBoot定时任务(springboot定时任务每小时执行一次)

前言在我们开发中,经常碰到在某个时间点去执行某些操作,而我们不能人为的干预执行,这个时候就需要我们使用定时任务去完成该任务,下面我们来介绍下载springBoot中定时任务实现的方式。定时任务实现方式...

定时任务新玩法!systemd timer 完整实战详解

原文链接:「链接」Hello,大家好啊!今天给大家带来一篇使用systemdtimer实现定时任务调度的详细实战文章。相比传统的crontab,systemdtimer更加现代化、结构清晰...

Celery与Django:打造高效DevOps的定时任务与异步处理神器

本文详细介绍了Celery这一强大的异步任务队列系统,以及如何在Django框架中应用它来实现定时任务和异步处理,从而提高运维开发(DevOps)的效率和应用性能。下面我们先认识一下Cele...

订单超时自动取消的7种方案,我用这种!

前言在电商、外卖、票务等系统中,订单超时未支付自动取消是一个常见的需求。这个功能乍一看很简单,甚至很多初学者会觉得:"不就是加个定时器么?"但真到了实际工作中,细节的复杂程度往往会超...

裸机下多任务框架设计与实现(gd32裸机配置lwip 网络ping不通)

在嵌入式系统中,特别是在没有操作系统支持的裸机环境下,实现多任务执行是一个常见的挑战。本文将详细介绍一种基于定时器的多任务框架设计,通过全局时钟和状态机机制,实现任务的非阻塞调度,确保任务执行中不会出...

亿级高性能通知系统构建,小白也能拿来即用

作者介绍赵培龙,采货侠JAVA开发工程师分享概要一、服务划分二、系统设计1、首次消息发送2、重试消息发送三、稳定性的保障1、流量突增2、问题服务的资源隔离3、第三方服务的保护4、中间件的容错5、完善...

运维实战:深度拆解Systemd定时任务原理,90%的人不知道的玩法

运维实战:深度拆解Systemd定时任务原理,90%的人不知道的高效玩法一、Systemd定时任务的核心原理Systemd定时任务是Linux系统中替代传统cron的现代化解决方案,通过...

取消回复欢迎 发表评论: