I want to set the value of attribute Constants.LUSER (last user) by script, because I have (sometimes) a database that is opened by script, with another user then the ArisData.ActiveUser(). That was no problem in ARIS 7, but in ARIS 9 (9.7 SR 2) I get errors afterwards.
See my script below: I can call ArisData.ActiveUser() 3 times without any problem, but after setting the value of attribute Constants.AT_LUSER, my script gives an error when I ask again ArisData.ActiveUser().
Is there anybody who knows the solution for this problem? That would be great!
Best regards, Ariene Kroeze
function main(){
if (ArisData.getSelectedModels().length>0){
var myObject = ArisData.getSelectedModels()[0]
}else if (ArisData.getSelectedObjDefs().length>0){
var myObject = ArisData.getSelectedObjDefs()[0]
}else if (ArisData.getSelectedObjOccs().length>0){
var myObject = ArisData.getSelectedObjOccs()[0].ObjDef()
}
var ActiveUser_1 = ArisData.ActiveUser()
var DB= ArisData.getActiveDatabase()
var Desc = lObject.Attribute(Constants.AT_DESC,-1).getValue()
// step 1
myObject.Attribute(Constants.AT_DESC,-1).setValue(Desc)
var ActiveUser_2 = ArisData.ActiveUser()
// step 2
DB.setAutoTouch(false)
myObject.Attribute(Constants.AT_DESC,-1).setValue(Desc)
var ActiveUser_3 = ArisData.ActiveUser()
DB.setAutoTouch(true)
// step 3
DB.setAutoTouch(false)
myObject.Attribute(Constants.AT_LUSER,-1).setValue(ActiveUser_1.Name(-1))
try{
var ActiveUser_4 = ArisData.ActiveUser()
}catch(ex){
Dialogs.MsgBox("error in line " + ex.lineNumber +"\n" + ex)
}
DB.setAutoTouch(true)
}
main()