如何在以前未加载的模块中迭代 DXL 中传入链接的源对象
How to Iterate over source objects of incoming links in DXL, in Modules not previously loaded
我的问题与这个问题完全相同:
How to Iterate over target objects of outgoing links in DXL, in Modules not previously loaded
但关于传入 links.
我想使用传入的 links 的源对象,但是位于模块中的对象没有预先加载。
我不想每次都打开和关闭模块,因为这会花费太多时间。我想打开一次,最后关闭。
两个解决方案:
- 能够知道模块是否已经打开,这样我就不会再次打开它(DXL 中是否有“is_open”函数+将打开的模块列表存储在 table最后全部关闭。
或更好:
- 在循环开始之前,使用一个使用 link 模块和目标模块的循环来查找数据库中所有可以 linked 到目标模块的模块。然后我将它们全部加载(即使它们之间没有 links。但我的脚本这样会更简单)。我怎样才能做到这一点 ?我试过类似的东西:
模组名称_ src_mod_linkset
对于“target_module”中的 src_mod_linkset<-“linkmodulename”做
{
打印“测试”
}
但在这种循环中,它不起作用,因为“target_module”应该是一个对象而不是完整的模块。
https://www.ibm.com/mysupport/s/forumshome has a lot of information on this. A query "Engineering Requirements Management DOORS" incoming links
brings you some example scripts. I prefer this approach (load
the ModuleVersion if its data
is null): https://www.ibm.com/mysupport/s/forumsquestion?language=de&id=0D50z00006HIDztCAH
关于“is_open”:有一个循环for module in database
,它给你一个所有打开模块的列表。您可能希望将所有打开的模块存储在脚本开头的跳过列表中,并在遍历传入模块时检查是否必须在脚本末尾关闭模块。
如果您打算 运行 基线脚本,我不会使用您的第二种方法,可能会发生 link 模块中的 link 设置已在同时,因此您不会在 link 秒内获得所有可能。无论如何,link 模块可以位于数据库中的任何位置,不一定靠近传入模块。
我的问题与这个问题完全相同: How to Iterate over target objects of outgoing links in DXL, in Modules not previously loaded
但关于传入 links.
我想使用传入的 links 的源对象,但是位于模块中的对象没有预先加载。
我不想每次都打开和关闭模块,因为这会花费太多时间。我想打开一次,最后关闭。
两个解决方案:
- 能够知道模块是否已经打开,这样我就不会再次打开它(DXL 中是否有“is_open”函数+将打开的模块列表存储在 table最后全部关闭。
或更好:
- 在循环开始之前,使用一个使用 link 模块和目标模块的循环来查找数据库中所有可以 linked 到目标模块的模块。然后我将它们全部加载(即使它们之间没有 links。但我的脚本这样会更简单)。我怎样才能做到这一点 ?我试过类似的东西:
模组名称_ src_mod_linkset 对于“target_module”中的 src_mod_linkset<-“linkmodulename”做 { 打印“测试” }
但在这种循环中,它不起作用,因为“target_module”应该是一个对象而不是完整的模块。
https://www.ibm.com/mysupport/s/forumshome has a lot of information on this. A query "Engineering Requirements Management DOORS" incoming links
brings you some example scripts. I prefer this approach (load
the ModuleVersion if its data
is null): https://www.ibm.com/mysupport/s/forumsquestion?language=de&id=0D50z00006HIDztCAH
关于“is_open”:有一个循环for module in database
,它给你一个所有打开模块的列表。您可能希望将所有打开的模块存储在脚本开头的跳过列表中,并在遍历传入模块时检查是否必须在脚本末尾关闭模块。
如果您打算 运行 基线脚本,我不会使用您的第二种方法,可能会发生 link 模块中的 link 设置已在同时,因此您不会在 link 秒内获得所有可能。无论如何,link 模块可以位于数据库中的任何位置,不一定靠近传入模块。