As far as my understanding of CUID for a report goes, I know that it is based on Connection, Universe and the Report itself. So wanted to know under what circumstances the CUID will change?
Suppose we have the following:
Connections = C1, C2
Universes = U1, U2
Report = R1
Now, say, the report R1 is based on universe U1 which in turn uses connection C1 and the CUID for report R1 is abc123.
Now suppose if I modify the report R1 to point to new universe U2 which in turn uses connection C2. Will R1 retain the same CUID abc123 or the get a new CUID?
You are slightly wrong, I’m afraid - a CUID (or Cluster Unique Identifier) is specific to any object. The Report has a reference to a universe based on the Universes CUID, not it’s name. And the Universe connects to the CUID of the Connection.
Als these links/references are kept in the system database and in the binary file of the report.
So if R1 is no longer linked to U1 but to U2, then the report reflects this change and more importantly the systemdatase is now updated with this information.
So the CUID for an object does not contain the reference to another object that it is linked to. However the link between the two objects is done by their CUIDs.
Where I can get to know how a CUID is created and is the CUID of the Universe affected when the Unievsre is modified.
This is because: Currently one my universe based crystal report was working fine. After I upadted the universe I started getting an error: “Failed to open the connection”.
The CUID is created by the application which you cannot change. The CUID does not change when you change the contents of an object, or if you rename the object.
If you get the ‘failed to open a connection’ error this could be down to (A) the connection from the report to the universe or (B) the connection from the universe to the universe connection.
To troubleshoot you might want to test the connections (from universe designer tool) and try and create a new Crystal Report based on the same universe.