Post on 07-Aug-2015
www.regoconsulting.com Phone: 1-888-813-0444
Maximizing Queries Using Tables
Advanced Data Model, CA PPM (CA Clarity PPM)
www.regoconsulting.com Phone: 1-888-813-0444
2
● High Level Overview● Core Tables● Time Slices● Datamart● Database
○ Common Columns○ Table Naming Convention○ Object Types
● Where to find documentation● Object Details
○ Ideas
○ Projects
● Database Details○ Resources○ Ideas○ Projects○ Baselines○ Master / Sub○ Portfolios
● Open Discussion!
Summary
www.regoconsulting.com Phone: 1-888-813-0444
3
● There are 3 main areas where data is stored● Core Tables
○ These are the production tables used for the day to day functions○ They include
• Investment , Resource, Timesheet Information○ Data updated in real time (Live Tables)
● Time Slice Tables○ Houses summarized data by Daily, Weekly, Bi-Weekly, Monthly, Bi-Monthly, Quarterly,
Semi-Annually, Yearly views○ These tables are populated via a job process – Time Slice○ Time Slices are critical to define how much data is summarized
● DataMart Tables○ Provides Summary and Rollup Data○ DataMart is populated via several job processes – Rate Matrix Extraction, DataMart
Extraction and Datamart Rollup
10,000 Foot View
www.regoconsulting.com Phone: 1-888-813-0444
4
● Investments○ INV_INVESTMENTS – Main investment table that links to all of the
related investment table.
● Resources○ SRM_RESOURCES is the basic resource/role table that links to all
resource related tables.
● Timesheet○ Stores timesheet information and links to the resource, time entry and
time period tables○ PRTimesheet○ PrTimeEntry
Core Tables
www.regoconsulting.com Phone: 1-888-813-0444
5
● Time and Hour metrics are stored as blobs and are unreadable in the day to day production tables.
● Time Slice tables open a window to this data for viewing.● These views allow CA PPM to group data into Weeks, Months,
Quarters etc…● This grouping allows for more efficient queries.● Need to tell it what slice you are going after.● Keep your daily slices to a minimum. ● Resetting Slices.
Time Slice Tables
www.regoconsulting.com Phone: 1-888-813-0444
6
Time Slice Tables
Slice Range Qtr Qtr Qtr Qtr
Jan-14
Feb-14
Mar-14
Apr-14
May-
14Jun-14
Jul-14
Aug-14
Sep-14
Oct-14
Nov-14
Dec-14
Jan-15
Feb-15
Mar-15
Apr-15
May-
15Jun-
15Jul-15
Aug-15
Sep-15
Oct-15
Nov-15
Dec-15
Jan-16
Feb-16
www.regoconsulting.com Phone: 1-888-813-0444
7
Time Slice Tables
Slice Range Qtr Qtr Qtr Qtr
Jan-14
Feb-14
Mar-14
Apr-14
May-
14Jun-14
Jul-14
Aug-14
Sep-14
Oct-14
Nov-14
Dec-14
Jan-15
Feb-15
Mar-15
Apr-15
May-
15Jun-
15Jul-15
Aug-15
Sep-15
Oct-15
Nov-15
Dec-15
Jan-16
Feb-16
Rollover
www.regoconsulting.com Phone: 1-888-813-0444
8
● There are five DAILY out of the box slices.● These slices are used to populate the datamart and some
reporting tables.
# Slice Name1 DAILYRESOURCEAVAILCURVE2 DAILYRESOURCEACTCURVE3 DAILYRESOURCEESTCURVE10 DAILYRESOURCEALLOCCURVE11 DAILYRESOURCEBASECURVE
Types of Slices
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
9
● There are four MONTHLY out of the box slices.● These slices are not used to populate the datamart but are
used in reporting.
# Slice Name4 MONTHLYRESOURCEACTCURVE5 MONTHLYRESOURCEESTCURVE6 MONTHLYRESOURCEALLOCCURVE7 MONTHLYRESOURCEAVAILCURVE
Types of Slices
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
10
• Time bucketed PM Information• Weekly, monthly, quarterly and yearly time bucketed
information at the OBS level• Summary information about projects• Project, resource and task information on a daily basis• Resource information• Datamart data is tied to the out of the box daily slices.• Datamart historical information is limited to the time slices. • Pre-Upgrade steps will clear the datamart tables.
Datamart Tables
www.regoconsulting.com Phone: 1-888-813-0444
11
Common Columns
ID Primary KeyCREATED_DATE Date/time record was created
CREATED_BY User that created the record. Foreign key to CMN_SEC_USERS.ID
LAST_UPDATED_DATE Date/time record was last updated
LAST_UPDATED_BY User that updated the record. Foreign key to CMN_SEC_USERS.ID
www.regoconsulting.com Phone: 1-888-813-0444
12
DB Object Prefix Naming Convention
Component IDBusiness Development BIZBusiness Process Management BPMCalendaring CALCapacity Planning CAPCollaboration CLBCommon CMNPMO Accelerator COPDatamart NBIDiscussions NTDObject Definition Fields ODFProject Accounting PACPortfolio Management PFMProject/Portfolio Management PRJResource Management RSMShared SRM Objects SRMeXtensible Data Model XDM
www.regoconsulting.com Phone: 1-888-813-0444
13
DB Object Suffix Naming Convention
Type Type ID DescriptionPrimary key constraints and indexes PK Primary key constraints need to be named explicitly as they
control the name of the primary key index (which is automatically created)
Foreign key constraints FKx Foreign key constraints need to be named explicitly (“alter table XYZ add XYZ_FK1 foreign key …”)
Check constraints CKx i.e. CK1 or CK2Unique indexes Ux i.e. U1Non-unique indexes Nx i.e. N1 or N2Sequences (Oracle only) Sx i.e. S1 or S2. S1 is used for primary key sequences only, i.e.
CMN_LOOKUPS_S1.Triggers TRGx or Tx i.e. TRG1 or TRG2, T1 or T2Packages PKGStored Procedures SPFunctions FCTViews VAggregate/Summary tables SUM
www.regoconsulting.com Phone: 1-888-813-0444
14
● CA Bookshelf○ Contains Entity Diagram and Technical Reference guide for 13.x
versions○ One bookshelf for users.○ One bookshelf for admins.○ Also contains data model changes.
Documentation
www.regoconsulting.com Phone: 1-888-813-0444
15
● CMN_SEC_USERS○ User / Logon
● SRM_RESOURCES○ Resource Information
● PRJ_RESOURCES○ Open for Time settings
● RSM_SKILLS○ List of Skills
● RSM_SKILL_ASSOCIATIONS○ Skill to Resource link
Resources
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
16
● INV_INVESTMENTS○ ODF_OBJECT_CODE = ‘idea’
● INV_IDEAS○ Idea object attributes
● ODF_CA_IDEA○ Custom Idea attributes
● PRTask○ Hidden Idea Task
Ideas
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
17
● INV_INVESTMENTS○ Main table
● INV_PROJECTS○ Template, program
● PAC_MNT_PROJECTS○ Financial Settings
● ODF_CA_PROJECT○ Custom Project Attributes
● PRTeam○ Team Members
● PRTask○ Task Information
● PRAssignment○ Assignment Information
Projects
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
18
● PRJ_BASELINES○ List of all baselines○ Flag for current○ Link to investment○ Project / Application type
● PRJ_BASELINE_DETAILS○ Task / Assignment / Project level
Baselines
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
19
● PRJ_BASELINES ○ Master list of all baselines in
the system.○ Updated for 13.2 and above.
○ PROJECT_ID = Investment ID○ OBJECT_TYPE = Investment Type ○ NAME = Baseline Name ○ CODE = Baseline Code○ IS_CURRENT = Current BL Flag○ ID = Baseline internal ID
PRJ_BASELINES
www.regoconsulting.com Phone: 1-888-813-0444
20
● PRJ_BASELINE_DETAILS○ Details of the baseline. ○ OBJECT_TYPE
• Project / Application• Task• Team• Assignment
○BASELINE_ID = ID from PRJ_BASELINE table.
○OBJECT_ID = Instance ID of object_type○USAGE_SUM = Baselined Effort (Act +
Remaining Effort) in seconds.○COST_SUM = Baselined Cost○DURATION = Effort duration
PRJ_BASELINE_DETAILS
www.regoconsulting.com Phone: 1-888-813-0444
21
SelectINV.CODE,INV.NAME,PB.NAME,PBD.START_DATE,PBD.FINISH_DATE,PBD.USAGE_SUM / 3600,PBD.COST_SUM,PBD.DURATION
FROMINV_INVESTMENTS INVInner Join PRJ_BASELINES PB ON PB.PROJECT_ID = INV.IDInner Join PRJ_BASELINE_DETAILS PBD ON PBD.BASELINE_ID = PB.IDWhere PBD.OBJECT_TYPE = 'PROJECT'and PB.is_current = 1
Exercise #1 – Baseline Details
www.regoconsulting.com Phone: 1-888-813-0444
22
● INV_HIERARCHIES_FLAT○ This denormalized table stores data based on INV_HIERARCHIES. The flattened
table contains parent_id and child_id entries for all descendants of a given investment parent_id that has a hierarchy. The link_source_id contains the ID of the immediate parent of the child. This table enables rapid retrieval of all descendants within a hierarchy. By examining the link_source_id, the original hierarchical order can also be retrieved.
● Can return Program/Master/Sub relationships.
Master / Sub
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
23
● INV_HIERARCHIES_FLAT○ Join to the INV_INVESTMENTS on
the ID = PARENT_ID or CHILD_ID fields from the hierarchy table.
○ Same table is used for multiple purposes.
○ Filter for Program! • INV_PROJECTS . IS_PROGRAM
○ Reference the Investments twice• Once for Master.• Once for Sub.
Master / Sub
Portions obtained from CA documentation
INV_INVESTMENTS(Parent)
INV_HIERARCHIES_FLAT
INV_PROJECTS
IS_PROGRAMIS_TEMPLATE
PARENT_ID = ID
INV_INVESTMENTS(Child)
CHILD_ID = ID
INV_PROJECTS
IS_PROGRAMIS_TEMPLATE
ID = PRID ID = PRID
www.regoconsulting.com Phone: 1-888-813-0444
24
Select MAS.NAME MasterName,MAS.CODE MasterCode,SUB.NAME SubName,SUB.CODE SubCode
FROM INV_HIERARCHIES IHInner Join INV_INVESTMENTS MAS on MAS.ID = IH.PARENT_IDInner Join INV_PROJECTS MP on MP.PRID = MAS.IDInner Join INV_INVESTMENTS SUB on SUB.ID = IH.CHILD_IDInner Join INV_PROJECTS SP on SP.PRID = SUB.idWhere SP.IS_PROGRAM = 0and MP.IS_PROGRAM = 0Order by MAS.Code
Exercise #2 – Master / Sub
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
26
● PFM_PORTFOLIOS○ Main table that holds all portfolios.
Portfolios
www.regoconsulting.com Phone: 1-888-813-0444
27
● PFM_INVESTMENTS○ This table contains copy of investment attributes in the context of a
portfolio.○ Link to Investment ID is on this table.
Portfolios
www.regoconsulting.com Phone: 1-888-813-0444
28
Select INV.Name,INV.Code,PP.Name PortfolioName,pp.CODE PortfolioCode
From PFM_PORTFOLIOS PP, PFM_INVESTMENTS PI, INV_INVESTMENTS INVWhere pi.Portfolio_id = PP.idand INV.ID = pi.investment_id
Exercise #3 – Portfolio
Portions obtained from CA documentation
www.regoconsulting.com Phone: 1-888-813-0444
29
Questions
Contact US888.813.0444
Email Contactinfo@regoconsulting.com
Web Sitewww.regoconsulting.com
Thank you for your time.