You are on page 1of 49

create or replace PACKAGE ABSN_PA_RPT_33_PKG AS

/*******************************************************************************
********************************************************************************
*****
This Procedure calls the procedure to insert data into temporary table and displ
ays the data in excel friendly format
********************************************************************************
********************************************************************************
******/
PROCEDURE FETCH_DATA(err_buff OUT VARCHAR2, ret_code OUT NUMBER
,P_ORG_ID NUMBER
,p_period VARCHAR2
,p_class_category VARCHAR2
,p_class_code VARCHAR2
,p_unit1 varchar2
,p_unit2 varchar2
,p_unit3 varchar2
,p_unit4 varchar2
,p_unit5 varchar2
,p_car varchar2 --------------RFC#60254
,p_project varchar2
,p_percent_spend number);
--Added extra parameter P_ORG_ID for Multi Org Project
--- PROCEDURE GET_UNITS(P_REQUEST_ID NUMBER,P_DIVISION VARCHAR2);
/*******************************************************************************
***********************************************************************
This Procedure inserts data into the temporary table according to the four param
eters Quarter,classification and classcode
********************************************************************************
**************************************************************************/
PROCEDURE ABSN_PA_RPT_33_PROC(P_Period VARCHAR2
,P_Class_category VARCHAR2
,P_Class_code VARCHAR2
,P_REQUEST_ID NUMBER
,p_unit1 varchar2
,p_unit2 varchar2
,p_unit3 varchar2
,p_unit4 varchar2
,p_unit5 varchar2
--
,P_PROJECT VARCHAR2);
/*******************************************************************************
************************
The procedure PURGE_DATA is used to delete the Records pertaining to P_REQUEST_I
D
********************************************************************************
************************/
---PROCEDURE PURGE_DATA(P_REQUEST_ID NUMBER);
/*******************************************************************************
************************
The procedure INSERT_DATA is used to INSERT the Records pertaining to P_REQUEST_
ID
********************************************************************************
************************/
PROCEDURE INSERT_DATA(P_REQUEST_ID NUMBER,
P_UNIT_DESCRIPTION VARCHAR2,
P_UNIT VARCHAR2,
P_PERIOD VARCHAR2,
P_DIVISION VARCHAR2,
P_PROJECT_ID NUMBER,
P_PROJECT_NUMBER VARCHAR2,
P_TOP_TASK VARCHAR2,
--
P_LOWEST_TASK VARCHAR2,
P_TASK_DESCRIPTION VARCHAR2,
P_ASSET_DESCRIPTION VARCHAR2,
P_PRJ_CLASSF VARCHAR2,
P_PRJ_CLS_CODE VARCHAR2,
P_PROJECT_NAME VARCHAR2,
P_CAP_AMOUNT_ITD NUMBER,
P_EXP_AMOUNT_ITD NUMBER,
P_CAP_AMOUNT_PTD NUMBER,
P_EXP_AMOUNT_PTD NUMBER,
P_CAP_AMOUNT_YTD NUMBER,
P_EXP_AMOUNT_YTD NUMBER,
P_APPR_BGT_AMOUNT NUMBER,
P_PROJECT_MANAGER VARCHAR2,
P_PROJECT_STATUS VARCHAR2,
P_BUDGET_ENTRY_METHOD VARCHAR2,
P_BUDGET_TYPE VARCHAR2,
P_INTERFACED_CIP_COST NUMBER);
/*******************************************************************************
*************************************
The procedure GET_COST is used to get the cost for all the Projects Periodwise
********************************************************************************
*************************************/
PROCEDURE GET_COST(P_REQUEST_ID NUMBER,P_PROJECT VARCHAR2);
/*******************************************************************************
**********************
PROCEDURE FOR FETCHING THE ITD(INCEPTION TO DATE) AMOUNTS
********************************************************************************
**********************/
PROCEDURE GET_COST_ITD(P_PERIOD VARCHAR2,P_PROJECT_ID IN NUMBER,P_TASK VARCHAR2,
P_CLASSCODE VARCHAR2,P_CLASS_CATEGORY VARCHAR2,
P_REQUEST_ID NUMBER,P_COST OUT NUMBER,P_TYPE VARCHAR2);
/*******************************************************************************
**********************
PROCEDURE FOR FETCHING THE PTD(PERIOD TO DATE) AMOUNTS
********************************************************************************
**********************/
PROCEDURE GET_COST_PTD(P_PERIOD VARCHAR2,P_PROJECT_ID1 NUMBER,P_TASK VARCHAR2,P_
CLASS_CODE VARCHAR2,P_CLASSIFICATION VARCHAR2
,P_REQUEST_ID NUMBER,P_AMOUNT_PTD OUT NUMBER,P_TYPE VARCHAR2);
/*******************************************************************************
**********************
PROCEDURE FOR FETCHING THE YTD(YEAR TO DATE) AMOUNTS
********************************************************************************
**********************/
PROCEDURE GET_COST_YTD(P_PERIOD VARCHAR2,P_PROJECT_ID2 NUMBER,P_TASK VARCHAR2,P_
CLASS_CODE VARCHAR2,P_CLASSIFICATION VARCHAR2
,P_REQUEST_ID NUMBER,P_AMOUNT_YTD OUT NUMBER,P_TYPE VARCHAR2) ;
V_GLOBAL_ORG_ID NUMBER;
g_sob_id number;
g_COA_ID NUMBER;
END ABSN_PA_RPT_33_PKG;
/
create or replace PACKAGE BODY absn_pa_rpt_33_pkg AS
PROCEDURE absn_pa_rpt_33_proc (p_period VARCHAR2
,p_class_category VARCHAR2, p_class_code VARCHAR2, p_request_id NUMBER
,p_unit1 VARCHAR2, p_unit2 VARCHAR2, p_unit3 VARCHAR2, p_unit4 VARCHAR2
,p_unit5 VARCHAR2
,p_project VARCHAR2
) AS
---TYPE PERIOD_TABLE IS TABLE OF VARCHAR2(15) INDEX BY BINARY_INTEGER;
---V_PERIOD PERIOD_TABLE;
/*******************************************************************************
***************************
THIS CURSOR WILL FETCH CLASS-CODES AND CLASSIFICATIONS
********************************************************************************
**************************/
CURSOR c_class_code IS
SELECT pcc.class_category classification
,pcc.class_code class_code
FROM pa_class_categories pac
,pa_class_codes pcc
WHERE pac.class_category = pcc.class_category
AND pcc.class_category = p_class_category
AND pcc.class_code = p_class_code
AND (UPPER (pac.class_category) LIKE '%CAPEX%'
OR UPPER (pac.class_category) LIKE '%CAPIT%EXP%ND%'
)
AND p_class_category IS NOT NULL AND p_class_code IS NOT NULL
UNION
SELECT pcc.class_category classification
,pcc.class_code class_code
FROM pa_class_categories pac
,pa_class_codes pcc
WHERE pac.class_category = pcc.class_category
AND pcc.class_category = p_class_category
AND (UPPER (pac.class_category) LIKE '%CAPEX%'
OR UPPER (pac.class_category) LIKE '%CAPIT%EXP%ND%'
)
AND p_class_category IS NOT NULL AND p_class_code IS NULL
UNION
SELECT pcc.class_category classification
,pcc.class_code class_code
FROM pa_class_categories pac
,pa_class_codes pcc
WHERE pac.class_category = pcc.class_category
AND pcc.class_code = p_class_code
AND (UPPER (pac.class_category) LIKE '%CAPEX%'
OR UPPER (pac.class_category) LIKE '%CAPIT%EXP%ND%'
)
AND p_class_category = 'ALL' AND p_class_code IS NOT NULL;
CURSOR c_project (p_request_id NUMBER, p_class_category VARCHAR2
,p_class_code1 VARCHAR2
) IS
SELECT DISTINCT absn.project_id project_id
,absn.task_name task_name,
--
--- ABSN.PERIOD PERIOD,
absn.project_name project
,pt.top_task_id top_task_id
,absn.class_code class_code
FROM absn_pa_rpt_33_proj absn
,pa_periods_all ppa
,pa_tasks pt
WHERE absn.request_id = p_request_id
AND absn.project_id = pt.project_id
AND absn.task_id = pt.task_id
AND absn.period = ppa.period_name
AND ppa.start_date <=
(SELECT DISTINCT start_date
FROM pa_periods_all
WHERE period_name = p_period
AND org_id = v_global_org_id)
AND absn.class_code = p_class_code1
AND absn.class_category = p_class_category
AND absn.project_name =
NVL (p_project, absn.project_name);
/*******************************************************************************
***************************
THIS CURSOR WILL FETCH All THE TASKS FOR A PARTICULAR PROJECT
********************************************************************************
**************************/
CURSOR c_task (p_request_id NUMBER, p_project_id1 NUMBER
,p_top_task_id NUMBER, p_task2 VARCHAR2, p_class_code VARCHAR2
) IS
SELECT DISTINCT absn.task_name v_task_name
,pt.task_id,
--
-- ABSN.PERIOD PERIOD,
SUM (absn.COST) v_cost
,absn.project_id
,ppa.segment1
,top.task_number top_task
,SUBSTR (hou.NAME, 1, 5) unit
,hou.NAME unit_desc
,absn.project_manager project_manager
,absn.project_status status
,pt.description v_description
FROM absn_pa_rpt_33_proj absn
,hr_organization_units hou
,pa_tasks pt
,pa_projects_all ppa
, (SELECT task_number
,task_id
,project_id
FROM pa_tasks
WHERE task_id = top_task_id
AND project_id = p_project_id1
AND task_id = p_top_task_id) top
WHERE absn.request_id = p_request_id
AND absn.project_id = ppa.project_id
AND absn.task_name = pt.task_number
AND ppa.org_id = v_global_org_id
AND pt.project_id = ppa.project_id
AND top.project_id = ppa.project_id
AND top.project_id = pt.project_id
AND absn.project_id = pt.project_id
AND hou.organization_id =
pt.carrying_out_organization_id
AND SUBSTR (hou.NAME, 1, 5) = p_unit1
AND absn.project_id = p_project_id1
AND absn.task_name = p_task2
AND absn.class_code = p_class_code
GROUP BY absn.task_name
,pt.task_id
--
,absn.project_id
,ppa.segment1
,top.task_number
,absn.project_manager
,absn.project_status
,SUBSTR (hou.NAME, 1, 5)
,hou.NAME
,pt.description
UNION
SELECT DISTINCT absn.task_name v_task_name
,pt.task_id,
--
-- ABSN.PERIOD PERIOD,
SUM (absn.COST) v_cost
,absn.project_id
,ppa.segment1
,top.task_number top_task
,SUBSTR (hou.NAME, 1, 5) unit
,hou.NAME unit_desc
,absn.project_manager project_manager
,absn.project_status status
,pt.description v_description
FROM absn_pa_rpt_33_proj absn
,hr_organization_units hou
,pa_tasks pt
,pa_projects_all ppa
, (SELECT task_number
,task_id
,project_id
FROM pa_tasks
WHERE task_id = top_task_id
AND project_id = p_project_id1
AND task_id = p_top_task_id) top
WHERE absn.request_id = p_request_id
AND absn.project_id = ppa.project_id
AND absn.task_name = pt.task_number
AND ppa.org_id = v_global_org_id
AND pt.project_id = ppa.project_id
AND top.project_id = ppa.project_id
AND top.project_id = pt.project_id
AND absn.project_id = pt.project_id
AND hou.organization_id =
pt.carrying_out_organization_id
AND SUBSTR (hou.NAME, 1, 5) = p_unit2
AND absn.project_id = p_project_id1
AND absn.task_name = p_task2
AND absn.class_code = p_class_code
GROUP BY absn.task_name
,pt.task_id
--
,absn.project_id
,ppa.segment1
,top.task_number
,absn.project_manager
,absn.project_status
,SUBSTR (hou.NAME, 1, 5)
,hou.NAME
,pt.description
UNION
SELECT DISTINCT absn.task_name v_task_name
,pt.task_id,
--
-- ABSN.PERIOD PERIOD,
SUM (absn.COST) v_cost
,absn.project_id
,ppa.segment1
,top.task_number top_task
,SUBSTR (hou.NAME, 1, 5) unit
,hou.NAME unit_desc
,absn.project_manager project_manager
,absn.project_status status
,pt.description v_description
FROM absn_pa_rpt_33_proj absn
,hr_organization_units hou
,pa_tasks pt
,pa_projects_all ppa
, (SELECT task_number
,task_id
,project_id
FROM pa_tasks
WHERE task_id = top_task_id
AND project_id = p_project_id1
AND task_id = p_top_task_id) top
WHERE absn.request_id = p_request_id
AND absn.project_id = ppa.project_id
AND absn.task_name = pt.task_number
AND ppa.org_id = v_global_org_id
AND pt.project_id = ppa.project_id
AND top.project_id = ppa.project_id
AND top.project_id = pt.project_id
AND absn.project_id = pt.project_id
AND hou.organization_id =
pt.carrying_out_organization_id
AND SUBSTR (hou.NAME, 1, 5) = p_unit3
AND absn.project_id = p_project_id1
AND absn.task_name = p_task2
AND absn.class_code = p_class_code
GROUP BY absn.task_name
,pt.task_id
--
,absn.project_id
,ppa.segment1
,top.task_number
,absn.project_manager
,absn.project_status
,SUBSTR (hou.NAME, 1, 5)
,hou.NAME
,pt.description
UNION
SELECT DISTINCT absn.task_name v_task_name
,pt.task_id,
--
-- ABSN.PERIOD PERIOD,
SUM (absn.COST) v_cost
,absn.project_id
,ppa.segment1
,top.task_number top_task
,SUBSTR (hou.NAME, 1, 5) unit
,hou.NAME unit_desc
,absn.project_manager project_manager
,absn.project_status status
,pt.description v_description
FROM absn_pa_rpt_33_proj absn
,hr_organization_units hou
,pa_tasks pt
,pa_projects_all ppa
, (SELECT task_number
,task_id
,project_id
FROM pa_tasks
WHERE task_id = top_task_id
AND project_id = p_project_id1
AND task_id = p_top_task_id) top
WHERE absn.request_id = p_request_id
AND absn.project_id = ppa.project_id
AND absn.task_name = pt.task_number
AND ppa.org_id = v_global_org_id
AND pt.project_id = ppa.project_id
AND top.project_id = ppa.project_id
AND top.project_id = pt.project_id
AND absn.project_id = pt.project_id
AND hou.organization_id =
pt.carrying_out_organization_id
AND SUBSTR (hou.NAME, 1, 5) = p_unit4
AND absn.project_id = p_project_id1
AND absn.task_name = p_task2
AND absn.class_code = p_class_code
GROUP BY absn.task_name
,pt.task_id
--
,absn.project_id
,ppa.segment1
,top.task_number
,absn.project_manager
,absn.project_status
,SUBSTR (hou.NAME, 1, 5)
,hou.NAME
,pt.description
UNION
SELECT DISTINCT absn.task_name v_task_name
,pt.task_id,
--
-- ABSN.PERIOD PERIOD,
SUM (absn.COST) v_cost
,absn.project_id
,ppa.segment1
,top.task_number top_task
,SUBSTR (hou.NAME, 1, 5) unit
,hou.NAME unit_desc
,absn.project_manager project_manager
,absn.project_status status
,pt.description v_description
FROM absn_pa_rpt_33_proj absn
,hr_organization_units hou
,pa_tasks pt
,pa_projects_all ppa
, (SELECT task_number
,task_id
,project_id
FROM pa_tasks
WHERE task_id = top_task_id
AND project_id = p_project_id1
AND task_id = p_top_task_id) top
WHERE absn.request_id = p_request_id
AND absn.project_id = ppa.project_id
AND absn.task_name = pt.task_number
AND ppa.org_id = v_global_org_id
AND pt.project_id = ppa.project_id
AND top.project_id = ppa.project_id
AND top.project_id = pt.project_id
AND absn.project_id = pt.project_id
AND hou.organization_id =
pt.carrying_out_organization_id
AND SUBSTR (hou.NAME, 1, 5) = p_unit5
--
AND absn.project_id = p_project_id1
AND absn.task_name = p_task2
AND absn.class_code = p_class_code
GROUP BY absn.task_name
,pt.task_id
--
,absn.project_id
,ppa.segment1
,top.task_number
,absn.project_manager
,absn.project_status
,SUBSTR (hou.NAME, 1, 5)
,hou.NAME
,pt.description
UNION
SELECT DISTINCT absn.task_name v_task_name
,pt.task_id,
--
-- ABSN.PERIOD PERIOD,
SUM (absn.COST) v_cost
,absn.project_id
,ppa.segment1
,top.task_number top_task
,SUBSTR (hou.NAME, 1, 5) unit
,hou.NAME unit_desc
,absn.project_manager project_manager
,absn.project_status status
,pt.description v_description
FROM absn_pa_rpt_33_proj absn
,hr_organization_units hou
,pa_tasks pt
,pa_projects_all ppa
, (SELECT task_number
,task_id
,project_id
FROM pa_tasks
WHERE task_id = top_task_id
AND project_id = p_project_id1
AND task_id = p_top_task_id) top
WHERE absn.request_id = p_request_id
AND absn.project_id = ppa.project_id
AND absn.task_name = pt.task_number
AND ppa.org_id = v_global_org_id
AND pt.project_id = ppa.project_id
AND top.project_id = ppa.project_id
AND top.project_id = pt.project_id
AND absn.project_id = pt.project_id
AND hou.organization_id =
pt.carrying_out_organization_id
AND SUBSTR (hou.NAME, 1, 5) = SUBSTR (hou.NAME, 1, 5)
AND absn.project_id = p_project_id1
AND absn.task_name = p_task2
AND absn.class_code = p_class_code
AND p_unit1 IS NULL AND p_unit2 IS NULL
AND p_unit3 IS NULL AND p_unit4 IS NULL
AND p_unit5 IS NULL
--
GROUP BY absn.task_name
,pt.task_id
--
,absn.project_id
,ppa.segment1
,top.task_number
,absn.project_manager
,absn.project_status
,SUBSTR (hou.NAME, 1, 5)
,hou.NAME
,pt.description;
v_project_id NUMBER;
v_project_name VARCHAR2 (30);
v_project_number VARCHAR2 (200);
v_cap_amount_itd NUMBER;
v_exp_amount_itd NUMBER;
v_cap_amount_ptd NUMBER;
v_exp_amount_ptd NUMBER;
v_cap_amount_ytd NUMBER;
v_exp_amount_ytd NUMBER;
v_division VARCHAR2 (40);
p_task_name1 VARCHAR2 (100);
p_project_manager1 VARCHAR2 (30);
p_status1 VARCHAR2 (30);
v_unit1 VARCHAR2 (30);
--
p_cost1 NUMBER;
p_project_id1 NUMBER;
p_segment1 VARCHAR2 (100);
p_top_task1 VARCHAR2 (25);
p_description1 VARCHAR2 (240);
p_bgt_amt1 NUMBER;
p_budget_entry_method1 VARCHAR2 (50);
p_budget_type1 VARCHAR2 (30);
p_cip_cost NUMBER;
p_unit_desc VARCHAR2 (240);
v_project_id2 NUMBER;
v_task_number2 VARCHAR2 (30);
--
v_task_id2 NUMBER;
v_coa_id NUMBER;
v_div_name VARCHAR2 (100);
v_cost NUMBER;
v_top_task VARCHAR2 (100);
v_lowest_task VARCHAR2 (100);
v_task_organization NUMBER;
v_request_id NUMBER;
v_org_id NUMBER;
v_test NUMBER;
/************************************************************
BEGIN OF THE PROCEDURE ABSN_PA_RPT_33_PROC
*************************************************************/
BEGIN
fnd_file.put_line (1, 'Inside main procedure.');
v_request_id := fnd_global.conc_request_id;
SELECT chart_of_accounts_id
INTO g_coa_id
FROM gl_ledgers
WHERE ledger_id = g_sob_id;
fnd_file.put_line (1, 'CHART_OF_ACCOUNTS_ID: ' || g_coa_id);
---SETTING ORG_ID
BEGIN
v_org_id := v_global_org_id;
mo_global.set_policy_context ('S', v_org_id);
fnd_file.put_line (fnd_file.LOG
, 'Setting the ORG ID...: ' || v_org_id);
EXCEPTION
WHEN OTHERS THEN
fnd_file.put_line (fnd_file.LOG
, 'Setting ORG ID Failed. ERROR: ' || SQLERRM);
END;
get_cost (p_request_id, p_project);
fnd_file.put_line (1, 'after get_cost call');
FOR v_class IN c_class_code
LOOP
--- fnd_file.put_line(fnd_file.log,'GOT class_code - class cursor : '|
| V_CLASS.CLASSIFICATION||V_CLASS.CLASS_CODE);
FOR v_project IN c_project (p_request_id, v_class.classification
,v_class.class_code)
LOOP
--- fnd_file.put_line(fnd_file.log,'GOT VALUE FOR TASK - project cu
rsor : '|| V_PROJECT.TASK_NAME);
FOR v_task IN c_task (p_request_id, v_project.project_id
,v_project.top_task_id, v_project.task_name
,v_project.class_code)
LOOP
BEGIN
SELECT DECODE (pbv.budget_type_code
,'APPROPRIATION', pbl.burdened_cost
,0
)
,pbv.budget_entry_method_code
,pbv.budget_type_code
INTO p_bgt_amt1
,p_budget_entry_method1
,p_budget_type1
FROM pa_budget_lines pbl
,pa_resource_assignments pra
,pa_budget_versions pbv
,pa_budget_types pbt
,absn_pa_rpt_33_proj absn
,pa_projects_all ppa
,pa_tasks pt
WHERE absn.request_id = p_request_id
AND ppa.project_id = pra.project_id
AND absn.project_id = ppa.project_id
AND absn.project_id = pra.project_id
AND absn.task_name = pt.task_number
AND absn.project_id = pt.project_id
AND pra.resource_assignment_id =
pbl.resource_assignment_id
AND pbv.budget_version_id = pbl.budget_version_id
AND pbv.budget_status_code IN ('W', 'S')
AND absn.project_id = v_project.project_id
AND absn.task_name = v_task.v_task_name
AND absn.class_code = v_project.class_code
GROUP BY pbv.budget_entry_method_code
,pbv.budget_type_code
,pbl.burdened_cost
ORDER BY pbv.budget_entry_method_code; -- Added by Sakthi
EXCEPTION
WHEN NO_DATA_FOUND THEN
p_bgt_amt1 := 0;
p_budget_entry_method1 := 'X';
p_budget_type1 := NULL;
WHEN OTHERS THEN
fnd_file.put_line (fnd_file.LOG, 'other errors');
fnd_file.put_line (fnd_file.LOG
, 'Error code : ' || SQLCODE);
-- Added by Sakthi
fnd_file.put_line (fnd_file.LOG
, 'Error message : '
|| SUBSTR (SQLERRM, 1, 200) );
-- Added by Sakthi
END;
--- fnd_file.put_line(fnd_file.log,'GOT VALUE FOR TASK : '|| V_TA
SK.v_task_name);
get_cost_itd (p_period, v_project.project_id
,v_task.v_task_name, v_project.class_code
,v_class.classification, p_request_id
,v_cap_amount_itd, 'CAPITAL');
get_cost_itd (p_period, v_project.project_id
,v_task.v_task_name, v_project.class_code
,v_class.classification, p_request_id
,v_exp_amount_itd, 'EXPENSE');
get_cost_ptd (p_period, v_project.project_id
,v_task.v_task_name, v_project.class_code
,v_class.classification, p_request_id
,v_cap_amount_ptd, 'CAPITAL');
get_cost_ptd (p_period, v_project.project_id
,v_task.v_task_name, v_project.class_code
,v_class.classification, p_request_id
,v_exp_amount_ptd, 'EXPENSE');
get_cost_ytd (p_period, v_project.project_id
,v_task.v_task_name, v_project.class_code
,v_class.classification, p_request_id
,v_cap_amount_ytd, 'CAPITAL');
get_cost_ytd (p_period, v_project.project_id
,v_task.v_task_name, v_project.class_code
,v_class.classification, p_request_id
,v_exp_amount_ytd, 'EXPENSE');
v_project_id := v_project.project_id;
v_project_name := v_project.project;
v_project_number := v_project.project;
fnd_file.put_line (fnd_file.LOG
, 'PROJECT : ' || v_project_name);
-- Added by Sakthi
fnd_file.put_line (fnd_file.LOG
, 'INSERT TASK : ' || v_task.v_task_name);
fnd_file.put_line (fnd_file.LOG
, 'Budget entry method : '
|| p_budget_entry_method1);
-- Added by Sakthi
insert_data (p_request_id, v_task.unit_desc, v_task.unit
,p_period, NULL, v_project_id, v_project_number
,v_task.top_task, v_task.v_task_name
,v_task.v_description, NULL
,v_class.classification, v_project.class_code
,v_project_name, v_cap_amount_itd
,v_exp_amount_itd, v_cap_amount_ptd
,v_exp_amount_ptd, v_cap_amount_ytd
,v_exp_amount_ytd, p_bgt_amt1
,v_task.project_manager, v_task.status
,p_budget_entry_method1, p_budget_type1, 0);
---need to write update stmt for getting interfaced cip amount
BEGIN
/* SELECT sum(PALD.cip_cost),
pt.project_id,
pt.task_number
INTO P_CIP_COST,
v_project_id2,
v_task_number2
FROM PA_PROJECT_ASSET_LINES_ALL PALA,
pa_project_asset_line_details PALD,
PA_TASKS PT
WHERE PALA.PROJECT_ASSET_LINE_DETAIL_ID=PALD.PROJECT_ASSET_
LINE_DETAIL_ID
AND PALA.TASK_ID=PT.TASK_ID
AND PALA.PROJECT_ID=PT.PROJECT_ID
and pt.project_id=V_PROJECT.PROJECT_ID
AND pt.task_number=V_PROJECT.TASK_NAME
AND PALD.REVERSED_FLAG='N'
group by pt.project_id,pt.task_number;*/
SELECT DISTINCT
/*+ USE_NL(PAL, PAD, E) INDEX( PAL PA_PROJECT_ASSET_LINES_N2) */
pal.project_id
,e.task_id
,SUM
(ROUND
(DECODE
(pal.line_type
,'C', (pad.cip_cost
* (pal.current_asset_cost
/ DECODE
(pal.original_asset_c
ost
,0, 1
,pal.original_asset_c
ost
)
)
)
,0
)
,2) ) capitalized_cost
INTO v_project_id2
,v_task_id2
,p_cip_cost
FROM pa_project_asset_line_details pad
,pa_project_asset_lines_all pal
,pa_expenditure_items_all e
WHERE pad.project_asset_line_detail_id =
pal.project_asset_line_detail_id
AND pal.transfer_status_code IN ('T', 'A')
AND e.expenditure_item_id =
pad.expenditure_item_id
AND pal.project_id = v_project.project_id
AND e.task_id =
(SELECT task_id
FROM pa_tasks
WHERE task_number =
v_project.task_name
AND project_id =
v_project.project_id)
GROUP BY pal.project_id
,e.task_id;
UPDATE absn_pa_rpt_33_temp
SET interfaced_cip_cost = p_cip_cost
WHERE request_id = p_request_id
AND project_id = v_project.project_id
AND lowest_task = v_project.task_name;
EXCEPTION
WHEN NO_DATA_FOUND THEN
fnd_file.put_line
(fnd_file.LOG
, 'INTERFACED CIP AMOUNT IS ZERO FOR THE TASK - '
|| v_project.task_name);
END;
END LOOP;
END LOOP;
END LOOP;
COMMIT;
COMMIT;
END absn_pa_rpt_33_proc;
/*******************************************************************************
*************/
PROCEDURE insert_data (p_request_id NUMBER, p_unit_description VARCHAR2
,p_unit VARCHAR2, p_period VARCHAR2, p_division VARCHAR2
,p_project_id NUMBER, p_project_number VARCHAR2, p_top_task VARCHAR2
,p_lowest_task VARCHAR2, p_task_description VARCHAR2
,p_asset_description VARCHAR2, p_prj_classf VARCHAR2
,p_prj_cls_code VARCHAR2, p_project_name VARCHAR2
,p_cap_amount_itd NUMBER, p_exp_amount_itd NUMBER
,p_cap_amount_ptd NUMBER, p_exp_amount_ptd NUMBER
,p_cap_amount_ytd NUMBER, p_exp_amount_ytd NUMBER
,p_appr_bgt_amount NUMBER, p_project_manager VARCHAR2
,p_project_status VARCHAR2, p_budget_entry_method VARCHAR2
,p_budget_type VARCHAR2, p_interfaced_cip_cost NUMBER
) IS
BEGIN
----FND_FILE.PUT_LINE(1,'inside the insert data procedure');
INSERT INTO absn_pa_rpt_33_temp
(request_id
,unit_description
,unit
,period
,division
,project_id
,project_number
,top_task
--
,lowest_task
,task_description
,asset_description
,prj_classf
,prj_cls_code
,project_name
,cap_amount_itd
,exp_amount_itd
,cap_amount_ptd
,exp_amount_ptd
,cap_amount_ytd
,exp_amount_ytd
,appr_bgt_amount
,project_manager
,project_status
,budget_entry_method
,budget_type
,interfaced_cip_cost
)
VALUES (p_request_id
,p_unit_description
,p_unit
,p_period
,p_division
,p_project_id
,p_project_number
,p_top_task
--
,p_lowest_task
,p_task_description
,p_asset_description
,p_prj_classf
,p_prj_cls_code
,p_project_name
,p_cap_amount_itd
,p_exp_amount_itd
,p_cap_amount_ptd
,p_exp_amount_ptd
,p_cap_amount_ytd
,p_exp_amount_ytd
,p_appr_bgt_amount
,p_project_manager
,p_project_status
,p_budget_entry_method
,p_budget_type
,p_interfaced_cip_cost
);
COMMIT;
END insert_data;
/*******************************************************************************
**************
This procedure for fetching the amounts for the Projects .
********************************************************************************
**************/
PROCEDURE get_cost (p_request_id NUMBER, p_project VARCHAR2) IS
CURSOR c_cap_cost IS
SELECT DISTINCT
/*+ PARALLEL ( peia 2) */ /*+ PARALLEL ( pcdla 2) */
pt.task_number task_number
,pt.task_id task_id
,NULL commitments
,ppa.project_status_code
,ppa.project_id project_id
,ppa.segment1 NAME
,pkm.full_name full_name
,class_category
,class_code
,pcdla.pa_period_name period
,NVL (SUM (pcdla.burdened_cost), 0) COST
FROM pa_expenditure_items_all peia
,pa_cost_distribution_lines_all pcdla
,pa_projects_all ppa
,gl_code_combinations gcc
,pa_project_classes ppc
,pa_tasks pt
,pa_project_statuses pps
, (SELECT project_id
,full_name
FROM apps.pafv_key_members
-- to get project manager for a project
WHERE project_role = 'Project Manager'
AND TRUNC (SYSDATE)
BETWEEN start_effective_date
AND NVL (end_effective_date
, SYSDATE + 1)
GROUP BY project_id
,full_name) pkm
WHERE ppc.project_id = ppa.project_id
AND ppa.project_status_code = pps.project_status_code
AND ppa.project_id = pcdla.project_id
AND peia.expenditure_item_id =
pcdla.expenditure_item_id
AND pcdla.dr_code_combination_id =
gcc.code_combination_id
AND gcc.chart_of_accounts_id = g_coa_id
AND ppa.project_id = pt.project_id
AND pt.project_id = ppc.project_id
AND pt.task_id = pcdla.task_id
AND pt.task_id = peia.task_id
AND pcdla.burdened_cost != 0
AND class_code IN (
SELECT pcc.class_code
FROM pa_class_categories pac
,pa_class_codes pcc
WHERE pac.class_category = pcc.class_category
AND (UPPER (pac.class_category) LIKE
'%CAPEX%'
OR UPPER (pac.class_category) LIKE
'%CAPIT%EXP%ND%'
) )
AND gcc.segment2 IN (
SELECT a.lookup_code
FROM fnd_lookup_values a
,fnd_lookup_types b
WHERE b.lookup_type = 'ABSN_PA_CIP_ACCOUNTS'
AND a.lookup_type = b.lookup_type
AND a.enabled_flag = 'Y'
AND DECODE (a.end_date_active
,NULL, SYSDATE
) >= SYSDATE)
AND ppa.org_id =
v_global_org_id
--Added for multiorg expansion
AND ppa.project_id = pkm.project_id(+)
GROUP BY pt.task_number
,pt.task_id
,ppa.project_status_code
,ppa.project_id
,ppa.segment1
,pkm.full_name
,class_category
,class_code
,pcdla.pa_period_name
UNION
SELECT pt.task_number
,pta.task_id
,SUM (pta.tot_cmt_burdened_cost) commitments
,ppa.project_status_code
,ppa.project_id project_id
,ppa.segment1 NAME
,pkm.full_name full_name
,class_category
,class_code
,pta.gl_period period
,NULL COST
FROM pa_projects_all ppa
,pa_tasks pt
,pa_txn_accum pta
,pa_project_classes ppc
, (SELECT project_id
,full_name
FROM apps.pafv_key_members
-- to get project manager for a project
WHERE project_role = 'Project Manager'
AND TRUNC (SYSDATE) BETWEEN start_effective_date
AND NVL
(end_effective_date
, SYSDATE + 1)
GROUP BY project_id
,full_name) pkm
WHERE ppa.project_id = pt.project_id
AND pt.project_id = pta.project_id
AND pt.task_id = pta.task_id
AND pta.tot_cmt_burdened_cost IS NOT NULL
AND tot_burdened_cost = 0 AND ppa.project_id = pkm.project_id(
+)
AND ppc.project_id = ppa.project_id
AND class_code IN (
SELECT pcc.class_code
FROM pa_class_categories pac
,pa_class_codes pcc
WHERE pac.class_category = pcc.class_category
AND (UPPER (pac.class_category) LIKE '%CAPEX%'
OR UPPER (pac.class_category) LIKE
'%CAPIT%EXP%ND%'
) )
AND ppa.org_id = v_global_org_id
GROUP BY pt.task_number
,pta.task_id
,ppa.project_status_code
,ppa.project_id
,ppa.segment1
,pkm.full_name
,class_category
,class_code
,pta.gl_period;
CURSOR c_exp_cost IS
SELECT DISTINCT /*+ PARALLEL ( peia 2) */ /*+ PARALLEL ( pcdla 2) */
pt.task_number task_number
,pt.task_id task_id
,NULL commitments
,ppa.project_status_code
,ppa.project_id project_id
,ppa.segment1 NAME
,pkm.full_name full_name
,class_category
,class_code
,pcdla.pa_period_name period
,NVL (SUM (pcdla.burdened_cost), 0) COST
FROM pa_expenditure_items_all peia
,pa_cost_distribution_lines_all pcdla
,pa_projects_all ppa
,gl_code_combinations gcc
,pa_project_classes ppc
,pa_tasks pt
,pa_project_statuses pps
, (SELECT project_id
,full_name
FROM apps.pafv_key_members
-- to get project manager for a project
WHERE project_role = 'Project Manager'
AND TRUNC (SYSDATE)
BETWEEN start_effective_date
AND NVL (end_effective_date
, SYSDATE + 1)
GROUP BY project_id
,full_name) pkm
WHERE ppc.project_id = ppa.project_id
AND ppa.project_status_code = pps.project_status_code
AND ppa.project_id = pcdla.project_id
AND peia.expenditure_item_id =
pcdla.expenditure_item_id
AND pcdla.dr_code_combination_id =
gcc.code_combination_id
AND gcc.chart_of_accounts_id = g_coa_id
AND ppa.project_id = pt.project_id
AND pt.project_id = ppc.project_id
AND pt.task_id = pcdla.task_id
AND pt.task_id = peia.task_id
AND pcdla.burdened_cost != 0
AND class_code IN (
SELECT pcc.class_code
FROM pa_class_categories pac
,pa_class_codes pcc
WHERE pac.class_category = pcc.class_category
AND (UPPER (pac.class_category) LIKE
'%CAPEX%'
OR UPPER (pac.class_category) LIKE
'%CAPIT%EXP%ND%'
) )
AND gcc.segment2 NOT IN (
SELECT a.lookup_code
FROM fnd_lookup_values a
,fnd_lookup_types b
WHERE b.lookup_type = 'ABSN_PA_CIP_ACCOUNTS'
AND a.lookup_type = b.lookup_type
AND a.enabled_flag = 'Y'
AND DECODE (a.end_date_active
,NULL, SYSDATE
) >= SYSDATE)
AND ppa.org_id =
v_global_org_id
--Added for multiorg expansion
AND ppa.project_id = pkm.project_id(+)
GROUP BY pt.task_number
,pt.task_id
,ppa.project_status_code
,ppa.project_id
,ppa.segment1
,pkm.full_name
,class_category
,class_code
,pcdla.pa_period_name
UNION
SELECT pt.task_number
,pta.task_id
,SUM (pta.tot_cmt_burdened_cost) commitments
,ppa.project_status_code
,ppa.project_id project_id
,ppa.segment1 NAME
,pkm.full_name full_name
,class_category
,class_code
,pta.gl_period period
,NULL COST
FROM pa_projects_all ppa
,pa_tasks pt
,pa_txn_accum pta
,pa_project_classes ppc
, (SELECT project_id
,full_name
FROM apps.pafv_key_members
-- to get project manager for a project
WHERE project_role = 'Project Manager'
AND TRUNC (SYSDATE) BETWEEN start_effective_date
AND NVL
(end_effective_date
, SYSDATE + 1)
GROUP BY project_id
,full_name) pkm
WHERE ppa.project_id = pt.project_id
AND pt.project_id = pta.project_id
AND pt.task_id = pta.task_id
AND pta.tot_cmt_burdened_cost IS NOT NULL
AND tot_burdened_cost = 0 AND ppa.project_id = pkm.project_id(
+)
AND ppc.project_id = ppa.project_id
AND class_code IN (
SELECT pcc.class_code
FROM pa_class_categories pac
,pa_class_codes pcc
WHERE pac.class_category = pcc.class_category
AND (UPPER (pac.class_category) LIKE '%CAPEX%'
OR UPPER (pac.class_category) LIKE
'%CAPIT%EXP%ND%'
) )
AND ppa.org_id = v_global_org_id
GROUP BY pt.task_number
,pta.task_id
,ppa.project_status_code
,ppa.project_id
,ppa.segment1
,pkm.full_name
,class_category
,class_code
,pta.gl_period;
BEGIN
fnd_file.put_line (1, 'inside get_cost procedure');
--T_COST1 := 0;
FOR v_cap_cost IN c_cap_cost
LOOP
INSERT INTO absn_pa_rpt_33_proj
VALUES (p_request_id
,v_cap_cost.project_id
,v_cap_cost.NAME
,v_cap_cost.task_number
,v_cap_cost.task_id
,v_cap_cost.COST
,v_cap_cost.class_category
,v_cap_cost.class_code
,'CAPITAL'
,v_cap_cost.period
,v_cap_cost.full_name
,v_cap_cost.project_status_code
);
END LOOP;
FOR v_exp_cost IN c_exp_cost
LOOP
INSERT INTO absn_pa_rpt_33_proj
VALUES (p_request_id
,v_exp_cost.project_id
,v_exp_cost.NAME
,v_exp_cost.task_number
,v_exp_cost.task_id
,v_exp_cost.COST
,v_exp_cost.class_category
,v_exp_cost.class_code
,'EXPENSE'
,v_exp_cost.period
,v_exp_cost.full_name
,v_exp_cost.project_status_code
);
END LOOP;
COMMIT;
END get_cost;
PROCEDURE get_cost_itd (p_period VARCHAR2, p_project_id IN NUMBER
,p_task VARCHAR2, p_classcode VARCHAR2, p_class_category VARCHAR2
,p_request_id NUMBER, p_cost OUT NUMBER, p_type VARCHAR2
) IS
BEGIN
SELECT NVL (SUM (COST), 0)
INTO p_cost
FROM absn_pa_rpt_33_proj
WHERE class_code = p_classcode AND class_category = p_class_category
AND request_id = p_request_id AND cost_type = p_type
AND task_name = p_task
AND absn_pa_rpt_33_proj.project_id = p_project_id
AND (SUBSTR (period, INSTR (period, '-') + 1) <
SUBSTR (p_period, INSTR (p_period, '-') + 1)
OR (SUBSTR (period, 2, 2) <= SUBSTR (p_period, 2, 2)
AND SUBSTR (period, INSTR (period, '-') + 1) =
SUBSTR (p_period, INSTR (p_period, '-') + 1)
)
);
END get_cost_itd;
/*******************************************************************************
***********************/
PROCEDURE get_cost_ptd (p_period VARCHAR2, p_project_id1 NUMBER
,p_task VARCHAR2, p_class_code VARCHAR2, p_classification VARCHAR2
,p_request_id NUMBER, p_amount_ptd OUT NUMBER, p_type VARCHAR2
) IS
BEGIN
SELECT NVL (SUM (COST), 0)
INTO p_amount_ptd
FROM absn_pa_rpt_33_proj
WHERE class_code = p_class_code AND class_category = p_classification
AND request_id = p_request_id AND cost_type = p_type
AND period = p_period AND task_name = p_task
AND absn_pa_rpt_33_proj.project_id = p_project_id1;
END get_cost_ptd;
/*******************************************************************************
***********************/
PROCEDURE get_cost_ytd (p_period VARCHAR2, p_project_id2 NUMBER
,p_task VARCHAR2, p_class_code VARCHAR2, p_classification VARCHAR2
,p_request_id NUMBER, p_amount_ytd OUT NUMBER, p_type VARCHAR2
) IS
BEGIN
SELECT NVL (SUM (COST), 0)
INTO p_amount_ytd
FROM absn_pa_rpt_33_proj
WHERE class_code = p_class_code AND class_category = p_classification
AND request_id = p_request_id AND task_name = p_task
AND cost_type = p_type
AND SUBSTR (period, INSTR (period, '-') + 1) =
SUBSTR (p_period, INSTR (p_period, '-') + 1)
AND SUBSTR (period, 2, INSTR (period, '-') - 1) <=
SUBSTR (p_period, 2, INSTR (p_period, '-') - 1)
AND absn_pa_rpt_33_proj.project_id = p_project_id2;
END get_cost_ytd;
/*******************************************************************************
********************
FETCH_DATA PROCEDURE
********************************************************************************
*****/
PROCEDURE fetch_data (err_buff OUT VARCHAR2, ret_code OUT NUMBER
,p_org_id NUMBER, p_period VARCHAR2, p_class_category VARCHAR2
,p_class_code VARCHAR2, p_unit1 VARCHAR2, p_unit2 VARCHAR2
,p_unit3 VARCHAR2, p_unit4 VARCHAR2, p_unit5 VARCHAR2
,p_car varchar2 ----------------------RFC#60254
,p_project VARCHAR2, p_percent_spend NUMBER
) AS
v_seg1 VARCHAR2 (30);
-------------
v_seg2 VARCHAR2 (30);
v_asset_desc VARCHAR2 (240);
v_burdened_cost NUMBER := 0;
v_task_id NUMBER;
v_resource_assmnt_id NUMBER (15);
v_bgt_version_id NUMBER (15);
t_car number; --RFC#60254
t_project VARCHAR2 (30);
t_status VARCHAR2 (50);
t_unit VARCHAR2 (50);
t_unit_desc VARCHAR2 (240);
t_top_task VARCHAR2 (30);
t_task VARCHAR2 (30);
t_task_desc VARCHAR2 (300);
t_asset_desc VARCHAR2 (300);
t_asset_category VARCHAR2 (200);
t_class_code VARCHAR2 (50);
t_project_manager VARCHAR2 (25);
t_cap_amount_grnd_tot_itd NUMBER := 0;
t_exp_amount_grnd_tot_itd NUMBER := 0;
t_itd_grnd_tot NUMBER := 0;
t_cap_amount_grnd_tot_ptd NUMBER := 0;
t_exp_amount_grnd_tot_ptd NUMBER := 0;
t_ptd_grnd_tot NUMBER := 0;
t_cap_amount_grnd_tot_ytd NUMBER := 0;
t_exp_amount_grnd_tot_ytd NUMBER := 0;
t_ytd_grnd_tot NUMBER := 0;
t_bgt_amount_grnd_tot NUMBER := 0;
t_commitments_grnd_tot NUMBER := 0;
t_over_und_appr_grnd_tot NUMBER := 0;
t_interfaced_cip NUMBER := 0;
p_cap_amount_grnd_tot_itd NUMBER := 0;
p_exp_amount_grnd_tot_itd NUMBER := 0;
p_itd_grnd_tot NUMBER := 0;
p_cap_amount_grnd_tot_ptd NUMBER := 0;
p_exp_amount_grnd_tot_ptd NUMBER := 0;
p_ptd_grnd_tot NUMBER := 0;
p_cap_amount_grnd_tot_ytd NUMBER := 0;
p_exp_amount_grnd_tot_ytd NUMBER := 0;
p_ytd_grnd_tot NUMBER := 0;
p_bgt_amount_grnd_tot NUMBER := 0;
p_bgt_amount_grnd_tot1 NUMBER := 0;
p_commitments_grnd_tot NUMBER := 0;
p_over_und_appr_grnd_tot NUMBER := 0;
p_interfaced_cip NUMBER := 0;
t_entry_method VARCHAR2 (240) := '';
x_entry_method VARCHAR2 (240) := '';
p_entry_method VARCHAR2 (240) := '';
x_cap_amount_grnd_tot_itd NUMBER := 0;
x_exp_amount_grnd_tot_itd NUMBER := 0;
x_itd_grnd_tot NUMBER := 0;
x_cap_amount_grnd_tot_ptd NUMBER := 0;
x_exp_amount_grnd_tot_ptd NUMBER := 0;
x_ptd_grnd_tot NUMBER := 0;
x_cap_amount_grnd_tot_ytd NUMBER := 0;
x_exp_amount_grnd_tot_ytd NUMBER := 0;
x_ytd_grnd_tot NUMBER := 0;
x_bgt_amount_grnd_tot NUMBER := 0;
x_commitments_grnd_tot NUMBER := 0;
x_over_und_appr_grnd_tot NUMBER := 0;
x_interfaced_cip NUMBER := 0;
/*****************************************************/
CURSOR cur_project_y (p_request_id NUMBER) IS
SELECT DISTINCT temp.project_name
,temp.project_id project_id
FROM absn_pa_rpt_33_temp temp
,pa_project_statuses pps
,pa_projects_all ppa
WHERE temp.request_id = p_request_id
AND ppa.project_id = temp.project_id
AND pps.project_status_code = ppa.project_status_code
AND temp.project_status = pps.project_status_code
GROUP BY temp.project_name
,temp.project_id
, (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
)
)
HAVING ( ( (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
) > SYSDATE - 365
)
)
)
ORDER BY temp.project_name;
/****************************************************************/
CURSOR cur_project_y1 (p_request_id NUMBER) IS
SELECT DISTINCT temp.project_name
,temp.project_id project_id
,ROUND (NVL (temp.appr_bgt_amount, 0), 2)
,SUM (ROUND (NVL (cap_amount_itd, 0)
+ NVL (exp_amount_itd, 0)
,2) )
FROM absn_pa_rpt_33_temp temp
,pa_project_statuses pps
,pa_projects_all ppa
WHERE temp.request_id = p_request_id
AND ppa.project_id = temp.project_id
AND pps.project_status_code = ppa.project_status_code
AND temp.project_status = pps.project_status_code
AND temp.budget_type = 'APPROPRIATION'
GROUP BY temp.project_name
,temp.project_id
,ROUND (NVL (temp.appr_bgt_amount, 0), 2)
, (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
)
)
HAVING ( ( ( (SUM (ROUND (NVL (temp.cap_amount_itd, 0)
+ NVL (temp.exp_amount_itd, 0)
,2) )
/ ROUND (NVL (temp.appr_bgt_amount, 0), 2)
)
* 100
) >= p_percent_spend
)
AND ( ( (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
) > SYSDATE - 365
)
)
)
)
ORDER BY temp.project_name;
/**************************************************************************/
CURSOR cur_top_task (p_request_id NUMBER, p_project_id VARCHAR2) IS
SELECT DISTINCT temp.top_task top_task
,temp.budget_entry_method bgt_entry_method
FROM absn_pa_rpt_33_temp temp
WHERE temp.request_id = p_request_id
AND temp.project_id = p_project_id
ORDER BY temp.top_task;
/******************************************************************/
/*CURSOR CUR_TASK_Y(P_TOP_TASK VARCHAR2,P_REQUEST_ID NUMBER,P_PROJECT_ID VARCHAR
2) IS
SELECT distinct TEMP.LOWEST_TASK TASK,
PT.TASK_ID TASK_ID
FROM ABSN_PA_RPT_33_TEMP TEMP,
PA_TASKS PT
WHERE PT.PROJECT_ID=TEMP.PROJECT_ID
and temp.lowest_task=pt.task_number
AND TEMP.REQUEST_ID = P_REQUEST_ID
AND TEMP.TOP_TASK = P_TOP_TASK
and temp.project_id = P_PROJECT_ID;*/
/*********************************************************************/
CURSOR cur_task_y (p_top_task VARCHAR2, p_request_id NUMBER
,p_project_id VARCHAR2
) IS
SELECT DISTINCT temp.lowest_task task
,pt.task_id task_id
,pt.attribute3 car ---RFC#60254
,ROUND (NVL (temp.cap_amount_itd, 0), 2)
cap_amount_itd
,ROUND (NVL (temp.exp_amount_itd, 0), 2)
exp_amount_itd
,ROUND (NVL (temp.cap_amount_ptd, 0), 2)
cap_amount_ptd
,ROUND (NVL (temp.exp_amount_ptd, 0), 2)
exp_amount_ptd
,ROUND (NVL (temp.cap_amount_ytd, 0), 2)
cap_amount_ytd
,ROUND (NVL (temp.exp_amount_ytd, 0), 2)
exp_amount_ytd
,ROUND (NVL (temp.appr_bgt_amount, 0), 2) bgt_amt
,ROUND (SUM (NVL (pta.tot_cmt_burdened_cost, 0) ), 2)
commitments
,ROUND (NVL (temp.appr_bgt_amount, 0)
- (NVL (temp.cap_amount_itd, 0)
+ NVL (temp.exp_amount_itd, 0)
)
,2) over_under_appropriation
,ROUND (NVL (temp.interfaced_cip_cost, 0), 2)
interfaced_cipcost
FROM absn_pa_rpt_33_temp temp
,pa_tasks pt
,pa_txn_accum pta
WHERE pt.project_id = temp.project_id
AND temp.lowest_task = pt.task_number
AND pta.project_id = pt.project_id
AND pta.task_id = pt.task_id
AND pta.project_id = temp.project_id
AND pt.project_id = pta.project_id
AND temp.request_id = p_request_id
--
AND nvl(pt.attribute3,0) =nvl(p_car,nvl(pt.attribute3,0
)) ----RFC#60254
AND temp.top_task = p_top_task
AND temp.project_id = p_project_id
GROUP BY temp.lowest_task
,pt.task_id
,pt.attribute3 --RFC#60254
,temp.cap_amount_itd
,temp.exp_amount_itd
,temp.cap_amount_ptd
,temp.exp_amount_ptd
,temp.cap_amount_ytd
,temp.exp_amount_ytd
,temp.appr_bgt_amount
,temp.interfaced_cip_cost
HAVING ( ( (SUM (NVL (pta.tot_cmt_burdened_cost, 0) ) <> 0
OR SUM (NVL (temp.cap_amount_itd, 0) ) <> 0
OR SUM (NVL (temp.exp_amount_itd, 0) ) <> 0
OR SUM (NVL (temp.cap_amount_ptd, 0) ) <> 0
OR SUM (NVL (temp.exp_amount_ptd, 0) ) <> 0
OR SUM (NVL (temp.cap_amount_ytd, 0) ) <> 0
OR SUM (NVL (temp.exp_amount_ytd, 0) ) <> 0
OR SUM (NVL (temp.appr_bgt_amount, 0) ) <> 0
)
)
OR ( (SUM (NVL (temp.cap_amount_ptd, 0) ) <> 0
OR SUM (NVL (temp.exp_amount_ptd, 0) ) <> 0
OR SUM (NVL (temp.cap_amount_ytd, 0) ) <> 0
OR SUM (NVL (temp.exp_amount_ytd, 0) ) <> 0
)
)
);
/*******************************************************************************
****/
CURSOR cur_asset_y1 (p_request_id NUMBER, p_project_id1 VARCHAR2
,p_task_id NUMBER, p_task VARCHAR2
) IS
SELECT temp.top_task top_task
,temp.lowest_task task
,pt.attribute3 car ---RFC#60254
,temp.project_manager v_project_manager
,temp.unit v_unit
,temp.unit_description unit_desc
,temp.task_description v_description
,pps.description status
,temp.prj_classf classification
,temp.prj_cls_code class_code
,temp.budget_entry_method v_entry_method
,temp.budget_type budget_type
, (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
)
)
,ROUND (NVL (temp.cap_amount_itd, 0), 2) cap_amount_itd
,ROUND (NVL (temp.exp_amount_itd, 0), 2) exp_amount_itd
,ROUND (NVL (temp.cap_amount_itd, 0)
+ NVL (temp.exp_amount_itd, 0)
,2) itd_total
,ROUND (NVL (temp.cap_amount_ptd, 0), 2) cap_amount_ptd
,ROUND (NVL (temp.exp_amount_ptd, 0), 2) exp_amount_ptd
,ROUND (NVL (temp.cap_amount_ptd, 0)
+ NVL (temp.exp_amount_ptd, 0)
,2) ptd_total
,ROUND (NVL (temp.cap_amount_ytd, 0), 2) cap_amount_ytd
,ROUND (NVL (temp.exp_amount_ytd, 0), 2) exp_amount_ytd
,ROUND (NVL (temp.cap_amount_ytd, 0)
+ NVL (temp.exp_amount_ytd, 0)
,2) ytd_total
,ROUND (NVL (temp.appr_bgt_amount, 0), 2) bgt_amt
,ROUND (SUM (NVL (pta.tot_cmt_burdened_cost, 0) ), 2)
commitments
,ROUND (NVL (temp.appr_bgt_amount, 0)
- (NVL (temp.cap_amount_itd, 0)
+ NVL (temp.exp_amount_itd, 0)
)
,2) over_under_appropriation
,ROUND (NVL (temp.interfaced_cip_cost, 0), 2)
interfaced_cipcost
FROM pa_tasks pt
,absn_pa_rpt_33_temp temp
,pa_projects_all ppa
,pa_project_statuses pps
,pa_txn_accum pta
WHERE temp.request_id = p_request_id
AND ppa.project_id = pt.project_id
AND temp.project_id = ppa.project_id
AND temp.project_id = pt.project_id
AND pt.project_id = ppa.project_id
AND pt.project_id = temp.project_id
AND ppa.project_status_code = pps.project_status_code
AND pta.project_id = ppa.project_id
AND pta.task_id = pt.task_id
AND pta.project_id = temp.project_id
AND nvl(pt.attribute3,0) =nvl(p_car,nvl(pt.attribute3,0))----R
FC#60254
AND pt.project_id = pta.project_id
AND pt.task_number = temp.lowest_task
AND ppa.org_id = v_global_org_id
AND temp.project_id = p_project_id1
AND pt.task_number = p_task AND pt.task_id = p_task_id
AND (temp.budget_type = 'APPROPRIATION'
OR temp.budget_type IS NULL
)
---and sysdate > pta.week_ending_date
-- Since user want to suppress projects showing up when capital and exp
ense amounts
-- are zero (0) or any of the budget amounts are greater than zero
GROUP BY temp.top_task
,temp.lowest_task
,pt.attribute3---RFC#60254
,temp.project_manager
,temp.cap_amount_itd
,temp.exp_amount_itd
,temp.cap_amount_ptd
,temp.exp_amount_ptd
,temp.cap_amount_ytd
,temp.exp_amount_ytd
,temp.unit
,temp.unit_description
,temp.prj_classf
,temp.prj_cls_code
,temp.task_description
,pps.description
,temp.appr_bgt_amount
,temp.budget_entry_method
,temp.budget_type
,temp.interfaced_cip_cost
, (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
)
)
HAVING ( ( (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
) > SYSDATE - 365
)
)
OR ( (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
) < SYSDATE - 365
)
)
)
ORDER BY temp.top_task
,temp.lowest_task;
/**********************************************************************/
CURSOR cur_asset_y2 (p_request_id NUMBER, p_project_id2 VARCHAR2
,p_task_id2 NUMBER, p_task2 VARCHAR2
) IS
SELECT temp.top_task top_task
,temp.lowest_task task
,pt.attribute3 car ---RFC#60254
,temp.project_manager v_project_manager
,temp.unit v_unit
,temp.unit_description unit_desc
,temp.task_description v_description
,pps.description status
,temp.prj_classf classification
,temp.prj_cls_code class_code
,temp.budget_entry_method v_entry_method
,temp.budget_type budget_type
, (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
)
)
,ROUND (NVL (temp.cap_amount_itd, 0), 2) cap_amount_itd
,ROUND (NVL (temp.exp_amount_itd, 0), 2) exp_amount_itd
,ROUND (NVL (temp.cap_amount_itd, 0)
+ NVL (temp.exp_amount_itd, 0)
,2) itd_total
,ROUND (NVL (temp.cap_amount_ptd, 0), 2) cap_amount_ptd
,ROUND (NVL (temp.exp_amount_ptd, 0), 2) exp_amount_ptd
,ROUND (NVL (temp.cap_amount_ptd, 0)
+ NVL (temp.exp_amount_ptd, 0)
,2) ptd_total
,ROUND (NVL (temp.cap_amount_ytd, 0), 2) cap_amount_ytd
,ROUND (NVL (temp.exp_amount_ytd, 0), 2) exp_amount_ytd
,ROUND (NVL (temp.cap_amount_ytd, 0)
+ NVL (temp.exp_amount_ytd, 0)
,2) ytd_total
,ROUND (NVL (temp.appr_bgt_amount, 0), 2) bgt_amt
,ROUND (SUM (NVL (pta.tot_cmt_burdened_cost, 0) ), 2)
commitments
,ROUND (NVL (temp.appr_bgt_amount, 0)
- (NVL (temp.cap_amount_itd, 0)
+ NVL (temp.exp_amount_itd, 0)
)
,2) over_under_appropriation
,ROUND (NVL (temp.interfaced_cip_cost, 0), 2)
interfaced_cipcost
FROM pa_tasks pt
,absn_pa_rpt_33_temp temp
,pa_projects_all ppa
,pa_project_statuses pps
,pa_txn_accum pta
WHERE temp.request_id = p_request_id
AND ppa.project_id = pt.project_id
AND temp.project_id = ppa.project_id
AND temp.project_id = pt.project_id
AND pt.project_id = ppa.project_id
AND pt.project_id = temp.project_id
AND ppa.project_status_code = pps.project_status_code
AND pta.project_id = ppa.project_id
AND pta.task_id = pt.task_id
AND pta.project_id = temp.project_id
AND pt.project_id = pta.project_id
AND pt.task_number = temp.lowest_task
AND nvl(pt.attribute3,0) =nvl(p_car,nvl(pt.attribute3,0)) --
--RFC#60254
--
AND ppa.org_id = v_global_org_id
AND temp.project_id = p_project_id2
AND pt.task_number = p_task2 AND pt.task_id = p_task_id2
AND temp.budget_type = 'APPROPRIATION'
-- Since user want to suppress projects showing up when capital and exp
ense amounts
-- are zero (0) or any of the budget amounts are greater than zero
GROUP BY temp.top_task
,temp.lowest_task
,pt.attribute3 ---RFC#60254
,temp.project_manager
,temp.cap_amount_itd
,temp.exp_amount_itd
,temp.cap_amount_ptd
,temp.exp_amount_ptd
,temp.cap_amount_ytd
,temp.exp_amount_ytd
,temp.unit
,temp.unit_description
,temp.prj_classf
,temp.prj_cls_code
,temp.task_description
,pps.description
,temp.appr_bgt_amount
,temp.budget_entry_method
,temp.budget_type
,temp.interfaced_cip_cost
, (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
)
)
HAVING ( ( (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
) > SYSDATE - 365
)
)
OR ( (DECODE (pps.project_status_name
,'CLOSED', ppa.closed_date
,'DROPPED', ppa.closed_date
,SYSDATE
) < SYSDATE - 365
)
)
)
ORDER BY temp.top_task
,temp.lowest_task;
/*******************************************************************************
*/
v_request_id NUMBER;
BEGIN
v_global_org_id := p_org_id;
v_request_id := fnd_global.conc_request_id;
fnd_file.put_line (1, 'V_GLOBAL_ORG_ID: ' || v_global_org_id);
fnd_file.put_line (2, 'Reporting Period : ' || p_period);
fnd_file.put_line (2
, 'Classification Category : ' || p_class_category);
fnd_file.put_line (2, 'Classification Class Code: ' || p_class_code);
fnd_file.put_line (2, 'Unit1 : ' || p_unit1);
fnd_file.put_line (2, 'Unit2 : ' || p_unit2);
fnd_file.put_line (2, 'Unit3 : ' || p_unit3);
fnd_file.put_line (2, 'Unit4 : ' || p_unit4);
fnd_file.put_line (2, 'Unit5 : ' || p_unit5);
fnd_file.put_line (2, 'CAR : ' || p_car);
--------------------RFC#60254
fnd_file.put_line (2, 'Project Name : ' || p_project);
fnd_file.put_line (2, 'By Percent Spend : ' || p_percent_spend);
fnd_file.put_line (2, ' ');
fnd_file.put_line (2, 'ACTUALS = Invoiced amounts that include Tax ');
fnd_file.put_line
(2
,'OPEN COMMITMENTS = Open Requisitions and Purchase Orders (NO TAX or F
REIGHT included) thru Report Run Date');
fnd_file.put_line (2, ' ');
fnd_file.put_line (1
, 'FND_GLOBAL.CONC_REQUEST_ID'
|| fnd_global.conc_request_id);
g_sob_id := fnd_profile.VALUE ('GL_SET_OF_BKS_ID');
fnd_file.put_line (1, 'LEDGER_ID: ' || g_sob_id);
fnd_file.put_line (1, 'call to absn_pa_rpt_33_proc ');
BEGIN
absn_pa_rpt_33_proc (p_period, p_class_category, p_class_code
,v_request_id, p_unit1, p_unit2, p_unit3
,p_unit4, p_unit5, --p_car,
--------------------RFC#60254
p_project);
EXCEPTION
WHEN OTHERS THEN
fnd_file.put_line (1, 'Error in fetch data block: ' || SQLERRM);
END;
absn_excel_format_pkg.absn_excel_format_proc
('CAR', 'PROJECT'
,'PROJECT STATUS'
,
---'UNIT',
'UNIT DESCRIPTION'
,'TOP TASK', 'TASK'
,'TASK DESCRIPTION'
,'ASSET DESCRIPTION'
,'ASSET CATEGORY'
,'CLASS CODE'
,'APPROPRIATION'
,
--'(OVER)/UNDER APPROPRIATION',
--RFC#60254
'Total Spend'
, --RFC#60254
'OPEN CMTS thru TODAY'
,'PTD ACTUALS - CAP'
,'PTD ACTUALS - EXP'
,'PTD TOTAL'
,'YTD ACTUALS - CAP'
,'YTD ACTUALS - EXP'
,'YTD TOTAL'
,'ITD ACTUALS - CAP'
,'ITD ACTUALS - EXP'
,'ITD TOTAL'
,'FIXED ASSET - DEPRECIATING'
,'PROJECT MANAGER');
IF p_percent_spend = 0 THEN
FOR v_proj IN cur_project_y (v_request_id)
LOOP
fnd_file.put_line (fnd_file.LOG
, 'GOT VALUE for project_id - v_proj : '
|| v_proj.project_id);
FOR v_top_task IN cur_top_task (v_request_id, v_proj.project_id)
LOOP
fnd_file.put_line (fnd_file.LOG
, 'GOT VALUE FOR top TASK - v_top_task : '
|| v_top_task.top_task);
IF v_top_task.bgt_entry_method IN
('TOP' || ' &' || ' LOWEST TASK, NO RESOURCE'
,'TOP TASK, NO RESOURCE'
) THEN
BEGIN
SELECT DISTINCT pbl.burdened_cost
,pra.task_id
,pra.resource_assignment_id
,pbl.budget_version_id
INTO v_burdened_cost
,v_task_id
,v_resource_assmnt_id
,v_bgt_version_id
FROM pa_budget_lines pbl
,pa_resource_assignments pra
,pa_budget_versions pbv
WHERE pra.resource_assignment_id =
pbl.resource_assignment_id
AND pbv.budget_version_id =
pbl.budget_version_id
AND pra.budget_version_id =
pbv.budget_version_id
AND pbv.project_id = v_proj.project_id
AND pbv.budget_status_code IN ('W', 'S')
AND pra.task_id =
(SELECT task_id
FROM pa_tasks
WHERE project_id =
v_proj.project_id
AND task_number =
v_top_task.top_task);
EXCEPTION
WHEN NO_DATA_FOUND THEN
fnd_file.put_line (fnd_file.LOG
, 'NO AMOUNT FOR TOP TASK'
|| v_top_task.top_task);
v_burdened_cost := 0;
WHEN OTHERS THEN
fnd_file.put_line (fnd_file.LOG, 'other errors');
END;
END IF;
FOR v_task IN cur_task_y (v_top_task.top_task, v_request_id
,v_proj.project_id)
LOOP
fnd_file.put_line (fnd_file.LOG
, 'GOT VALUE for task - v_task : '
|| v_task.task);
FOR v_asset1 IN cur_asset_y1 (v_request_id
,v_proj.project_id
,v_task.task_id, v_task.task)
LOOP
fnd_file.put_line (fnd_file.LOG
, 'GOT assets for task - v_task : '
|| v_task.task);
BEGIN
SELECT ppaa.asset_description asset_desc
,fac.segment1 seg1
,fac.segment2 seg2
--
INTO v_asset_desc
,v_seg1
,v_seg2
--
FROM pa_project_asset_assignments ppaas
,pa_project_assets_all ppaa
,fa_categories_b fac
,pa_tasks pt
,absn_pa_rpt_33_temp temp
,pa_projects_all ppa
WHERE pt.project_id = ppa.project_id
AND temp.request_id = v_request_id
AND temp.project_id = ppa.project_id
AND temp.lowest_task = pt.task_number
AND ppaas.project_asset_id =
ppaa.project_asset_id
AND fac.category_id = ppaa.asset_category_id
AND ppaas.project_id = ppa.project_id
AND ppaa.project_id = ppa.project_id
AND ppaas.project_id = pt.project_id
AND ppaa.project_id = pt.project_id
AND pt.task_id = ppaas.task_id
AND temp.project_id = ppaas.project_id
AND temp.project_id = ppaa.project_id
AND temp.project_id = v_proj.project_id
AND pt.task_number = v_task.task
AND pt.task_id = v_task.task_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_asset_desc := NULL;
v_seg1 := NULL;
v_seg2 := NULL;
--
WHEN OTHERS THEN
fnd_file.put_line (fnd_file.LOG, 'other errors');
END;
t_entry_method :=
TRIM (TRAILING ' ' FROM v_asset1.v_entry_method);
t_car := --RF
C#60254
TRIM (TRAILING ' ' FROM v_task.car); --RFC
#60254
t_project :=
TRIM (TRAILING ' ' FROM v_proj.project_name);
t_status :=
TRIM (TRAILING ' ' FROM v_asset1.status);
--- T_UNIT := TRIM(TRAILING ' ' FR
OM V_ASSET.V_UNIT);
t_unit_desc :=
TRIM (TRAILING ' ' FROM v_asset1.unit_desc);
t_top_task :=
TRIM (TRAILING ' ' FROM v_top_task.top_task);
t_task :=
TRIM (TRAILING ' ' FROM v_asset1.task);
t_task_desc :=
LTRIM (TRIM (TRAILING ' ' FROM v_asset1.v_description)
,'"');
t_asset_desc :=
LTRIM (TRIM (TRAILING ' ' FROM v_asset_desc), '"');
t_asset_category :=
TRIM (TRAILING ' ' FROM v_seg1 || '.' || v_seg2);
t_class_code :=
TRIM (TRAILING ' ' FROM v_asset1.class_code);
t_project_manager :=
TRIM (TRAILING ' ' FROM v_asset1.v_project_manager);
t_cap_amount_grnd_tot_itd :=
t_cap_amount_grnd_tot_itd + v_asset1.cap_amount_itd;
t_exp_amount_grnd_tot_itd :=
t_exp_amount_grnd_tot_itd + v_asset1.exp_amount_itd;
t_itd_grnd_tot :=
t_itd_grnd_tot + v_asset1.itd_total;
t_cap_amount_grnd_tot_ptd :=
t_cap_amount_grnd_tot_ptd + v_asset1.cap_amount_ptd;
t_exp_amount_grnd_tot_ptd :=
t_exp_amount_grnd_tot_ptd + v_asset1.exp_amount_ptd;
t_ptd_grnd_tot :=
t_ptd_grnd_tot + v_asset1.ptd_total;
t_cap_amount_grnd_tot_ytd :=
t_cap_amount_grnd_tot_ytd + v_asset1.cap_amount_ytd;
t_exp_amount_grnd_tot_ytd :=
t_exp_amount_grnd_tot_ytd + v_asset1.exp_amount_ytd;
t_ytd_grnd_tot :=
t_ytd_grnd_tot + v_asset1.ytd_total;
t_bgt_amount_grnd_tot :=
t_bgt_amount_grnd_tot + v_asset1.bgt_amt;
t_commitments_grnd_tot :=
t_commitments_grnd_tot + v_asset1.commitments;
t_over_und_appr_grnd_tot :=
t_over_und_appr_grnd_tot
+ v_asset1.over_under_appropriation;
t_interfaced_cip :=
t_interfaced_cip + v_asset1.interfaced_cipcost;
fnd_file.put_line (1
, 'in asset loop'
|| t_bgt_amount_grnd_tot);
END LOOP;
IF t_entry_method IN
('PROJECT LEVEL, NO RESOURCE'
,'TOP TASK, NO RESOURCE'
, 'TOP' || ' &' || ' LOWEST TASK, NO RESOURCE'
) THEN
absn_excel_format_pkg.absn_excel_format_proc
(t_car, --RFC#60
254
t_project, t_status,
-- T_UNIT,
t_unit_desc, t_top_task, t_task
,t_task_desc, t_asset_desc
,t_asset_category, t_class_code, 0
, '$ '
|| (t_commitments_grnd_tot
+ t_itd_grnd_tot
)
, ----RFC#60254
--'$ '||(0-T_ITD_GRND_TOT),---------------RF
C#60254
'$ ' || t_commitments_grnd_tot
, '$ ' || t_cap_amount_grnd_tot_ptd
, '$ ' || t_exp_amount_grnd_tot_ptd
, '$ ' || t_ptd_grnd_tot
, '$ ' || t_cap_amount_grnd_tot_ytd
, '$ ' || t_exp_amount_grnd_tot_ytd
, '$ ' || t_ytd_grnd_tot
, '$ ' || t_cap_amount_grnd_tot_itd
, '$ ' || t_exp_amount_grnd_tot_itd
, '$ ' || t_itd_grnd_tot
, '$ ' || t_interfaced_cip
,t_project_manager);
ELSIF t_entry_method = 'lowest task-no resource' THEN
absn_excel_format_pkg.absn_excel_format_proc
(t_car, --RFC#60
254
t_project, t_status,
--- T_UNIT,
t_unit_desc, t_top_task, t_task, t_task_desc
,t_asset_desc, t_asset_category, t_class_code
, '$ ' || t_bgt_amount_grnd_tot
, '$ ' || t_over_und_appr_grnd_tot
, '$ ' || t_commitments_grnd_tot
, '$ '
|| (t_itd_grnd_tot + t_exp_amount_grnd_tot_ptd
)
, ----------------RFC#60
254
--'$ '||T_CAP_AMOUNT_GRND_TOT_PTD,----------------
-----RFC#60254
'$ ' || t_exp_amount_grnd_tot_ptd
, '$ ' || t_ptd_grnd_tot
, '$ ' || t_cap_amount_grnd_tot_ytd
, '$ ' || t_exp_amount_grnd_tot_ytd
, '$ ' || t_ytd_grnd_tot
, '$ ' || t_cap_amount_grnd_tot_itd
, '$ ' || t_exp_amount_grnd_tot_itd
, '$ ' || t_itd_grnd_tot
, '$ ' || t_interfaced_cip, t_project_manager);
ELSIF t_entry_method = 'X' THEN
absn_excel_format_pkg.absn_excel_format_proc
(t_car, --RFC#60
254
t_project, t_status,
--- T_UNIT,
t_unit_desc, t_top_task, t_task
,t_task_desc, t_asset_desc
,t_asset_category, t_class_code, 0
, '$ '
|| (t_itd_grnd_tot
+ t_commitments_grnd_tot
)
, -------RFC#6
0254
-- '$ '||(0-T_ITD_GRND_TOT),
'$ ' || t_commitments_grnd_tot
, '$ ' || t_cap_amount_grnd_tot_ptd
, '$ ' || t_exp_amount_grnd_tot_ptd
, '$ ' || t_ptd_grnd_tot
, '$ ' || t_cap_amount_grnd_tot_ytd
, '$ ' || t_exp_amount_grnd_tot_ytd
, '$ ' || t_ytd_grnd_tot
, '$ ' || t_cap_amount_grnd_tot_itd
, '$ ' || t_exp_amount_grnd_tot_itd
, '$ ' || t_itd_grnd_tot
, '$ ' || t_interfaced_cip
,t_project_manager);
END IF;
x_entry_method := t_entry_method;
x_cap_amount_grnd_tot_itd :=
x_cap_amount_grnd_tot_itd + t_cap_amount_grnd_tot_itd;
x_exp_amount_grnd_tot_itd :=
x_exp_amount_grnd_tot_itd + t_exp_amount_grnd_tot_itd;
x_itd_grnd_tot :=
x_itd_grnd_tot + t_itd_grnd_tot;
x_cap_amount_grnd_tot_ptd :=
x_cap_amount_grnd_tot_ptd + t_cap_amount_grnd_tot_ptd;
x_exp_amount_grnd_tot_ptd :=
x_exp_amount_grnd_tot_ptd + t_exp_amount_grnd_tot_ptd;
x_ptd_grnd_tot :=
x_ptd_grnd_tot + t_ptd_grnd_tot;
x_cap_amount_grnd_tot_ytd :=
x_cap_amount_grnd_tot_ytd + t_cap_amount_grnd_tot_ytd;
x_exp_amount_grnd_tot_ytd :=
x_exp_amount_grnd_tot_ytd + t_exp_amount_grnd_tot_ytd;
x_ytd_grnd_tot :=
x_ytd_grnd_tot + t_ytd_grnd_tot;
x_bgt_amount_grnd_tot := t_bgt_amount_grnd_tot;
x_commitments_grnd_tot :=
x_commitments_grnd_tot + t_commitments_grnd_tot;
x_over_und_appr_grnd_tot :=
x_bgt_amount_grnd_tot - x_itd_grnd_tot;
x_interfaced_cip :=
x_interfaced_cip + t_interfaced_cip;
---T_ENTRY_METHOD := '';
t_cap_amount_grnd_tot_itd := 0;
t_exp_amount_grnd_tot_itd := 0;
t_itd_grnd_tot := 0;
t_cap_amount_grnd_tot_ptd := 0;
t_exp_amount_grnd_tot_ptd := 0;
t_ptd_grnd_tot := 0;
t_cap_amount_grnd_tot_ytd := 0;
t_exp_amount_grnd_tot_ytd := 0;
t_ytd_grnd_tot := 0;
t_bgt_amount_grnd_tot := 0;
t_commitments_grnd_tot := 0;
t_over_und_appr_grnd_tot := 0;
t_interfaced_cip := 0;
END LOOP;
IF x_entry_method IN
('PROJECT LEVEL, NO RESOURCE', 'lowest task-no resource') T
HEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL, NULL
,'SUB TOTAL', 0
, '$ '
|| (x_itd_grnd_tot
+ x_commitments_grnd_tot
)
, ---------RFC#6
0254
-- '$ '||(0-X_ITD_GRND_TOT),
'$ ' || x_commitments_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_ptd
, '$ ' || x_exp_amount_grnd_tot_ptd
, '$ ' || x_ptd_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_ytd
, '$ ' || x_exp_amount_grnd_tot_ytd
, '$ ' || x_ytd_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_itd
, '$ ' || x_exp_amount_grnd_tot_itd
, '$ ' || x_itd_grnd_tot
, '$ ' || x_interfaced_cip, NULL);
ELSIF x_entry_method IN
('TOP TASK, NO RESOURCE'
, 'TOP' || ' &' || ' LOWEST TASK, NO RESOURCE'
) THEN
x_bgt_amount_grnd_tot := v_burdened_cost;
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL
,'SUB TOTAL'
, '$ ' || x_bgt_amount_grnd_tot
, '$ '
|| (x_commitments_grnd_tot
+ x_itd_grnd_tot
)
, ------RFC#6
0254
--'$ '||X_OVER_UND_APPR_GRND_TOT,
'$ ' || x_commitments_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_ptd
, '$ ' || x_exp_amount_grnd_tot_ptd
, '$ ' || x_ptd_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_ytd
, '$ ' || x_exp_amount_grnd_tot_ytd
, '$ ' || x_ytd_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_itd
, '$ ' || x_exp_amount_grnd_tot_itd
, '$ ' || x_itd_grnd_tot
, '$ ' || x_interfaced_cip, NULL);
ELSIF x_entry_method = 'X' THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL, NULL,
--- NULL,
NULL, NULL, NULL, NULL, 'SUB TOTAL'
,0
, '$ '
|| (x_itd_grnd_tot
+ x_commitments_grnd_tot
)
, -----------RFC#6
0254
--'$ '||(0-X_ITD_GRND_TOT),
'$ ' || x_commitments_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_ptd
, '$ ' || x_exp_amount_grnd_tot_ptd
, '$ ' || x_ptd_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_ytd
, '$ ' || x_exp_amount_grnd_tot_ytd
, '$ ' || x_ytd_grnd_tot
, '$ ' || x_cap_amount_grnd_tot_itd
, '$ ' || x_exp_amount_grnd_tot_itd
, '$ ' || x_itd_grnd_tot
, '$ ' || x_interfaced_cip, NULL);
END IF;
p_entry_method := x_entry_method;
p_cap_amount_grnd_tot_itd :=
p_cap_amount_grnd_tot_itd + x_cap_amount_grnd_tot_itd;
p_exp_amount_grnd_tot_itd :=
p_exp_amount_grnd_tot_itd + x_exp_amount_grnd_tot_itd;
p_itd_grnd_tot := p_itd_grnd_tot + x_itd_grnd_tot;
p_cap_amount_grnd_tot_ptd :=
p_cap_amount_grnd_tot_ptd + x_cap_amount_grnd_tot_ptd;
p_exp_amount_grnd_tot_ptd :=
p_exp_amount_grnd_tot_ptd + x_exp_amount_grnd_tot_ptd;
p_ptd_grnd_tot := p_ptd_grnd_tot + x_ptd_grnd_tot;
p_cap_amount_grnd_tot_ytd :=
p_cap_amount_grnd_tot_ytd + x_cap_amount_grnd_tot_ytd;
p_exp_amount_grnd_tot_ytd :=
p_exp_amount_grnd_tot_ytd + x_exp_amount_grnd_tot_ytd;
p_ytd_grnd_tot := p_ytd_grnd_tot + x_ytd_grnd_tot;
p_bgt_amount_grnd_tot := x_bgt_amount_grnd_tot;
p_bgt_amount_grnd_tot1 :=
p_bgt_amount_grnd_tot1 + v_burdened_cost;
p_commitments_grnd_tot :=
p_commitments_grnd_tot + x_commitments_grnd_tot;
p_over_und_appr_grnd_tot :=
p_bgt_amount_grnd_tot - p_itd_grnd_tot;
p_interfaced_cip :=
p_interfaced_cip + x_interfaced_cip;
--- X_ENTRY_METHOD := '';
x_cap_amount_grnd_tot_itd := 0;
x_exp_amount_grnd_tot_itd := 0;
x_itd_grnd_tot := 0;
x_cap_amount_grnd_tot_ptd := 0;
x_exp_amount_grnd_tot_ptd := 0;
x_ptd_grnd_tot := 0;
x_cap_amount_grnd_tot_ytd := 0;
x_exp_amount_grnd_tot_ytd := 0;
x_ytd_grnd_tot := 0;
x_bgt_amount_grnd_tot := 0;
x_commitments_grnd_tot := 0;
x_over_und_appr_grnd_tot := 0;
x_interfaced_cip := 0;
END LOOP;
IF p_entry_method = 'lowest task-no resource' THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL, NULL
,'PROJECT TOTAL', 0
, '$ '
|| (p_itd_grnd_tot
+ p_commitments_grnd_tot
)
, --RFC#6
0254
--'$ '||(0-P_ITD_GRND_TOT),
'$ ' || p_commitments_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ptd
, '$ '
|| p_exp_amount_grnd_tot_ptd
, '$ ' || p_ptd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ytd
, '$ '
|| p_exp_amount_grnd_tot_ytd
, '$ ' || p_ytd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_itd
, '$ '
|| p_exp_amount_grnd_tot_itd
, '$ ' || p_itd_grnd_tot
, '$ ' || p_interfaced_cip
,NULL);
ELSIF p_entry_method IN
('TOP TASK, NO RESOURCE'
, 'TOP' || ' &' || ' LOWEST TASK, NO RESOURCE'
) THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL, NULL
,'PROJECT TOTAL'
, '$ '
|| p_bgt_amount_grnd_tot1
, '$ '
|| (p_itd_grnd_tot
+ p_commitments_grnd_tot
)
, --RFC
-- '$ '||(0-P_ITD_GRND_TOT),
'$ ' || p_commitments_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ptd
, '$ '
|| p_exp_amount_grnd_tot_ptd
, '$ ' || p_ptd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ytd
, '$ '
|| p_exp_amount_grnd_tot_ytd
, '$ ' || p_ytd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_itd
, '$ '
|| p_exp_amount_grnd_tot_itd
, '$ ' || p_itd_grnd_tot
, '$ ' || p_interfaced_cip
,NULL);
ELSIF p_entry_method = 'PROJECT LEVEL, NO RESOURCE' THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- NULL,
NULL, NULL, NULL, NULL, NULL
,'PROJECT TOTAL'
, '$ '
|| p_bgt_amount_grnd_tot
, '$ '
|| (p_itd_grnd_tot
+ p_commitments_grnd_tot
)
, --RFC#6
0254
-- '$ '||P_OVER_UND_APPR_GRND_TO
T,
'$ ' || p_commitments_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ptd
, '$ '
|| p_exp_amount_grnd_tot_ptd
, '$ ' || p_ptd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ytd
, '$ '
|| p_exp_amount_grnd_tot_ytd
, '$ ' || p_ytd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_itd
, '$ '
|| p_exp_amount_grnd_tot_itd
, '$ ' || p_itd_grnd_tot
, '$ ' || p_interfaced_cip
,NULL);
ELSIF p_entry_method = 'X' THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL, NULL
,'PROJECT TOTAL', 0
, '$ '
|| (p_itd_grnd_tot
+ p_commitments_grnd_tot
)
, --RFC#6
0254
-- '$ '||(0-P_ITD_GRND_TOT),
'$ ' || p_commitments_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ptd
, '$ '
|| p_exp_amount_grnd_tot_ptd
, '$ ' || p_ptd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ytd
, '$ '
|| p_exp_amount_grnd_tot_ytd
, '$ ' || p_ytd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_itd
, '$ '
|| p_exp_amount_grnd_tot_itd
, '$ ' || p_itd_grnd_tot
, '$ ' || p_interfaced_cip
,NULL);
END IF;
--- P_ENTRY_METHOD := '';
p_cap_amount_grnd_tot_itd := 0;
p_exp_amount_grnd_tot_itd := 0;
p_itd_grnd_tot := 0;
p_cap_amount_grnd_tot_ptd := 0;
p_exp_amount_grnd_tot_ptd := 0;
p_ptd_grnd_tot := 0;
p_cap_amount_grnd_tot_ytd := 0;
p_exp_amount_grnd_tot_ytd := 0;
p_ytd_grnd_tot := 0;
p_bgt_amount_grnd_tot := 0;
p_bgt_amount_grnd_tot1 := 0;
p_commitments_grnd_tot := 0;
p_over_und_appr_grnd_tot := 0;
p_interfaced_cip := 0;
END LOOP;
ELSIF p_percent_spend > 0 THEN
FOR v_proj1 IN cur_project_y1 (v_request_id)
LOOP
FOR v_top_task IN cur_top_task (v_request_id, v_proj1.project_id)
LOOP
IF v_top_task.bgt_entry_method IN
('TOP' || ' &' || ' LOWEST TASK, NO RESOURCE'
,'TOP TASK, NO RESOURCE'
) THEN
BEGIN
SELECT DISTINCT pbl.burdened_cost
,pra.task_id
,pra.resource_assignment_id
,pbl.budget_version_id
INTO v_burdened_cost
,v_task_id
,v_resource_assmnt_id
,v_bgt_version_id
FROM pa_budget_lines pbl
,pa_resource_assignments pra
,pa_budget_versions pbv
WHERE pra.resource_assignment_id =
pbl.resource_assignment_id
AND pbv.budget_version_id =
pbl.budget_version_id
AND pra.budget_version_id =
pbv.budget_version_id
AND pbv.project_id = v_proj1.project_id
AND pbv.budget_status_code IN ('W', 'S')
AND pra.task_id =
(SELECT task_id
FROM pa_tasks
WHERE project_id =
v_proj1.project_id
AND task_number =
v_top_task.top_task);
EXCEPTION
WHEN NO_DATA_FOUND THEN
fnd_file.put_line (fnd_file.LOG
, 'NO AMOUNT FOR TOP TASK'
|| v_top_task.top_task);
WHEN OTHERS THEN
fnd_file.put_line (fnd_file.LOG, 'other errors');
END;
END IF;
FOR v_task IN cur_task_y (v_top_task.top_task, v_request_id
,v_proj1.project_id)
LOOP
FOR v_asset2 IN cur_asset_y2 (v_request_id
,v_proj1.project_id
,v_task.task_id, v_task.task)
LOOP
BEGIN
SELECT ppaa.asset_description asset_desc
,fac.segment1 seg1
,fac.segment2 seg2
INTO v_asset_desc
,v_seg1
,v_seg2
FROM pa_project_asset_assignments ppaas
,pa_project_assets_all ppaa
,fa_categories_b fac
,pa_tasks pt
,absn_pa_rpt_33_temp temp
,pa_projects_all ppa
WHERE pt.project_id = ppa.project_id
AND temp.request_id = v_request_id
AND temp.project_id = ppa.project_id
AND temp.lowest_task = pt.task_number
AND ppaas.project_asset_id =
ppaa.project_asset_id
AND fac.category_id = ppaa.asset_category_id
AND ppaas.project_id = ppa.project_id
AND ppaa.project_id = ppa.project_id
AND ppaas.project_id = pt.project_id
AND ppaa.project_id = pt.project_id
AND pt.task_id = ppaas.task_id
AND temp.project_id = ppaas.project_id
AND temp.project_id = ppaa.project_id
AND temp.project_id = v_proj1.project_id
AND pt.task_number = v_task.task
AND pt.task_id = v_task.task_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_asset_desc := NULL;
v_seg1 := NULL;
v_seg2 := NULL;
WHEN OTHERS THEN
fnd_file.put_line (fnd_file.LOG, 'other errors');
END;
t_car :=
TRIM (TRAILING ' ' FRO
M v_asset2.car); ------ RFC#60254
t_entry_method :=
TRIM (TRAILING ' ' FROM v_asset2.v_entry_method);
t_project :=
TRIM (TRAILING ' ' FROM v_proj1.project_name);
t_status :=
TRIM (TRAILING ' ' FROM v_asset2.status);
--- T_UNIT := TRIM(TRAILING ' ' FR
OM V_ASSET.V_UNIT);
t_unit_desc :=
TRIM (TRAILING ' ' FROM v_asset2.unit_desc);
t_top_task :=
TRIM (TRAILING ' ' FROM v_top_task.top_task);
t_task :=
TRIM (TRAILING ' ' FROM v_asset2.task);
t_task_desc :=
LTRIM (TRIM (TRAILING ' ' FROM v_asset2.v_description)
,'"');
t_asset_desc :=
LTRIM (TRIM (TRAILING ' ' FROM v_asset_desc), '"');
t_asset_category :=
TRIM (TRAILING ' ' FROM v_seg1 || '.' || v_seg2);
t_class_code :=
TRIM (TRAILING ' ' FROM v_asset2.class_code);
t_project_manager :=
TRIM (TRAILING ' ' FROM v_asset2.v_project_manager);
t_cap_amount_grnd_tot_itd :=
t_cap_amount_grnd_tot_itd + v_asset2.cap_amount_itd;
t_exp_amount_grnd_tot_itd :=
t_exp_amount_grnd_tot_itd + v_asset2.exp_amount_itd;
t_itd_grnd_tot :=
t_itd_grnd_tot + v_asset2.itd_total;
t_cap_amount_grnd_tot_ptd :=
t_cap_amount_grnd_tot_ptd + v_asset2.cap_amount_ptd;
t_exp_amount_grnd_tot_ptd :=
t_exp_amount_grnd_tot_ptd + v_asset2.exp_amount_ptd;
t_ptd_grnd_tot :=
t_ptd_grnd_tot + v_asset2.ptd_total;
t_cap_amount_grnd_tot_ytd :=
t_cap_amount_grnd_tot_ytd + v_asset2.cap_amount_ytd;
t_exp_amount_grnd_tot_ytd :=
t_exp_amount_grnd_tot_ytd + v_asset2.exp_amount_ytd;
t_ytd_grnd_tot :=
t_ytd_grnd_tot + v_asset2.ytd_total;
t_bgt_amount_grnd_tot :=
t_bgt_amount_grnd_tot + v_asset2.bgt_amt;
t_commitments_grnd_tot :=
t_commitments_grnd_tot + v_asset2.commitments;
t_over_und_appr_grnd_tot :=
t_over_und_appr_grnd_tot
+ v_asset2.over_under_appropriation;
t_interfaced_cip :=
t_interfaced_cip + v_asset2.interfaced_cipcost;
fnd_file.put_line (1
, 'in asset loop'
|| t_bgt_amount_grnd_tot);
END LOOP;
IF t_entry_method IN
('PROJECT LEVEL, NO RESOURCE'
,'TOP TASK, NO RESOURCE'
, 'TOP' || ' &' || ' LOWEST TASK, NO RESOURCE'
) THEN
absn_excel_format_pkg.absn_excel_format_proc
(t_car, --RFC#60
254
t_project, t_status
,
-- T_UNIT,
t_unit_desc, t_top_task, t_task
,t_task_desc, t_asset_desc
,t_asset_category, t_class_code
,0
, '$ '
|| (t_itd_grnd_tot
+ t_commitments_grnd_tot
)
, -----RFC#6
0254
-- '$ '||(0-T_ITD_GRND_TOT),
'$ ' || t_commitments_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_ptd
, '$ '
|| t_exp_amount_grnd_tot_ptd
, '$ ' || t_ptd_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_ytd
, '$ '
|| t_exp_amount_grnd_tot_ytd
, '$ ' || t_ytd_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_itd
, '$ '
|| t_exp_amount_grnd_tot_itd
, '$ ' || t_itd_grnd_tot
, '$ ' || t_interfaced_cip
,t_project_manager);
ELSIF t_entry_method = 'lowest task-no resource' THEN
absn_excel_format_pkg.absn_excel_format_proc
(t_car, --RFC#60
254
t_project, t_status
,
--- T_UNIT,
t_unit_desc, t_top_task, t_task
,t_task_desc, t_asset_desc
,t_asset_category, t_class_code
, '$ ' || t_bgt_amount_grnd_tot
, '$ '
|| (t_itd_grnd_tot
+ t_commitments_grnd_tot
)
, --- RFC#60
254
--'$ '||T_OVER_UND_APPR_GRND_TOT,
'$ ' || t_commitments_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_ptd
, '$ '
|| t_exp_amount_grnd_tot_ptd
, '$ ' || t_ptd_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_ytd
, '$ '
|| t_exp_amount_grnd_tot_ytd
, '$ ' || t_ytd_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_itd
, '$ '
|| t_exp_amount_grnd_tot_itd
, '$ ' || t_itd_grnd_tot
, '$ ' || t_interfaced_cip
,t_project_manager);
ELSIF t_entry_method = 'X' THEN
absn_excel_format_pkg.absn_excel_format_proc
(t_car, --RFC#60
254
t_project, t_status
,
--- T_UNIT,
t_unit_desc, t_top_task
,t_task, t_task_desc
,t_asset_desc
,t_asset_category
,t_class_code, 0
, '$ '
|| (t_itd_grnd_tot
+ t_commitments_grnd_tot
)
, --RFC#60
254
-- '$ '||(0-T_ITD_GRND_TOT),
'$ ' || t_commitments_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_ptd
, '$ '
|| t_exp_amount_grnd_tot_ptd
, '$ ' || t_ptd_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_ytd
, '$ '
|| t_exp_amount_grnd_tot_ytd
, '$ ' || t_ytd_grnd_tot
, '$ '
|| t_cap_amount_grnd_tot_itd
, '$ '
|| t_exp_amount_grnd_tot_itd
, '$ ' || t_itd_grnd_tot
, '$ ' || t_interfaced_cip
,t_project_manager);
END IF;
x_entry_method := t_entry_method;
x_cap_amount_grnd_tot_itd :=
x_cap_amount_grnd_tot_itd + t_cap_amount_grnd_tot_itd;
x_exp_amount_grnd_tot_itd :=
x_exp_amount_grnd_tot_itd + t_exp_amount_grnd_tot_itd;
x_itd_grnd_tot :=
x_itd_grnd_tot + t_itd_grnd_tot;
x_cap_amount_grnd_tot_ptd :=
x_cap_amount_grnd_tot_ptd + t_cap_amount_grnd_tot_ptd;
x_exp_amount_grnd_tot_ptd :=
x_exp_amount_grnd_tot_ptd + t_exp_amount_grnd_tot_ptd;
x_ptd_grnd_tot :=
x_ptd_grnd_tot + t_ptd_grnd_tot;
x_cap_amount_grnd_tot_ytd :=
x_cap_amount_grnd_tot_ytd + t_cap_amount_grnd_tot_ytd;
x_exp_amount_grnd_tot_ytd :=
x_exp_amount_grnd_tot_ytd + t_exp_amount_grnd_tot_ytd;
x_ytd_grnd_tot :=
x_ytd_grnd_tot + t_ytd_grnd_tot;
x_bgt_amount_grnd_tot := t_bgt_amount_grnd_tot;
x_commitments_grnd_tot :=
x_commitments_grnd_tot + t_commitments_grnd_tot;
x_over_und_appr_grnd_tot :=
x_bgt_amount_grnd_tot - x_itd_grnd_tot;
x_interfaced_cip :=
x_interfaced_cip + t_interfaced_cip;
---T_ENTRY_METHOD := '';
t_cap_amount_grnd_tot_itd := 0;
t_exp_amount_grnd_tot_itd := 0;
t_itd_grnd_tot := 0;
t_cap_amount_grnd_tot_ptd := 0;
t_exp_amount_grnd_tot_ptd := 0;
t_ptd_grnd_tot := 0;
t_cap_amount_grnd_tot_ytd := 0;
t_exp_amount_grnd_tot_ytd := 0;
t_ytd_grnd_tot := 0;
t_bgt_amount_grnd_tot := 0;
t_commitments_grnd_tot := 0;
t_over_und_appr_grnd_tot := 0;
t_interfaced_cip := 0;
END LOOP;
IF x_entry_method IN
('PROJECT LEVEL, NO RESOURCE', 'lowest task-no resource') T
HEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL, NULL
,'SUB TOTAL', 0
, '$ '
|| (x_itd_grnd_tot
+ x_commitments_grnd_tot
)
, --RFC#6
0254
-- '$ '||(0-X_ITD_GRND_TOT),
'$ ' || x_commitments_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_ptd
, '$ '
|| x_exp_amount_grnd_tot_ptd
, '$ ' || x_ptd_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_ytd
, '$ '
|| x_exp_amount_grnd_tot_ytd
, '$ ' || x_ytd_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_itd
, '$ '
|| x_exp_amount_grnd_tot_itd
, '$ ' || x_itd_grnd_tot
, '$ ' || x_interfaced_cip
,NULL);
ELSIF x_entry_method IN
('TOP TASK, NO RESOURCE'
, 'TOP' || ' &' || ' LOWEST TASK, NO RESOURCE'
) THEN
x_bgt_amount_grnd_tot := v_burdened_cost;
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL, NULL
,
--- null,
NULL, NULL, NULL, NULL
,'SUB TOTAL'
, '$ '
|| x_bgt_amount_grnd_tot
, '$ ' || x_itd_grnd_tot
+ x_commitments_grnd_tot
, --RFC
-- '$ '||X_OVER_UND_APPR_GRND_T
OT,
'$ '
|| x_commitments_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_ptd
, '$ '
|| x_exp_amount_grnd_tot_ptd
, '$ ' || x_ptd_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_ytd
, '$ '
|| x_exp_amount_grnd_tot_ytd
, '$ ' || x_ytd_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_itd
, '$ '
|| x_exp_amount_grnd_tot_itd
, '$ ' || x_itd_grnd_tot
, '$ ' || x_interfaced_cip
,NULL);
ELSIF x_entry_method = 'X' THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL, NULL,
--- NULL,
NULL, NULL, NULL, NULL
,'SUB TOTAL', 0
, '$ '
|| (x_itd_grnd_tot
+ x_commitments_grnd_tot
)
, --RFC#6
0254
-- '$ '||(0-X_ITD_GRND_TOT),
'$ ' || x_commitments_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_ptd
, '$ '
|| x_exp_amount_grnd_tot_ptd
, '$ ' || x_ptd_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_ytd
, '$ '
|| x_exp_amount_grnd_tot_ytd
, '$ ' || x_ytd_grnd_tot
, '$ '
|| x_cap_amount_grnd_tot_itd
, '$ '
|| x_exp_amount_grnd_tot_itd
, '$ ' || x_itd_grnd_tot
, '$ ' || x_interfaced_cip
,NULL);
END IF;
p_entry_method := x_entry_method;
p_cap_amount_grnd_tot_itd :=
p_cap_amount_grnd_tot_itd + x_cap_amount_grnd_tot_itd;
p_exp_amount_grnd_tot_itd :=
p_exp_amount_grnd_tot_itd + x_exp_amount_grnd_tot_itd;
p_itd_grnd_tot := p_itd_grnd_tot + x_itd_grnd_tot;
p_cap_amount_grnd_tot_ptd :=
p_cap_amount_grnd_tot_ptd + x_cap_amount_grnd_tot_ptd;
p_exp_amount_grnd_tot_ptd :=
p_exp_amount_grnd_tot_ptd + x_exp_amount_grnd_tot_ptd;
p_ptd_grnd_tot := p_ptd_grnd_tot + x_ptd_grnd_tot;
p_cap_amount_grnd_tot_ytd :=
p_cap_amount_grnd_tot_ytd + x_cap_amount_grnd_tot_ytd;
p_exp_amount_grnd_tot_ytd :=
p_exp_amount_grnd_tot_ytd + x_exp_amount_grnd_tot_ytd;
p_ytd_grnd_tot := p_ytd_grnd_tot + x_ytd_grnd_tot;
p_bgt_amount_grnd_tot := x_bgt_amount_grnd_tot;
p_bgt_amount_grnd_tot1 :=
p_bgt_amount_grnd_tot1 + x_bgt_amount_grnd_tot;
p_commitments_grnd_tot :=
p_commitments_grnd_tot + x_commitments_grnd_tot;
p_over_und_appr_grnd_tot :=
p_bgt_amount_grnd_tot - p_itd_grnd_tot;
p_interfaced_cip :=
p_interfaced_cip + x_interfaced_cip;
--- X_ENTRY_METHOD := '';
x_cap_amount_grnd_tot_itd := 0;
x_exp_amount_grnd_tot_itd := 0;
x_itd_grnd_tot := 0;
x_cap_amount_grnd_tot_ptd := 0;
x_exp_amount_grnd_tot_ptd := 0;
x_ptd_grnd_tot := 0;
x_cap_amount_grnd_tot_ytd := 0;
x_exp_amount_grnd_tot_ytd := 0;
x_ytd_grnd_tot := 0;
x_bgt_amount_grnd_tot := 0;
x_commitments_grnd_tot := 0;
x_over_und_appr_grnd_tot := 0;
x_interfaced_cip := 0;
END LOOP;
IF p_entry_method = 'lowest task-no resource' THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL, NULL
,'PROJECT TOTAL', 0
, '$ '
|| (p_itd_grnd_tot
+ p_commitments_grnd_tot
)
, --RFC#6
0254
-- '$ '||(0-P_ITD_GRND_TOT),
'$ ' || p_commitments_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ptd
, '$ '
|| p_exp_amount_grnd_tot_ptd
, '$ ' || p_ptd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ytd
, '$ '
|| p_exp_amount_grnd_tot_ytd
, '$ ' || p_ytd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_itd
, '$ '
|| p_exp_amount_grnd_tot_itd
, '$ ' || p_itd_grnd_tot
, '$ ' || p_interfaced_cip
,NULL);
ELSIF p_entry_method IN
('TOP TASK, NO RESOURCE'
, 'TOP' || ' &' || ' LOWEST TASK, NO RESOURCE'
) THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL, NULL
,'PROJECT TOTAL'
, '$ '
|| p_bgt_amount_grnd_tot1
, '$ '
|| (p_itd_grnd_tot
+ p_commitments_grnd_tot
)
, --RFC#6
0254
--'$ '||(0-P_ITD_GRND_TOT),
'$ ' || p_commitments_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ptd
, '$ '
|| p_exp_amount_grnd_tot_ptd
, '$ ' || p_ptd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ytd
, '$ '
|| p_exp_amount_grnd_tot_ytd
, '$ ' || p_ytd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_itd
, '$ '
|| p_exp_amount_grnd_tot_itd
, '$ ' || p_itd_grnd_tot
, '$ ' || p_interfaced_cip
,NULL);
ELSIF p_entry_method = 'PROJECT LEVEL, NO RESOURCE' THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- NULL,
NULL, NULL, NULL, NULL, NULL
,'PROJECT TOTAL'
, '$ '
|| p_bgt_amount_grnd_tot
, '$ '
|| (p_itd_grnd_tot
+ p_commitments_grnd_tot
)
, --RFC#6
0254
--'$ '||P_OVER_UND_APPR_GRND_TOT
,
'$ ' || p_commitments_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ptd
, '$ '
|| p_exp_amount_grnd_tot_ptd
, '$ ' || p_ptd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ytd
, '$ '
|| p_exp_amount_grnd_tot_ytd
, '$ ' || p_ytd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_itd
, '$ '
|| p_exp_amount_grnd_tot_itd
, '$ ' || p_itd_grnd_tot
, '$ ' || p_interfaced_cip
,NULL);
ELSIF p_entry_method = 'X' THEN
absn_excel_format_pkg.absn_excel_format_proc
(NULL, --RFC#60
254
NULL, NULL, NULL,
--- null,
NULL, NULL, NULL, NULL, NULL
,'PROJECT TOTAL', 0
, '$ '
|| (p_itd_grnd_tot
+ p_commitments_grnd_tot
)
, --RFC#6
0254
-- '$ '||(0-P_ITD_GRND_TOT),
'$ ' || p_commitments_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ptd
, '$ '
|| p_exp_amount_grnd_tot_ptd
, '$ ' || p_ptd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_ytd
, '$ '
|| p_exp_amount_grnd_tot_ytd
, '$ ' || p_ytd_grnd_tot
, '$ '
|| p_cap_amount_grnd_tot_itd
, '$ '
|| p_exp_amount_grnd_tot_itd
, '$ ' || p_itd_grnd_tot
, '$ ' || p_interfaced_cip
,NULL);
END IF;
--- P_ENTRY_METHOD := '';
p_cap_amount_grnd_tot_itd := 0;
p_exp_amount_grnd_tot_itd := 0;
p_itd_grnd_tot := 0;
p_cap_amount_grnd_tot_ptd := 0;
p_exp_amount_grnd_tot_ptd := 0;
p_ptd_grnd_tot := 0;
p_cap_amount_grnd_tot_ytd := 0;
p_exp_amount_grnd_tot_ytd := 0;
p_ytd_grnd_tot := 0;
p_bgt_amount_grnd_tot := 0;
p_bgt_amount_grnd_tot1 := 0;
p_commitments_grnd_tot := 0;
p_over_und_appr_grnd_tot := 0;
p_interfaced_cip := 0;
END LOOP;
END IF;
--------PROJECT WISE TOTALS
DELETE FROM ABSN_PA_RPT_33_TEMP WHERE REQUEST_ID=V_REQUEST_ID;
DELETE FROM ABSN_PA_RPT_33_PROJ WHERE REQUEST_ID=V_REQUEST_ID;
END fetch_data;
END absn_pa_rpt_33_pkg;
/

You might also like