Overview
Adding a new user to the IBM Report Viewer is a two-step process that involves both the Customer Support (CS) and Development (Dev) teams.
| Step | Team Responsible | Description |
|---|---|---|
| 1 | CS Team | Create user and assign Report Viewer scope |
| 2 | Dev (Robert Hopkins) | Add user to report access group via script |
Step 1: CS Team - Create the User
Create the User → The CS team is responsible for creating the new user account and assigning the Report Viewer scope. This grants the user access permissions within the system but does not yet provide access to view the actual report. Support will reply to the customer and immediately begin the user creation process.
Create the CSC dev ticket and assign to Robert → The CS team will ensure to tag Robert in a message within the ticket to alert him of the ticket as there is a 48 hour SLA that must be met for this step.
IBM Report Viewer → Add New User Process Overview for Support Team
Step 2: Dev - Run Script to add the User to the Report Viewing Group
After the user is created by the support team, the developer must add the user to the specific group that has permission to view the report. This is completed by running a SQL script.
This script has been developed to automatically identify and add users from IBM (79106) who:
Have access to the Report Viewer scope, and
Do not yet have access to the report.
This step ensures the user can access and view the designated report within the IBM environment. Once this script is run, Dev will add a note in the JIRA ticket letting support know the task has been completed.
Execution Details
Developer Access: Currently, Robert Hopkins is the only developer authorized to run the required script.
Turnaround Time: The expected completion time for adding users via the script is within 48 business hours after the initial user creation.
Automation Script
For the developer: The script can be safely run multiple times. It only affects users who are not already included in the report group, preventing duplication or unnecessary updates.
DECLARE
cursor userids is
select distinct nsa.userid from framewrk.nonsiteadmin nsa
inner join framewrk.companysiteuser cu on nsa.userid = cu.userid
inner join framewrk.companysiteusersecgroup csusg on cu.companysiteuserid = csusg.companysiteuserid
inner join framewrk.companysitesecuritygroup cssg on cssg.companysitesecuritygroupid = csusg.companysitesecuritygroupid
where nsa.companysiteid = 79016
and cssg.sec_groupid = 1705882
and nsa.userid not in (select userid from customer.reports_groups_users where report_group_id = 2);
totalcount number := 0;
begin
for user_rec in userids loop
totalcount := totalcount + 1;
insert into customer.reports_groups_users(report_group_id, userid)
values(2, user_rec.userid);
end loop;
dbms_output.put_line('Total users inserted: ' || totalcount);
end;