二维码

[ddic] ABAP把描述表(text table)分配给主表(main table)

Twilight发表于 2014-10-23 11:35majiek 最后回复于 2015-08-31 14:17 [复制链接] 4706 1

这种方法在标准系统表设计中很常见,比如物料描述表maktx,就是一个文本表/描述表(text table)。

下面给出一个创建步骤:
1、se11 创建一个主表
text table and assign to main table 1.png
2、se11 创建一个文本表
text table and assign to main table 2.png
3、添加外键
text table and assign to main table 3.png
注意:这个表友四个字段,其中前三个可以设置外键:
  • MANDT的外键:可以参考主表YDEPT_CODES的MANDT,外健类型选择“为指定的”
  • DPTCOD:可以参考主表YDEPT_CODES的MANDT,外健类型选择“一个文本表格的键字段”,基数1:N,请参考下图
  • SPRAS:可以参考标准表T002的SPRAS

4、在Check table输入主表名,点击‘生成建议’
text table and assign to main table 4.png
PS:外键类型选择:key fields of a text table
基数是1:N的关系
5、返回到主表YDEPT_CODES,插入一条记录,然后查看内容
text table and assign to main table 5.png
YDEPT_CODES中并没有DESCR字段,但是还是显示了,这是特殊外键类型起的作用
6、在main table中,菜单-> goto -> Text table,可以直接跳到文本表(text table)
text table and assign to main table 6.png

项目中,经常看到初级模块顾问,将描述性质的字段直接添加到一些主表中,如果这样设计就会出现如下问题:
1、描述性质的字段只能翻译成一种国家语言,不能同时存储多国语言
2、如果多表都有改字段描述,那么浪费数据库的存储空间,没有复用该字段
3、数据库设计时没有遵从三范式的设计原则
回复

使用道具 举报

majiek
顶一个 ,不错
回复 支持 反对

使用道具 举报

快速回帖

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

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