DXL:无法将历史中发现的某些属性分配给属性

问题描述

DXL、IBM 门 循环遍历模块,然后遍历每个对象历史记录,如果“_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

解决方法

分配 string owner = o."_Owner" 时,变量 owner 不是对象属性本身的句柄,而是 o 的 {{1} 的内容 }} 属性被复制"_Owner"。因此,在您稍后的重新计算 owner 中,您只更改该变量而不是属性。试试owner = newOwner

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...