P3 uses a function known as the Automatic Cost/Resource Calculation Rules (Autocost Rules) that controls the Autocost specification for each project. Since the interface is transferring hours and cost from Costpoint to P3, you need to modify the Autocost specification settings so that P3 resource's actual hours do not drive the total cost based on the resource's cost per use.
A view of the recommended settings is below. You should become familiar with these settings and modify them as needed for each P3 project. You can access and modify the Autocost Rules in P3 under Tools, Options, Autocost Rules.
This section illustrates:
How actual costs are computed from the work file created by the Gather/Prepare phase of the interface processing.
How the values in the worktables are generated for the View Gathered tab of the interface after the Gather/Prepare phase is done.
Actual
Non-Labor Cost |
DIR_AMT_CUR_PD + BURD_ACT_CUR_AMT + COM_ACT_CUR_PD + FEE_ACT_CUR_PD |
Labor Cost |
DIR_AMT_CUR_PD |
P3 Actual Cost |
Non-labor cost + labor cost |
Target
Non-Labor Cost |
DIR_AMT_CUR_PD + BURD_TGT_CUR_AMT + COM_TGT_CUR_PD + FEE_TGT_CUR_PD |
Labor Cost |
DIR_AMT_CUR_PD |
P3 Actual Cost |
Non-labor cost + labor cost |
No burden
Non-Labor Cost |
DIR_AMT_CUR_PD |
Labor Cost |
DIR_AMT_CUR_PD |
P3 Actual Cost |
Non-labor cost + labor cost |
T&M
Non-Labor Cost |
TM_REV_CUR_PD |
Labor Cost |
TM_REV_CUR_PD |
P3 Actual Cost |
Non-labor cost + labor cost |
The following describes how the Gather/Prepare process gathers data from Costpoint and puts it in the Z_CP_GATHER table (a worktable in Costpoint) in preparation for moving the results to P3. You can see the gathered information in the View Gathered tab.
Three different types of rows are created from the LAB_HS (Labor History), PROJ_SUM (Project Summary), and PSR_PY_SUM (Project Summary Report Prior Year Summary) tables. These are: Labor with no burden, Non-labor with labor burden, and non-labor with non-labor burden. For each type, the application selects data for:
The Current Period (where the FY is the same as the fiscal year entered on the screen, PD_NO is the same as the period entered on the screen, and the SUB_PD_NO is earlier than, or the same as, the sub-period entered),
The Year-to-Date (where the FY is the same as the fiscal year entered and the PD_NO is earlier than the period entered), and
The Prior Year (where the FY is earlier than the fiscal year entered).
The row type "Labor with no burden" is selected from all rows in the LAB_HS table and coded as ACCT_FUNC_CD = "2." It is summarized by:
PROJ_ID/ORG_ID/ACCT_ID/BILL_LAB_CAT_CD/GENL_LAB_CAT_CD
Also, the dollar values in T&M projects are zeroed out (keeping hours intact).
The row type "Non-labor with labor burden" is selected from ACCT_FUNC_CD = (2 or 11) in PROJ_SUM and PSR_PY_SUM and coded as ACCT_FUNC_CD = "3." It is summarized by:
PROJ_ID/ORG_ID/ACCT_ID/L1_ACCT_SEG_ID
The row type "Non-labor with non-labor burden" is selected from ACCT_FUNC_CD = (3 or 12) in PROJ_SUM and PSR_PY_SUM and is coded as ACCT_FUNC_CD = "3." It is summarized by:
PROJ_ID/ORG_ID/ACCT_ID/L1_ACCT_SEG_ID.
#1 = labor with no burden.
#2 = non-labor with labor burden.
#3 = non-labor with non-labor burden.
Account Function codes of gathered data are assigned as follows:
"2" = Direct Labor costs from #1 above
"3"= ODC and Burden from #2 and #3
Type/period |
Consolidated |
Source Table for Values ($ and hrs) |
LAB_HS (#1) PROJ_SUM (#2, #3) PSR_PY_SUM (#2, #3) PY |
Smallest group unit (summarized) |
Vend_empl_id (#1) Acct_ID (#2, #3) |
1 PROJ_ID |
PROJ_ID |
2 ORG_ID |
ORG_ID |
3 ACCT_ID |
ACCT_ID |
4 L1_ACCT_SEG_ID |
L1_ACCT_SEG_ID (from ACCT table). |
5 FY_CD |
FY_CD |
6 PD_NO |
PD_NO |
7 SUB_PD_NO |
SUB_PD_NO |
8 ACCT_FUNC_NO |
2 (#1) or 3 (#2), (#3) |
9 BILL_LAB_CAT_CD |
BILL_LAB_CAT_CD from #1, NULL from #2, #3 |
10 BURD_ACT_CUR_AMT |
SUM (SUB_ACT_BURD_AMT) #2 |
11 BURD_ACT_ITD_AMT |
SUM (SUB_ACT_BURD_AMT) #2 + SUM (BURD_AMT) #3 |
12 BURD_TGT_CUR_AMT |
SUM (SUB_TGT_BURD_AMT) #2 |
13 BURD_TGT_ITD_AMT |
SUM (SUB_TGT_BURD_AMT) #2 + SUM (BURD_AMT) #3 |
14 COM_ACT_CUR_PD |
SUM (SUB_COM_ACT_AMT) #2 |
15 COM_ACT_ITD |
SUM (SUB_COM_ACT_AMT) #2 + SUM (COM_AMT) |
16 COM_TGT_CUR_PD |
SUM (SUB_COM_TGT_AMT) #2 |
17 COM_TGT_ITD |
SUM (SUB_COM_TGT_AMT) #2 + SUM (COM_AMT) #3 |
18 DIR_AMT_CUR_PD |
Direct Labor (acct Func=2) SUM (ACT_AMT)#1 ODC (acct func=3) SUM (SUB_DIR_AMT)#2 |
19 DIR_AMT_ITD |
Direct Labor (acct func=2) SUM (ACT_AMT)#1 (period up to) ODC (acct func=3) SUM (SUB_DIR_AMT) #2 + SUM (DIR_AMT) #3 |
20 EMPL_ID |
EMPL_ID from #1, NULL #2, #3 |
21 FEE_ACT_CUR_PD |
0 |
22 FEE_ACT_ITD |
0 |
23 FEE_TGT_CUR_PD |
0 |
24 FEE_TGT_ITD |
0 |
25 GENL_LAB_CAT_CD |
GENL_LAB_CAT_CD from #1, NULL from #2, #3 |
26 HRS_CUR_PD |
SUM (ACT_HRS) from #1, 0 from #2, #3 |
27 HRS_ITD |
SUM (ACT_HRS) from #1, 0 from #2, #3 |
28 TM_REV_CUR_PD |
SUM (ACT_HRS* REV_RT_AMT) from #1, 0 from #2, #3 |
29 TM_REV_ITD |
SUM (ACT_HRS* REV_RT_AMT) #1, 0 from #2, #3 |
30 VEND_EMPL_ID |
VEND_EMPL_ID from #1, NULL from #2, #3 |
31 VEND_ID |
VEND_ID from #1, NULL #2, #3 |
32 PROJ_NAME |
From PROJ_EDIT.PROJ_NAME |
33 AS_OF_DT |
SUB_PD.SUB_PD_END_DT |
34 PD_START_DT |
Last ACCTING_PD.PD_END_DT Plus 1 (day) |
35 PD_DAYS_NO |
Diff Between last PD_END_DT and curr PD_END_DT |