- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-28-2016 06:20 AM
Hi all,
Auditors are looking for a one-stop view into the details of our changes, which includes change details coming from both the change task and the approval tables. In short, we need to union rows from each of the two tables to chronologically show the work and the approvals that occurred for each change. I have a sample query below which runs against an ODBC connection, but I need to know if something more efficient can be created 'within' the tool so that a scheduled report can be run and delivered instead of running/exporting SQL query results.
Query:
SELECT ct.dv_change_request AS ChangeNbr,
'Task' as Type,
ct.short_description AS Acty,
ct.dv_state AS Status,
convert(ct.closed_at,timestamp) AS Timestp,
ct.dv_closed_by AS Auth_By,
su.email as EMail
FROM change_task ct,
sys_user su
WHERE su.sys_id = ct.closed_by AND ct.dv_change_request='CHGXXXXXXX'
UNION ALL
SELECT sa.dv_sysapproval AS ChangeNbr,
'Appr' as Type,
sa.u_activity AS Acty,
sa.dv_state AS Status,
convert(sa.sys_updated_on,timestamp) AS Timestp,
sa.dv_approver AS Auth_By,
su.email as EMail
FROM sysapproval_approver sa,
sys_user su
WHERE su.sys_id = sa.approver AND sa.dv_sysapproval='CHGXXXXXXX' AND sa.dv_state='Approved'
ORDER BY 5;
Has anybody had to do something similar? If so, how did you accomplish it?
Thanks in advance,
Chuck H.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-30-2016 11:35 AM
Ah, to add, you can show Approval History as part of Activity Stream or on its own in a form section, if desired. And marking this answered would be appreciated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-28-2016 12:44 PM
Can you try running this in Background Script:
var gr = new GlideRecord('change_request');
gr.query('number', 'CHG0031322');
if (gr.next()) gs.info(gr.approval_history.getDisplayValue());
How many approvals do you see?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-29-2016 02:32 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-29-2016 02:35 PM
No worries - sorry, Background Script requires an elevated role. That output is disappointing, but confirms what you've been getting so far on your side.
Which release are you on?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-30-2016 06:11 AM
Appreciate your time and help.
We are on Helsinki
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-30-2016 06:45 AM
Here's how Approval History looks like in Helsinki OOB, showing both approval and rejection:
- Approval History added to Change form - I grabbed only the last 4 approvals (I approved 2 as admin and the other 2 by impersonation)
- Output from Background Script
So it's still not clear to me why in your case it only shows the last approval. You might check the 2 things from my earlier reply below if you still want to use Approval History. Other than that, I'm not sure what else might be causing it.
FYI - the above output does NOT show comments, although the BR adds it; we can look into it later once you get this working first.