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

前言

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

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

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

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

基本功能

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

  • F1帮助

  • F4搜索帮助

  • 数据校验

  • 日志记录

  • 填入之前使用的值

  • 多语言支持

  • SAP逻辑锁

  • ......

F1帮助

通过数据元素文档获取

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

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

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

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

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

a91212d23a91f1ebc448ce463a89789d.png

图一

53452d4468d6b78e0af25bfb6da93aeb.png

图二

F4搜索帮助

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

  1. 域值

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

  3. 数据元素搜索帮助

  4. 表字段搜索帮助获取

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

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

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

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

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

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

bfab57ffa2e33c47d065b891d7d587bd.png

图三

0ffae6dbbbe35241082b47e5e9c04166.png

图四

126b3458f5ea82b19afcf7214180b3ee.png

图五

数据校验

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

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

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

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

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

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

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

a9bf077d13ef0e3bbd507781f42ad4cc.png

图六

288441da7f8e44a067635ad728ce737f.png

图七

a5da45729a21ceebd81e5ec023813a3b.png

图八

日志记录

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

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

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

d3bbce24d6ac6be85a8d2f299ff11fee.png

图九

70988d488a2bab4f7b67a60e72336476.png

图十

7ae2df398a12025d9149f1c813b137f5.png

图十一

填入之前使用的值

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

f4799d33fd6738656854ff871111d0e4.png

多语言支持

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

标准翻译功能 (SE63)

快速翻译功能 详见连接

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

6bc007c174226d019b2e3ad1310df361.png

SAP逻辑锁

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

35414bf5b41eb657ee3c6699728254b1.png

总结

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

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

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

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

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

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

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

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

  • ......

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

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

6790f0ddfd0ac70dd65f8f5ccfd0ae67.png

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

申请进入公众号讨论群提问或者参与话题讨论

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值