| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Problem with PRAGMA RESTRICT_REFERENCES!!!
I have defined a funtion( as seen below) in my package spec.
PACAKGE xyz IS...
.........
FUNCTION correctedHours( pHr IN NUMBER, pDate IN DATE, pHrMon IN
VARCHAR2 )
RETURN NUMBER;
PRAGMA RESTRICT_REFERENCES (correctedHours, WNDS, WNPS, RNDS, RNPS);
...................
In my package body, I implemented this function. I tried to use this function in a cursor declaration in a procedure of the package body. But I get an error as shown below when I tried to compile it:
PLS-00452: Subprogram 'CORRECTEDHOURS' violates its associateed pragma PL/SQL: Compilation unit analysis terminated
Where am I doing it wrong? Any help would be appreciated.
My package BODY looks like this
PACKAGE BODY xyz IS
....
FUNCTION correctedHours( pHr IN NUMBER, pDate IN DATE, pHrMon IN
VARCHAR2 )
RETURN NUMBER IS
BEGIN
IF ( pDate < TO_DATE('01-JUL-1998', 'DD-MON-YYYY') ) THEN
IF ( pHrMon = '1' ) THEN
return pHr * 174;
END IF;
PROCEDURE makeReport( empNo VARCHAR2, startDate VARCHAR2, endDate VARCHAR2 ) IS benefitNumber VARCHAR2(1);
EmpNumber VARCHAR2(4);
totalAmt NUMBER(10,2);
totalHr NUMBER(8,2);
CURSOR aProjectSum IS SELECT t.type_project ||'-'||t.base_project ||'-'||t.sub_project proj, sum(trans_amount) amt,
/**********
here is where I am using my function
*****************/
sum(
max( project_title) title,
max(unit) unit
FROM transactions t, projects_far p
WHERE t.cost_type_id IN ('SW', 'PS')
AND t.benefit_category =
benefitNumber
AND t.employee_number = EmpNumber
AND t.pay_ending_date >=
TO_DATE(startDate, 'DD-MON-RRRR')
AND t.pay_ending_date <=
TO_DATE(endDate, 'DD-MON-RRRR')
AND t.type_project = p.type_project
AND t.base_project = p.base_project
AND t.sub_project = p.sub_project
group by t.type_project, t.base_project,
t.sub_project
order by proj;
BEGIN
Any help would be appreciated,
Raj
Received on Wed Nov 04 1998 - 14:25:35 CST
![]() |
![]() |