Академический Документы
Профессиональный Документы
Культура Документы
cursor CUR_PERIOD
is
select PERIOD_NAME
from GL_PERIODS
where PERIOD_YEAR = (select PERIOD_YEAR
from GL_PERIODS
where PERIOD_NAME = P_V_PERIOD_NAME_FROM)
and PERIOD_NUM <= (select PERIOD_NUM
from GL_PERIODS
where PERIOD_NAME = P_V_PERIOD_NAME_TO)
order by PERIOD_NUM;
cursor CUR_PERIOD1
is
select PERIOD_NAME
from GL_PERIODS
where PERIOD_YEAR = (select PERIOD_YEAR
from GL_PERIODS
where PERIOD_NAME = P_V_PERIOD_NAME_FROM)
and PERIOD_NAME not like 'ADJ%'
order by PERIOD_NUM;
cursor MAIN_CATEGORY
is
select PEC.ATTRIBUTE1 MAIN_CATEGORY
from PA_EXPENDITURE_CATEGORIES PEC,
PA_EXPENDITURE_TYPES PET,
PA_EXPENDITURE_ITEMS_ALL PEIA,
PA_PROJECTS_ALL PPA
where PEC.EXPENDITURE_CATEGORY = PET.EXPENDITURE_CATEGORY
and PET.EXPENDITURE_TYPE = PEIA.EXPENDITURE_TYPE
and PEC.ATTRIBUTE1 is not null
and PEIA.PROJECT_ID = PPA.PROJECT_ID
and PPA.SEGMENT1 = NVL (P_V_PROJECT_NUMBER, PPA.SEGMENT1)
and PEC.ATTRIBUTE1 = NVL (P_V_MAIN_CATEGORY, PEC.ATTRIBUTE1)
and PET.EXPENDITURE_CATEGORY =
NVL (P_V_EXPND_CATEGORY, PET.EXPENDITURE_CATEGORY)
and PEIA.EXPENDITURE_TYPE =
NVL (P_V_EXPND_TYPE, PEIA.EXPENDITURE_TYPE)
group by PEC.ATTRIBUTE1
order by MAIN_CATEGORY;
begin
select name, PROJECT_ID, ATTRIBUTE2,
TO_CHAR (START_DATE, 'DD-MON-YYYY'),
TO_CHAR (COMPLETION_DATE, 'DD-MON-YYYY')
into V_PROJECT_NAME, V_PROJECT_ID, V_MAIN_SUBCONTRACTOR,
V_START_DATE,
V_COMPLETION_DATE
from PA_PROJECTS_ALL
where SEGMENT1 = P_V_PROJECT_NUMBER;
exception
when others
then
null;
end;
begin
begin
select PBVB.REVENUE
into V_VARIATION_ORDER_C
from PA_BUDGET_VERSIONS_BASELINED_V PBVB
where PBVB.PROJECT_ID = V_PROJECT_ID
and BUDGET_TYPE_CODE = 'AR'
and CURRENT_FLAG = 'Y'
and rownum = 1;
exception
when others
then
null;
end;
begin
select PBVB.REVENUE
into V_VARIATION_ORDER_P
from PA_BUDGET_VERSIONS_BASELINED_V PBVB
where PBVB.PROJECT_ID = V_PROJECT_ID
and BUDGET_TYPE_CODE = 'AR'
and CURRENT_FLAG = 'N'
and rownum = 1;
exception
when others
then
null;
end;
V_VARIATION_ORDER_C :=
V_VARIATION_ORDER_C - NVL (V_VARIATION_ORDER_P, 0);
end;
begin
select distinct CUSTOMER_NAME, AGREEMENT_NUM, AMOUNT
into V_CUSTOMER_NAME, P_V_AGREEMENT_NUM, V_AGREEMENT_VALUE
from PA_PROJECT_FUNDINGS_V PPFV, PA_AGREEMENTS_V PA
where PPFV.AGREEMENT_ID = PA.AGREEMENT_ID
and PROJECT_NUMBER = P_V_PROJECT_NUMBER
and AGREEMENT_NUM = P_V_AGREEMENT_NUM;
exception
when others
then
null;
end;
begin
begin
select NVL (sum (NVL (INVOICE_AMOUNT, 0)), 0)
into V_CONTRACT_BALANCE
from PA_DRAFT_INVOICES_V
where PROJECT_NUMBER = P_V_PROJECT_NUMBER
and AGREEMENT_NUM = P_V_AGREEMENT_NUM
and INVOICE_STATUS_M = 'Transferred to Receivable';
exception
when others
then
null;
end;
V_CONTRACT_BALANCE :=
NVL (V_AGREEMENT_VALUE, 0)
- NVL (V_CONTRACT_BALANCE, 0);
end;
begin
select PAPF.FULL_NAME
into V_PROJECT_MANAGER
from PA_PROJECT_PLAYERS PPP, PER_ALL_PEOPLE_F PAPF
where PPP.PROJECT_ID = V_PROJECT_ID
and PROJECT_ROLE_TYPE = 'PROJECT MANAGER'
and PPP.END_DATE_ACTIVE is null
and PAPF.PERSON_ID = PPP.PERSON_ID;
exception
when others
then
null;
end;
begin
select PERIOD_YEAR - 1
into V_LAST_YEAR
from GL_PERIODS
where PERIOD_NAME = P_PERIOD_NAME_FROM;
exception
when others
then
null;
end;
begin
select PERIOD_YEAR
into V_CURRENT_YEAR
from GL_PERIODS
where PERIOD_NAME = P_PERIOD_NAME_FROM;
exception
when others
then
null;
end;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<?xml version="1.0" encoding="windows-1252"?>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<EXPENSE_REPORT>');
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_PERIOD_NAME_FROM>' || P_V_PERIOD_NAME_FROM
|| '</P_PERIOD_NAME_FROM>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_PERIOD_NAME_TO>' || P_V_PERIOD_NAME_TO
|| '</P_PERIOD_NAME_TO>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_PROJECT_NUMBER>'
|| P_V_PROJECT_NUMBER
|| '</P_PROJECT_NUMBER>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_PROJECT_NAME>'
|| replace (V_PROJECT_NAME, '&', 'and')
|| '</P_PROJECT_NAME>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_MAIN_SUBCONTRACTOR>'
|| replace (V_MAIN_SUBCONTRACTOR, '&', 'and')
|| '</P_MAIN_SUBCONTRACTOR>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_VARIATION_ORDER>'
|| V_VARIATION_ORDER_C
|| '</P_VARIATION_ORDER>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_CONTRACT_BALANCE>'
|| V_CONTRACT_BALANCE
|| '</P_CONTRACT_BALANCE>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_START_DATE>' || V_START_DATE || '</P_START_DATE>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_COMPLETION_DATE>'
|| V_COMPLETION_DATE
|| '</P_COMPLETION_DATE>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_PROJECT_MANAGER>'
|| V_PROJECT_MANAGER
|| '</P_PROJECT_MANAGER>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_CUSTOMER_NAME>'
|| replace (V_CUSTOMER_NAME, '&', 'and')
|| '</P_CUSTOMER_NAME>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_AGREEMENT_NUM>'
|| P_V_AGREEMENT_NUM
|| '</P_AGREEMENT_NUM>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_AGREEMENT_VALUE>'
|| V_AGREEMENT_VALUE
|| '</P_AGREEMENT_VALUE>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_MAIN_CATEOGRY>'
|| replace (P_V_MAIN_CATEGORY, '&', 'and')
|| '</P_MAIN_CATEOGRY>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_EXPND_CATEGORY>'
|| replace (P_V_EXPND_CATEGORY, '&', 'and')
|| '</P_EXPND_CATEGORY>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<P_EXPND_TYPE>'
|| replace (P_V_EXPND_TYPE, '&', 'and')
|| '</P_EXPND_TYPE>'
);
----H----------
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<HEADERS>');
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<H_LAST>'
|| ' Opening Balance '
|| ' '
|| '</H_LAST>'
);
if L_COUNTER < 14
then
loop
L_COUNTER := L_COUNTER + 1;
exit when L_COUNTER = 14;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<H_' || L_COUNTER || '/>');
end loop;
end if;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<H_14>'
|| ' Total '
|| ' '
|| '</H_14>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<H_TOTAL>' || ' Total ' || '</H_TOTAL>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '</HEADERS>');
-----H----
for F_MAIN_CATEGORY in MAIN_CATEGORY
loop
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<MAIN_CATEGORY>');
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<MAIN_DATA>'
|| replace (F_MAIN_CATEGORY.MAIN_CATEGORY, '&',
'and')
|| '</MAIN_DATA>'
);
for F_EXPENDITURE_CATEGORY in
EXPENDITURE_CATEGORY (F_MAIN_CATEGORY.MAIN_CATEGORY)
loop
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<EXPENDITURE_CATEGORY>');
FND_FILE.PUT_LINE
(FND_FILE.OUTPUT,
'<EXPENDITURE_DATA>'
|| replace (F_EXPENDITURE_CATEGORY.EXPENDITURE_CATEGORY,
'&',
'and'
)
|| '</EXPENDITURE_DATA>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_LAST>'
|| V_LAST_YEAR_VALUE
|| '</L_LAST>'
);
end if;
-------------------------------
begin
select PET.EXPENDITURE_TYPE,
NVL
(sum
(case
when PEIA.SYSTEM_LINKAGE_FUNCTION =
'USG'
then NVL (PEIA.RAW_COST, 0)
else NVL (PEIA.QUANTITY, 0)
end
),
0
)
into V_EXPENDITURE_TYPE,
V_4000100_VALUE
from PA_EXPENDITURE_CATEGORIES PEC,
PA_EXPENDITURE_TYPES PET,
PA_EXPENDITURE_ITEMS_ALL PEIA
where PEC.EXPENDITURE_CATEGORY = PET.EXPENDITURE_CATEGORY
and PET.EXPENDITURE_TYPE = PEIA.EXPENDITURE_TYPE
and PEC.ATTRIBUTE1 is not null
and PEIA.PROJECT_ID = V_PROJECT_ID
and PEC.ATTRIBUTE1 = F_LINES.MAIN_CATEGORY
and PET.EXPENDITURE_CATEGORY =
F_LINES.EXPENDITURE_CATEGORY
and PEIA.EXPENDITURE_TYPE = F_LINES.EXPENDITURE_TYPE
and PEC.ATTRIBUTE1 =
NVL (P_V_MAIN_CATEGORY, PEC.ATTRIBUTE1)
and PET.EXPENDITURE_CATEGORY =
NVL (P_V_EXPND_CATEGORY,
PET.EXPENDITURE_CATEGORY
)
and PEIA.EXPENDITURE_TYPE =
NVL (P_V_EXPND_TYPE, PEIA.EXPENDITURE_TYPE)
and PEIA.EXPENDITURE_ITEM_DATE
between (select START_DATE
from GL_PERIODS
where PERIOD_NAME =
HRD_REC_PERIOD.PERIOD_NAME)
and (select END_DATE
from GL_PERIODS
where PERIOD_NAME =
HRD_REC_PERIOD.PERIOD_NAME)
group by PEC.ATTRIBUTE1,
PEC.EXPENDITURE_CATEGORY,
PET.EXPENDITURE_TYPE
order by PET.EXPENDITURE_TYPE;
exception
when others
then
V_4000100_VALUE := 0;
end;
if L_COUNTER < 14
then
loop
L_COUNTER := L_COUNTER + 1;
exit when L_COUNTER = 14;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_' || L_COUNTER || '/>'
);
end loop;
end if;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_14>' || V_AMOUNT || '</L_14>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_TOTAL>'
|| (V_AMOUNT + V_LAST_YEAR_VALUE)
|| '</L_TOTAL>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '</LINES>');
V_AMOUNT := 0;
V_LAST_YEAR_VALUE := 0;
end loop;
--------------------------------------------------
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TOTAL_SUB_CATEGORY>');
FND_FILE.PUT_LINE
(FND_FILE.OUTPUT,
'<L_1>'
|| 'Total of '
|| replace
(F_EXPENDITURE_CATEGORY.EXPENDITURE_CATEGORY,
'&',
'and'
)
|| '</L_1>'
);
L_COUNTER := 1;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_LAST>' || V_LAST_YEAR_VALUE
|| '</L_LAST>'
);
end if;
-------------------------------
begin
select NVL
(sum
(case
when PEIA.SYSTEM_LINKAGE_FUNCTION = 'USG'
then NVL (PEIA.RAW_COST, 0)
else NVL (PEIA.QUANTITY, 0)
end
),
0
)
into V_4000100_VALUE
from PA_EXPENDITURE_CATEGORIES PEC,
PA_EXPENDITURE_TYPES PET,
PA_EXPENDITURE_ITEMS_ALL PEIA
where PEC.EXPENDITURE_CATEGORY = PET.EXPENDITURE_CATEGORY
and PET.EXPENDITURE_TYPE = PEIA.EXPENDITURE_TYPE
and PEC.ATTRIBUTE1 is not null
and PEIA.PROJECT_ID = V_PROJECT_ID
and PEC.ATTRIBUTE1 = F_MAIN_CATEGORY.MAIN_CATEGORY
and PET.EXPENDITURE_CATEGORY =
F_EXPENDITURE_CATEGORY.EXPENDITURE_CATEGORY
and PEC.ATTRIBUTE1 = NVL (P_V_MAIN_CATEGORY, PEC.ATTRIBUTE1)
and PET.EXPENDITURE_CATEGORY =
NVL (P_V_EXPND_CATEGORY, PET.EXPENDITURE_CATEGORY)
and PEIA.EXPENDITURE_TYPE =
NVL (P_V_EXPND_TYPE, PEIA.EXPENDITURE_TYPE)
and PEIA.EXPENDITURE_ITEM_DATE
between (select START_DATE
from GL_PERIODS
where PERIOD_NAME =
HRD_REC_PERIOD.PERIOD_NAME)
and (select END_DATE
from GL_PERIODS
where PERIOD_NAME =
HRD_REC_PERIOD.PERIOD_NAME);
exception
when others
then
V_4000100_VALUE := 0;
end;
if L_COUNTER < 14
then
loop
L_COUNTER := L_COUNTER + 1;
exit when L_COUNTER = 14;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_' || L_COUNTER || '/>');
end loop;
end if;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_14>' || V_AMOUNT || '</L_14>');
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_TOTAL>'
|| (V_AMOUNT + V_LAST_YEAR_VALUE)
|| '</L_TOTAL>'
);
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '</TOTAL_SUB_CATEGORY>');
V_AMOUNT := 0;
V_LAST_YEAR_VALUE := 0;
--------------------------------------------------
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '</EXPENDITURE_CATEGORY>');
end loop;
---------------------------------------
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TOTAL_MAIN>');
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_1>'
|| 'Total of '
|| replace (F_MAIN_CATEGORY.MAIN_CATEGORY, '&',
'and')
|| '</L_1>'
);
L_COUNTER := 1;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_LAST>' || V_LAST_YEAR_VALUE || '</L_LAST>'
);
end if;
-------------------------------
begin
select NVL
(sum
(case
when PEIA.SYSTEM_LINKAGE_FUNCTION = 'USG'
then NVL (PEIA.RAW_COST, 0)
else NVL (PEIA.QUANTITY, 0)
end
),
0
)
into V_4000100_VALUE
from PA_EXPENDITURE_CATEGORIES PEC,
PA_EXPENDITURE_TYPES PET,
PA_EXPENDITURE_ITEMS_ALL PEIA
where PEC.EXPENDITURE_CATEGORY = PET.EXPENDITURE_CATEGORY
and PET.EXPENDITURE_TYPE = PEIA.EXPENDITURE_TYPE
and PEC.ATTRIBUTE1 is not null
and PEIA.PROJECT_ID = V_PROJECT_ID
and PEC.ATTRIBUTE1 = F_MAIN_CATEGORY.MAIN_CATEGORY
and PEC.ATTRIBUTE1 = NVL (P_V_MAIN_CATEGORY, PEC.ATTRIBUTE1)
and PET.EXPENDITURE_CATEGORY =
NVL (P_V_EXPND_CATEGORY, PET.EXPENDITURE_CATEGORY)
and PEIA.EXPENDITURE_TYPE =
NVL (P_V_EXPND_TYPE, PEIA.EXPENDITURE_TYPE)
and PEIA.EXPENDITURE_ITEM_DATE
between (select START_DATE
from GL_PERIODS
where PERIOD_NAME = HRD_REC_PERIOD.PERIOD_NAME)
and (select END_DATE
from GL_PERIODS
where PERIOD_NAME = HRD_REC_PERIOD.PERIOD_NAME);
exception
when others
then
V_4000100_VALUE := 0;
end;
if L_COUNTER < 14
then
loop
L_COUNTER := L_COUNTER + 1;
exit when L_COUNTER = 14;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<L_' || L_COUNTER || '/>');
end loop;
end if;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_LAST>' || V_LAST_YEAR_VALUE || '</L_LAST>'
);
end if;
-------------------------------
begin
select NVL
(sum
(case
when PEIA.SYSTEM_LINKAGE_FUNCTION = 'USG'
then NVL (PEIA.RAW_COST, 0)
else NVL (PEIA.QUANTITY, 0)
end
),
0
)
into V_4000100_VALUE
from PA_EXPENDITURE_CATEGORIES PEC,
PA_EXPENDITURE_TYPES PET,
PA_EXPENDITURE_ITEMS_ALL PEIA
where PEC.EXPENDITURE_CATEGORY = PET.EXPENDITURE_CATEGORY
and PET.EXPENDITURE_TYPE = PEIA.EXPENDITURE_TYPE
and PEC.ATTRIBUTE1 is not null
and PEIA.PROJECT_ID = V_PROJECT_ID
and PEC.ATTRIBUTE1 = NVL (P_V_MAIN_CATEGORY, PEC.ATTRIBUTE1)
and PET.EXPENDITURE_CATEGORY =
NVL (P_V_EXPND_CATEGORY, PET.EXPENDITURE_CATEGORY)
and PEIA.EXPENDITURE_TYPE =
NVL (P_V_EXPND_TYPE, PEIA.EXPENDITURE_TYPE)
and PEIA.EXPENDITURE_ITEM_DATE
between (select START_DATE
from GL_PERIODS
where PERIOD_NAME = HRD_REC_PERIOD.PERIOD_NAME)
and (select END_DATE
from GL_PERIODS
where PERIOD_NAME = HRD_REC_PERIOD.PERIOD_NAME);
exception
when others
then
V_4000100_VALUE := 0;
end;
if L_COUNTER < 14
then
loop
L_COUNTER := L_COUNTER + 1;
exit when L_COUNTER = 14;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<L_' || L_COUNTER || '/>');
end loop;
end if;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_LAST>' || V_LAST_YEAR_VALUE || '</L_LAST>'
);
end if;
-------------------------------
begin
select NVL (sum (NVL (INVOICE_AMOUNT, 0)), 0)
into V_4000100_VALUE
from PA_DRAFT_INVOICES_V
where PROJECT_NUMBER = P_V_PROJECT_NUMBER
and AGREEMENT_NUM = P_V_AGREEMENT_NUM
and INVOICE_STATUS_M = 'Transferred to Receivable'
and INVOICE_DATE between (select START_DATE
from GL_PERIODS
where PERIOD_NAME =
HRD_REC_PERIOD.PERIOD_NAME)
and (select END_DATE
from GL_PERIODS
where PERIOD_NAME =
HRD_REC_PERIOD.PERIOD_NAME);
exception
when others
then
V_4000100_VALUE := 0;
end;
exception
when others
then
V_LAST_YEAR_VALUE := 0;
end;
begin
select NVL
(sum
(case
when PEIA.SYSTEM_LINKAGE_FUNCTION = 'USG'
then NVL (PEIA.RAW_COST, 0)
else NVL (PEIA.QUANTITY, 0)
end
),
0
)
into V_PROFIT_LOSS2
from PA_EXPENDITURE_CATEGORIES PEC,
PA_EXPENDITURE_TYPES PET,
PA_EXPENDITURE_ITEMS_ALL PEIA
where PEC.EXPENDITURE_CATEGORY = PET.EXPENDITURE_CATEGORY
and PET.EXPENDITURE_TYPE = PEIA.EXPENDITURE_TYPE
and PEC.ATTRIBUTE1 is not null
and PEIA.PROJECT_ID = V_PROJECT_ID
and PEC.ATTRIBUTE1 = NVL (P_V_MAIN_CATEGORY, PEC.ATTRIBUTE1)
and PET.EXPENDITURE_CATEGORY =
NVL (P_V_EXPND_CATEGORY, PET.EXPENDITURE_CATEGORY)
and PEIA.EXPENDITURE_TYPE =
NVL (P_V_EXPND_TYPE, PEIA.EXPENDITURE_TYPE)
and PEIA.EXPENDITURE_ITEM_DATE
<(select start_date from gl_periods where
period_name=P_PERIOD_NAME_FROM);
exception
when others
then
V_PROFIT_LOSS := 0;
end;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT,
'<L_LAST>'
|| (V_PROFIT_LOSS2 - V_LAST_YEAR_VALUE)
|| '</L_LAST>'
);
end if;
-------------------------------
begin
select NVL (sum (NVL (INVOICE_AMOUNT, 0)), 0)
into V_4000100_VALUE
from PA_DRAFT_INVOICES_V
where PROJECT_NUMBER = P_V_PROJECT_NUMBER
and AGREEMENT_NUM = P_V_AGREEMENT_NUM
and INVOICE_STATUS_M = 'Transferred to Receivable'
and INVOICE_DATE between (select START_DATE
from GL_PERIODS
where PERIOD_NAME =
HRD_REC_PERIOD.PERIOD_NAME)
and (select END_DATE
from GL_PERIODS
where PERIOD_NAME =
HRD_REC_PERIOD.PERIOD_NAME);
exception
when others
then
V_4000100_VALUE := 0;
end;
begin
select NVL
(sum
(case
when PEIA.SYSTEM_LINKAGE_FUNCTION = 'USG'
then NVL (PEIA.RAW_COST, 0)
else NVL (PEIA.QUANTITY, 0)
end
),
0
)
into V_PROFIT_LOSS
from PA_EXPENDITURE_CATEGORIES PEC,
PA_EXPENDITURE_TYPES PET,
PA_EXPENDITURE_ITEMS_ALL PEIA
where PEC.EXPENDITURE_CATEGORY = PET.EXPENDITURE_CATEGORY
and PET.EXPENDITURE_TYPE = PEIA.EXPENDITURE_TYPE
and PEC.ATTRIBUTE1 is not null
and PEIA.PROJECT_ID = V_PROJECT_ID
and PEC.ATTRIBUTE1 = NVL (P_V_MAIN_CATEGORY, PEC.ATTRIBUTE1)
and PET.EXPENDITURE_CATEGORY =
NVL (P_V_EXPND_CATEGORY, PET.EXPENDITURE_CATEGORY)
and PEIA.EXPENDITURE_TYPE =
NVL (P_V_EXPND_TYPE, PEIA.EXPENDITURE_TYPE)
and PEIA.EXPENDITURE_ITEM_DATE
between (select START_DATE
from GL_PERIODS
where PERIOD_NAME = HRD_REC_PERIOD.PERIOD_NAME)
and (select END_DATE
from GL_PERIODS
where PERIOD_NAME = HRD_REC_PERIOD.PERIOD_NAME);
exception
when others
then
V_PROFIT_LOSS := 0;
end;
V_AMOUNT :=
(NVL (V_PROFIT_LOSS, 0) - NVL (V_4000100_VALUE, 0))
+ V_AMOUNT;
if L_COUNTER < 14
then
loop
L_COUNTER := L_COUNTER + 1;
exit when L_COUNTER = 14;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<L_' || L_COUNTER || '/>');
end loop;
end if;