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

TM: has anybody seen this?

Highlighted
Erik Cole
Honored Contributor

TM: has anybody seen this?

We're using 9.12 with IE8. We're getting a lot of TMPM Sync errors, and also are seeing cases where it _looks_ like when users are logging time to project tasks the % complete and/or ERE fields are not getting auto-calculated like they should. I am unable to replicate this in testing, but users _swear_ they are not changing the numbers yet they are not what they would be by default if they were only logging the time.

Has anyone seen this kind of behavior before?

6 REPLIES
dirkf
Honored Contributor

Re: TM: has anybody seen this?

Hi Eric,

 

hope all is well with you.

 

I don't know what the TM synch error that you are referring to is stating. Is it something like the following:

 

Cost Rollyp Service:com.mercury.itg.pm.const.util.ProjectCostUtil:2021/04/20-10:01:07.942CEST: No TM effort contour found for TM work unit: 69114?

 

This HAS been known to happen in 8.0 and 9.1 BUT you can bascially ignore it.

Explanation:

 

I found one defect in QCCR1L39846, which seems to indicate that this happens unnecessarily due to cancelled Timesheets while in 9.12 this message is obsolete because  this work is now done asychronously by the TM PM synch service.

 

Hope it helps.

 

In respecct to recalculation of percent complete and the ERE fields - do you see if everything is rolling up correctly after the services have been run? Or are the values wrong even after that? In that case, I would like to know more infos about the task as well as the values taht are used and the project settings of course, plus if this is happening to singular users or to groups or all of them.

 

Have a great day.

Best regards,

Dirk

Oscar_Pereira
Frequent Visitor

Re: TM: has anybody seen this?

 

 

Hello Erick,

 

Could you please make reference of one of the TM PM Sync errors that you are seeing? This may help us to compare with any known issue

 

The foundation is that ERE is only an estimate value, it's mostly derived from other actuals and not a major factor in calculating the other variables.

 

When user manually inputs the %Complete or ERE, this is the formula they need to follow:
%Complete = Actual Effort/(Actual Effort + ERE)

This is how the system calculates:

Estimated Remaining Effort(ERE)

The formulas are:

1. ERE = Scheduled Effort(SE) - Actual Effort(AE)
2. ERE = (Last ERE + Last AE) - AE
==============================================
So if Actual Effort is zero, ERE is not recalculated, it just get back to 0

 

Thanks
Oscar Pereira

 

Erik Cole
Honored Contributor

Re: TM: has anybody seen this?

Yep, here is the message:

 

ERROR :ppmLightServiceListenerContainer-1:com.mercury.itg.core.jms.service:2011/11/30-11:38:16.627 EST: ID:6816-13226710949401: Error encountered in PPM service - TM-PM Sync Service
com.mercury.itg.core.jms.service.impl.MDServiceExecutionException: java.lang.IllegalArgumentException: actualEffort / (actualEffort + estimatedRemainingEffort) * 100 must be equal to percentComplete (+- .5).

 

If we look at tm_work_units, we can see several with values that fail this math equation. Since PPM is supposed to be calculating these when time is entered or one of the values is modified, we don't know how we are constantly getting the invalid values.

Kerim KILIC
Frequent Visitor

Re: TM: has anybody seen this?

Hello Eric,

 

Are you able to solve this? You manually run a sql script or hp supplied report to correct values in work units table?

Oscar_Pereira
Frequent Visitor

Re: TM: has anybody seen this?

java.lang.IllegalArgumentException: actualEffort / (actualEffort + estimatedRemainingEffort) * 100 must be equal to percentComplete (+- .5).

Run this query:

SELECT *
FROM tm_work_units
WHERE (act_effort + est_effort) = 0
AND ((
perc_complete < 99
AND ((act_effort * 100.0 > (perc_complete + 0.5) * (act_effort + est_effort))
OR (act_effort * 100.0 < (perc_complete - 0.5) * (act_effort + est_effort))
)
)
OR (
perc_complete >= 99
AND ((act_effort * 100.0 > (perc_complete + 1) * (act_effort + est_effort))
OR (act_effort * 100.0 < (perc_complete - 1) * (act_effort + est_effort))
)
)
)

And the fix script is:

UPDATE tm_work_units
SET perc_complete = (act_effort * 100.0 / (act_effort + est_effort))
WHERE ( perc_complete < 99
AND ( (act_effort * 100.0 > (perc_complete + 0.5) * (act_effort + est_effort))
OR (act_effort * 100.0 < (perc_complete - 0.5) * (act_effort + est_effort))
)
)
OR ( perc_complete >= 99
AND ( (act_effort * 100.0 > (perc_complete + 1) * (act_effort + est_effort))
OR (act_effort * 100.0 < (perc_complete - 1) * (act_effort + est_effort))
)
)

 

In case that the above update query gives you an Oracle error, take in consideration that there is other scenario, if Estimated Remaining Efforts is negative.

The root cause of the negative ERE is that the schedule effort  is 0. After filling actual effort,

 

We can ignore the tm_work_units that have their flag needs_sync as 'N'

 

I am attaching the select and fix script for the scenario when having negative effort in

java.lang.IllegalArgumentException: actualEffort / (actualEffort + estimatedRemainingEffort) * 100 must be equal to percentComplete (+- .5).

Run this query:

SELECT *
FROM tm_work_units
WHERE (act_effort + est_effort) = 0
AND ((
perc_complete < 99
AND ((act_effort * 100.0 > (perc_complete + 0.5) * (act_effort + est_effort))
OR (act_effort * 100.0 < (perc_complete - 0.5) * (act_effort + est_effort))
)
)
OR (
perc_complete >= 99
AND ((act_effort * 100.0 > (perc_complete + 1) * (act_effort + est_effort))
OR (act_effort * 100.0 < (perc_complete - 1) * (act_effort + est_effort))
)
)
)

And the fix script is:

UPDATE tm_work_units
SET perc_complete = (act_effort * 100.0 / (act_effort + est_effort))
WHERE ( perc_complete < 99
AND ( (act_effort * 100.0 > (perc_complete + 0.5) * (act_effort + est_effort))
OR (act_effort * 100.0 < (perc_complete - 0.5) * (act_effort + est_effort))
)
)
OR ( perc_complete >= 99
AND ( (act_effort * 100.0 > (perc_complete + 1) * (act_effort + est_effort))
OR (act_effort * 100.0 < (perc_complete - 1) * (act_effort + est_effort))
)
)

 

In case that the above update query gives you an error, take in consideration that there is other scenario, if Estimated Remaining Efforts is negative.

The root cause of the negative ERE is that the schedule errort is 0. After filling actual effort,

 

I am attaching the select and fix script for the scenario when having negative effort in tm_work_units table

 

As "Fix_perc_complete_needs_sync_Y.txt"

 

This query will only update tm_work_units with needs_sync = 'Y',  we can ignore the tm_work_units records that have their flag needs_sync as 'N'

 

Regards

Oscar P

 

Kerim KILIC
Frequent Visitor

Re: TM: has anybody seen this?

thanks Oscar, i found that it is known error and got same scripts from hp.

regards
//Add this to "OnDomLoad" event