如何用VB Vbscript列出扩展属性PowerDesigner?

2020-09-06 17:03发布

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

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


你好

我尝试没有结果,而是在VBScript中列出PowerDesigner中任何对象(和特定性EnterpriseApplication对象)的所有扩展属性。

我使用PowerAMC V16.5(Power Designer的法语版本)进行EA建模。

如果我知道每个扩展属性的名称,则可以这样做,

对于M.EnterpriseApplications中的每个应用程序

     App.getExtendedAttribute(" DEf_etendu_Carto_URBA_PAMC_V16.5.ProjetAnneeDebut")
 下一个
其中:" DEf_etendu_Carto_URBA_PAMC_V16.5"是我的扩展文件;
 和" ProjetAnneeDebut"扩展属性之一
 

但是怎么知道所有扩展属性呢?

我尝试这样做:

对于M.EnterpriseApplications中的每个应用程序
     对于每个ExtAttrib输入...
       文字= ExtAttrib.name&" ="&App.getExtendedAttribute(" DEf_etendu_Carto_URBA_PAMC_V16.5。"&ExtAttrib)
     下一个
 下一个

感谢所有帮助...

安德烈

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

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


你好

我尝试没有结果,而是在VBScript中列出PowerDesigner中任何对象(和特定性EnterpriseApplication对象)的所有扩展属性。

我使用PowerAMC V16.5(Power Designer的法语版本)进行EA建模。

如果我知道每个扩展属性的名称,则可以这样做,

对于M.EnterpriseApplications中的每个应用程序

     App.getExtendedAttribute(" DEf_etendu_Carto_URBA_PAMC_V16.5.ProjetAnneeDebut")
 下一个
其中:" DEf_etendu_Carto_URBA_PAMC_V16.5"是我的扩展文件;
 和" ProjetAnneeDebut"扩展属性之一
 

但是怎么知道所有扩展属性呢?

我尝试这样做:

对于M.EnterpriseApplications中的每个应用程序
     对于每个ExtAttrib输入...
       文字= ExtAttrib.name&" ="&App.getExtendedAttribute(" DEf_etendu_Carto_URBA_PAMC_V16.5。"&ExtAttrib)
     下一个
 下一个

感谢所有帮助...

安德烈

付费偷看设置
发送
5条回答
打个大熊猫
1楼-- · 2020-09-06 17:47
设置模型= ActiveModel
 '第一个循环查找模型中有多少个扩展
 对于模型中的每个ExtendedDefinition.ExtendedModelDefinitions
    '第二循环在ExtendedDefintion中查找所有文件夹。
           '代
           '设置
           '个人资料
    对于ExtendedDefinition.Categories中的每个文件夹名称
        '第三个循环遍历每个文件夹。 所有扩展属性都在
            '个人资料
           
        如果foldername.name ="个人资料",则
          对于foldername.Categories中的每个metaClass
              '第四循环遍历所有文件夹中的每个metaClass。
              '只有配置文件文件夹包含metaClass
              对于metaClass.Categories中的每个ExtendedAttributeFolder
                  '第5次循环遍历扩展属性文件夹
                  '查找所有扩展属性
                  如果ExtendedAttributeFolder.name ="扩展属性",则
                      对于ExtendedAttributeFolder.Categories中的每个extendedAttribute
                           输出ExtendedDefinition.name&" \"&extendedAttribute.itemPath&" \"&extendedAttribute.name
                      下一个
                  万一
              下一个
          下一个
       万一
    下一个
 下一个
  

Bunny_CDM
2楼-- · 2020-09-06 17:39

你好,

一些补语:

当我尝试此代码时:

对于ActiveModel.ExtendedModelDefinitions中的每个ModelExtension
       输出"扩展名:"和ModelExtension.name
    对于ModelExtension.GetMetaExtensionsForClass(PdEAM.cls_EnterpriseApplication,Cls_ExtendedAttributeTargetItem)中的每个ExtAttr
      输出" Nom de l'attribut:" + ExtAttr.Name
      输出" Identification de l'objet:" + ExtAttr.ObjectID
      输出" Nom du modele:" + ExtAttr.Model
   下一个
 下一个

对第二行的响应很好:

输出"扩展名:"和ModelExtension.name
                 =>扩展名:DEf_etendu_Carto_URBA_PAMC_V16.5 

但是我在第四行有一条错误消息:

执行Erreur d'execution Microsoft VBScript
 从属性到方法:'ModelExtension.GetMetaExtensionsForClass'(0x800A01B6)
 在第4行,字符2 

有关更多信息,请在屏幕复制中查看我们的扩展:

对不起,我的英语太糟糕了。

Haoba3210
3楼-- · 2020-09-06 17:42

代码可以在模型的所有扩展中找到所有项。 因此,我添加了两个if语句来限制输出

SAP砖家
4楼-- · 2020-09-06 17:33

如果扩展未嵌入模型中,则代码将失败,因为快捷方式没有任何集合。 此版本的代码将忽略非嵌入式扩展:

设置模型= ActiveModel
 '第一个循环查找模型中有多少个扩展
 对于模型中的每个ExtendedDefinition.ExtendedModelDefinitions
    '第二循环在ExtendedDefintion中查找所有文件夹。
           '代
           '设置
           '个人资料
    如果不是ExtendedDefinition.IsShortcut(),则
       对于ExtendedDefinition.Categories中的每个文件夹名称
           '第三个循环遍历每个文件夹。 所有扩展属性都在
               '个人资料
           
           '如果foldername.name ="个人资料",则
             对于foldername.Categories中的每个metaClass
                 '第四循环遍历所有文件夹中的每个metaClass。
                 '只有配置文件文件夹包含metaClass
                 对于metaClass.Categories中的每个ExtendedAttributeFolder
                     '第5次循环遍历扩展属性文件夹
                     '查找所有扩展属性
                     如果ExtendedAttributeFolder.name ="扩展属性",则
                         对于ExtendedAttributeFolder.Categories中的每个extendedAttribute
                              输出ExtendedDefinition.name&" \"&extendedAttribute.itemPath&" \"&extendedAttribute.name
                         下一个
                     万一
                 下一个
             下一个
          '万一
       下一个
    如果'IsShortcut
 下一个
 
lukcy2020
5楼-- · 2020-09-06 17:48

还要确认原始代码是否适用于16.6 SP7

对于ActiveModel中的每个ModelExtension。
       输出"扩展名:"和ModelExtension.name
    对于ModelExtension.GetMetaExtensionsForClass(PdEAM.cls_EnterpriseApplication,Cls_ExtendedAttributeTargetItem)中的每个ExtAttr
      输出" Nom de l'attribut:" + ExtAttr.Name
      输出" Identification de l'objet:" + ExtAttr.ObjectID
      输出" Nom du modele:" + ExtAttr.Model
   下一个
 下一个
  

一周热门 更多>