首页 > 解决方案 > DXL:无法将历史中发现的某些属性分配给属性

问题描述

DXL,ibm DOORS 循环遍历模块,然后遍历每个对象历史记录,如果“_Owner”为空,我试图将上次修改“_ReqStatus”属性的obj历史记录中的作者分配给“_Owner”属性。

这是我尝试过的:

Module m = current
History h
HistoryType ht 
Object o
string attributName
string authorName
string newOwner


noError()
for o in entire m do {
for h in o do
{   
    string owner = ""
    attributName=""
    attributName = h.attrName
    authorName=""
    owner = o."_Owner"

    if isDeleted(o) then continue 
    
    
    if((attributName=="_ReqStatus"))
    {   
        authorName=h.author
        //print authorName
        //print "\n"
        if(null owner)
        {   
            print identifier(o)
            print "\n"
            newOwner = authorName
            print newOwner"\n"
            owner = newOwner    
            print owner
            break       
        }
        
    }
    
}
}
ErrMess = lastError()

的输出符合print owner预期。我的问题是 in-DOORS 属性根本没有填充任何值。

_Owner属性类型是枚举,属性属性看起来像这样,但我不知道是否重要: “_Owner” attr properties

标签: ibm-doors

解决方案


赋值string owner = o."_Owner"时,变量owner不是对象属性本身的句柄,而是将'属性的内容复制到. 因此,在您以后的重新计算中,您只更改该变量而不更改属性。试试吧。o"_Owner"ownerowner = newOwnero."_Owner" = newOwner


推荐阅读