ABAP基础知识 数据字典(一 功能篇)

前言

数据字典是ABAP中最基本的知识,充分使用数据字典可以给你的程序提供一些基本功能(帮助,搜索帮助,数据校验等)

这些功能可以改善程序对用户的友好度

本文主要介绍数据字典提供的基本功能

希望本文对你的ABAP编程习惯能有一些积极的影响.

基本功能

数据字典给ABAP程序提供如下基本功能

  • F1帮助

  • F4搜索帮助

  • 数据校验

  • 日志记录

  • 填入之前使用的值

  • 多语言支持

  • SAP逻辑锁

  • ......

F1帮助

通过数据元素文档获取

定义的表或者结构字段使用数据元素提供字段的基本属性.可以在数据元素的文档功能中维护该字段的详细解释. 这样,所有用到这个字段的界面(SCREEN,ALV等),都可以直接通过F1获取到字段的帮助.

给字段添加详细描述是很好的习惯.用户或其它开发可以通过字段帮助了解到这个字段在程序中的具体作用.

可以在帮助中把这个字段对业务的影响,相关配置点,相关功能,维护方式,维护示例,对程序作用等等信息详细的写出来.

  • 图一是维护数据元素文档的方式

  • 图二是在SE16N界面(ALV界面)中在该字段按F1功能键获取的帮助信息

图一

图二

F4搜索帮助

SAP系统数据字典通过以下层级提供搜索帮助功能,

  1. 域值

  2. 外键表(包括文本表)

  3. 数据元素搜索帮助

  4. 表字段搜索帮助获取

在表维护界面(SE11)可以看到字段搜索帮助的来源(优先级4>3>2>1)

在通过外键表获取输入帮助的时候, 外键表最好维护一个文本表,否则搜索帮助中只有关键字,没有描述信息.

  • 图三:搜索帮助来源是域值,数据元素搜索帮助,字段搜索帮助

  • 图四:搜索帮助来源是外键表

  • 图五:文本表和主表外键关系

使用数据字典的搜索帮助是程序获取搜索帮助的基本方法,程序中也可以通过语句设置特定的搜索帮助.

图三

图四

图五

数据校验

通过域值限制或外键表获取数据校验

  • 域定义中,可以通过固定值,范围值或值表校验数据内容(图六)

  • 可以通过表中定义外键关系限制校验数据内容(图七)

在SCREEN或者ALV中如果输入值超出限定,系统会给出报错信息.

如图八,通过SE16N(ALV)维护EKKO时, 输入凭证类型ZP99超出了限定,系统报错

需要注意的是,外键有可能是联合主键, 如果定义外键时没有把相关表的联合主键都定义进去, 则会出现数据无法维护的情况(通过SE16N无法维护)

需要说明的是,这些校验在输入界面上自动触发(输入界面上的字段必须参考数据字典字段). 通过SQL语句写入数据不会触发这些校验

图六

图七

图八

日志记录

设置数据元素change documnet 记录的开关(图九). 勾选更改文档标记后, 通过SAP标准变更文档对象(SCDO),就能记录字段级别的内容变更日志.

表技术设计中的日志数据记录.(图十). 勾选日志数据更改后, 同时设置系统参数 rec/client 系统就会把表内容的变更记录下来,通过事务代码SCU3可以查看这些变更的日志

注意: 尽量只对配置表勾选日志数据记录,对业务表勾选并激活参数将导致数据库资源的大量占用.

图九

图十

图十一

填入之前使用的值

通过数据元素的参数ID 可以为屏幕字段设置参数ID. 参数ID可以保留上次录入的内容,下次在该字段上自动带出.

多语言支持

数据元素的描述在界面上会自动带出, 并且可以通过标准翻译功能翻译到其它语言中,切换登录语言后,系统会自动切换对应语言的描述显示在屏幕上.

标准翻译功能 (SE63)

快速翻译功能 详见连接无峰,公众号:ABAP 技巧与实战SAP开发框架系列之 快速翻译功能

SAP逻辑锁

定义锁对象,会自动生成相应的加锁,解锁函数. 通过对加锁函数的调用, 会生成一个逻辑锁(通过SM12可以查看系统中的所有逻辑锁).

总结

SAP数据字典给ABAP程序提供了很多基本功能.

因此在定义数据字典的时候遵照以下规则

  • 尽量使用数据元素/域定义字段属性

  • 尽量通过域值或者外键表限定字段内容

  • 尽量使用文本表定义编码的描述

  • 尽量在数据元素中添加帮助文本

  • 尽量在数据元素中绑定搜索帮助

  • 勾选数据元素的更改文档标记

  • ......

在开发程序的时候,更多的使用数据字典对象,可以让程序附带数据字典提供的基本功能,尤其是帮助功能.更多的帮助信息可以让程序更易懂,更容易被用户使用.

THE

END


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

推荐阅读更多精彩内容