Problem:
When a user with permissions to access CABI/BOXI attempts to run a report for Client Automation (ITCM), they receive an error, "No data to retrieve in Query 1":
<Please see attached file for image>
Environment:
CA Business Intelligence (CABI) -- All versions
Cause:
When running reports from CABI/BOXI against an ITCM Domain Manger or Enterprise manager, the user you are running the report as in BOXI must be a defined user in ITCM Security Profiles. The user must have logged into the DSM Explorer at least once before being able to run a report against an ITCM MDB.
The reports will query ITCM's security related tables to verify if the user should have access to the information requested in the Report.
If the user does not have appropriate access in ITCM or is not defined in ITCM the user will get an error while running the report that says something along the lines of "No data to Retrieve in Query 1"
Resolution:
Setting up the user in ITCM Security Profiles
To set the appropriate permissions for a user in ITCM Security Profiles follow the steps below:
<Please see attached file for image>
<Please see attached file for image>
<Please see attached file for image>
If the user does not have access to one of these groups, they will not even be able to see the Report Folders in BOXI
<Please see attached file for image>
Verifying the user you are logging into BOXI with will be able to run Reports
<Please see attached file for image>
These queries will only return results once the User logs into the DSM Explorer at least once:
Example A
For WINNT use the following query:
SELECT uri FROM CA_DISCOVERED_USER WHERE uri like ('winnt://'+'DOMAIN_NAME'+'/'+ 'USERNAME')
If you are using WINNT, then you can Substitute 'DOMAIN_NAME' with the WINNT Domain name you selected during the install of the ITCM Reports, and where it states 'USERNAME' substitute the username you will login with in BOXI.
For example if your Domain/Active Directory name is "DOMAIN1" and your user account is "USER1" then you can run the following query to see if your account matches up in ITCM to allow you to run reports from BOXI.
SELECT uri FROM CA_DISCOVERED_USER WHERE uri like ('winnt://'+'DOMAIN1'+'/'+ 'USER1')
This query should yield a result that looks like the example below if the user is found:
winnt://domain1/user1
Example B
For LDAP users use the following query:
You can check your Domain and user account to see if it will match what is in your ITCM mdb by specifying your username where it states 'USERNAME' and your Domain where it says 'DOMAIN.COM'
(SELECT uri FROM CA_DISCOVERED_USER WHERE ((case when substring (uri, 1,4) ='ldap' then substring(uri , ((CHARINDEX('/cn=',uri))+4), ((CHARINDEX(',',uri)) - ((CHARINDEX('/cn=',uri))+4) ) ) else '' end )= 'USERNAME'and (case when substring (uri, 1,4) ='ldap' then (substring(uri , ((CHARINDEX('://',uri))+3), ((CHARINDEX('.com',uri))-4) )) end in ('DOMAIN.COM') ) )and domain_uuid = (select set_val_uuid from ca_settings where set_id = 1) )
For example if your username is "USER1" and your LDAP Domain is "DOMAIN1.com" then they SQL you can test with would be
(SELECT uri FROM CA_DISCOVERED_USER WHERE ((case when substring (uri, 1,4) ='ldap' then substring(uri , ((CHARINDEX('/cn=',uri))+4), ((CHARINDEX(',',uri)) - ((CHARINDEX('/cn=',uri))+4) ) ) else '' end )= 'USER1'and (case when substring (uri, 1,4) ='ldap' then (substring(uri , ((CHARINDEX('://',uri))+3), ((CHARINDEX('.com',uri))-4) )) end in ('DOMAIN1.COM') ) )and domain_uuid = (select set_val_uuid from ca_settings where set_id = 1) )
This query should return a result that looks like the output below if the user is found:
ldap://domain1.com/cn=user1,ou=users,ou=north america,dc=domain1,dc=com
Additional Information:
In the CABI/BOXI universe released with Client Automation (ITCM) r12.9 and r14.0, there's an option during the CABI Universe deployment, to not integrate with ITCM security profiles. On the screen with "Security Provider" selection, there is now a third option, which will allow you to rely only on CABI authentication-- i.e. if the user has proper permissions to access CABI and run the report, the ITCM universe will not check if that very user also has security permissions in ITCM to view the data relevant to the report results. This also alleviates the requirement for users running reports to access and login to DSM Explorer at least once.