问题描述
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
。