在逻辑模型中使用继承重用属性列表

2020-09-16 13:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好, 在逻辑模型的上下文中,我...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

在逻辑模型的上下文中,我有两个属性列表,需要将它们添加到几个表中。 例如,我有一个Person属性列表(List1):名字,姓氏,中间名首字母,出生日期,性别。 我还有其他属性的第二个列表(List2),特定于某些关系,例如资格日期,结婚日期等。


我想将List1和List2添加到一些实体中,并在一个实体中 将List1和List2都放在一个实体中,理想情况下,我只想手动维护List1和List2,并且每当我修改这些列表时,在将这些列表添加到的那些表中,属性就会自动更改。


在PD中实现此目标的最佳方法是什么?


我发现的一种方法是使用多重继承。 我创建了两个父实体,我们将其称为具有List1属性的ParentEntity1和具有List2属性的ParentEntity2。 然后,Entity1可以从ParentEntity1和ParentEntity2继承。 我关闭了父实体的生成,并获得了带有两个属性列表的Entity1。


这种模式是否令人讨厌? ParentEntity1和ParentEntity2没有主键,因此Entity1只是从两个父实体继承属性,因此我手动添加了它的主键。 检查模型通过并带有警告。 从技术上讲,这不是一个正确的模型,因为所有实体都应具有主键,但它允许我仅将属性列表维护在一个位置。

有趣的是,ER Studio不允许多重继承。

其他方法可以做到这一点?

如果您有任何反馈意见,请告诉我。

谢谢

logicalmodel.txt -打开模型,将文件扩展名为ldm。

PS。 上载不适用于FireFox,但适用于Chrome。

(27.8 kB)
1条回答
空代码
2020-09-16 14:04

这是对继承的滥用,在某些时候它会再次咬住您,所以我希望您采取预防措施:

  • 在继承中生成子级,而不是父级
  • 在父实体中,将" Generate"设置为False(这将防止它们在PDM中生成)

如果可以的话,我会找到另一种实现目标的方法。 理想情况下,如果PD允许您向实体添加属性集合,那是很好的,但事实并非如此。 在没有这种情况的情况下,您可以使用模型扩展在实体上定义扩展集合,并链接到父1和父2实体。 这将告诉您Entity1需要具有两个父实体的属性。

还具有一个脚本(可能链接到自定义检查或转换),该脚本确保Entity1包含父实体的所有属性的副本。 使用属性副本可以确保在更改父属性时对其进行更新。

一周热门 更多>