DXL:将对象从一个已关闭的模块复制到另一个已关闭的模块

时间:2017-07-20 17:38:57

标签: ibm-doors

我尝试创建一个DXL脚本,该脚本将从选择的一组模块中获取所有对象,并将它们组合成一个新模块,然后将其导出到Excel中。

我遇到的问题是我无法弄清楚如何从不打开的模块中获取对象。我对任何方法都持开放态度,但我一直在尝试使用ModuleHandles。我见过的大多数例子都是在当前模块中移动对象。

1 个答案:

答案 0 :(得分:0)

您需要两个Module类型的变量,一个用于源模块(例如mSrc),一个用于目标模块(mTgt)。使用命令read打开源模块并将结果句柄设置为mSrc。使用edit(或create)打开目标模块并将结果句柄设置为mTgt。

然后使用Object类型的变量迭代mSrc(for oSrc in mSrc或者... in entire mSrc的所有对象,具体取决于源模块中的视图的设置方式),在目标中创建对象module(到Object类型的变量oTgt)将您需要的对象属性从oSrc复制到oTgt。对于后者,copyops.inc中有一个函数copyAttribute_。

如果要复制源模块的层次结构,则需要for Object in Object类型的循环和create after create below等命令。 也许IBMs DXL论坛或某些网站上已有脚本可以为您的问题提供解决方案。