Clarity Tuesday Tip: How should the main Clarity jobs be scheduled?

Document created by merro05 Employee on Feb 19, 2015
Version 1Show Document
  • View in full screen mode

The following is the suggested job scheduling for a typical Clarity Production environment:

 

1. Time Slicing job needs to run every minute.

2. Jobs that should NOT be running during PROD hours:

*Rate Matrix Extraction (aka Full run) which run with job parameters

     -Extract Cost for Schedulers (if needed)

     -Prepare Matrix Data

     -Update Matrix Data

*Datamart Extraction

*Datamart Rollup

 

3. The following sequence of jobs  can be ran during PROD hours as business process/procedure/needs dictate:

*Rate Matrix Extraction (aka Incremental run) which runs with options:

     -Extract Cost for Schedulers (if needed)

     -Prepare Matrix Data

     -Update Matrix Data

     -Incremental    

*Post Timesheets

Purge Temporary Aggregated Data

*Update Aggregated Data

Update Earned Value History

Update Earned Value Totals

Create Earned-Value Snapshots

Update Business Objects Report Tables job

 

4. If the financial posting module is used, be sure the following sequence is used:
*Post Transactions to Financials;

Post to Wip (listed on home side, not listed in reports and jobs);

*Import Financial Actuals;

 

5. *Investment Allocation job should only run once per day, before the full Rate Matrix Extraction job.

 

NOTE 1: * denotes the job needs to be set as incompatible with the Time Slicing job

Job incompatibility lists for all jobs are not set out-of-the-box. Based on reported potential performance issues, the following list is recommended for the Time slicing job to reduce/eliminate performance problems, such as deadlocking

 

Default
-Datamart Extraction
-Delete Investments
-Time Slicing

 

Recommended
-Datamart Rollup
-Post Timesheets
-Post Transactions to Financials
-Investment Allocation
-Import Financial Actuals
-include any other job or report that read from the slice tables;

 

NOTE 2:

The following actions to obtain rates can be performed after the incremental or full Rate Matrix Extraction job completes:

-Post Timesheets job

-Baseline a project

-Baseline a task

-Update Earned Value Totals

-Update Earned Value History

-Open project in OWB/MSP

 

NOTE 3:

The full Rate Matrix Extraction job must complete before the Post Timesheets job runs.

To enforce this best practice, set the Rate Matrix Extraction job as incompatible with the Post Timesheets job.


Thanks for sharing this, Tuan

 

NJ


Thanks,

 

Time slicing is run once a minute OOTB. That is fine if it completes under one minute.

Some people say it take so long that they only run it once a night or once a week.

That is their choice of having data updated.

 

The rate matrix extraction has two aspects

1. Performance. If you are doing something heavy you get that done slightly faster if you do not run rate matrix extraction.

2. During the update you may get inconsistent results while data is being updated. No problem during the extract and prepare. In the system I am looking at the total job takes say 3 hours and the update only say 10 minutes.

 

Just wondering why

The full Rate Matrix Extraction job must complete before the Post Timesheets job runs.

Isn't it the Post transactions to financials that puts the rates to the hours?


... further the new admins are not familiar with when the jobs should be run and with incompatibilities and therefore any incompatibility setting CA sees appropriate should be set OOTB and the same goes for the schedules.

 

(Like we delivered it like this and that is all wrong you should have like that)


The Post Timesheets (PT) job obtains the rate from the

a. NBI_PROJ_RES_AND_RATES_AND_COSTSCP, which is populated when the RME parameter "Prepare Matrix Data" is selected.

b. NBI_PROJ_RES_AND_RATES_AND_COSTS, which is populated when the RME parameter "Update Matrix Data" is selected.

 

The Post Transactions to Financials (PTF) job obtains the rate from the live matrix,

which is found in PPA_MATRIX/PPA_MATRIXVALUES.


Thanks for sharing this tip with the community Tuan!

TUAN TRAN wrote:

 

The following is the suggested job scheduling for a typical Clarity Production environment:

 

1. Time Slicing job needs to run every minute.

2. Jobs that should NOT be running during PROD hours:

*Rate Matrix Extraction (aka Full run) which run with job parameters

     -Extract Cost for Schedulers (if needed)

     -Prepare Matrix Data

     -Update Matrix Data

*Datamart Extraction

*Datamart Rollup

 

3. The following sequence of jobs  can be ran during PROD hours as business process/procedure/needs dictate:

*Rate Matrix Extraction (aka Incremental run) which runs with options:

     -Extract Cost for Schedulers (if needed)

     -Prepare Matrix Data

     -Update Matrix Data

     -Incremental    

*Post Timesheets

Purge Temporary Aggregated Data

*Update Aggregated Data

Update Earned Value History

Update Earned Value Totals

Create Earned-Value Snapshots

Update Business Objects Report Tables job

 

4. If the financial posting module is used, be sure the following sequence is used:
*Post Transactions to Financials;

Post to Wip (listed on home side, not listed in reports and jobs);

*Import Financial Actuals;

 

5. *Investment Allocation job should only run once per day, before the full Rate Matrix Extraction job.

 

NOTE 1: * denotes the job needs to be set as incompatible with the Time Slicing job

 

NOTE 2:

The following actions to obtain rates can be performed after the incremental or full Rate Matrix Extraction job completes:

-Post Timesheets job

-Baseline a project

-Baseline a task

-Update Earned Value Totals

-Update Earned Value History

-Open project in OWB/MSP

 

NOTE 3:

The full Rate Matrix Extraction job must complete before the Post Timesheets job runs.

To enforce this best practice, set the Rate Matrix Extraction job as incompatible with the Post Timesheets job.


Thanks. So it goes to IMP_TRANSACTIONIMPORT and in there  IMP_TRANSACTIONIMPORT.COST


Thanks Martti / Tuan for this wonderful insight

 

Just to clear my understanding, the job sequence is as follows  -


1. Time slicing is run once a minute OOTB - This is fine

2. Investment Allocation job should only run once per day

3. * Rate Matrix Extraction (aka Full run) with below mentioned job parameters {off-peak}

     -Extract Cost for Schedulers (if needed)

     -Prepare Matrix Data (NBI_PROJ_RES_AND_RATES_AND_COSTSCP is populated)

     -Update Matrix Data (NBI_PROJ_RES_AND_RATES_AND_COSTS is populated)

4. * Datamart Extraction {off-peak}

5. * Datamart Rollup {off-peak}

6. * Rate Matrix Extraction (aka Incremental run) with below mentioned job parameters

     -Extract Cost for Schedulers (if needed)

     -Prepare Matrix Data

     -Update Matrix Data

     -Incremental 

7. * Post Timesheets - When this is run, data goes into IMP_TRANSACTIONIMPORT, and it picks up which rate ?

8. Purge Temporary Aggregated Data

9. * Update Aggregated Data

10. Update Earned Value History

11. Update Earned Value Totals

12. Create Earned-Value Snapshots

13. Update Business Objects Report Tables job

14. * Post Transactions to Financials - If this obtains the rate from the live matrix,which is found in PPA_MATRIX/PPA_MATRIXVALUES, then what is the purpose of Post Timesheets obtaining the rate ?

15. Post to Wip (listed on home side, not listed in reports and jobs)

16. * Import Financial Actuals


And - So it goes to IMP_TRANSACTIONIMPORT and in there IMP_TRANSACTIONIMPORT.COST - What goes into "IMP_TRANSACTIONIMPORT.COST" ?

 

NJ


urmas wrote:

 

Time slicing is run once a minute OOTB. That is fine if it completes under one minute.

Some people say it take so long that they only run it once a night or once a week.

That is their choice of having data updated.

 

 

"Time Slicing" can't win!   

 

The reason that it would take "so long" to run is because you only run it "once a week", run it "all the time" and most of the time it is doing nothing. It is only ever "long-running" when it has a lot of work to do - for example that you have not run it for a week   (but more usually when we have mass-updated some data, or at week/month/year "rollover") - a legitimate functional complaint would be about that rollover long-running of the job if you were working in a global instance (since the argument that you schedule timeslicing to run at a minute past midnight (to cater for the rollover) doesn't really work when "midnight" is relative to where your users are and where your server is, which may not be the same timezone - as a Clarity administrator you would just have to think about that a bit).


TuanTran

Still wondering why

 

The full Rate Matrix Extraction job must complete before the Post Timesheets job runs.

Isn't it the Post transactions to financials that puts the rates to the hours?

 

PART 2

 

The Post Timesheets (PT) job obtains the rate from the

a. NBI_PROJ_RES_AND_RATES_AND_COSTSCP, which is populated when the RME parameter "Prepare Matrix Data" is selected.

b. NBI_PROJ_RES_AND_RATES_AND_COSTS, which is populated when the RME parameter "Update Matrix Data" is selected.

 

The Post Transactions to Financials (PTF) job obtains the rate from the live matrix,

which is found in PPA_MATRIX/PPA_MATRIXVALUES.

 

Thanks. So it goes to IMP_TRANSACTIONIMPORT and in there  IMP_TRANSACTIONIMPORT.COST

 

Now where is that going to be used and displayed?

If the Post Transactions to Financials (PTF) job obtains the rate from the live matrix and that job deletes the records in the IMP_TRANSACTIONIMPORT table


The PTF job processes records in the IMP_TRANSACTIONIMPORT table.

If it is a valid financial transaction, the records will be moved from IMP_TRANSACTIONIMPORT to PPA_TRANSCONTROL/PPA_TRANSCONTROL_VALUES.

 

So data is not deleted, but moved to the next table, ready for the Post-to-WIP (PTW).


Thanks for responding.

Yes that is technically more accurate.

But my question is that

the Post Transactions to Financials (PTF) job obtains the rate from the live matrix and puts them into

PPA_TRANSCONTROL and PPA_TRANSCONTROL_VALUES

what are the rates that were in IMP_TRANSACTIONIMPORT used for and where are they stored and displayed?

 

Secondly if I do Post timesheets first and Rate matrix extractino after that what do I miss when I have posted to WIP?


Hi urmas,

 

You're welcome.

 

What are the rates that were in IMP_TRANSACTIONIMPORT used for and where are they stored and displayed?

 

The Post Timesheets (PT) job obtains its rates from the NBI_COST_RES_RATES_AND_COSTS table, which change if the Rate Matrix Extracton (RME) job detects rate changes.

 

Records in the IMP_TRANSACTIONIMPORT can change as the this table is a holding table for new and failed financial transaction records that come from timesheets and XOG. Essentially, they are what can be seen from the admin > invalid transactions page.

 

Therefore, the rate during the time the Post Transactions to Financials (PTF) job can be different from when the PT job initially obtained the rate, which by the way, are both null, when queried.

 

Secondly if I do Post timesheets first and Rate matrix extractino after that what do I miss when I have posted to WIP?

If there is timing issuem, i.e. running PT before and RME, you could get an incorrect rate get passed along to PPA_WIP/PPA_WIP_VALUES, which can be corrected via a timesheet adjustment or WIP adjustment


Thanks again.

Now we know. Apparently there has not been a problem yet, but this helps in looking if we have.


This document was generated from the following discussion: CA PPM Tech Tip: How should the main PPM jobs be scheduled?

Attachments

    Outcomes