Project and Portfolio Management Practitioners Forum
cancel
Showing results for 
Search instead for 
Did you mean: 

Release Management Calendar

Highlighted
JeffScales
Acclaimed Contributor

Release Management Calendar

I am looking to create a "Release Calendar" and every time I look for data to build it, it is in PPM.  Does anyone know of a good report and/or steps to retrieve the information and create a presentable calendar?

1 REPLY
Erik Cole
Honored Contributor

Re: Release Management Calendar

This may be overkill, but...I created a similar calendar displayed in a MS Outlook shared calendar from PPM data. You just have to create a regularly scheduled execution (via report or whatever) to generate an iCAL file that Outlook can read from. In our case, I generated a calendar of project milestones, and a change management release calendar. Here's some sample SQL...dump the output into a text file in PPM's "pdf" subdirectory and tell Outlook to "subscribe to Internet Calendar" from that URL...

 

Select
'BEGIN:VEVENT'|| chr(13)||chr(10) ||
'DTSTAMP:'||to_char(new_time(sysdate,'EST','GMT'),'YYYYMMDD')||'T'||to_char(new_time(sysdate,'EST','GMT'),'MISS')||'00Z'|| chr(13)||chr(10) ||
'DTSTART:'||to_char(trunc(NVL(a.ACT_FINISH_DATE,a.EST_FINISH_DATE)),'YYYYMMDD')||'T'||to_char(trunc(NVL(a.ACT_FINISH_DATE,a.EST_FINISH_DATE)),'HH24MI')||'00Z'|| chr(13)||chr(10) ||
'DTEND:'||to_char(trunc(NVL(a.ACT_FINISH_DATE,a.EST_FINISH_DATE)),'YYYYMMDD')||'T'||to_char(trunc(NVL(a.ACT_FINISH_DATE,a.EST_FINISH_DATE)),'HH24MI')||'00Z'|| chr(13)||chr(10) ||
'SUMMARY:'||trim(p.PROJECT_NAME || ' > ' || i.name)|| Decode(a.ACT_FINISH_DATE,null,' (Estimated)','')|| chr(13)||chr(10) ||
'UID:pmo@mycompany.com'|| chr(13)||chr(10) ||
'DESCRIPTION:'||REPLACE(i.name,chr(10),'\n')|| Decode(a.ACT_FINISH_DATE,null,' (Estimated)','')||
'\n\nLink: '||(select Distinct VALUE from KNTA_APP_SERVER_PROPERTIES where KEY = 'BASE_URL' and server_name = 'HPPPM')||'web/knta/crt/RequestDetail.jsp?REQUEST_ID='||p.PFM_REQUEST_ID
|| chr(13)||chr(10) ||
'END:VEVENT'
FROM PM_PROJECTS p
Join PM_WORK_PLANS wp on wp.PROJECT_ID = p.PROJECT_ID
Join WP_TASKS t on t.WORK_PLAN_ID = wp.WORK_PLAN_ID
Join WP_TASK_INFO i on i.TASK_INFO_ID = t.TASK_INFO_ID
Join WP_TASK_ACTUALS a on a.ACTUALS_ID = t.TASK_ACTUALS_ID
Join WP_MILESTONES m on m.MILESTONE_ID = t.MILESTONE_ID
WHERE 1=1
and wp.ENTITY_TYPE = 'WORK_PLAN'
and p.STATUS not in (2,3)
and m.MAJOR = 'Y'

//Add this to "OnDomLoad" event