TR

Hello,

I am trying to get hold of the GUID of an object representing an assignment in ARIS.

In script help, this function is referenced: ObjDef.CxnList(int), with the below explanation of the parameter to pass:

"

 

Type and direction of the relationships to be returned:

Constants.EDGES_INOUT: Returns incoming and outgoing relationships

Constants.EDGES_IN: Only returns incoming (passive) relationships

Constants.EDGES_OUT: Only returns outgoing (active) relationships

Constants.EDGES_ASSIGN: Only returns assignment relationships. A link of this constant with EDGES_IN and EDGES_OUT via OR is possible. (Default: Link with EDGES_OUT).

Constants.EDGES_INOUTASSIGN (default): Returns incoming and outgoing relationships and assignment relationships. 

"

However, when using the EDGES_ASSIGN constant, the function only returns outgoing relationships. I also can not get any of the other options to return any assignment connections.

Can anyone assist with a way to access the GUID of connections representing assignments?

Thanks.

by Ellen Gambrell Pelletier
Posted on Thu, 09/01/2011 - 00:49

ObjDef.CxnList(Constants.EDGES_ASSIGN) will return inherent relationships between the parent object (the object that has the model assigned to it) and its child objects (the objects in the assigned model).

I do not believe there is a way to actually pull the assignment relationship itself to get the GUID. You can get an assigned model with ConnectableDef.AssignedModels(), but that returns an array of the assigned models, not the relationship between the object definition and its assigned model.

0
by Jens Heylmann
Posted on Thu, 09/01/2011 - 07:58

Hi,

as I understand you would like to get a connection that has at least one assignment to a model.

In this case you can check each connection definition of an object occurence or object definition with a method that will return "true" if the connection has an assignment.

You can do this like Ellen mentioned with the method "AssignedModels()" of the ConnectableDef class:

 

function isAssignedConnection( cxnDef ) {
    return cxnDef.AssignedModels().length > 0;   
}

 

0
by Atomic Euphora
Posted on Thu, 09/01/2011 - 06:27

Hi,

I understand that ARIS automatically selects the correct connection type when I connect objects. Such as selecting "is under responsibility of"

 

However, there are instance where I want to change the selected connection type from "is under responsibility of" to "accepts". How do I do this? I cannot seem to see the other allowed connection types.

I am a system user and logging into the entire method filter, using ARIS IT Architect 7.1 Module.

Please help.

 

0
by Atomic Euphora
Posted on Thu, 09/01/2011 - 09:53

Hi Mr. Jens,

Thank you for your response. What I actually wanted to do was change the connection type between two objects from "is under the responsibility" to "accepts", while I am designing the model in Designer mode.

I know that ARIS automatically assigns the connection type, and I do not see an option on how to change this.

I hope you can help.

Thank you.

0
by Jens Heylmann
Posted on Thu, 09/01/2011 - 12:29

Dear Atomic Euphora,

I think in this posts are two questions discussed. My previous answer goes to the first post of Troels Ravn.

Regarding your question:

The type of a connection between two objects is not assigned. The type is a property of the connection itself. The type of connection depends on the two objects are connected with each other. This objects specify which type of connection you can use. If there are more then one connection type allowed between both objects, you can choose one of them in a dialog that appears when you creation the connection.

If you would like to change the type later, you have to delete the connection and create a new one. In report script it is the same. To change connection types, the script have to delete the old connection and create a new one with a other connection type.

By the way, the ARIS method specifies which connection types are allowed between the differnent object types. Therefore check the ARIS method help to see which connection types are allowed for your different cases....   

 

 

 

0
by Troels Ravn Author
Posted on Thu, 09/01/2011 - 14:51

Thank you both for your responses.

Ms Pelletier, I do not find the method returns any such inherent relationships. If I model two Value-added Chain diagram models, with one function in each, and create an assignment from one of the functions to the other model, I would expect the method to return an array with one item. However, only an empty array is returned. I would expect that if the function returned the relationship as expected, I would be able to get the GUID for it (as the objects in the returned array are Item subclasses and therefore would have a GUID).

Mr Heylmann, actually it is assignments from objects to models that we work with, not from connections to models. Unfortunately the problem is not solved if we know if there is an assignment or not. Let me describe in more detail what we are trying to achieve. Feel free to contribute with alternative solution proposals as well :).

As part of our release cycle management, we merge approved models from a WIP database to a database which holds all approved models for publication. The trouble is that if an assignment is deleted in the WIP database (source of the merge operation), and the object / models in the assignment relationship were previously approved (i.e. they were previously merged to the database with approved models), then the deleted assignment is not deleted from the approved database (target for the merge operation). I raised this issue with IDSS support previously, but was told this was a feature by design. Therefore we are trying to compare the assignments in the two databases and programatically delete those from the target database which are not found in the source database. We could do the comparison by traversing all objects and comparing the GUIDs of assigned models for each object, however this would be cumbersome. Comparison by assignment GUID would be much more elegant and efficient if we can use the database object to find directly by GUID - only we have trouble finding any GUID for the assignments in the first place...

Thanks.

0
by Jens Heylmann
Posted on Thu, 09/01/2011 - 15:38

Hi Troels,

ok now I understand what you are looking for. But I am sorry, all that I know is, that there is no  GUID for a assignment in database, because a assignment is a only pointer. What you are doing now is the only way to search for assignments in database -> traversing all objects....

0

Featured achievement

Question Solver
Share your expertise and have your answer accepted as best reply.
Recent Unlocks
  • CR
  • BH
  • Profile picture for user Ivan.Ivanov.softwareag.com
  • Profile picture for user mscheid
  • MS
  • PacMan

Leaderboard

|
icon-arrow-down icon-arrow-cerulean-left icon-arrow-cerulean-right icon-arrow-down icon-arrow-left icon-arrow-right icon-arrow icon-back icon-close icon-comments icon-correct-answer icon-tick icon-download icon-facebook icon-flag icon-google-plus icon-hamburger icon-in icon-info icon-instagram icon-login-true icon-login icon-mail-notification icon-mail icon-mortarboard icon-newsletter icon-notification icon-pinterest icon-plus icon-rss icon-search icon-share icon-shield icon-snapchat icon-star icon-tutorials icon-twitter icon-universities icon-videos icon-views icon-whatsapp icon-xing icon-youtube icon-jobs icon-heart icon-heart2 aris-express bpm-glossary help-intro help-design Process_Mining_Icon help-publishing help-administration help-dashboarding help-archive help-risk icon-knowledge icon-question icon-events icon-message icon-more icon-pencil forum-icon icon-lock