Learn PPM with Rego: Ad Hoc Jaspersoft for Availability, Allocation, & Remaining Capacity; Inaccurate Actual Cost; Loading XML = Wrong Actuals; and Easier Budget Plan Approval

Document created by navzjoshi00 Champion on Jul 6, 2016
Version 1Show Document
  • View in full screen mode


Dear Community Members,


In this week's Learn PPM with Rego, we'll explore four CA PPM questions and answers.


1. Is it possible to create a monthly Ad Hoc Jaspersoft Report which shows the Availability, Allocation, and Remaining Capacity for all resources?

2. Why does Actual Cost only reflect open Timesheets?

3. Why are our Actuals wrong when we load XML?

4. Is there an easier way to Approve or Reject multiple Budget Plans?


Please feel free to comment on any alternative answers you've found. We love your input (always).


1. Is it possible to create a monthly Ad Hoc Jaspersoft Report which shows the Availability, Allocation, and Remaining Capacity (Availability - Allocation) for all resources? We only want to consider Active Projects.

Answer 1

You can create Calculated Attributes to show the difference, depending on whether the project Active Field is in the Resource domain, or whether those resource measures are in the Project domain.


Answer 2

If you have the Availability and Allocation summarized at the resource level, then the numbers should be good. But if you group it by the project, the number won’t be accurate. That applies to portlets in CA PPM as well and requires user training.


Answer 3

To see Remaining Capacity and Resource Availability for Active Projects using the Resource Domain, do the following.


The Calculated field for Availability summary calculation should be as follows:

Max("Available Hours",'RowGroup')


The Calculated field for Remaining Capacity summary calculation should be as follows:

Max("Available Hours", 'RowGroup') - Sum("Team Allocated Hours", 'RowGroup')


Make sure you have at least two dimensions in the rows, so your Row Group works correctly.



2. In the Assignment View, we can see total actual project hours, but the Actual Cost is far lower than expected and appears to reflects Open Timesheets. Do our Closed Time Periods, make Actual Cost inaccurate on the Assignment level?


The following screenshot shows the discrepancy; after running the Investment Allocation and Update Aggregated Data jobs, the values are not updating. Setting the curve_status on the assignment record to 1 also didn’t force a reslice.


Answer 1

The issue we see here is that the Actual Cost column on the Assignments section of the Task Properties Page is not showing the same value as the sum of the Transactions Cost for the assigned resources on the project.



That column points to the PRASSGINMENT.ACTCOST_SUM field which is updated when the ACTCOST_CURVE field is updated either by: Posting Timesheets, Importing Financial Actuals, or manually applying actuals to an assignment when the project is NOT tracking time via CA PPM.


"Update Cost Totals" updates data at the Investment Level, not the assignment level.


If the column is not showing the right data, then either all of the expected data is not in the curve, or something is seriously broken. There are a handful of bugs in 13.2 (this customer’s version) that can cause this, but end user behavior is a frequent culprit.


Answer 2

The Actual Cost value is updated in two ways.


(1) On the Task List view, in Actions, after you click the Update Cost Totals, check the box next to the task(s) that you want to update.


(2) There is a job called "Update Earned Value and Cost Totals" that can be scheduled or run on demand.


For either of these to work, you will need to set weekly and monthly periods in Administration/Earned Value Management. There are some other scenarios that will sporadically update these values, but they are not as reliable as running the job on a regular basis (nightly, or at least as frequently as you post Timesheets).



3. We're doing a load of actuals using segments from project assignments and experiencing some odd behavior. The XML is fine, but some actuals update and some don't. Prior to loading, we take the following actions:


1. Turn off all Resources for Time Entry and set track mode to “None”

2. Turn off all Team Members for Time Entry

3. Turn off all Tasks for Time Entry

4. Turn off the Project for Time Entry and set track mode to “None”



When we load the XML, only some of the actuals get updated in the project. Some of the tasks are left off completely. In one instance, only one resource (in a task with multiple resources) was updated. When we create a new task with all the actuals, they go in fine. The problem occurs during the update.


Remove the actuals Through Date prior to reloading the actuals.



4. Is there an easier way to Approve or Reject large numbers of Budget Plans? (e.g. ~150) We'd like to filter the budget/cost plan data based on Portfolio, Project OBS, and Fiscal Year. The data should also show the Total Expense and Total Capital Costs for the Fiscal Year.


Based on this scenario, only a query portlet can provide the required data and filters, however no action can be performed on the portlet. If we go for an object-based portlet, then the portfolio, project and time filters are not feasible.


We realize one option is to have two portlets: one query-based portlet to show the required data and filters, and one custom object portlet to enter the budget plan IDs (comma-separated), which require approval. The users could see the list of plans to be approved on the query portlet and manually enter the budget plan IDs in the custom object portlet. The process runs to approve those plans.


BUT with a hundred plans to approve, this is tedious. Any other ideas?


You could do the reverse. Use a process to populate some custom text or lookup fields on the submitted cost plan object for Portfolio, Project OBS, Fiscal Year, as well as fields for the cap/exp of past, current, and the next fiscal year. Then use a cost plan object-based portlet for filtering and update a Boolean field for Approve All. Now a process can run to approve the associated budget plans.



* Note, when applying an alternative solution, remember the process that populates custom fields needs to be run at least every 15 minutes. If you have an On Premise install, instead of a process, you can write a stored procedure job. This will avoid creating process instances.



Feel free to share your feedback and thanks for participating.


Your guide,

The Rego Team

1 person found this helpful