Which tables store the detailed financial planning data for Cost Plans, Benefit Plans and Budget Plans?
Any Supported Clarity release
The FIN_PLANS table stores all the financial plan-to-investment relationship.
There are two types of tables that hold the time-scaled values (TSV) data for each cell within the detailed financial plans. The tables that are named like ODF_SSL_*, e.g. ODF_SSL_BFT_DTL_BFT
contain the slice values for the TSV.
The tables that are named like ODF_SL_* contain internal, system-defined and user-defined sliced values for financial detailed plans. These tables are dependent on a successful Time Slicing job completion.
Sliced Data
The ODF_SL tables are used to display data in the Investment > Hierarchy > Detail View. For ensuring that updated values are reflected on these views, execute the 'Time Slicing' job.
TSV Data
The tables below link to the FIN_BENEFIT_PLAN_DETAILS which contains the Benefit Properties and reflect the time-scaled values that appear on the detailed financial plans. These tables do not depend on the 'Time Slicing' job.
select id, request_name, table_name
from
prj_blb_slicerequests
where request_name like '%benefitplandetail%::segment%
The tables below link to the FIN_PLAN_DETAILS for Cost Plans
select id, request_name, table_name
from
prj_blb_slicerequests
where request_name like '%costplandetail%::segment%'
Below is a sample query that you can use to get the cell details for the 'Actual Benefit' value on a specific Benefit Plan.
Based on the information provided above you can modify the following query to get results for other cells and other plan types.
Note: The annual and quarterly data are rolled up by the unit, e.g. daily, monthly.
For MSSQL - Actual Benefit Plan Data
SELECT I.ID PROJECT_ID,
I.NAME PROJECT_NAME,
P.ID PLAN_ID ,
P.NAME PLAN_NAME,
D.DETAIL DETAIL_NAME,
ABFT.START_DATE,
ABFT.SLICE,
ROUND(ABFT.SLICE*(DATEDIFF(DAY, ABFT.START_DATE, ABFT.FINISH_DATE)),2) CALC_SLICE
FROM ODF_SSL_BFT_DTL_ABFT ABFT,
FIN_BENEFIT_PLAN_DETAILS D,
FIN_PLANS P,
INV_INVESTMENTS I
WHERE ABFT.PRJ_OBJECT_ID = D.ID
AND D.PLAN_ID = P.ID
AND P.OBJECT_ID = xxxxx
AND P.OBJECT_CODE ='PROJECT'
AND P.OBJECT_ID = I.ID
ORDER BY P.ID,
P.NAME,
D.DETAIL
For Oracle - Actual Benefit Plan Data
SELECT I.ID PROJECT_ID,
I.NAME PROJECT_NAME,
P.ID PLAN_ID ,
P.NAME PLAN_NAME,
D.DETAIL DETAIL_NAME,
ABFT.START_DATE,
ABFT.SLICE,
ROUND(ABFT.SLICE*(to_date(ABFT.FINISH_DATE) - to_date(ABFT.START_DATE)),2) CALC_SLICE
FROM ODF_SSL_BFT_DTL_ABFT ABFT,
FIN_BENEFIT_PLAN_DETAILS D,
FIN_PLANS P,
INV_INVESTMENTS I
WHERE ABFT.PRJ_OBJECT_ID = D.ID
AND D.PLAN_ID = P.ID
AND P.OBJECT_ID = xxxxxx
AND P.OBJECT_CODE ='PROJECT'
AND P.OBJECT_ID = I.ID
ORDER BY P.ID,
P.NAME,
D.DETAIL
;
NOTE: Only the 'planned' data that is directly entered through the application will be stored in the cost plan slice tables.
By design, the following tables are not used for storing cost plan data:
ODF_SSL_CST_DTL_VCOST
ODF_SSL_CST_DTL_AREV
ODF_SSL_CST_DTL_VUNITS
ODF_SSL_CST_DTL_ACOST
ODF_SSL_CST_DTL_AUNITS
ODF_SSL_CST_DTL_VREV
The Cost Variance is a computed field that is computed on the fly and not stored in a table.
It is computed as planned cost minus actual cost.
Actual Cost is not stored on the ODF_SSL slice tables either, because it is computed from the PPA_WIP data.
Therefore, the following table/attribute can be queried:
PPA_WIP.Quantity
PPA_WIP_VALUES.TOTALCOST
PPA_WIP_VALUES.ACTUALCOST
For benefit plan cost slices when the billing currency is different than the project currency the slice odf_ssl_bft_dtl_bbft will convert the costs to the billing currency rate.
Instead use slice ODF_SSL_BFT_DTL_BFT - this is the benefit plan cost slice.