二维码

[ddic] SE11 ABAP字典对象的概要介绍

Twilight发表于 2015-10-04 22:07Twilight 最后回复于 2015-10-04 22:07 [复制链接] 5566 0

ABAP/4数据字典是和ABAP/4工作台密切结合在一起的一个活动组件,数据字典的修改将立刻影响到相关的程序和屏幕。R/3系统是一个解释执行的系统,程序或是屏幕并不直接读取源代码,而是执行内部经过“生成”的描述,对于ABAP/4字典的修改将触发内部描述的重新生成。

1、数据字典对象
ABAP Dictionary对象主要包括:
  • 数据库表(Database table)
  • 视图(View)
  • 数据类型(Data type)
  • 域(Domain)
  • 搜索帮助(Search help)
  • 锁对象(Lock object)

SAP通过TCODE:SE11进行数据字典对象维护

2、表类型
ABAP表类型主要包含:透明表(Transparent table)、结构(Structure table)、附加结构(Append structure)、存储表(Pooled table)、簇表(Cluster table)、视图(Generated view structure)。
  • 透明表(Transparent table):每个透明表在数据库中有一个相应的物理表。物理表的名称和数据字典中的逻辑表定义的名称一致。所有事务和应用数据存贮在透明表中。
  • 结构(Structure table):在数据库不存在数据记录。结构用于在程序之间或程序与屏幕之间的接口定义。
  • 附加结构(Append structure):定义字段的子集,该字段属于其他表格或结构,但是在修正管理中作为单独的对象。
  • 存储表(Pooled table);可以用来存贮控制数据(例如:屏幕顺序,程序参数或临时数据)。几个存储表可以组合成一个表存储池。该表库和数据库中的一物理表库相一致。它包含了各组合库分派给它的所有记录。表存储池ATAB,存储表TBSL。
  • 簇表(Cluster table):簇表除主键外,其他字段都被编辑为连续的文本。几个簇表可以组合成一个表簇。对这种表类型,不同表中的几个逻辑行组合到一物理记录。这可以实现一对象接一对象地存贮或访问,访问簇中的表的一个前提是,至少关键字的一部分必须相符合。几个簇表存贮在数据库中 一个相应的表里。
    通俗的说,Cluster Table就是把一堆数据按一定规则以序列形式存放在某一个“特别大”的“字段”里,将来再按照这个特定规则来读取。提高性能,节省空间,捎带加强安全性,这就是Cluster Table的用途。
    注意区分簇表和表簇的概念:簇表BSEG,表簇RFBLG。
    进一步了解簇表:
    SAP簇表BSEG取数优化的方法
    SAP簇表(cluster table)BSEG使用方法
    SAP数据字典中透明表、池表和簇表的比较
  • 视图(Generated view structure):可以包含来自一个表格或几个表格里的栏位,它运行用户从几个表格里汇集相应的栏位并提供给R/3系统用户使用。活动期间生成视图的结构。该结构在运行时间环境作为接口使用。 通常不显示在ABAP/4词典中。

3、创建表步骤
  • Create a Tables Object (创建表,Z/Y开头)
  • Specify Fields(指定表字段)
  • Define Data Elements and Domains (定义数据元素和域,Z/Y开头) -可重复使用
  • Specify Technical Settings(设定技术设置)
  • Activate the Table. (保存、激活)

4、锁对象
其他对象不多介绍,讲下锁对象,创建并激活Lock object后,系统会自动创建下面两个Function Module
DEQUEUE_<lock object name> “释放对象的锁定
ENQUEUE_<lock object name> “对象要求的锁定
Call Function调用函数操作锁对象
所对象扩展阅读:
数据库表行记录层级锁定
样机可售标准审批功能_ 多人同时操作锁定表记录
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表