设置约束名称

2020-09-28 05:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 只是想知道,是否可以...

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

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


大家好,

只是想知道,是否可以配置DBMS扩展(在我们的示例中为Oracle11g)以某种方式允许PD自动对约束进行编号?

当前设置如下:

FK_%3.12UM:CHILD%_%3.12UM:PARENT%

问题是两个表之间的FK约束,例如。

参考文献1

Tabel 1:D_STA_UMS_GP_KONTRAH

塔贝尔2:D_NTF_UMS_GP_KONTRAH

参考名称: FK_STA_UMS_GP_KO_NTF_UMS_GP_KO

参考2

表1:D_STA_UMS_GP_KONGEN

表2:D_NTF_UMS_GP_KONGEN

参考名称: FK_STA_UMS_GP_KO_NTF_UMS_GP_KO

因此,最后,我们有两个引用,具有相同的约束名称,这显然导致在模型检查期间出错。

我们想要这样的东西:

参考文献1

Tabel 1:D_STA_UMS_GP_KONTRAH

塔贝尔2:D_NTF_UMS_GP_KONTRAH

参考名称: FK_STA_UMS_GP_K_NTF_UMS_GP_K01

参考2

表1:D_STA_UMS_GP_KONGEN

表2:D_NTF_UMS_GP_KONGEN

参考名称: FK_STA_UMS_GP_K_NTF_UMS_GP_K02

如何实现?

谢谢

Rafal

fk-naming.jpg (72.2 kB)
2条回答
追夢秋陽
2020-09-28 05:48 .采纳回答

在这种情况下,更改DBMS并不是一个好方法。 因为您需要找到存储所有引用的地方。

相反,您可以运行脚本或在转换中使用脚本来实现目标。

以下是示例:(打开模型并运行代码)

设置字典= CreateObject(" Scripting.Dictionary")


为model.references中的每个引用设置model = activemodel

FKeyname = ref.GetAttributeText(" ForeignKeyConstraintName")

如果dict.exists(FKeyname)则
number = dict.item(FKeyname)
number = number + 1
ref.ForeignKeyConstraintName = FKeyname和number
dict。删除FKeyname
dict.add FKeyname,数字
else
dict .add FKeyname,如果
next

,则1
结尾

对于model.references中的每个引用
FKeyname = ref.GetAttributeText(" ForeignKeyConstraintName")
如果dict.exists(FKeyname)和dict.item(FKeyname)> 1,则
ref.ForeignKeyConstraintName = FKeyname&1
如果
next

一周热门 更多>