设置标识符和关系名称的默认模式

2020-09-16 15:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 有没有一种方法来定义标识符...

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

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


嗨,

有没有一种方法来定义标识符(即主键)和关系名称的默认模式?

现在,当我在CDM中创建实体时, 标识符遵循以下模式:Identifier_%IncrementalNumber%:Identifier_1,Identifier_2。 我希望将它们称为PK_%EntityCode%(主要标识符),其他名称为AK%IncrementalNumber%_%EntityCode%。

关系也是如此。 我想将它们设置为FK_%ChildEntityCode%_2_%ParentEntityCode%。

此外,如果我更改实体名称/代码,我希望它们可以自动更新。

这可行吗? 有什么建议吗?

谢谢!

2条回答
d56caomao
2020-09-16 16:08

您可以在实体和标识符上创建"验证"事件处理程序,但是它们经常触发。 如果您在实体代码发生更改时以及您的标识符更改时不更改您的标识符名称,那真的重要吗? 我将对标识符(使用自动修复脚本)使用自定义模型检查-仅在您真正需要它时才运行。

关系名称更为关键,因为它们出现在浏览器中,所以我将使用" initialise"和" validate"事件处理程序(我希望PD开箱即用)。 我的事件处理程序调用此函数来设置关系名称:

函数setRelationshipName(obj)
 '设置关系名称
 昏暗的oldrelname,relname,middlePart
 oldrelname = obj.Name
 '将名称设置为以下组合:
 '父实体名称-父角色->子实体名称
 如果obj.RelationshipType =" 3",则'多对多
   middlePart ="> --- <"
 其他
   如果obj.Entity1ToEntity2Role ="",则
   '父角色未定义,因此不要在关系名称中包含中间部分
   '(它将添加双倍空格,但未通过其他一项检查)
      middlePart =" ---- <"
   其他
      middlePart ="-"&obj.Entity1ToEntity2Role&"-<"
   万一
 万一

 relname = obj.Entity1.Name和middlePart&obj.Entity2.Name

 ',如果已经存在与此名称的关系:
 '-创建新关系时,使用PD默认名称
 '-更新关系时,脚本将错误

 如果obj.Name = relname,则退出函数
  '如果新名称与旧名称相同,请退出该函数
 obj.Name = relname
 输出时间&"将关系["&oldrelname&"]重命名为["&obj.Name&"]"

 结束功能

顺便说一下,CDM没有外键,所以我避免混淆,不要在关系名称中使用" FK"。

一周热门 更多>