【问题标题】:Update objects from two modules with same attribute in DOORS从 DOORS 中具有相同属性的两个模块更新对象
【发布时间】:2020-11-06 09:30:01
【问题描述】:

我有一个模块,其中包含具有属性客户 ID 的对象。 我有一个带有更新数据的新模块,它是使用 ReqMan 从 PDF 导入 DOORS。

现在我想用新模块中的数据更新第一个模块。 customer ID 属性在两个模块中是相同的,但我无法在 DOORS 中找到一种方法来执行某种 VLOOKUP 来查找 customer ID 并更新 基本模块上的对象文本

最好不使用 DXL。

【问题讨论】:

    标签: requirements ibm-doors ibm-rational requirements-management


    【解决方案1】:

    (根据需要修改以下说明 - 我在这里描述了我最喜欢的设置)

    使用电子表格导入和导出,最好用 Tab 分隔。 对于导出,创建一个不包含绝对数字或主列的视图,但您要修改的所有数据加上客户 ID。确保列的标签与属性名称相同。

    在生成的文本文件中,您可以更改现有行的属性,还可以添加模块中尚不存在客户 ID 的新行。确保第一行包含属性名称。

    更新文本文件后,打开模块并选择文件 -> 导入 -> 电子表格,设置如下:

    • 导入到属性:按列标签
    • 导入选项:更新现有对象
    • 更新:所有对象
    • 数据分隔符:制表符
    • 输入文件:.tsv 文件的完整路径
    • 高级:检查第一行中的列是否与您的属性名称相对应
    • 设置正确的编码
    • 按导入
    • “创建新属性”应该没有问题?
    • 在“选择键”对话框中,选择“客户 ID”作为“唯一标识对象的列/属性”。
    • 按“选择”
    • 检查结果,仅当一切正常时才保存模块。

    【讨论】:

    • 嗨,迈克,感谢您的回答。问题是我想更新主列(对象文本)。
    • 主列并不是真正的属性。在主栏中,您会看到 a)“对象标题”(如果已填充)以及章节编号和/或 b)“对象文本”(如果已填充)。对于导入,不要显示主列,而是在单独的列中显示属性“对象标题”和“对象文本”
    【解决方案2】:
    Object ob, ob1
    Module m = current // First module
    
    string s="/Training Car Project/Stakeholder Requirements" //Give full path of your second module
    
    Module mod=read(s,false)
    
    for ob in m do
    {
    for ob1 in mod do
    {
    if((ob."customer ID""" = ob1."customer ID""") && (ob."Object Text""" != ob1."Object Text"""))
    {
    ob."Object Text""" = ob1."Object Text"""
    }
    }
    }
    

    【讨论】:

    • 嗨 Peetman,请测试脚本并告诉我。它应该工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2019-06-05
    相关资源
    最近更新 更多