ABAP数据字典

    数据字典是一个集中的存储区,它存放关于数据库中数据的信息,这些信息被称为“metadata”(data about data)。

    数据字典提供了对一下问题的解答:

1.数据库中存放了什么数据。

2.数据的属性:名称、长度、类型等。

3.数据对象之间的关系。

    SAP的数据字典被称为ABAP字典,其功能如下:

1.保证数据完整性。

2.无冗余地定义数据。

3.与ABAP工作台紧密结合。

    保证数据完整性即保证系统的数据是完整的、一致的,并具有逻辑性。系统会自动阻止非法数据的输入,以下为数据缺乏完整性的例子:

1.某域的月份值为13。

2.将某个订单指定给一个并不存在的客户。

3.未指定给客户的订单。

    无冗余地定义数据也就是将相似的信息与同一个数据定义相连。比如,有多个表包括顾客的ID,可以在字典的某个地方定义ID属性,这样就能在每个顾客ID的实例中使用该属性。

    ABAP字典和开发环境的紧密结合使得ABAP程序能自动识别字典对象的名称和属性。你可以双击代码中的对象名称,系统会自动跳转到ABAP字典中该对象的定义。当数据对象发生改变时,使用该对象的程序会在下次运行时自动参考更新后的值。

    ABAP字典中的基本对象为表(Table)、数据元素(Data Elements)和域(Domains),包括R/3系统中所有的域和相关的metadata。

    开发者可以在ABAP字典中定义并管理数据,以及使用这些数据定义和创建各种对象,例如表和视图。一旦你定义了某项数据,则该数据在系统中任何时刻都可用;新创建和修改的数据将自动反映在系统中,从而保证了数据的完整性与一致性。

    ABAP字典事务代码为SE11。初始画面如下所示:


    ABAP字典中应该注意以下事项

1.单选框-视图 处可以定义以下类型:数据库视图、映射视图、维护视图、帮助视图。

2.单选框-数据类型 处可定义以下类型:数据元素Data Element、结构体Structure、表类型TableType(此种类型在实际应用使用较少,这里不再赘述)。

3.单选框-搜索帮助 处可以定义以下类型:基本索引帮助、集合搜索帮助。

4.单选框-类型组 处用于定义类型组 在开发中很少作为类型组去开发,在一些特殊技术中,使用SAP标准类型组的比较多,这里也不做阐述。


    表是ABAP字典的核心,在表中要定义其数据字段,以及表的大小、属性、缓冲、索引等属性。它是数据库长久存储数据的元素。

    表是数据库中实际存放数据的结构,由行和列组成。字段列并不是一个字典中的对象,它是表的一部分,不能脱离表而存在。

    能唯一确定表中一行的列或列的组合被称为主键。

结构体

    结构体,就像一个表一样,定义了数据字段、属性等,但并不保存数据。要指出的是,结构体常用在定义模块池DYNPRO画面数据、接口数据和函数参数等。

视图

我们可以使用视图来执行以下关系操作:

1.连接(Join)多个表。

2.从一个或多个表中选择特定字段。

3.从一个或多个表中选择特定记录。

    连接操作可以将多个表的信息组成一个视图。使用连接操作,你必须确定表之间存在关联。

    数据库设计原则经常需要相关数据存放在不同的表中,这就需要提供一个到多和多关系的灵活性,同时防止数据冗余。视图类型如下:

1.数据库视图(Database View)

它是SAP中仅有的一种创建在数据库级别的视图类型。也就是说,除了SAP,底层的数据库也能识别该视图。因此,数据库视图必须创建在透明表上。在该视图中,可以进行投影、选择和连接操作。数据库视图也能和透明表一样调入缓冲区,你可以在技术设置中关闭或打开缓冲调用。

2.投影视图(Projection View)

存在ABAP字典中,但不能被底层数据库识别。该视图必须定义在单个透明表上,且唯一有效的操作为投影操作。

3.帮助视图(Help View)

如果开发者要完成一个外部连接,则必须创建帮助视图。

4.维护视图(Maintenance View)

允许对基本数据的维护,事务SM30、SE54。

数据元素 Data Element

    数据元素是用于声明表、结构体、视图的字段的类型、文本等。数据元素和字段之间的关系并非需要一一对应,如果字段具有相同的意义,则一个数据元素可以对应多个字段。

    在SAP R/3系统中,表中的域(Domain)通过数据元素定义,而数据元素则通过Domain来定义,这种方法被称为”两级域结构“(Two-level Domain Concept)。SAP R/3中有许多预先定义的数据元素,不过,在使用这些数据元素时,你必须使用系统提供的域。如果你希望使用不同的域,则需要自己创建数据元素。

域Domain    

    域用于定义数据类型、字段长度、并定义域的可接受值。域(Domain)与数据元素(Data Element)间的关系并非需要一一对应,如果是具有相同属性的数据元素,则一个域可以对应多个数据元素。

    域可以独立地存在于ABAP字典中,多个数据元素可以赋给同一个域;与数据元素相似,系统也提供了预定义的域供用户使用。在域中,可以指定域的输出属性,例如输出长度、是否允许小写字符等。创建域的步骤和创建数据元素类似。

    数据元素和域是字典里的对象,他们定义了域的属性并被多个表或结构体使用。多个表可以被视图使用。

    表中的域通过数据元素和域来定义,这是SAP和其他系统的重要区别;在其他系统中,域仅通过其类型(比如字符和数字)和长度来定义。在SAP中,域通过一个数据元素来定义,而每个数据元素又通过一个域来定义。

    一个域指定域的属性以及允许的值,域通过数据元素和域相联系,你不能直接把域赋给域。域属性通常是该域的类型和长度,允许的域值定义了该域可以接受的输入值,既可以直接列出域值范围,也可以通过值表(Value Table)指定。

    ABAP数据字典的特有结构使得各元素可以重复使用。

锁对象

    多个用户可能并发访问同一数据,这样就会用到SAP锁机制。锁对象要定义锁定的表、锁的模式。此外,如果将锁对象有效化,则加锁与解锁的两个函数会被自动生成。程序在需要的时候通过调用这两个函数进行加锁、解锁操作。

    注:SAP锁机制如下:

     通常来讲,SAP锁机制有两种:物理锁和逻辑锁,ABAP字典中的锁对象是逻辑锁的概念,SAP物理所(数据库事务LUW)在本章将会又详细阐述。

搜索帮助

    搜索帮助是SAP用于寻找有用的数据工具。它定义了一个表和需要搜索显示的字段,多用于DYNPRO和选择画面。

    基本概念就介绍到这里。欢迎大家评论......

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,297评论 0 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,094评论 1 32
  • 别把自己看的太当回事,比如结婚,比如团队
    Janice1阅读 195评论 0 0
  • 好像又到了不能控制自己的阶段,意志力明显减弱,没有一开始的积极性了,越来越懒,可以懒上一天不看书,可脑子却没闲着一...
    热恋中的girl阅读 275评论 0 0
  • chy常红艳阅读 74评论 0 0