track 2 - navigating around the clarity ppm data model 2... · the project task assignment for the...
TRANSCRIPT
![Page 1: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/1.jpg)
Navigating around the Clarity PPM data model
![Page 2: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/2.jpg)
I have been working in the Project Management Software consulting business since 1993, starting with Artemis, and then onto ABT, Niku and through it’s rebranding to today and Clarity PPM.
About Me
Andrew Litton2007 - TODAY
Pemari Consulting Ltd
![Page 3: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/3.jpg)
Session AgendaNavigating around the Clarity PPM data model
Schema BasicsCommon TablesBasic Reporting
![Page 4: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/4.jpg)
Schema BasicsNavigating around the Clarity PPM data model
![Page 5: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/5.jpg)
How to access the database schemaSaaS Users
• Can use the Jaspersoft Studio Professional CA JDBC Adapter
• Downloadable from the Support site with Jaspersoft Studio
• Tools such as SQuirreLSQL work with the Driver
• You need to create a Report Developer user directly within Advanced Reporting with role ROLE_ADMINSTRATOR
• Can access the PPM transactional and data warehouse schemas
• Limited to 1000 rows and read only
![Page 6: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/6.jpg)
Schema Basics
• The PPM transaction database schema - approx. 1000 tables
• The PPM DWH database schema – approx. 200 tables
• plus, Views, Studio configured object tables, etc
• So, we cannot cover everything!
• Schema documentation is available from docops.ca.com
![Page 7: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/7.jpg)
Schema Basics
Naming of tables ‘sort of’ follow rules:
<COMPONENT>[_<SUB_COMPONENT>_]<DESCRIPTION>
• COMPONENT such as CMN for Common or, PFM for Portfolios
• SUB_COMPONENT such as SEC for Security, OBS – as it says.
• DESCRIPTION the content of the table, such as USERS, TASKS
Naming
![Page 8: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/8.jpg)
Schema Basics
ALMOST all tables will have the following automatically populated columns:
• ID or PRID Primary key column
• CREATED_DATE the date the record was created
• CREATED_BY the user id of the user who created the record
• LAST_UPDATED_DATE the date the record was last updated
• LAST_UPDATED_BY the user id of the user who last updated the record
![Page 9: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/9.jpg)
Schema Basics
ODF_CA_<Object ID>
Studio Configured Objects
![Page 10: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/10.jpg)
Schema BasicsStudio seeded Objects
![Page 11: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/11.jpg)
Common TablesNavigating around the Clarity PPM data model
![Page 12: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/12.jpg)
Lookups
§ Lookup definition and values are stored in the CMN_LOOKUP* tables
§ Use view CMN_LOOKUPS_V for lookups
§ Multi-valued lookup attribute values stored in table ODF_MULTI_VALUED_LOOKUPS
• Can link to CMN_LOOKUPS or Dynamic lookup source table
SELECT U.USER_NAME, U.ID, L.NAMEFROM CMN_SEC_USERS UJOIN CMN_LOOKUPS_V L
ON U.USER_STATUS_ID = L.IDAND L.LOOKUP_TYPE = 'SEC_USER_STATUS'AND L.LANGUAGE_CODE = 'en'
![Page 13: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/13.jpg)
TimeSlices
§ Time related data, i.e. Daily Time-entries, Allocations, Financial plan detail values stored are as binary data, i.e. in IMAGE or BLOB columns
§ TimeSlice tables contain this data in a reportable format pre aggregated by periods such as Weeks, Months, Quarters and Years
§ The TimeSlicer job updates these TimeSlice tables
§ Most TimeSlice tables start PRJ_BLB_*
§ Others are ODF_SL_* or ODF_SSL_*
![Page 14: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/14.jpg)
TimeSlices
§ Look in Administration/Time Slices for available Time Sliced data and ability to add new slices
§ The data displayed above is found in table PRJ_BLB_SLICEREQUESTS plus those slices hidden from the view along with the name of the table that contains the actual data.
![Page 15: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/15.jpg)
TimeSlices
§ Largest table is normally PRJ_BLB_SLICES
§ Is it normally huge when compared to most other tables in the database
§ An example reading the Monthly availability for a single resource:
SELECT *FROM PRJ_BLB_SLICESWHERE SLICE_REQUEST_ID = 7 --slice request 7AND PRJ_OBJECT_ID = 1 --admin resource id
![Page 16: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/16.jpg)
OBS
PRJ_OBS_TYPES
PRJ_OBS_UNITS
PRJ_OBS_ASSOCIATIONS
A Record per specific OBS defined
A Record for each of the units defined in the OBS
Contains the ID’s of objects associated to OBS units
OBS_UNITS_FLAT_BY_MODE The flattened hierarchy for each OBS unit.
![Page 17: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/17.jpg)
OBS: Example 1SELECT OU.NAME, OUF.LINKED_UNIT_ID, OUB.NAMEFROM PRJ_OBS_TYPES OTJOIN PRJ_OBS_UNITS OU ON OT.ID = OU.TYPE_IDJOIN OBS_UNITS_FLAT_BY_MODE OUF ON OU.ID = OUF.UNIT_IDJOIN PRJ_OBS_UNITS OUB ON OUF.LINKED_UNIT_ID = OUB.IDWHERE OT.NAME = 'Resource Pool'
AND OU.UNIQUE_NAME = 'External'AND OUF.UNIT_MODE = 'OBS_UNIT_AND_CHILDREN'
![Page 18: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/18.jpg)
OBS: Example 2SELECT OUB.NAME, R.UNIQUE_NAME, R.FULL_NAMEFROM PRJ_OBS_TYPES OTJOIN PRJ_OBS_UNITS OU ON OT.ID = OU.TYPE_IDJOIN OBS_UNITS_FLAT_BY_MODE OUF ON OU.ID = OUF.UNIT_IDJOIN PRJ_OBS_UNITS OUB ON OUF.LINKED_UNIT_ID = OUB.IDJOIN PRJ_OBS_ASSOCIATIONS OA
ON OUF.LINKED_UNIT_ID = OA.UNIT_IDAND OA.TABLE_NAME = 'SRM_RESOURCES'
JOIN SRM_RESOURCES R ON OA.RECORD_ID = R.IDWHERE OT.NAME = 'Resource Pool'
AND OU.UNIQUE_NAME = 'External'AND OUF.UNIT_MODE = 'OBS_UNIT_AND_CHILDREN'
![Page 19: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/19.jpg)
Basic ReportingNavigating around the Clarity PPM data model
![Page 20: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/20.jpg)
Basic Reporting
§ Common Basic Reporting areas:
• Investments/Projects
• Resources
• Timesheets
![Page 21: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/21.jpg)
Investment Data
§ INV_INVESTMENTS
• INV_APPLICATIONS• INV_ASSETS• INV_IDEAS• INV_OTHERS• INV_PRODUCTS• INV_PROJECTS• INV_SERVICES
Core Investment table, common for all investments and investment extensions
All join via ID except INV_PROJECTS so:
FROM INV_INVESTMENTS IJOIN INV_PROJECTS P ON I.ID=P.PRID
FROM INV_INVESTMENTS IJOIN INV_ASSETS A ON I.ID=A.ID
![Page 22: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/22.jpg)
Investment Data
INV_INVESTMENTS
PRTEAM PRTASK
PRASSIGNMENT
ODF_CA_INVESTMENTS
The Project Team -Allocations
The Project Tasks
The Team Resource assignment to Tasks
The Investment Object custom attributes
PAC_MNT_PROJECTS
The Investment Object financial attributes
![Page 23: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/23.jpg)
Investment Data: ExamplesSELECT I.CODE,
I.NAME,I.ODF_OBJECT_CODE,FP.CLASS,P.PRASOF,OP.PARTITION_CODE
FROM INV_INVESTMENTS I JOIN INV_PROJECTS P ON P.PRID = I.IDJOIN PAC_MNT_PROJECTS FP ON FP.ID = I.IDJOIN ODF_CA_PROJECT OP ON P.PRID = OP.IDWHERE I.IS_ACTIVE = 1
AND I.ODF_OBJECT_CODE = 'project'AND P.IS_TEMPLATE = 0
SELECT I.CODE,I.NAME,T.PREXTERNALID,T.PRNAME,T.PRSTART,T.PRFINISH
FROM INV_INVESTMENTS IJOIN PRTASK T ON I.ID = T.PRPROJECTIDWHERE I.CODE = 'PR1001'
![Page 24: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/24.jpg)
Resource Data
§ SRM_RESOURCES
Core Resource table. Resources are added to Teams, Timesheets, etc
§ CMN_SEC_USERS
Core User table, only use when you are looking at logon/security information or who created/updated a record
![Page 25: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/25.jpg)
Resource Data
SRM_RESOURCES
CMN_SEC_USERS
PAC_MNT_RESOURCES
The Resource financial attributes
PRJ_RESOURCES
Additional Resource attributes.
A user can only be associated with one resource.
CMN_SEC_USERS.ID = SRM_RESOURCES.USER_ID
PRCALENDAR
![Page 26: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/26.jpg)
Resource DataSELECT R.FULL_NAME, R.UNIQUE_NAME, U.USER_NAME, P.PRISOPEN,
RR.FULL_NAME ROLE, TC.PRNAME TYPECODE, C.HOURS_PER_DAYFROM SRM_RESOURCES RJOIN CMN_SEC_USERS U ON R.USER_ID = U.ID JOIN PRJ_RESOURCES P ON R.ID = P.PRIDJOIN PRCALENDAR C ON P.PRCALENDARID = C.PRIDJOIN SRM_RESOURCES RR ON P.PRPRIMARYROLEID = RR.IDJOIN PRTYPECODE TC ON P.PRTYPECODEID = TC.PRIDWHERE P.PRISROLE = 0
![Page 27: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/27.jpg)
Timesheet Data
PRTIMEPERIOD
PRTIMESHEET
PRTIMEENTRY
SRM_RESOURCES
PRASSIGNMENT
The Time Reporting Periods defined
Created Timesheets
Each line of a timesheet
The Resource for the Timesheet
The Project Task Assignment for the Timeentry
![Page 28: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/28.jpg)
Timesheet Data
SELECTR.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,T.PRNAME, TE.PRACTSUM
FROM PRTIMEPERIOD TPJOIN PRTIMESHEET TS ON TP.PRID = TS.PRTIMEPERIODIDJOIN PRTIMEENTRY TE ON TS.PRID = TE.PRTIMESHEETIDJOIN SRM_RESOURCES R ON TS.PRRESOURCEID = R.IDJOIN PRASSIGNMENT A ON TE.PRASSIGNMENTID = A.PRIDJOIN PRTASK T ON A.PRTASKID = T.PRIDJOIN INV_INVESTMENTS I ON T.PRPROJECTID = I.IDWHERE R.UNIQUE_NAME = 'admin'AND TP.PRSTART >= TO_DATE('2019-03-25', 'YYYY-MM-DD')
![Page 29: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/29.jpg)
Timesheet DataSELECTR.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME, T.PRNAME,S.SLICE_DATE, S.SLICE
FROM PRTIMEPERIOD TPJOIN PRTIMESHEET TS ON TP.PRID = TS.PRTIMEPERIODIDJOIN PRTIMEENTRY TE ON TS.PRID = TE.PRTIMESHEETIDJOIN SRM_RESOURCES R ON TS.PRRESOURCEID = R.IDJOIN PRASSIGNMENT A ON TE.PRASSIGNMENTID = A.PRIDJOIN PRTASK T ON A.PRTASKID = T.PRIDJOIN INV_INVESTMENTS I ON T.PRPROJECTID = I.IDJOIN PRJ_BLB_SLICES S ON TE.PRID = S.PRJ_OBJECT_ID AND S.SLICE_REQUEST_ID = 55555WHERE R.UNIQUE_NAME = 'admin'AND TP.PRSTART >= TO_DATE('2019-03-25', 'YYYY-MM-DD')
![Page 30: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/30.jpg)
Where Next
DocOps – Look at the Clarity PPM Entity Relationship Diagrams in the Reference section
Use a SQL tool to browse the database Schema – also look at the views – ODF_*
Also download the CA PPM Advanced Reporting and Database Schema Index
![Page 31: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/31.jpg)
Navigating around the Clarity PPM data model
Questions?
![Page 32: Track 2 - Navigating around the Clarity PPM data model 2... · The Project Task Assignment for the Timeentry. Timesheet Data SELECT R.UNIQUE_NAME, R.FULL_NAME, TP.PRSTART, I.NAME,](https://reader036.vdocuments.us/reader036/viewer/2022070712/5ecebb9f301270614365d632/html5/thumbnails/32.jpg)
Thank you for attendingNavigating around the Clarity PPM data model
Phone+44
Websitewww.pemari.com
Let us know how we can improve!
Don’t forget to fill out the feedback forms!