PC_PRICING IS NOT RE-PRICE BIL WHEN FUND DISTRIBUTION ROW-GL_DISTRIB_STATUS=D
Last updated on MAY 04, 2017
Applies to:PeopleSoft Enterprise FIN Project Costing - Version 9.1 to 9.1 [Release 9]
Information in this document applies to any platform.
Checked for Relevance on 22-OCT-2013
Currently on 9.1 bundle # 9.
PC_PRICING will not re-price a BIL row created from an original cost (PAY) row when funds distribution (FDS & FDR) rows created from the same cost (PAY) row are distributed to GL. The GL_DISTRIB_STATUS on the FDS & FDR rows should not impact the re-pricing of a BIL row but this is currently happening with the current code in PR_PRICING.
1. Setup and Activate a Project
2. Setup a Funds Distribution Rule for a Project. This rule creates FDS rows split 50/50 and also creates reversal (FDR) rows.
3. Setup a Rate Based Customer Contract to Bill Costs from the Project
4. This Customer Contract uses Transaction Limits. One Transaction Limit is for costs billed against the HY10 Source Type value and the second transaction limit is for costs billed against the HY20 Source Type.
5. The FED_HY10_80 rate set is attached to the contract line to price costs at 80% for billing under the HY10 Source Type. The rate set picks up ACT, PAY, ATE, CNV and the FDS & FDR analysis types. The FDS & FDR analysis types are from funds distribution.
6. Enter a PAY transaction directly into Project Costing.
7. Run the Funds Distribution process to create the FDS and FDR rows from the PAY row.
8. Run the Create Project Accounting process to create accounting entries for the FDS & FDR rows. This changes the GL_DISTRIB_STATUS = D on the FDS & FDR rows.
9. Run pricing for the project. This creates BIL rows for the PAY, FDS, & FDR rows.
10. Go back to the Customer Contract and change the rate set to price using the HY20 source type instead of the HY10 source type. Note that the BIL rows have not been distributed to billing or gl at this point.
11. Run Pricing with the re-price option for the project. Would expect all 5 of the BIL rows to re-price and change the source type from HY10 to HY20. The BIL row created from the PAY row will not re-price because the FDS & FDR rows created from the PAY row were run through create project accounting. The fact that the FDS & FDR rows have been run through Create Project Accounting should not matter to re-pricing logic. The other 4 BIL rows created from the FDS & FDR rows are re-priced.
This seems to be a bug with Pricing when using funds distribution.
From the attached trace of PC_PRICING the step PC_PRICING.MN1100.FROMPAY selects the 5 BIL rows for re-pricing. Note that only rows with system source of PRP, PRC, or PRR are selected.
-- 17.02.01 ....(PC_PRICING.MN1100.FROMPAY) (SQL)
INSERT INTO PS_PC_RESID_TAO (BUSINESS_UNIT , PROJECT_ID , ACTIVITY_ID ,
RESOURCE_ID_FROM , PROCESS_INSTANCE , PC_DISTRIB_STATUS)
SELECT SRC.BUSINESS_UNIT , SRC.PROJECT_ID , SRC.ACTIVITY_ID , SRC.RESOURCE_ID_FROM ,
119550 , 'N' FROM PS_PROJ_RESOURCE SRC
WHERE SRC.SYSTEM_SOURCE IN ('PRP', 'PRC', 'PRR')
AND SRC.BUSINESS_UNIT = '50100'
AND SRC.PROJECT_ID = 'TESTPRICE'
AND 1 = 1
AND SRC.BI_DISTRIB_STATUS IN ('P','C', 'I','U','N')
AND SRC.GL_DISTRIB_STATUS IN ('C', 'H')
AND SRC.CA_FEE_STATUS = ' '
AND SRC.FND_DIST_STATUS = 'N'
GROUP BY SRC.BUSINESS_UNIT , SRC.PROJECT_ID , SRC.ACTIVITY_ID ,SRC.RESOURCE_ID_FROM
-- Row(s) affected: 5
Later in the attached trace of Pricing, the PC_PRICING.MN1100.DEL_INP step deletes/eliminates the one BIL row created directly from the PAY row but does not delete the 4 BIL rows created directly from the FDS & FDR rows even though the FDR & FDS rows were created from the PAY row. It seems that this step also needs system source logic of PRP, PRC, or PRR so it only eliminates a row from re-pricing if another row with the same resource_id_from value has a system source of PRP, PRC, or PRR and it has either been distributed to billing or gl.
-- 17.02.01 ....(PC_PRICING.MN1100.DEL_INP) (SQL)
DELETE FROM PS_PC_RESID_TAO
WHERE PROCESS_INSTANCE = 119550
AND (BUSINESS_UNIT, PROJECT_ID, ACTIVITY_ID, RESOURCE_ID_FROM) IN ( SELECT /*+
hash_sj */ PR.BUSINESS_UNIT ,PR.PROJECT_ID , PR.ACTIVITY_ID , PR.RESOURCE_ID_FROM
FROM PS_PROJ_RESOURCE PR
WHERE PR.RESOURCE_ID <> PR.RESOURCE_ID_FROM
AND PR.ANALYSIS_TYPE <> 'SFA'
AND (PR.BI_DISTRIB_STATUS NOT IN ('P', 'C', 'I', 'U','N')
OR PR.GL_DISTRIB_STATUS NOT IN ('C', 'H', 'I', 'N')
OR PR.ASSET_ID <> ' '
OR PR.AM_DISTRIB_STATUS = 'D'
OR PR.CA_FEE_STATUS = '1'))
-- Row(s) affected: 1
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms