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()