This is a question about Connections/Relationships and Occurrences that will or won’t be Deleted by a DB Reorganization. I want to understand the differences between those Connections CREATED on a Model or on a Matrix as they seem to be treated differently by the Reorg. Also, I would like to find out how I can find this type of situation using a report/script.
Here is what I have observed. (screen shots attached)
I create a Model (Application Communication in this case) and place 2 different Application System Type Objects on the Model and save the model. Currently if I look at the Properties/Relationships on the Objects there are none. Now I create a Connection (transmits data to) from 1 Object to the other and save the model. Now if I look at the Properties/Relationships on the Objects I see the Relationship (connection) that I just created. If I right click on the Relationship and go to Properties/Occurrences I am shown the name of the model I am working on.
If I now Delete the visual line (connection) between the 2 Objects and save the model, when I look at the Properties/Relationships on either Object I still see the relationship between the 2 Objects. However, if I then right click on the Relationship and go to Properties/Occurrences there are NONE. This NO OCCURRENCE Connection/Relationship is/would be DELETED by a DB Reorganization.
Then I create a Matrix Model and place the same 2 Application System Type Objects on opposite Axes of the Matrix. I click “Cancel” when the “Define Visibility of Connections” dialogue opens.
I then click on “Display” for the “transmits data to” connection between 2 application system type objects and the check appears at the intersection of the objects in the Matrix. I save the Matrix.
Now when I look at Properties/Occurrences of the Connection/Relationship in either the Model or the Matrix there are NO OCCURRENCES. However, this NO OCCURRENCE Connection/Relationship will not/would not be DELETED by a DB Reorganization.
This can be confusing for Modelers working on models with objects (not a matrix) when they see multiple possible Relationships/Connections between Objects and yet the DB Reorganization will NOT clean these up and they are very difficult and time consuming to track down and clean up manually. So, any explanation and details that you can provide would be greatly appreciated.
Thank you.
Hello Michael,
reorg executed from Architect or the Server Administrator tool (arisadm) without options behaves like you observed. In order to delete connection occurences originally created in matrix models you would need to run it in arisadm:
reorg dbname CXNDEFS_IN_MATRIX_MODELS
For reference please cf. SERVER ADMINISTRATOR COMMAND-LINE TOOL.
Regards, Martin
Thank you Martin. I will give this a try. I actually have never used the Command-Line Tool and I actually don't have direct access to our Aris Server to even be able to run it. So I will get access and give it a try.
Do you or anybody out there in the Aris Community know of any report that can provide a list of these types of no occurrence matrix model connections?
Thanks again.
Thanks again Martin, but the saga continues. You can run the DB Reorg via Aris Connect with the option you are talking about. It is the 2nd option on the print screen attached.
However, that option will DELETE real Connections/Relationships Created via a Matrix. These actual Occurrences of real Connections/Relationships are NOT the orphaned or "No Occurrence" Connections/Relationships that I have described and am trying to find and delete.
So any help yourself or anybody can provide to Find and Delete No Occurrence Connections/Relationships described in my opening post of this thread would be greatly appreciated. I can find and delete the no occurrence connections manually, but we are talking thousands of them so manual is not really a viable option.
Thanks.
Hi Michael,
well, you could do this via script perhaps. There you could check if the source and target obj defs of the cxn def has an occurrence in the same model with the connection between them.
Concerning matrix models, you could just check if the source and target obj defs have occurrences in the same matrix model (as the matrix model shows cxn on def level, the cxn will always have an "occurrence" in this matrix model then)...
Robert
Well I have pieced together a report that provides the information that I needed. I didn't go so far as to add any sort of Delete dialogue/statement in the code because it ended up that the number of No Occurrence Connections was not as high as I originally thought. So I just deleted them by going to the Object in the Excel report output, selecting Properties/Relationships and manually Deleting the relationships/connections that were included on my report.
I am much happier now that my Baseline Groups in my Repository/DB is now cleaned up of that no occurrence connection clutter.
I have attached my very basic code (I am not a Java Script writer-just learn as I go) in case it will be helpful to anyone else as a basis for a use case that you might have. Not I was ONLY looking for "transmits data to" connection types and I know my report doesn't do the "receives data from" label correctly, but it was good enough for me.
Enjoy and thanks for all the help everyone.