Dear all,
Summary: I need to import a list of possible attribute values from an external system through a report script. How can I do this?
Explanation:
A customer wants to identify weak points (OT_RISK/ST_WEAK_POINT) in his business processes. He requested that each weak point shall be categorized, using two custom attributes with value lists.
He also requested that the possible values for these attributes should be imported and continually synchronized with an external system, which I planned to implement as a report script.
However, I can not find any report script methods that would allow me to change the Aris Metamodel in use. Note that I'm not trying to add or change attribute types on the fly, only the list of possible attribute values.
Can this be done through a report script? Or a macro? It certainly is possible through ARIS Architect's Administration interface, so, as far as I can see, there's no conceptual conflict....
Any help?
Hello,
the list of values is part of the attribute type of a multi-value attribute. So indeed you would have to modify the attribute type all the time, if you want to follow that path. What is worse: What would happen, if the customer one day reduced the list of allowed values? You would lose data anywhere that discontinued value existed.
Rule of thumb: Never use dynamic value ranges for multi-value attribute types. It's like having an attribute "Responsible person" with values "John, Bill, Monica", which gets you in trouble as soon as one of those leaves the company or gets a different responsibility.
The ARIS way of solving this would be to use relationships to objects. You would import your external allowed value lists as objects into a library model and create relationships between your weak point and that object. That makes it just as easy to find all risks with that type of weak point. One idea for a sensible object type would be "Risk category" (OT_RISK_CATEGORY). Instead of two attribute types you would choose two viable connection types between Risk category and Weak point symbol. In ARIS Connect you could display the relationship to the Risk category as a property on the fact sheet, so the normal reader won't even see a difference.
Hope I could help, even if the solution is different from what you sought.
Regards, M. Zschuckelt
Dear M. Zschuckelt,
you're right. The "native" ARIS way would be to connect an object instead of constantly maintaining a list of attribute values. I'm well aware of that and it's how we address the vast majority of similar problems.
However, as you are aware, the "object" approach also has some drawbacks. For example, if you want to connect an OT_RISK_CATEGORY object to an existing "OT_RISK" object, there's no easy way to see a sorted list of all existing OT_RISK_CATEGORY objects (or is there?). You sure can type some letters and then hit "Tab", but, overall, this process is much more complicated than clicking on the drop-down arrow of the corresponding attribute in the attribute table.
Also, we're talking about a list of between 10 and 50 categories, so these would easily fit into the list of possible attribute values.
And, yes, you're right again about the script's responsibility to constantly maintain a list of possible attribute values. This includes those cases when a value is excluded from the list in the source system, but still used in some OT_RISK objects in ARIS.
Still, given the limits of our current use case, being aware of all of ARIS' methodology, my requirement and question still remains: Can I change the list of possible attribute values for user defined attributes with a script?
Actually, the more general question is: Are there any objects/methods in Aris Script that would allow changing the metamodel? From what I see in the ArisMetaModel object, all methods are read-only, including the UserDefinedAttributeValueType... methods. If not, dear Software AG folks, do you have any plans to provide such a script interface?
Thank you very much
Jorg Neves Bliesener