The root issue is that when EV doesn't have a full copy of an outline available, it cannot make TM1 happy when requesting an outline that has restrictions on it. TM1 wants to always be able to give a full outline to external applications and in the case where EV does have a full, referencable copy of a given outline, EV can substitute in place-holder members when requesting incomplete (restricted) outlines from TM1. In the case where EV either doesn't have a full copy or the copy EV does have is marked out of date, when EV tries to get a member for which it has no parent information, TM1 throws that 'Parent Unique Name....' error.
The workarounds are as follows:
-cycle EV to reload all outlines (least desirable, I am sure...)
-have a TM1 admin open the report. this will ensure that EV has a full copy of the outline for that cube going forward (or at least until the outline is out of date)
-use the ForcePreload URL command to force EV to get a new, full copy of the outline then and there
-Use the CheckPreloadingTimeout parameter, but this might not cover all cases; timing of the preload in EV and updates on the TM1 side might still allow a slice of time where one could hit this issue
The 3rd option is likely best and as well can be 'automated' after a fashion.
Given the following .vbs script, you can tell EV to force a preload of a given object. What the script does is create an instance of IE and pass the URL command to EV. After creating such a script, you can use the ExecuteCommand method in TI to call a batch file, which then calls the .vbs script (we cannot call .vbs files directly from TI). Once you have that piece in place, you can tie that TI to anything that updates the outline and would cause the aforementioned issue, a bulk-data load, an action-button adding an element, etc...
Here is the .vbs script:
Dim ieObj
Set ieObj = CreateObject("InternetExplorer.Application")
ieobj.visible = true
ieObj.Navigate2 "
http://localhost/EVServer?action=Update ... ts%20Sales"
wscript.sleep 2000
ieObj.Quit
set ieObj = nothing
Ensure that you update the URL to point to your EV server and the proper database object. For reference, my URL forces a preload against the localhost (my laptop) for the database object 'retail\Products Sales' within the System folder in EV Explorer.
Last, ensure that the security context of the TM1 server has administrator rights over the EV object. If the TM1 service runs under a service account, apply admin rights to the database object to that account, otherwise if the TM1 service is running under Local System, ensure that 'NT Authority\System' has admin rights