使用默认属性初始化实体

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条回答
My梦
2020-09-15 14:30

谢谢George McGeachie的回复。 但是,我对扩展PD的了解并不深。 我不知道如何实现选项2,但是至少我发现了如何创建代码

所建议的方法
 Sub%Method%(obj)
    '在上实现您的方法
 将我调暗为整数= 0
 对于obj.Attributes中的每个attr
 如果attr.name = attr.name = obj.Name +" Id",则
 我=我+ 1
 万一
 下一个属性
 如果我= 0
 暗淡的黑衣
 设置myattr = obj.Attributes.CreateNew
 myattr.name = obj.Name +" ID"
 myattr.code = obj.Code +" _ ID"
 myattr.comment = Now()
 myattr.datatype ="整数"
 万一
 设置我= 0
 对于obj.Attributes中的每个attr
 如果attr.name = attr.name = obj.Name +"名称",则
 我=我+ 1
 万一
 下一个属性
 如果= 0
 暗淡的myattr2
 设置myattr2 = obj.Attributes.CreateNew
 myattr2.name = obj.Name +"名称"
 myattr2.code = obj.Code +" _ NAME"
 myattr2.comment = Now()
 myattr2.datatype =" Varchar(50)"
 万一
 结束

但是我不怎么从右键单击菜单项中调用该方法。 我已经检查了元类实体的所有可能选项,但是我没有找到任何可以添加的右键菜单元素。 我浏览了文档,但这并不是很好,TBH。 你能给我一个提示吗? 我真的很感激。

一周热门 更多>