使用默认属性初始化实体

2020-09-15 14:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试创建一个扩...

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

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


大家好,

我正在尝试创建一个扩展,以向我创建的每个实体自动添加两个属性%Name%+" Id"和%Name%+" Name"。 但是我没有做到,我怀疑这是由于缺乏知识,也许有人可以提供帮助。 我正在使用的脚本,遵循 https://archive.sap.com/discussions/thread/3558516 ,是

昏暗的我的小狗
 设置myattr = obj.Attributes.CreateNew
 myattr.name = obj.Name +" ID"
 myattr.code = obj.Code +" _ ID"
 myattr.comment = Now()
 myattr.datatype ="整数"
 暗淡的myattr2
 设置myattr2 = obj.Attributes.CreateNew
 myattr2.name = obj.Name +"名称"
 myattr2.code = obj.Code +" _ NAME"
 myattr2.comment = Now()
 myattr2.datatype ="整数" 

我已经创建了扩展,并且最初在Profile/Entity/Event Handlers中使用了Initialize事件处理程序。 这两个属性被创建为" Entity17 Id"和" Entity17 Name"。 然后我尝试了事件处理程序Validate,它以某种方式起作用。 问题在于,当我打开属性对话框时,不包含属性,但是当我关闭属性对话框时,不包含属性。 因此,我必须打开它,进行一些愚蠢的更改,例如在注释中添加一个空格,然后将其关闭,然后它才起作用。 但是,下次我打开属性对话框并再次关闭它时,它将尝试再次创建属性,因此失败。

有什么办法可以更好地做到这一点? 理想情况下,最佳方案是创建一个实体,然后更改默认名称,然后转到"属性"选项卡,找到已经创建的属性" myEntity Id"和" myEntitity Name"。

5条回答
hengyuye
2020-09-15 14:13 .采纳回答

这里有几个选项。

  1. 您可以将脚本添加为方法,对其进行增强以确保它不会尝试添加那些已经存在的属性。 现在将方法添加到菜单,以便您可以右键单击实体以添加属性
  2. 让模型验证为您完成。 添加一个自定义检查,如果缺少其中一个或两个属性,则该检查失败,并使用自动修复脚本将属性添加到属性集合中正确的位置(如果它们不存在的话)

一周热门 更多>