1 PACKAGE BODY PER_PERRPRBD_XMLP_PKG AS
2 /* $Header: PERRPRBDB.pls 120.1 2007/12/06 11:32:03 amakrish noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 BEGIN
5 DECLARE
6 V_PERIOD_NAME VARCHAR2(60);
7 V_PERIOD_START_DATE DATE;
8 V_PERIOD_END_DATE DATE;
9 V_UNIT VARCHAR2(30);
10 BEGIN
11 --HR_STANDARD.EVENT('BEFORE REPORT');
12 BEGIN
13 SELECT
14 BUD.UNIT
15 INTO V_UNIT
16 FROM
17 PER_BUDGETS BUD
18 WHERE BUD.BUDGET_ID = P_BUDGET_ID;
19 EXCEPTION
20 WHEN NO_DATA_FOUND THEN
21 NULL;
22 END;
23 C_UNIT := V_UNIT;
24 C_BUSINESS_GROUP_NAME := GET_BUSINESS_GROUP(P_BUSINESS_GROUP_ID);
25 C_BUDGET_NAME := GET_BUDGET(P_BUDGET_ID);
26 C_BUDGET_VERSION := GET_BUDGET_VERSION(P_BUDGET_ID
27 ,P_BUDGET_VERSION_ID);
28 GET_TIME_PERIOD(P_START_TIME_PERIOD_ID
29 ,V_PERIOD_NAME
30 ,V_PERIOD_START_DATE
31 ,V_PERIOD_END_DATE);
32 C_START_PERIOD_NAME := V_PERIOD_NAME;
33 GET_TIME_PERIOD(P_END_TIME_PERIOD_ID
34 ,V_PERIOD_NAME
35 ,V_PERIOD_START_DATE
36 ,V_PERIOD_END_DATE);
37 C_END_PERIOD_NAME := V_PERIOD_NAME;
38 C_REPORT_SUBTITLE := 'From ' || C_START_PERIOD_NAME || ' to ' || C_END_PERIOD_NAME;
39 END;
40 RETURN (TRUE);
41 END BEFOREREPORT;
42
43 FUNCTION C_START_VALUEFORMULA(ORGANIZATION_ID IN NUMBER
44 ,JOB_ID IN NUMBER
45 ,POSITION_ID IN NUMBER
46 ,GRADE_ID IN NUMBER
47 ,START_DATE IN DATE
48 ,END_DATE IN DATE
49 ,BUDGET_VALUE IN NUMBER) RETURN NUMBER IS
50 BEGIN
51 DECLARE
52 V_START_VALUE NUMBER;
53 V_END_VALUE NUMBER;
54 V_AMOUNT NUMBER;
55 V_PERCENTAGE VARCHAR2(10);
56 BEGIN
57 GET_ACTUALS(C_UNIT
58 ,P_BUSINESS_GROUP_ID
59 ,ORGANIZATION_ID
60 ,JOB_ID
61 ,POSITION_ID
62 ,GRADE_ID
63 ,START_DATE
64 ,END_DATE
65 ,BUDGET_VALUE
66 ,V_START_VALUE
67 ,V_END_VALUE
68 ,V_AMOUNT
69 ,V_PERCENTAGE);
70 C_END_VALUE := V_END_VALUE;
71 C_AMOUNT := V_AMOUNT;
72 C_PERCENTAGE := V_PERCENTAGE;
73 RETURN V_START_VALUE;
74 END;
75 RETURN NULL;
76 END C_START_VALUEFORMULA;
77
78 FUNCTION AFTERREPORT RETURN BOOLEAN IS
79 BEGIN
80 --HR_STANDARD.EVENT('AFTER REPORT');
81 RETURN (TRUE);
82 END AFTERREPORT;
83
84 FUNCTION C_END_VALUE_P RETURN NUMBER IS
85 BEGIN
86 RETURN C_END_VALUE;
87 END C_END_VALUE_P;
88
89 FUNCTION C_AMOUNT_P RETURN NUMBER IS
90 BEGIN
91 RETURN C_AMOUNT;
92 END C_AMOUNT_P;
93
94 FUNCTION C_PERCENTAGE_P RETURN VARCHAR2 IS
95 BEGIN
96 RETURN C_PERCENTAGE;
97 END C_PERCENTAGE_P;
98
99 FUNCTION C_BUSINESS_GROUP_NAME_P RETURN VARCHAR2 IS
100 BEGIN
101 RETURN C_BUSINESS_GROUP_NAME;
102 END C_BUSINESS_GROUP_NAME_P;
103
104 FUNCTION C_REPORT_SUBTITLE_P RETURN VARCHAR2 IS
105 BEGIN
106 RETURN C_REPORT_SUBTITLE;
107 END C_REPORT_SUBTITLE_P;
108
109 FUNCTION C_BUDGET_NAME_P RETURN VARCHAR2 IS
110 BEGIN
111 RETURN C_BUDGET_NAME;
112 END C_BUDGET_NAME_P;
113
114 FUNCTION C_BUDGET_VERSION_P RETURN VARCHAR2 IS
115 BEGIN
116 RETURN C_BUDGET_VERSION;
117 END C_BUDGET_VERSION_P;
118
119 FUNCTION C_START_PERIOD_NAME_P RETURN VARCHAR2 IS
120 BEGIN
121 RETURN C_START_PERIOD_NAME;
122 END C_START_PERIOD_NAME_P;
123
124 FUNCTION C_END_PERIOD_NAME_P RETURN VARCHAR2 IS
125 BEGIN
126 RETURN C_END_PERIOD_NAME;
127 END C_END_PERIOD_NAME_P;
128
129 FUNCTION C_UNIT_P RETURN VARCHAR2 IS
130 BEGIN
131 RETURN C_UNIT;
132 END C_UNIT_P;
133
134 FUNCTION GET_BUDGET(P_BUDGET_ID IN NUMBER) RETURN VARCHAR2 IS
135 X0 VARCHAR2(2000);
136 BEGIN
137 begin
138 X0 := HR_REPORTS.GET_BUDGET(P_BUDGET_ID);
139 end;
140 RETURN X0;
141 END GET_BUDGET;
142
143 FUNCTION GET_BUDGET_VERSION(P_BUDGET_ID IN NUMBER
144 ,P_BUDGET_VERSION_ID IN NUMBER) RETURN VARCHAR2 IS
145 X0 VARCHAR2(2000);
146 BEGIN
147 begin
148 X0 := HR_REPORTS.GET_BUDGET_VERSION(P_BUDGET_ID,P_BUDGET_VERSION_ID);
149 end;
150 RETURN X0;
151 END GET_BUDGET_VERSION;
152
153 FUNCTION GET_BUSINESS_GROUP(P_BUSINESS_GROUP_ID IN NUMBER) RETURN VARCHAR2 IS
154 X0 VARCHAR2(2000);
155 BEGIN
156 begin
157 X0 := HR_REPORTS.GET_BUSINESS_GROUP(P_BUSINESS_GROUP_ID);
158 end;
159 RETURN X0;
160 END GET_BUSINESS_GROUP;
161
162 PROCEDURE GET_TIME_PERIOD(P_TIME_PERIOD_ID IN NUMBER
163 ,P_PERIOD_NAME OUT NOCOPY VARCHAR2
164 ,P_START_DATE OUT NOCOPY DATE
165 ,P_END_DATE OUT NOCOPY DATE) IS
166 BEGIN
167 begin
168 HR_REPORTS.GET_TIME_PERIOD(P_TIME_PERIOD_ID, P_PERIOD_NAME,
169 P_START_DATE, P_END_DATE);
170 end;
171 END GET_TIME_PERIOD;
172
173 PROCEDURE GET_ACTUALS(P_UNIT IN VARCHAR2
174 ,P_BUS_GROUP_ID IN NUMBER
175 ,P_ORGANISATION_ID IN NUMBER
176 ,P_JOB_ID IN NUMBER
177 ,P_POSITION_ID IN NUMBER
178 ,P_GRADE_ID IN NUMBER
179 ,P_START_DATE IN DATE
180 ,P_END_DATE IN DATE
181 ,P_ACTUAL_VAL IN NUMBER
182 ,P_ACTUAL_START_VAL OUT NOCOPY NUMBER
183 ,P_ACTUAL_END_VAL OUT NOCOPY NUMBER
184 ,P_VARIANCE_AMOUNT OUT NOCOPY NUMBER
185 ,P_VARIANCE_PERCENT OUT NOCOPY VARCHAR2) IS
186 BEGIN
187
188 begin
189 HRGETACT.GET_ACTUALS(P_UNIT, P_BUS_GROUP_ID,
190 P_ORGANISATION_ID, P_JOB_ID, P_POSITION_ID, P_GRADE_ID, P_START_DATE,
191 P_END_DATE, P_ACTUAL_VAL, P_ACTUAL_START_VAL, P_ACTUAL_END_VAL, P_VARIANCE_AMOUNT,
192 P_VARIANCE_PERCENT);
193 end;
194 END GET_ACTUALS;
195
196 END PER_PERRPRBD_XMLP_PKG;