[Home] [Help]
PACKAGE BODY: APPS.GHR_462
Source
1 PACKAGE BODY ghr_462 AS
2 /* $Header: gh462sum.pkb 115.14 2003/09/08 22:03:10 sumarimu noship $ */
3 --
4 PROCEDURE populate_sum(
5 p_request_id IN NUMBER
6 ,p_agency_code IN VARCHAR2
7 ,p_fiscal_year IN NUMBER
8 ,p_from_date IN VARCHAR2
9 ,p_to_date IN VARCHAR2
10 ,p_output_fname OUT NOCOPY VARCHAR2)
11 IS
12 l_file_name varchar2(50);
13 l_audit_log_dir varchar2(500);
14 l_from_date date;
15 l_to_date date;
16 l_fiscal_year varchar2(4);
17 BEGIN
18
19
20 -- To clear the PL/SQL Table values.
21 vXMLTable.DELETE;
22 vCtr := 1;
26 l_fiscal_year := to_number(to_char(l_to_date,'YYYY'));
23 -- Changing the date parameters from canonical format to date format.
24 l_from_date:= fnd_date.canonical_to_date(p_from_date);
25 l_to_date := fnd_date.canonical_to_date(p_to_date);
27 -- Populate the Part 1 of 462 Report
28 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part1');
29 populate_part1(
30 l_from_date,
31 l_to_date,
32 p_agency_code);
33 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part2');
34 -- Populate the Part 2 of 462 Report
35 populate_part2(
36 l_from_date,
37 l_to_date,
38 p_agency_code);
39 PopulatePart4Matrix;
40 -- Populate the Part 4 of 462 Report
41 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part4');
42 populate_part4(
43 l_from_date,
44 l_to_date,
45 p_agency_code);
46 -- Populate the Part 5 of 462 Report
47 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part5');
48 populate_part5(
49 l_from_date,
50 l_to_date,
51 p_agency_code);
52 -- Populate the Part 6 of 462 Report
53 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part6');
54 populate_part6(
55 l_from_date,
56 l_to_date,
57 p_agency_code);
58 -- Populate the Part 7 of 462 Report
59 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part7');
60 populate_part7(
61 l_from_date,
62 l_to_date,
63 p_agency_code);
64 -- Populate the Part 8 of 462 Report
65 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part8');
66 populate_part8(
67 l_from_date,
68 l_to_date,
69 p_agency_code);
70 -- Populate the Part 10 of 462 Report
71 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part10');
72 populate_part10(
73 l_from_date,
74 l_to_date,
75 p_agency_code);
76 -- Populate the Part 11 of 462 Report
77 fnd_file.put_line(fnd_file.log,'Calling Procedure to Populate Part11');
78 populate_part11(
79 l_from_date,
80 l_to_date,
81 p_agency_code);
82 -- Write the values to XML File
83 fnd_file.put_line(fnd_file.log,'Calling Procedure to write into XML File');
84 WritetoXML(
85 p_request_id,
86 p_agency_code,
87 l_fiscal_year,
88 l_from_date,
89 l_to_date,
90 l_file_name);
91 p_output_fname := l_file_name;
92 fnd_file.put_line(fnd_file.log,'------------Output XML File----------------');
93 fnd_file.put_line(fnd_file.log,'File' || l_file_name );
94 fnd_file.put_line(fnd_file.log,'-------------------------------------------');
95
96 -- COMMIT;
97 EXCEPTION
98 WHEN utl_file.invalid_path then
99 hr_utility.set_message(8301, 'GHR_38830_INVALID_UTL_FILE_PATH');
100 fnd_file.put_line(fnd_file.log,HR_UTILITY.get_message);
101 hr_utility.raise_error;
102 --
103 WHEN utl_file.invalid_mode then
104 hr_utility.set_message(8301, 'GHR_38831_INVALID_FILE_MODE');
105 fnd_file.put_line(fnd_file.log,HR_UTILITY.get_message);
106 hr_utility.raise_error;
107 --
108 WHEN utl_file.invalid_filehandle then
109 hr_utility.set_message(8301, 'GHR_38832_INVALID_FILE_HANDLE');
110 fnd_file.put_line(fnd_file.log,HR_UTILITY.get_message);
111 hr_utility.raise_error;
112 --
113 WHEN utl_file.invalid_operation then
114 hr_utility.set_message(8301, 'GHR_38833_INVALID_OPER');
115 fnd_file.put_line(fnd_file.log,HR_UTILITY.get_message);
116 hr_utility.raise_error;
117 --
118 WHEN utl_file.read_error then
119 hr_utility.set_message(8301, 'GHR_38834_FILE_READ_ERROR');
120 fnd_file.put_line(fnd_file.log,HR_UTILITY.get_message);
121 hr_utility.raise_error;
122 --
123
124 WHEN others THEN
125 hr_utility.set_message(800,'FFU10_GENERAL_ORACLE_ERROR');
126 hr_utility.set_message_token('2',substr(sqlerrm,1,200));
127 fnd_file.put_line(fnd_file.log,HR_UTILITY.get_message);
128 hr_utility.raise_error;
129 END populate_sum;
130
131 --------------------------------------------
132
133 -- Procedure to populate the Part1 of the Report 462
134 PROCEDURE populate_part1(
135 p_from_date in date,
136 p_to_date in date,
137 p_agency_code in varchar2)
138 IS
139
140 l_p1_a number;
141 l_p1_a1 number;
142 l_p1_a2 number;
143 l_p1_a3 number;
144 l_p1_a4 number;
145
146 l_p1_bnum1 number;
147 l_p1_bnum2 number;
148 l_p1_bnum3 number;
149 l_p1_bnum4 number;
150 l_p1_bnum5 number;
151 l_p1_bamt1 number;
152 l_p1_bamt2 number;
153 l_p1_bamt3 number;
154 l_p1_bamt4 number;
155 l_p1_bamt5 number;
156 l_p1_c number;
157
158 -- Cursor to populate Part 1.A
159 CURSOR cur_p1_a(c_from_date IN DATE,c_to_date IN DATE, c_agency_code ghr_complaints2.agency_code%type) IS
160 SELECT COUNT(*) pl_a_cnt
161 FROM GHR_COMPLAINTS2 cmp
162 WHERE ((cmp.pcom_init BETWEEN c_from_date AND c_to_date
163 AND cmp.final_interview BETWEEN cmp.pcom_init AND cmp.pcom_init + 30
164 AND cmp.final_interview <= c_to_date)
165 OR ( (cmp.final_interview >= c_from_date AND cmp.final_interview <= c_to_date)
166 AND cmp.pcom_init BETWEEN cmp.final_interview - 30 AND cmp.final_interview))
167 AND cmp.agency_code = c_agency_code
168 AND cmp.formal_com_filed IS NULL ;
169
170 -- Cursor to populate Part 1.B
171 CURSOR cur_p1_b(c_from_date IN DATE,c_to_date IN DATE, c_agency_code ghr_complaints2.agency_code%type) IS
172 SELECT COUNT(*) p1_b_cnt
173 FROM GHR_COMPLAINTS2 cmp
174 WHERE ((cmp.pcom_init BETWEEN c_from_date AND c_to_date
175 AND cmp.final_interview BETWEEN cmp.pcom_init + 31 AND cmp.pcom_init + 90
176 AND cmp.final_interview <= c_to_date)
180 AND cmp.formal_com_filed IS NULL ;
177 OR ( (cmp.final_interview >= c_from_date AND cmp.final_interview <= c_to_date)
178 AND cmp.pcom_init BETWEEN cmp.final_interview - 90 AND cmp.final_interview - 31))
179 AND cmp.agency_code = c_agency_code
181
182 -- Cursor to populate Part 1.C
183 -- Added Parameter c_to_date in case Final interview is null -- Sundar 07Aug2003
184 CURSOR cur_p1_c(c_from_date IN DATE,c_to_date IN DATE, c_agency_code ghr_complaints2.agency_code%type) IS
185 SELECT COUNT(*) p1_c_cnt
186 FROM GHR_COMPLAINTS2 cmp
187 WHERE ((cmp.pcom_init BETWEEN c_from_date AND c_to_date
188 AND NVL(cmp.final_interview,c_to_date) > cmp.pcom_init + 90
189 AND cmp.final_interview <= c_to_date)
190 OR ((cmp.final_interview >= c_from_date AND cmp.final_interview <= c_to_date)
191 AND cmp.pcom_init < NVL(cmp.final_interview,c_to_date) - 90))
192 AND cmp.agency_code = c_agency_code
193 AND cmp.formal_com_filed IS NULL ;
194
195 -- Cursor to populate Part 1.D
196 CURSOR cur_p1_d(c_from_date IN DATE,c_to_date IN DATE, c_agency_code ghr_complaints2.agency_code%type) IS
197 SELECT COUNT(*) p1_d_cnt
198 FROM GHR_COMPLAINTS2 cmp , GHR_COMPL_AGENCY_APPEALS apa
199 WHERE apa.complaint_id = cmp.complaint_id
200 AND apa.decision IN ('30','40')
201 AND cmp.init_counselor_interview >= cmp.formal_com_filed
202 AND cmp.init_counselor_interview BETWEEN c_from_date AND c_to_date
203 AND cmp.agency_code = c_agency_code;
204
205 -- Cursor to populate both Counts and Amounts for Section B of Part 1.
206 -- Remand condition added
207 CURSOR cur_p1_2(c_from_date IN DATE,c_to_date IN DATE,c_payment_type IN GHR_COMPL_CA_DETAILS.payment_type%TYPE, c_agency_code ghr_complaints2.agency_code%type) IS
208 SELECT COUNT(distinct cmp.complaint_id) p1_2_cnt, nvl(SUM(CEIL(ca.amount)),0) p1_2_sum_amount
209 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
210 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
211 AND cah.complaint_id = cmp.complaint_id
212 AND ca.category = '10'
213 AND ca.phase = '20' -- Added Phase after Test plan Review
214 AND ca.payment_type = c_payment_type
215 AND cmp.precom_closure_nature IN ('30','50')
216 AND cmp.precom_closed BETWEEN c_from_date AND c_to_date
217 AND (
218 (cmp.formal_com_filed IS NULL OR cmp.formal_com_filed > c_to_date)
219 OR (cmp.init_counselor_interview >= cmp.formal_com_filed
220 AND cmp.init_counselor_interview BETWEEN c_from_date AND c_to_date)
221 )
222 AND cmp.agency_code = c_agency_code;
223
224 -- Cursor to populate both Counts and Amounts for Section B of Part 1.
225 CURSOR cur_compensatory(c_from_date IN DATE,c_to_date IN DATE, c_agency_code ghr_complaints2.agency_code%type) IS
226 SELECT COUNT(distinct cmp.complaint_id) p1_2_cnt, NVL(SUM(CEIL(ca.amount)),0) p1_2_sum_amount
227 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
228 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
229 AND cah.complaint_id = cmp.complaint_id
230 AND ca.phase = '20' -- Added Phase after Test plan Review
231 AND ca.category = '10'
232 AND ca.payment_type IN ('30','40')
233 AND cmp.precom_closure_nature IN ('30','50')
234 AND cmp.precom_closed BETWEEN c_from_date AND c_to_date
235 AND (
236 (cmp.formal_com_filed IS NULL OR cmp.formal_com_filed > c_to_date)
237 OR (cmp.init_counselor_interview >= cmp.formal_com_filed
238 AND cmp.init_counselor_interview BETWEEN c_from_date AND c_to_date)
239 )
240 AND cmp.agency_code = c_agency_code;
241
242 -- Cursor to populate Section C of Part 1
243 CURSOR cur_p1_3(c_from_date IN DATE,c_to_date IN DATE, c_agency_code ghr_complaints2.agency_code%type) IS
244 SELECT COUNT(distinct cmp.complaint_id) p1_c_cnt
245 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
246 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
247 AND cah.complaint_id = cmp.complaint_id
248 AND ca.phase = '20' -- Added Phase after Test plan Review
249 AND ca.category = '20'
250 AND cmp.precom_closure_nature IN ('40','50')
251 AND cmp.precom_closed BETWEEN c_from_date AND c_to_date
252 AND ((cmp.formal_com_filed IS NULL OR cmp.formal_com_filed > c_to_date)
253 OR (cmp.init_counselor_interview >= cmp.formal_com_filed
254 AND cmp.init_counselor_interview BETWEEN c_from_date AND c_to_date))
255 AND cmp.agency_code = c_agency_code;
256
257 BEGIN
258 -----------------------------------------------------------------------------
259 -- Section 1 - Counseling
260 -----------------------------------------------------------------------------
261
262 -- Part 1.A.1 No. of Individuals whose counseling completed within 30 days
263 FOR c_comp1 IN cur_p1_a(p_from_date, p_to_date, p_agency_code) LOOP
264 l_p1_a1 := c_comp1.pl_a_cnt;
265 END LOOP;
266
267 vXMLTable(vCtr).TagName := 'P1_a1';
268 vXMLTable(vCtr).TagValue := to_char(l_p1_a1);
269 vCtr := vCtr + 1;
270 fnd_file.put_line(fnd_file.log,'Finished Populating Part 1.A.1 - No. of Individuals whose counseling completed within 30 days ');
271
272 -- Part 1.A.2 No. of Individuals counseled within 31 to 90 days.
273 FOR c_comp1 IN cur_p1_b(p_from_date, p_to_date, p_agency_code) LOOP
274 l_p1_a2 := c_comp1.p1_b_cnt;
275 END LOOP;
276
277 vXMLTable(vCtr).TagName := 'P1_a2';
278 vXMLTable(vCtr).TagValue := to_char(l_p1_a2);
279 vCtr := vCtr + 1;
280 fnd_file.put_line(fnd_file.log,'Finished Populating Part 1.A.2 - No. of Individuals counseled within 31 to 90 days.');
281
282 -- Part 1.A.3 No. of Individuals counseled beyond 90 days.
283 FOR c_comp1 IN cur_p1_c(p_from_date, p_to_date, p_agency_code) LOOP
284 l_p1_a3 := c_comp1.p1_c_cnt;
285 END LOOP;
286
287 vXMLTable(vCtr).TagName := 'P1_a3';
288 vXMLTable(vCtr).TagValue := to_char(l_p1_a3);
289 vCtr := vCtr + 1;
290 fnd_file.put_line(fnd_file.log,'Finished Populating Part 1.A.3 - No. of Individuals counseled beyond 90 days.');
291
292 -- Part 1.A.4 No. of Individuals counseled due to remands.
293
294 FOR c_comp1 IN cur_p1_d(p_from_date, p_to_date, p_agency_code) LOOP
295 l_p1_a4 := c_comp1.p1_d_cnt;
296 END LOOP;
297
298 vXMLTable(vCtr).TagName := 'P1_a4';
299 vXMLTable(vCtr).TagValue := to_char(l_p1_a4);
300 vCtr := vCtr + 1;
301 fnd_file.put_line(fnd_file.log,'Finished Populating Part 1.A.4 - No. of Individuals counseled due to remands');
302
303 -- Part 1 Total No. of individuals counseled.
304 l_p1_a := l_p1_a1 + l_p1_a2 + l_p1_a3 + l_p1_a4;
305
306 vXMLTable(vCtr).TagName := 'P1_a';
307 vXMLTable(vCtr).TagValue := to_char(l_p1_a);
308 vCtr := vCtr + 1;
309 fnd_file.put_line(fnd_file.log,'Finished populating Part1 - Total No. of individuals counseled');
310 -----------------------------------------------------------------------------
311 --Section 2 Non-ADR Settlements during Counseling
312 -----------------------------------------------------------------------------
313 -- Populating Counts
314 -- Compensatory Damages
315 FOR c_comp1 IN cur_compensatory(p_from_date, p_to_date, p_agency_code) LOOP
316 l_p1_bnum1 := c_comp1.p1_2_cnt;
317 l_p1_bamt1 := c_comp1.p1_2_sum_amount;
318 END LOOP;
319
320 -- BackPay and FrontPay
321 FOR c_comp1 IN cur_p1_2(p_from_date, p_to_date,'20', p_agency_code) LOOP
322 l_p1_bnum2 := c_comp1.p1_2_cnt;
323 l_p1_bamt2 := c_comp1.p1_2_sum_amount;
324 END LOOP;
325
326 -- Lump Sum Payments
327 FOR c_comp1 IN cur_p1_2(p_from_date, p_to_date,'50', p_agency_code) LOOP
328 l_p1_bnum3 := c_comp1.p1_2_cnt;
329 l_p1_bamt3 := c_comp1.p1_2_sum_amount;
330 END LOOP;
331
332 -- Attorney Fees and Costs
333 FOR c_comp1 IN cur_p1_2(p_from_date, p_to_date,'10', p_agency_code) LOOP
334 l_p1_bnum4 := c_comp1.p1_2_cnt;
335 l_p1_bamt4 := c_comp1.p1_2_sum_amount;
336 END LOOP;
337
338 -- Others
339 FOR c_comp1 IN cur_p1_2(p_from_date, p_to_date,'60', p_agency_code) LOOP
340 l_p1_bnum5 := c_comp1.p1_2_cnt;
341 l_p1_bamt5 := c_comp1.p1_2_sum_amount;
342 END LOOP;
343
344 vXMLTable(vCtr).TagName := 'P1_bnum1';
345 vXMLTable(vCtr).TagValue := to_char(l_p1_bnum1);
346 vCtr := vCtr + 1;
347
348 vXMLTable(vCtr).TagName := 'P1_bamt1';
349 vXMLTable(vCtr).TagValue := to_char(l_p1_bamt1);
350 vCtr := vCtr + 1;
351
352 vXMLTable(vCtr).TagName := 'P1_bnum2';
353 vXMLTable(vCtr).TagValue := to_char(l_p1_bnum2);
354 vCtr := vCtr + 1;
355
356 vXMLTable(vCtr).TagName := 'P1_bamt2';
357 vXMLTable(vCtr).TagValue := to_char(l_p1_bamt2);
358 vCtr := vCtr + 1;
359
360 vXMLTable(vCtr).TagName := 'P1_bnum3';
361 vXMLTable(vCtr).TagValue := to_char(l_p1_bnum3);
362 vCtr := vCtr + 1;
363
364 vXMLTable(vCtr).TagName := 'P1_bamt3';
365 vXMLTable(vCtr).TagValue := to_char(l_p1_bamt3);
366 vCtr := vCtr + 1;
367
368 vXMLTable(vCtr).TagName := 'P1_bnum4';
369 vXMLTable(vCtr).TagValue := to_char(l_p1_bnum4);
370 vCtr := vCtr + 1;
371
372 vXMLTable(vCtr).TagName := 'P1_bamt4';
373 vXMLTable(vCtr).TagValue := to_char(l_p1_bamt4);
374 vCtr := vCtr + 1;
375
376 vXMLTable(vCtr).TagName := 'P1_bnum5';
377 vXMLTable(vCtr).TagValue := to_char(l_p1_bnum5);
378 vCtr := vCtr + 1;
379
380 vXMLTable(vCtr).TagName := 'P1_bamt5';
381 vXMLTable(vCtr).TagValue := to_char(l_p1_bamt5);
382 vCtr := vCtr + 1;
383
384 vXMLTable(vCtr).TagName := 'P1_bnum6';
385 vXMLTable(vCtr).TagValue := '0';
386 vCtr := vCtr + 1;
387
388 vXMLTable(vCtr).TagName := 'P1_bamt6';
389 vXMLTable(vCtr).TagValue := '0';
390 vCtr := vCtr + 1;
391
392 vXMLTable(vCtr).TagName := 'P1_bnum7';
393 vXMLTable(vCtr).TagValue := '0';
394 vCtr := vCtr + 1;
395
399
396 vXMLTable(vCtr).TagName := 'P1_bamt7';
397 vXMLTable(vCtr).TagValue := '0';
398 vCtr := vCtr + 1;
400 fnd_file.put_line(fnd_file.log,'Finished populating Part 1 Section 2 - Non-ADR Settlements during Counseling');
401 -----------------------------------------------------------------------------
402 -- Section 3 Non-ADR Settlements with Non-Monetory Benefits
403 -----------------------------------------------------------------------------
404
405 FOR c_comp1 IN cur_p1_3(p_from_date,p_to_date, p_agency_code) LOOP
406 l_p1_c := c_comp1.p1_c_cnt;
407 END LOOP;
408
409 vXMLTable(vCtr).TagName := 'P1_c';
410 vXMLTable(vCtr).TagValue := to_char(l_p1_c);
411 vCtr := vCtr + 1;
412 fnd_file.put_line(fnd_file.log,'Finished populating Part 1 - Section 3');
413 fnd_file.put_line(fnd_file.log,'------------End of Part1----------------');
414
415 END populate_part1;
416
417 PROCEDURE populate_part2(
418 p_from_date in date,
419 p_to_date in date,
420 p_agency_code in varchar2)
421 IS
422 -- Cursor to populate Section 1 of Part 2 - Complaints on hand before the reporting period
423 CURSOR cur_p2_1(c_from_date date ,c_agency_code ghr_complaints2.agency_code%type) IS
424 SELECT COUNT(*) p2_1_cnt
425 FROM GHR_COMPLAINTS2 cmp
426 WHERE cmp.formal_com_filed IS NOT NULL
427 AND cmp.formal_com_filed < c_from_date
428 AND cmp.agency_code = c_agency_code
429 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_from_date);
430
431 -- Cursor to populate Section 2 of Part 2 - Complaints filed
432 -- Remanded complaints to be removed from this condition - Done after Test plan review
433 CURSOR cur_p2_2(c_from_date date, c_to_date date ,c_agency_code ghr_complaints2.agency_code%type) IS
434 SELECT COUNT(*) p2_2_cnt
435 FROM GHR_COMPLAINTS2 cmp
436 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
437 AND cmp.agency_code = c_agency_code
438 AND (NOT EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
439 WHERE apa.complaint_id = cmp.complaint_id
440 AND apa.decision_date BETWEEN c_from_date AND c_to_date
441 AND apa.decision IN ('30','40'))
442 AND NOT EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
443 WHERE ap.complaint_id = cmp.complaint_id
444 AND ap.decision_date BETWEEN c_from_date AND c_to_date
445 AND ap.decision IN ('30','40')));
446
447 -- Cursor to populate Section 3 of Part 2 - Remanded Complaints
448 -- Including Agency appeal decision date.
449 CURSOR cur_p2_3(c_from_date date, c_to_date date ,c_agency_code ghr_complaints2.agency_code%type) IS
450 SELECT COUNT(*) p2_3_cnt
451 FROM GHR_COMPLAINTS2 cmp
452 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
453 AND cmp.agency_code = c_agency_code
454 AND (cmp.complaint_closed NOT BETWEEN c_from_date AND c_to_date
455 OR cmp.complaint_closed IS NULL)
456 AND (EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
457 WHERE apa.complaint_id = cmp.complaint_id
458 AND apa.decision_date BETWEEN c_from_date AND c_to_date
459 AND apa.decision IN ('30','40'))
460 OR EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
461 WHERE ap.complaint_id = cmp.complaint_id
462 AND ap.decision_date BETWEEN c_from_date AND c_to_date
463 AND ap.decision IN ('30','40')));
464
465 -- Cursor to populate complaints that were not consolidated
466 -- To exclude remands outside closure period
467 CURSOR cur_p2_5(c_from_date date, c_to_date date ,c_agency_code ghr_complaints2.agency_code%type) IS
468 SELECT COUNT(*) p2_5_cnt FROM
469 (
470 SELECT cmp.*
471 FROM GHR_COMPLAINTS2 cmp
472 WHERE cmp.formal_com_filed IS NOT NULL
473 AND cmp.formal_com_filed < c_from_date
474 AND cmp.agency_code = c_agency_code
475 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_from_date)
476 UNION ALL
477 SELECT cmp.*
478 FROM GHR_COMPLAINTS2 cmp
479 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
480 AND cmp.agency_code = c_agency_code
481 AND (NOT EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
482 WHERE apa.complaint_id = cmp.complaint_id
483 AND apa.decision_date BETWEEN c_from_date AND c_to_date
484 AND apa.decision IN ('30','40'))
485 AND NOT EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
486 WHERE ap.complaint_id = cmp.complaint_id
487 AND ap.decision_date BETWEEN c_from_date AND c_to_date
488 AND ap.decision IN ('30','40')))
489 UNION ALL
490 SELECT cmp.*
491 FROM GHR_COMPLAINTS2 cmp
492 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
493 AND cmp.agency_code = c_agency_code
494 AND (cmp.complaint_closed NOT BETWEEN c_from_date AND c_to_date
495 OR cmp.complaint_closed IS NULL)
496 AND (EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
497 WHERE apa.complaint_id = cmp.complaint_id
498 AND apa.decision_date BETWEEN c_from_date AND c_to_date
499 AND apa.decision IN ('30','40'))
500 OR EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
501 WHERE ap.complaint_id = cmp.complaint_id
502 AND ap.decision_date BETWEEN c_from_date AND c_to_date
503 AND ap.decision IN ('30','40')))
504 ) cmp1
505 WHERE cmp1.consolidated IS NULL
506 AND (cmp1.complaint_closed IS NULL OR cmp1.complaint_closed > c_to_date)
507 ;
508
509 -- Cursor to populate Section 6 - No. of unconsolidated complaints that were closed
510
511 CURSOR cur_p2_6(c_from_date date, c_to_date date ,c_agency_code ghr_complaints2.agency_code%type) IS
512 SELECT COUNT(*) p2_6_cnt
513 FROM (
514 SELECT cmp.*
515 FROM GHR_COMPLAINTS2 cmp
516 WHERE cmp.formal_com_filed IS NOT NULL
517 AND cmp.formal_com_filed < c_from_date
518 AND cmp.agency_code = c_agency_code
522 FROM GHR_COMPLAINTS2 cmp
519 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_from_date)
520 UNION ALL
521 SELECT cmp.*
523 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
524 AND cmp.agency_code = c_agency_code
525 AND (NOT EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
526 WHERE apa.complaint_id = cmp.complaint_id
527 AND apa.decision_date BETWEEN c_from_date AND c_to_date
528 AND apa.decision IN ('30','40'))
529 AND NOT EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
530 WHERE ap.complaint_id = cmp.complaint_id
531 AND ap.decision_date BETWEEN c_from_date AND c_to_date
532 AND ap.decision IN ('30','40')))
533 UNION ALL
534 SELECT cmp.*
535 FROM GHR_COMPLAINTS2 cmp
536 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
537 AND cmp.agency_code = c_agency_code
538 AND (cmp.complaint_closed NOT BETWEEN c_from_date AND c_to_date
539 OR cmp.complaint_closed IS NULL)
540 AND (EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
541 WHERE apa.complaint_id = cmp.complaint_id
542 AND apa.decision_date BETWEEN c_from_date AND c_to_date
543 AND apa.decision IN ('30','40'))
544 OR EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
545 WHERE ap.complaint_id = cmp.complaint_id
546 AND ap.decision_date BETWEEN c_from_date AND c_to_date
547 AND ap.decision IN ('30','40')))
548 ) cmp1
549 WHERE (cmp1.consolidated IS NULL OR cmp1.consolidated NOT BETWEEN c_from_date AND c_to_date)
550 AND complaint_closed BETWEEN c_from_date AND c_to_date;
551
552 CURSOR cur_p2_7(c_from_date date, c_to_date date ,c_agency_code ghr_complaints2.agency_code%type) IS
553 SELECT COUNT(*) p2_7_cnt FROM
554 (
555 SELECT cmp.*
556 FROM GHR_COMPLAINTS2 cmp
557 WHERE cmp.formal_com_filed IS NOT NULL
558 AND cmp.formal_com_filed < c_from_date
559 AND cmp.agency_code = c_agency_code
560 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_from_date)
561 UNION ALL
562 SELECT cmp.*
563 FROM GHR_COMPLAINTS2 cmp
564 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
565 AND cmp.agency_code = c_agency_code
566 AND (NOT EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
567 WHERE apa.complaint_id = cmp.complaint_id
568 AND apa.decision_date BETWEEN c_from_date AND c_to_date
569 AND apa.decision IN ('30','40'))
570 AND NOT EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
571 WHERE ap.complaint_id = cmp.complaint_id
572 AND ap.decision_date BETWEEN c_from_date AND c_to_date
573 AND ap.decision IN ('30','40')))
574 UNION ALL
575 SELECT cmp.*
576 FROM GHR_COMPLAINTS2 cmp
577 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
578 AND cmp.agency_code = c_agency_code
579 AND (cmp.complaint_closed NOT BETWEEN c_from_date AND c_to_date
580 OR cmp.complaint_closed IS NULL)
581 AND (EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
582 WHERE apa.complaint_id = cmp.complaint_id
583 AND apa.decision_date BETWEEN c_from_date AND c_to_date
584 AND apa.decision IN ('30','40'))
585 OR EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
586 WHERE ap.complaint_id = cmp.complaint_id
587 AND ap.decision_date BETWEEN c_from_date AND c_to_date
588 AND ap.decision IN ('30','40')))
589 ) cmp1
590 WHERE cmp1.consolidated IS NOT NULL
591 AND (cmp1.complaint_closed IS NULL OR cmp1.complaint_closed > c_to_date)
592 ;
593
594 CURSOR cur_p2_8(c_from_date date, c_to_date date ,c_agency_code ghr_complaints2.agency_code%type) IS
595 SELECT COUNT(*) p2_8_cnt FROM
596 (
597 SELECT cmp.*
598 FROM GHR_COMPLAINTS2 cmp
599 WHERE cmp.formal_com_filed IS NOT NULL
600 AND cmp.formal_com_filed < c_from_date
601 AND cmp.agency_code = c_agency_code
602 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_from_date)
603 UNION ALL
604 SELECT cmp.*
605 FROM GHR_COMPLAINTS2 cmp
606 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
607 AND cmp.agency_code = c_agency_code
608 AND (NOT EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
609 WHERE apa.complaint_id = cmp.complaint_id
610 AND apa.decision_date BETWEEN c_from_date AND c_to_date
611 AND apa.decision IN ('30','40'))
612 AND NOT EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
613 WHERE ap.complaint_id = cmp.complaint_id
614 AND ap.decision_date BETWEEN c_from_date AND c_to_date
615 AND ap.decision IN ('30','40')))
616 UNION ALL
617 SELECT cmp.*
618 FROM GHR_COMPLAINTS2 cmp
619 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
620 AND cmp.agency_code = c_agency_code
621 AND (cmp.complaint_closed NOT BETWEEN c_from_date AND c_to_date
622 OR cmp.complaint_closed IS NULL)
623 AND (EXISTS(SELECT 1 FROM GHR_COMPL_AGENCY_APPEALS apa
624 WHERE apa.complaint_id = cmp.complaint_id
625 AND apa.decision_date BETWEEN c_from_date AND c_to_date
626 AND apa.decision IN ('30','40'))
627 OR EXISTS(SELECT 1 FROM GHR_COMPL_APPEALS ap
628 WHERE ap.complaint_id = cmp.complaint_id
629 AND ap.decision_date BETWEEN c_from_date AND c_to_date
630 AND ap.decision IN ('30','40')))
631 ) cmp1
632 WHERE cmp1.consolidated IS NOT NULL
633 AND complaint_closed BETWEEN c_from_date AND c_to_date;
634
635
636 -- Cursor to populate section 10 - Total Individuals filing complaints
637 CURSOR cur_p2_10(c_from_date date, c_to_date date ,c_agency_code ghr_complaints2.agency_code%type) IS
641 AND cmp.agency_code = c_agency_code;
638 SELECT count(distinct nvl(cmp.complainant_person_id,0)) p2_10_cnt
639 FROM GHR_COMPLAINTS2 cmp
640 WHERE cmp.formal_com_filed BETWEEN c_from_date AND c_to_date
642
643 -- Cursor to Populate Section 11 - No. of Joint processing Units from consolidation of complaints
644 CURSOR cur_p2_11(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
645 SELECT count(distinct cmp.consolidated_complaint_id) p2_11_cnt
646 FROM GHR_COMPLAINTS2 cmp
647 WHERE cmp.consolidated BETWEEN c_from_date AND c_to_date
648 AND cmp.consolidated_flag = 'Y'
649 AND cmp.agency_code = c_agency_code;
650
651
652 l_p2_a number;
653 l_p2_b number;
654 l_p2_c number;
655 l_p2_d number;
656 l_p2_e number;
657 l_p2_f number;
658 l_p2_g number;
659 l_p2_h number;
660 l_p2_i number;
661
662 BEGIN
663 -- Section 1 No. of complaints on hand at beginning of the reporting period.
664 FOR cur_ctr IN cur_p2_1(p_from_date, p_agency_code) LOOP
665 l_p2_a := cur_ctr.p2_1_cnt;
666 vXMLTable(vCtr).TagName := 'P2_a';
667 vXMLTable(vCtr).TagValue := to_char(l_p2_a);
668 vCtr := vCtr + 1;
669 END LOOP;
670 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 1 - No. of complaints on hand at beginning of the reporting period.');
671 -- Section 2 - Complaints filed
672 FOR cur_ctr IN cur_p2_2(p_from_date,p_to_date, p_agency_code) LOOP
673 l_p2_b := cur_ctr.p2_2_cnt;
674 vXMLTable(vCtr).TagName := 'P2_b';
675 vXMLTable(vCtr).TagValue := to_char(l_p2_b);
676 vCtr := vCtr + 1;
677 END LOOP;
678 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 2 - Complaints filed');
679 -- Section 3 - Remand
680 FOR cur_ctr IN cur_p2_3(p_from_date,p_to_date, p_agency_code) LOOP
681 l_p2_c := cur_ctr.p2_3_cnt;
682 vXMLTable(vCtr).TagName := 'P2_c';
683 vXMLTable(vCtr).TagValue := to_char(l_p2_c);
684 vCtr := vCtr + 1;
685 END LOOP;
686 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 3 - Remand');
687 -- Section 4 - Total Complaints
688 l_p2_d := l_p2_a + l_p2_b + l_p2_c;
689
690 vXMLTable(vCtr).TagName := 'P2_d';
691 vXMLTable(vCtr).TagValue := to_char(l_p2_d);
692 vCtr := vCtr + 1;
693 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 4 - Total Complaints');
694 -- Section 5 - Total Complaints that were not consolidated.
695 FOR cur_ctr IN cur_p2_5(p_from_date,p_to_date, p_agency_code) LOOP
696 l_p2_e := cur_ctr.p2_5_cnt;
697 vXMLTable(vCtr).TagName := 'P2_e';
698 vXMLTable(vCtr).TagValue := to_char(l_p2_e);
699 vCtr := vCtr + 1;
700 END LOOP;
701 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 5 - Total Complaints that were not consolidated.');
702 -- Section 6 - Total Complaints that were not consolidated and closed.
703 FOR cur_ctr IN cur_p2_6(p_from_date,p_to_date, p_agency_code) LOOP
704 l_p2_f := cur_ctr.p2_6_cnt;
705 vXMLTable(vCtr).TagName := 'P2_f';
706 vXMLTable(vCtr).TagValue := to_char(l_p2_f);
707 vCtr := vCtr + 1;
708 END LOOP;
709 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 6 - Total Complaints that were not consolidated and closed.');
710 -- Section 7 - No. of consolidated complaints
711 FOR cur_ctr IN cur_p2_7(p_from_date,p_to_date, p_agency_code) LOOP
712 l_p2_g := cur_ctr.p2_7_cnt;
713 vXMLTable(vCtr).TagName := 'P2_g';
714 vXMLTable(vCtr).TagValue := to_char(l_p2_g);
715 vCtr := vCtr + 1;
716 END LOOP;
717 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 7 - No. of consolidated complaints');
718 -- Section 8 - Total Complaints that were consolidated and closed.
719 FOR cur_ctr IN cur_p2_8(p_from_date,p_to_date, p_agency_code) LOOP
720 l_p2_h := cur_ctr.p2_8_cnt;
721 vXMLTable(vCtr).TagName := 'P2_h';
722 vXMLTable(vCtr).TagValue := to_char(l_p2_h);
723 vCtr := vCtr + 1;
724 END LOOP;
725 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 8 - Total Complaints that were consolidated and closed');
726 -- Section 9 - Complaints on hand at end of reporting period := line 4 - (line 6 + line 8)
727 l_p2_i := l_p2_d - (l_p2_f + l_p2_h);
728 vXMLTable(vCtr).TagName := 'P2_i';
729 vXMLTable(vCtr).TagValue := to_char(l_p2_i);
730 vCtr := vCtr + 1;
731 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 9 - Complaints on hand at end of reporting period');
732 -- Section 10 Individual filing complaints
733 FOR cur_ctr IN cur_p2_10(p_from_date,p_to_date, p_agency_code) LOOP
734 vXMLTable(vCtr).TagName := 'P2_j';
735 vXMLTable(vCtr).TagValue := to_char(cur_ctr.p2_10_cnt);
736 vCtr := vCtr + 1;
737 END LOOP;
738 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 10 - Individual filing complaints');
739 -- Section 11 No. of Joint Processing Units from Consolidation of Complaints
740 FOR cur_ctr IN cur_p2_11(p_from_date,p_to_date, p_agency_code) LOOP
741 vXMLTable(vCtr).TagName := 'P2_k';
742 vXMLTable(vCtr).TagValue := to_char(cur_ctr.p2_11_cnt);
743 vCtr := vCtr + 1;
744 END LOOP;
745 fnd_file.put_line(fnd_file.log,'Finished populating Part2 Section 11 - No. of Joint Processing Units from Consolidation of Complaints');
746 fnd_file.put_line(fnd_file.log,'-----------End of Part 2----------------');
747 -- End of Part 2
748 END populate_part2;
749
750
751 PROCEDURE populate_part4(
752 p_from_date in date,
753 p_to_date in date,
754 p_agency_code in varchar2)
755 IS
756 CURSOR cur_p4(c_from_date date, c_to_date date, c_claim GHR_COMPL_CLAIMS.claim%type, c_basis GHR_COMPL_BASES.basis%type, c_value GHR_COMPL_BASES.value%type,c_agency_code ghr_complaints2.agency_code%type) IS
757 SELECT COUNT(*) p4_cnt
758 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
759 WHERE bases.compl_claim_id = claims.compl_claim_id
760 AND claims.complaint_id = cmp.complaint_id
761 AND claims.claim = c_claim
762 AND claims.phase IN (20,30)
763 AND bases.basis = c_basis
764 AND bases.value = c_value
765 AND cmp.agency_code = c_agency_code
766 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
767
768 CURSOR cur_p4_novalue(c_from_date date, c_to_date date, c_claim GHR_COMPL_CLAIMS.claim%type, c_basis GHR_COMPL_BASES.basis%type,c_agency_code ghr_complaints2.agency_code%type) IS
769 SELECT COUNT(*) p4_cnt
770 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
771 WHERE bases.compl_claim_id = claims.compl_claim_id
772 AND claims.complaint_id = cmp.complaint_id
773 AND claims.claim = c_claim
774 AND claims.phase IN (20,30)
775 AND bases.basis = c_basis
776 AND cmp.agency_code = c_agency_code
777 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
778
779 -- Only for Pay including overtime
780 CURSOR cur_p4_tot_pic_issue(c_from_date date, c_to_date date, c_claim GHR_COMPL_CLAIMS.claim%type,c_agency_code ghr_complaints2.agency_code%type) IS
781 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
782 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims
783 WHERE claims.complaint_id = cmp.complaint_id
784 AND claims.claim = c_claim
785 AND claims.phase IN (20,30)
786 AND cmp.agency_code = c_agency_code
787 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
788
789 CURSOR cur_p4_tot_discip_issue(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
790 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
791 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims
792 WHERE claims.complaint_id = cmp.complaint_id
793 AND claims.claim IN ('50','60','70','80','90')
794 AND claims.phase IN (20,30)
795 AND cmp.agency_code = c_agency_code
796 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
797
798 CURSOR cur_p4_tot_harass_issue(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
799 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
800 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims
801 WHERE claims.complaint_id = cmp.complaint_id
802 AND claims.claim IN ('130','140')
803 AND claims.phase IN (20,30)
804 AND cmp.agency_code = c_agency_code
805 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
806
807 /*CURSOR cur_p4_tot_harass_issue(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
808 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
809 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
810 WHERE bases.compl_claim_id = claims.compl_claim_id
811 AND claims.complaint_id = cmp.complaint_id
812 AND claims.claim IN ('130','140')
813 AND claims.phase IN (20,30)
814 AND DECODE(claims.claim,130,bases.basis,'#') NOT IN DECODE(claims.claim,130,'SEX','1')
815 AND DECODE(claims.claim,140,bases.basis,'#') IN DECODE(claims.claim,140,'(''GHR_US_COM_REP_BASIS'',''GHR_US_COM_SEX_BASIS'')','#')
816 AND cmp.agency_code = c_agency_code
817 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
818 */
819 CURSOR cur_p4_tot_reassign_issue(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
820 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
821 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims
822 WHERE claims.complaint_id = cmp.complaint_id
823 AND claims.claim IN ('180','190')
824 AND claims.phase IN (20,30)
825 AND cmp.agency_code = c_agency_code
826 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
827
828 CURSOR cur_p4_totprsn_basis(c_from_date date, c_to_date date, c_basis GHR_COMPL_BASES.basis%type,c_agency_code ghr_complaints2.agency_code%type) IS
829 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
830 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
831 WHERE bases.compl_claim_id = claims.compl_claim_id
832 AND claims.complaint_id = cmp.complaint_id
833 AND claims.phase IN (20,30)
834 AND bases.basis = c_basis
835 AND cmp.agency_code = c_agency_code
836 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
837
838 CURSOR cur_p4_totprsn_basis_value(c_from_date date, c_to_date date, c_basis GHR_COMPL_BASES.basis%type,c_value GHR_COMPL_BASES.value%type, c_agency_code ghr_complaints2.agency_code%type) IS
839 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt,COUNT(distinct cmp.complaint_id) p4_cnt
840 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
841 WHERE bases.compl_claim_id = claims.compl_claim_id
842 AND claims.complaint_id = cmp.complaint_id
843 AND claims.phase IN (20,30)
844 AND bases.basis = c_basis
845 AND bases.value = c_value
846 AND cmp.agency_code = c_agency_code
847 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
848
849 -------- Specific Total Cursors
850 -- Total By issues
851 -- For Most of the issues except pay including overtime, harassment, reassignment
852 CURSOR cur_p4_totprsn_issue(c_from_date date, c_to_date date, c_claim GHR_COMPL_CLAIMS.claim%type,c_agency_code ghr_complaints2.agency_code%type) IS
853 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
854 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
855 WHERE bases.compl_claim_id = claims.compl_claim_id
856 AND claims.complaint_id = cmp.complaint_id
857 AND claims.claim = c_claim
858 AND claims.phase IN (20,30)
859 AND bases.basis <> 'SEX'
860 AND cmp.agency_code = c_agency_code
861 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
862
863 -- For harassment Sexual
864 CURSOR cur_p4_tot_harass_sex_issue(c_from_date date, c_to_date date, c_claim GHR_COMPL_CLAIMS.claim%type,c_agency_code ghr_complaints2.agency_code%type) IS
865 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
866 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
867 WHERE bases.compl_claim_id = claims.compl_claim_id
868 AND claims.complaint_id = cmp.complaint_id
869 AND claims.claim = c_claim
870 AND claims.phase IN (20,30)
871 AND bases.basis IN ('GHR_US_COM_SEX_BASIS','GHR_US_COM_REP_BASIS')
872 AND cmp.agency_code = c_agency_code
873 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
874
875 -- for reasonable accommodation
876 CURSOR cur_p4_tot_reacc_issue(c_from_date date, c_to_date date, c_claim GHR_COMPL_CLAIMS.claim%type,c_agency_code ghr_complaints2.agency_code%type) IS
877 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
878 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
879 WHERE bases.compl_claim_id = claims.compl_claim_id
880 AND claims.complaint_id = cmp.complaint_id
881 AND claims.claim = c_claim
882 AND claims.phase IN (20,30)
883 AND bases.basis IN ('GHR_US_COM_REL_BASIS','GHR_US_COM_REP_BASIS','GHR_US_COM_HC_BASIS')
884 AND cmp.agency_code = c_agency_code
885 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
886
887 -- For Race, National Origin
888
889 CURSOR cur_p4_totprsn_rcno_value(c_from_date date, c_to_date date, c_basis GHR_COMPL_BASES.basis%type,c_value GHR_COMPL_BASES.value%type, c_agency_code ghr_complaints2.agency_code%type) IS
890 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt,COUNT(distinct cmp.complaint_id) p4_cnt
891 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
892 WHERE bases.compl_claim_id = claims.compl_claim_id
893 AND claims.complaint_id = cmp.complaint_id
894 AND claims.phase IN (20,30)
895 AND claims.claim NOT IN ('140','200')
896 AND bases.basis = c_basis
897 AND bases.value = c_value
898 AND cmp.agency_code = c_agency_code
899 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
900
901 --Color, Age
902 CURSOR cur_p4_tot_colage_basis(c_from_date date, c_to_date date, c_basis GHR_COMPL_BASES.basis%type,c_agency_code ghr_complaints2.agency_code%type) IS
903 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
904 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
905 WHERE bases.compl_claim_id = claims.compl_claim_id
906 AND claims.complaint_id = cmp.complaint_id
907 AND claims.phase IN (20,30)
908 AND claims.claim NOT IN ('140','200')
909 AND bases.basis = c_basis
910 AND cmp.agency_code = c_agency_code
911 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
912
913 -- For Religion
914 CURSOR cur_p4_tot_rel_basis(c_from_date date, c_to_date date, c_basis GHR_COMPL_BASES.basis%type,c_agency_code ghr_complaints2.agency_code%type) IS
915 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
916 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
917 WHERE bases.compl_claim_id = claims.compl_claim_id
918 AND claims.complaint_id = cmp.complaint_id
919 AND claims.phase IN (20,30)
920 AND claims.claim NOT IN ('140')
921 AND bases.basis = c_basis
922 AND cmp.agency_code = c_agency_code
923 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
924
925 -- Disability
926 CURSOR cur_p4_totprsn_disab_value(c_from_date date, c_to_date date, c_basis GHR_COMPL_BASES.basis%type,c_value GHR_COMPL_BASES.value%type, c_agency_code ghr_complaints2.agency_code%type) IS
927 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt,COUNT(distinct cmp.complaint_id) p4_cnt
928 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
929 WHERE bases.compl_claim_id = claims.compl_claim_id
930 AND claims.complaint_id = cmp.complaint_id
931 AND claims.phase IN (20,30)
932 AND claims.claim NOT IN ('140')
933 AND bases.basis = c_basis
934 AND bases.value = c_value
935 AND cmp.agency_code = c_agency_code
936 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
937
938 -- For Sex
939 CURSOR cur_p4_tot_sex_basis(c_from_date date, c_to_date date, c_basis GHR_COMPL_BASES.basis%type,c_value GHR_COMPL_BASES.value%type, c_agency_code ghr_complaints2.agency_code%type) IS
940 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
941 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
942 WHERE bases.compl_claim_id = claims.compl_claim_id
943 AND claims.complaint_id = cmp.complaint_id
944 AND claims.phase IN (20,30)
945 AND claims.claim NOT IN ('200')
946 AND bases.basis = c_basis
947 AND bases.value = c_value
948 AND cmp.agency_code = c_agency_code
949 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
950
951
952 -- For equal pay act
953 CURSOR cur_p4_tot_eqpay_basis(c_from_date date, c_to_date date, c_basis GHR_COMPL_BASES.basis%type,c_value GHR_COMPL_BASES.value%type,c_agency_code ghr_complaints2.agency_code%type) IS
954 SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) p4_prsn_cnt, COUNT(distinct cmp.complaint_id) p4_cnt
955 FROM GHR_COMPLAINTS2 cmp,GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
956 WHERE bases.compl_claim_id = claims.compl_claim_id
957 AND claims.complaint_id = cmp.complaint_id
958 AND claims.phase IN (20,30)
959 AND claims.claim = '160'
960 AND bases.basis = c_basis
961 AND bases.value = c_value
962 AND cmp.agency_code = c_agency_code
963 AND cmp.formal_com_filed BETWEEN c_from_date AND c_to_date;
964 ----
965
966 l_P4_a17 NUMBER := 0;
967 l_P4_a18 NUMBER := 0;
968 l_P4_a19 NUMBER := 0;
969 l_P4_b17 NUMBER := 0;
970 l_P4_b18 NUMBER := 0;
971 l_P4_b19 NUMBER := 0;
972 l_P4_c17 NUMBER := 0;
973 l_P4_c18 NUMBER := 0;
974 l_P4_c19 NUMBER := 0;
975 l_P4_d17 NUMBER := 0;
976 l_P4_d18 NUMBER := 0;
977 l_P4_d19 NUMBER := 0;
978 l_P4_e1_17 NUMBER := 0;
979 l_P4_e1_18 NUMBER := 0;
980 l_P4_e1_19 NUMBER := 0;
981 l_P4_e2_17 NUMBER := 0;
982 l_P4_e2_18 NUMBER := 0;
983 l_P4_e2_19 NUMBER := 0;
984 l_P4_e3_17 NUMBER := 0;
985 l_P4_e3_18 NUMBER := 0;
986 l_P4_e3_19 NUMBER := 0;
987 l_P4_e4_17 NUMBER := 0;
988 l_P4_e4_18 NUMBER := 0;
989 l_P4_e4_19 NUMBER := 0;
990 l_P4_e5_17 NUMBER := 0;
991 l_P4_e5_18 NUMBER := 0;
992 l_P4_e5_19 NUMBER := 0;
993 l_P4_f17 NUMBER := 0;
994 l_P4_f18 NUMBER := 0;
995 l_P4_f19 NUMBER := 0;
996 l_P4_g17 NUMBER := 0;
997 l_P4_g18 NUMBER := 0;
998 l_P4_g19 NUMBER := 0;
999 l_P4_h17 NUMBER := 0;
1000 l_P4_h18 NUMBER := 0;
1001 l_P4_h19 NUMBER := 0;
1002 l_P4_i1_17 NUMBER := 0;
1003 l_P4_i1_18 NUMBER := 0;
1004 l_P4_i1_19 NUMBER := 0;
1005 l_P4_i2_17 NUMBER := 0;
1006 l_P4_i2_18 NUMBER := 0;
1007 l_P4_i2_19 NUMBER := 0;
1008 l_P4_j17 NUMBER := 0;
1009 l_P4_j18 NUMBER := 0;
1010 l_P4_j19 NUMBER := 0;
1011 l_P4_k17 NUMBER := 0;
1012 l_P4_k18 NUMBER := 0;
1013 l_P4_k19 NUMBER := 0;
1014 l_P4_l17 NUMBER := 0;
1015 l_P4_l18 NUMBER := 0;
1016 l_P4_l19 NUMBER := 0;
1017 l_P4_m1_17 NUMBER := 0;
1018 l_P4_m1_18 NUMBER := 0;
1019 l_P4_m1_19 NUMBER := 0;
1020 l_P4_m2_17 NUMBER := 0;
1021 l_P4_m2_18 NUMBER := 0;
1022 l_P4_m2_19 NUMBER := 0;
1023 l_P4_n17 NUMBER := 0;
1024 l_P4_n18 NUMBER := 0;
1025 l_P4_n19 NUMBER := 0;
1026 l_P4_o17 NUMBER := 0;
1027 l_P4_o18 NUMBER := 0;
1028 l_P4_o19 NUMBER := 0;
1029 l_P4_p17 NUMBER := 0;
1030 l_P4_p18 NUMBER := 0;
1031 l_P4_p19 NUMBER := 0;
1032 l_P4_q17 NUMBER := 0;
1033 l_P4_q18 NUMBER := 0;
1034 l_P4_q19 NUMBER := 0;
1035 l_P4_r17 NUMBER := 0;
1036 l_P4_r18 NUMBER := 0;
1037 l_P4_r19 NUMBER := 0;
1038 l_P4_s17 NUMBER := 0;
1039 l_P4_s18 NUMBER := 0;
1040 l_P4_s19 NUMBER := 0;
1041 l_P4_t17 NUMBER := 0;
1042 l_P4_t18 NUMBER := 0;
1043 l_P4_t19 NUMBER := 0;
1044 l_P4_u17 NUMBER := 0;
1045 l_P4_u18 NUMBER := 0;
1046 l_P4_u19 NUMBER := 0;
1047
1048 -- summary columns
1049 l_tot1_1 NUMBER := 0;
1050 l_tot2_1 NUMBER := 0;
1051 l_tot3_1 NUMBER := 0;
1052 l_tot1_2 NUMBER := 0;
1053 l_tot2_2 NUMBER := 0;
1054 l_tot3_2 NUMBER := 0;
1055 l_tot1_3 NUMBER := 0;
1056 l_tot2_3 NUMBER := 0;
1057 l_tot3_3 NUMBER := 0;
1058 l_tot1_4 NUMBER := 0;
1059 l_tot2_4 NUMBER := 0;
1060 l_tot3_4 NUMBER := 0;
1064 l_tot1_6 NUMBER := 0;
1061 l_tot1_5 NUMBER := 0;
1062 l_tot2_5 NUMBER := 0;
1063 l_tot3_5 NUMBER := 0;
1065 l_tot2_6 NUMBER := 0;
1066 l_tot3_6 NUMBER := 0;
1067 l_tot1_7 NUMBER := 0;
1068 l_tot2_7 NUMBER := 0;
1069 l_tot3_7 NUMBER := 0;
1070 l_tot1_8 NUMBER := 0;
1071 l_tot2_8 NUMBER := 0;
1072 l_tot3_8 NUMBER := 0;
1073 l_tot1_9 NUMBER := 0;
1074 l_tot2_9 NUMBER := 0;
1075 l_tot3_9 NUMBER := 0;
1076 l_tot1_10 NUMBER := 0;
1077 l_tot2_10 NUMBER := 0;
1078 l_tot3_10 NUMBER := 0;
1079 l_tot1_11 NUMBER := 0;
1080 l_tot2_11 NUMBER := 0;
1081 l_tot3_11 NUMBER := 0;
1082 l_tot1_12 NUMBER := 0;
1083 l_tot2_12 NUMBER := 0;
1084 l_tot3_12 NUMBER := 0;
1085 l_tot1_13 NUMBER := 0;
1086 l_tot2_13 NUMBER := 0;
1087 l_tot3_13 NUMBER := 0;
1088 l_tot1_14 NUMBER := 0;
1089 l_tot2_14 NUMBER := 0;
1090 l_tot3_14 NUMBER := 0;
1091 l_tot1_15 NUMBER := 0;
1092 l_tot2_15 NUMBER := 0;
1093 l_tot3_15 NUMBER := 0;
1094 l_tot1_16 NUMBER := 0;
1095 l_tot2_16 NUMBER := 0;
1096 l_tot3_16 NUMBER := 0;
1097 -- Newly added fields
1098 l_P4_e1 NUMBER := 0;
1099 l_P4_e2 NUMBER := 0;
1100 l_P4_e3 NUMBER := 0;
1101 l_P4_e4 NUMBER := 0;
1102 l_P4_e5 NUMBER := 0;
1103 l_P4_e6 NUMBER := 0;
1104 l_P4_e7 NUMBER := 0;
1105 l_P4_e8 NUMBER := 0;
1106 l_P4_e9 NUMBER := 0;
1107 l_P4_e10 NUMBER := 0;
1108 l_P4_e11 NUMBER := 0;
1109 l_P4_e14 NUMBER := 0;
1110 l_P4_e15 NUMBER := 0;
1111 l_P4_e16 NUMBER := 0;
1112 l_P4_e17 NUMBER := 0;
1113 l_P4_e18 NUMBER := 0;
1114 l_P4_e19 NUMBER := 0;
1115
1116 l_P4_m1 NUMBER := 0;
1117 l_P4_m2 NUMBER := 0;
1118 l_P4_m3 NUMBER := 0;
1119 l_P4_m4 NUMBER := 0;
1120 l_P4_m5 NUMBER := 0;
1121 l_P4_m6 NUMBER := 0;
1122 l_P4_m7 NUMBER := 0;
1123 l_P4_m8 NUMBER := 0;
1124 l_P4_m9 NUMBER := 0;
1125 l_P4_m10 NUMBER := 0;
1126 l_P4_m11 NUMBER := 0;
1127 l_P4_m14 NUMBER := 0;
1128 l_P4_m15 NUMBER := 0;
1129 l_P4_m16 NUMBER := 0;
1130 l_P4_m17 NUMBER := 0;
1131 l_P4_m18 NUMBER := 0;
1132 l_P4_m19 NUMBER := 0;
1133
1134 l_P4_i1 NUMBER := 0;
1135 l_P4_i2 NUMBER := 0;
1136 l_P4_i3 NUMBER := 0;
1137 l_P4_i4 NUMBER := 0;
1138 l_P4_i5 NUMBER := 0;
1139 l_P4_i6 NUMBER := 0;
1140 l_P4_i7 NUMBER := 0;
1141 l_P4_i8 NUMBER := 0;
1142 l_P4_i9 NUMBER := 0;
1143 l_P4_i10 NUMBER := 0;
1144 l_P4_i11 NUMBER := 0;
1145 l_P4_i12 NUMBER := 0;
1146 l_P4_i14 NUMBER := 0;
1147 l_P4_i15 NUMBER := 0;
1148 l_P4_i16 NUMBER := 0;
1149 l_P4_i17 NUMBER := 0;
1150 l_P4_i18 NUMBER := 0;
1151 l_P4_i19 NUMBER := 0;
1152
1153 BEGIN
1154 fnd_file.put_line(fnd_file.log,'Starting Part4 - Fields');
1155 -- Loop through p4 matrix PL/SQL tables
1156 FOR p4_ctr IN v_P4Matrix.FIRST .. v_P4Matrix.LAST LOOP
1157 -- If value is null, call the cursor cur_p4_novalue, else call the cursor cur_p4
1158 IF TRIM(v_P4Matrix(p4_ctr).basevalues) IS NULL THEN
1159 FOR cur_ctr IN cur_p4_novalue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims,v_P4Matrix(p4_ctr).bases, p_agency_code) LOOP
1160 vXMLTable(vCtr).TagName := v_P4Matrix(p4_ctr).fieldname;
1161 vXMLTable(vCtr).TagValue := to_char(cur_ctr.p4_cnt);
1162 -- vCtr := vCtr + 1;
1163 -- fnd_file.put_line(fnd_file.log,'Finished populating Part4 ' || vXMLTable(vCtr).TagName);
1164
1165 IF SUBSTR(vXMLTable(vCtr).TagName,1,4) = 'P4_e' THEN
1166 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_1' THEN
1167 l_P4_e1 := l_P4_e1 + vXMLTable(vCtr).TagValue;
1168 END IF;
1169 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_2' THEN
1170 l_P4_e2 := l_P4_e2 + vXMLTable(vCtr).TagValue;
1171 END IF;
1172 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_3' THEN
1173 l_P4_e3 := l_P4_e3 + vXMLTable(vCtr).TagValue;
1174 END IF;
1175 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_4' THEN
1176 l_P4_e4 := l_P4_e4 + vXMLTable(vCtr).TagValue;
1177 END IF;
1178 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_5' THEN
1179 l_P4_e5 := l_P4_e5 + vXMLTable(vCtr).TagValue;
1180 END IF;
1181 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_6' THEN
1182 l_P4_e6 := l_P4_e6 + vXMLTable(vCtr).TagValue;
1183 END IF;
1184 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_7' THEN
1185 l_P4_e7 := l_P4_e7 + vXMLTable(vCtr).TagValue;
1186 END IF;
1187 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_8' THEN
1188 l_P4_e8 := l_P4_e8 + vXMLTable(vCtr).TagValue;
1189 END IF;
1190 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_9' THEN
1191 l_P4_e9 := l_P4_e9 + vXMLTable(vCtr).TagValue;
1192 END IF;
1193 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_10' THEN
1194 l_P4_e10 := l_P4_e10 + vXMLTable(vCtr).TagValue;
1195 END IF;
1196 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_11' THEN
1197 l_P4_e11 := l_P4_e11 + vXMLTable(vCtr).TagValue;
1198 END IF;
1199 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_14' THEN
1200 l_P4_e14 := l_P4_e14 + vXMLTable(vCtr).TagValue;
1201 END IF;
1202 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_15' THEN
1203 l_P4_e15 := l_P4_e15 + vXMLTable(vCtr).TagValue;
1204 END IF;
1205 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_16' THEN
1206 l_P4_e16 := l_P4_e16 + vXMLTable(vCtr).TagValue;
1207 END IF;
1208 END IF;
1209
1210 IF SUBSTR(vXMLTable(vCtr).TagName,1,4) = 'P4_m' THEN
1211 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_1' THEN
1212 l_P4_m1 := l_P4_m1 + vXMLTable(vCtr).TagValue;
1213 END IF;
1214 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_2' THEN
1215 l_P4_m2 := l_P4_m2 + vXMLTable(vCtr).TagValue;
1216 END IF;
1217 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_3' THEN
1218 l_P4_m3 := l_P4_m3 + vXMLTable(vCtr).TagValue;
1219 END IF;
1220 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_4' THEN
1221 l_P4_m4 := l_P4_m4 + vXMLTable(vCtr).TagValue;
1222 END IF;
1223 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_5' THEN
1224 l_P4_m5 := l_P4_m5 + vXMLTable(vCtr).TagValue;
1225 END IF;
1226 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_6' THEN
1227 l_P4_m6 := l_P4_m6 + vXMLTable(vCtr).TagValue;
1228 END IF;
1229 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_7' THEN
1230 l_P4_m7 := l_P4_m7 + vXMLTable(vCtr).TagValue;
1231 END IF;
1232 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_8' THEN
1233 l_P4_m8 := l_P4_m8 + vXMLTable(vCtr).TagValue;
1234 END IF;
1235 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_9' THEN
1236 l_P4_m9 := l_P4_m9 + vXMLTable(vCtr).TagValue;
1237 END IF;
1238 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_10' THEN
1239 l_P4_m10 := l_P4_m10 + vXMLTable(vCtr).TagValue;
1240 END IF;
1241 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_11' THEN
1242 l_P4_m11 := l_P4_m11 + vXMLTable(vCtr).TagValue;
1243 END IF;
1244 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_14' THEN
1245 l_P4_m14 := l_P4_m14 + vXMLTable(vCtr).TagValue;
1246 END IF;
1247 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_15' THEN
1248 l_P4_m15 := l_P4_m15 + vXMLTable(vCtr).TagValue;
1249 END IF;
1250 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_16' THEN
1251 l_P4_m16 := l_P4_m16 + vXMLTable(vCtr).TagValue;
1252 END IF;
1253 END IF;
1254
1255 IF (vXMLTable(vCtr).TagName = 'P4_i1_1') THEN
1256 l_P4_i1 := vXMLTable(vCtr).TagValue;
1257 END IF;
1258
1259 IF (vXMLTable(vCtr).TagName = 'P4_i1_2') THEN
1260 l_P4_i2 := vXMLTable(vCtr).TagValue;
1261 END IF;
1262
1263 IF (vXMLTable(vCtr).TagName = 'P4_i1_3') THEN
1264 l_P4_i3 := vXMLTable(vCtr).TagValue;
1265 END IF;
1266
1267 IF (vXMLTable(vCtr).TagName = 'P4_i1_4') THEN
1268 l_P4_i4 := vXMLTable(vCtr).TagValue;
1269 END IF;
1270
1271 IF (vXMLTable(vCtr).TagName = 'P4_i1_5') THEN
1272 l_P4_i5 := vXMLTable(vCtr).TagValue;
1273 END IF;
1274
1275 IF (vXMLTable(vCtr).TagName = 'P4_i1_6') THEN
1276 l_P4_i6 := vXMLTable(vCtr).TagValue;
1277 END IF;
1278
1279 IF (vXMLTable(vCtr).TagName = 'P4_i1_10') THEN
1280 l_P4_i10 := vXMLTable(vCtr).TagValue;
1281 END IF;
1282
1283 IF (vXMLTable(vCtr).TagName = 'P4_i1_11') THEN
1284 l_P4_i11 := vXMLTable(vCtr).TagValue;
1285 END IF;
1286
1287 IF (vXMLTable(vCtr).TagName = 'P4_i1_14') THEN
1288 l_P4_i14 := vXMLTable(vCtr).TagValue;
1289 END IF;
1290
1291 IF (vXMLTable(vCtr).TagName = 'P4_i1_15') THEN
1292 l_P4_i15 := vXMLTable(vCtr).TagValue;
1293 END IF;
1294
1295 IF (vXMLTable(vCtr).TagName = 'P4_i1_16') THEN
1296 l_P4_i16 := vXMLTable(vCtr).TagValue;
1297 END IF;
1298
1299 IF SUBSTR(vXMLTable(vCtr).TagName,1,4) = 'P4_i' THEN
1300 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_7' THEN
1301 l_P4_i7 := l_P4_i7 + vXMLTable(vCtr).TagValue;
1302 END IF;
1303 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_8' THEN
1304 l_P4_i8 := l_P4_i8 + vXMLTable(vCtr).TagValue;
1305 END IF;
1306 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_9' THEN
1307 l_P4_i9 := l_P4_i9 + vXMLTable(vCtr).TagValue;
1308 END IF;
1309 END IF;
1310
1311 -- Populating the summary columns by Looping through rowwise
1312 -- If Claim is Assignment
1313 IF v_P4Matrix(p4_ctr).claims = '10' THEN
1314 l_P4_a17 := l_P4_a17 + cur_ctr.p4_cnt;
1315 -- Complainants by Issue
1316 IF (l_P4_a19 > 0) AND (l_P4_a18 > 0) THEN
1317 NULL;
1318 ELSE
1319 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1320 l_P4_a19 := cur_totissue.p4_prsn_cnt;
1321 l_P4_a18 := cur_totissue.p4_cnt;
1322 END LOOP;
1323 END IF;
1324 -- If Claim is Assignment of Duties
1325 ELSIF v_P4Matrix(p4_ctr).claims = '20' THEN
1326 l_P4_b17 := l_P4_b17 + cur_ctr.p4_cnt;
1327 -- Complainants by Issue
1328 IF (l_P4_b19 > 0) AND (l_P4_b18 > 0) THEN
1329 NULL;
1330 ELSE
1331 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1332 l_P4_b19 := cur_totissue.p4_prsn_cnt;
1333 l_P4_b18 := cur_totissue.p4_cnt;
1334 END LOOP;
1335 END IF;
1336 -- If Claim is Awards
1337 ELSIF v_P4Matrix(p4_ctr).claims = '30' THEN
1338 l_P4_c17 := l_P4_c17 + cur_ctr.p4_cnt;
1339 -- Complainants by Issue
1340 IF (l_P4_c19 > 0) AND (l_P4_c18 > 0) THEN
1341 NULL;
1342 ELSE
1343 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1344 l_P4_c19 := cur_totissue.p4_prsn_cnt;
1345 l_P4_c18 := cur_totissue.p4_cnt;
1346 END LOOP;
1347 END IF;
1348 -- If Claim is Awards
1349 -- If Claim is Conversion to full time.
1350 ELSIF v_P4Matrix(p4_ctr).claims = '40' THEN
1351 l_P4_d17 := l_P4_d17 + cur_ctr.p4_cnt;
1352 -- Complainants by Issue
1353 IF (l_P4_d19 > 0) AND (l_P4_d18 > 0) THEN
1354 NULL;
1355 ELSE
1356 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1357 l_P4_d19 := cur_totissue.p4_prsn_cnt;
1358 l_P4_d18 := cur_totissue.p4_cnt;
1359 END LOOP;
1360 END IF;
1361 -- If Claim is Awards
1362 ELSIF v_P4Matrix(p4_ctr).claims = '50' THEN
1363 l_P4_e1_17 := l_P4_e1_17 + cur_ctr.p4_cnt;
1364 -- l_P4_e17 := l_P4_e17 + l_P4_e1_17;
1365 -- Complainants by Issue
1366 IF (l_P4_e1_19 > 0) AND (l_P4_e1_18 > 0) THEN
1367 NULL;
1368 ELSE
1369 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1370 l_P4_e1_19 := cur_totissue.p4_prsn_cnt;
1371 l_P4_e1_18 := cur_totissue.p4_cnt;
1372 END LOOP;
1373 END IF;
1374 -- If Claim is Awards
1375 ELSIF v_P4Matrix(p4_ctr).claims = '60' THEN
1376 l_P4_e2_17 := l_P4_e2_17 + cur_ctr.p4_cnt;
1377 -- l_P4_e17 := l_P4_e17 + l_P4_e2_17;
1378 -- Complainants by Issue
1379 IF (l_P4_e2_19 > 0) AND (l_P4_e2_18 > 0) THEN
1380 NULL;
1381 ELSE
1382 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1383 l_P4_e2_19 := cur_totissue.p4_prsn_cnt;
1384 l_P4_e2_18 := cur_totissue.p4_cnt;
1385 END LOOP;
1386 END IF;
1387 ELSIF v_P4Matrix(p4_ctr).claims = '70' THEN
1388 l_P4_e3_17 := l_P4_e3_17 + cur_ctr.p4_cnt;
1389 -- l_P4_e17 := l_P4_e17 + l_P4_e3_17;
1390 -- Complainants by Issue
1391 IF (l_P4_e3_19 > 0) AND (l_P4_e3_18 > 0) THEN
1392 NULL;
1393 ELSE
1394 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1395 l_P4_e3_19 := cur_totissue.p4_prsn_cnt;
1396 l_P4_e3_18 := cur_totissue.p4_cnt;
1397 END LOOP;
1398 END IF;
1399 ELSIF v_P4Matrix(p4_ctr).claims = '80' THEN
1400 l_P4_e4_17 := l_P4_e4_17 + cur_ctr.p4_cnt;
1401 -- l_P4_e17 := l_P4_e17 + l_P4_e4_17;
1402
1403 -- Complainants by Issue
1404 IF (l_P4_e4_19 > 0) AND (l_P4_e4_18 > 0) THEN
1405 NULL;
1406 ELSE
1407 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1408 l_P4_e4_19 := cur_totissue.p4_prsn_cnt;
1409 l_P4_e4_18 := cur_totissue.p4_cnt;
1410 END LOOP;
1411 END IF;
1412 ELSIF v_P4Matrix(p4_ctr).claims = '90' THEN
1413 l_P4_e5_17 := l_P4_e5_17 + cur_ctr.p4_cnt;
1414 -- l_P4_e17 := l_P4_e17 + l_P4_e5_17;
1415
1416 -- Complainants by Issue
1417 IF (l_P4_e5_19 > 0) AND (l_P4_e5_18 > 0) THEN
1418 NULL;
1419 ELSE
1420 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1421 l_P4_e5_19 := cur_totissue.p4_prsn_cnt;
1422 l_P4_e5_18 := cur_totissue.p4_cnt;
1423 END LOOP;
1424 END IF;
1425 ELSIF v_P4Matrix(p4_ctr).claims = '100' THEN
1426 l_P4_f17 := l_P4_f17 + cur_ctr.p4_cnt;
1427 -- Complainants by Issue
1428 IF (l_P4_f19 > 0) AND (l_P4_f18 > 0) THEN
1429 NULL;
1430 ELSE
1431 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1432 l_P4_f19 := cur_totissue.p4_prsn_cnt;
1433 l_P4_f18 := cur_totissue.p4_cnt;
1434 END LOOP;
1435 END IF;
1436 ELSIF v_P4Matrix(p4_ctr).claims = '110' THEN
1437 l_P4_g17 := l_P4_g17 + cur_ctr.p4_cnt;
1438 -- Complainants by Issue
1439 IF (l_P4_g19 > 0) AND (l_P4_g18 > 0) THEN
1440 NULL;
1441 ELSE
1442 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1443 l_P4_g19 := cur_totissue.p4_prsn_cnt;
1444 l_P4_g18 := cur_totissue.p4_cnt;
1445 END LOOP;
1446 END IF;
1447 ELSIF v_P4Matrix(p4_ctr).claims = '120' THEN
1448 l_P4_h17 := l_P4_h17 + cur_ctr.p4_cnt;
1449 -- Complainants by Issue
1450 IF (l_P4_h19 > 0) AND (l_P4_h18 > 0) THEN
1451 NULL;
1452 ELSE
1453 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1454 l_P4_h19 := cur_totissue.p4_prsn_cnt;
1455 l_P4_h18 := cur_totissue.p4_cnt;
1456 END LOOP;
1457 END IF;
1458 ELSIF v_P4Matrix(p4_ctr).claims = '130' THEN
1459 l_P4_i1_17 := l_P4_i1_17 + cur_ctr.p4_cnt;
1460 -- l_P4_i17 := l_P4_i17 + l_P4_i1_17;
1461 -- Complainants by Issue
1462 IF (l_P4_i1_19 > 0) AND (l_P4_i1_18 > 0) THEN
1463 NULL;
1464 ELSE
1465 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1466 l_P4_i1_19 := cur_totissue.p4_prsn_cnt;
1467 l_P4_i1_18 := cur_totissue.p4_cnt;
1468 END LOOP;
1469 END IF;
1470 ELSIF v_P4Matrix(p4_ctr).claims = '140' THEN
1471 l_P4_i2_17 := l_P4_i2_17 + cur_ctr.p4_cnt;
1472 -- l_P4_i17 := l_P4_i17 + l_P4_i2_17;
1473 -- Complainants by Issue
1474 IF (l_P4_i2_19 > 0) AND (l_P4_i2_18 > 0) THEN
1475 NULL;
1476 ELSE
1477 FOR cur_totissue IN cur_p4_tot_harass_sex_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1478 l_P4_i2_19 := cur_totissue.p4_prsn_cnt;
1479 l_P4_i2_18 := cur_totissue.p4_cnt;
1480 END LOOP;
1481 END IF;
1482 ELSIF v_P4Matrix(p4_ctr).claims = '150' THEN
1483 l_P4_j17 := l_P4_j17 + cur_ctr.p4_cnt;
1484 -- Complainants by Issue
1485 IF (l_P4_j19 > 0) AND (l_P4_j18 > 0) THEN
1486 NULL;
1487 ELSE
1488 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1489 l_P4_j19 := cur_totissue.p4_prsn_cnt;
1490 l_P4_j18 := cur_totissue.p4_cnt;
1491 END LOOP;
1492 END IF;
1493 ELSIF v_P4Matrix(p4_ctr).claims = '160' THEN
1494 l_P4_k17 := l_P4_k17 + cur_ctr.p4_cnt;
1495 -- Complainants by Issue
1496 IF (l_P4_k19 > 0) AND (l_P4_k18 > 0) THEN
1497 NULL;
1498 ELSE
1499 FOR cur_totissue IN cur_p4_tot_pic_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1500 l_P4_k19 := cur_totissue.p4_prsn_cnt;
1501 l_P4_k18 := cur_totissue.p4_cnt;
1502 END LOOP;
1503 END IF;
1504 ELSIF v_P4Matrix(p4_ctr).claims = '170' THEN
1505 l_P4_l17 := l_P4_l17 + cur_ctr.p4_cnt;
1506 -- Complainants by Issue
1507 IF (l_P4_l19 > 0) AND (l_P4_l18 > 0) THEN
1508 NULL;
1509 ELSE
1510 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1511 l_P4_l19 := cur_totissue.p4_prsn_cnt;
1512 l_P4_l18 := cur_totissue.p4_cnt;
1513 END LOOP;
1514 END IF;
1515 ELSIF v_P4Matrix(p4_ctr).claims = '180' THEN
1516 l_P4_m1_17 := l_P4_m1_17 + cur_ctr.p4_cnt;
1517 -- l_P4_m17 := l_P4_m17 + l_P4_m1_17;
1518 -- Complainants by Issue
1519 IF (l_P4_m1_19 > 0) AND (l_P4_m1_18 > 0) THEN
1520 NULL;
1521 ELSE
1522 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1523 l_P4_m1_19 := cur_totissue.p4_prsn_cnt;
1524 l_P4_m1_18 := cur_totissue.p4_cnt;
1525 END LOOP;
1526 END IF;
1527 ELSIF v_P4Matrix(p4_ctr).claims = '190' THEN
1528 l_P4_m2_17 := l_P4_m2_17 + cur_ctr.p4_cnt;
1529 -- l_P4_m17 := l_P4_m17 + l_P4_m2_17;
1530 -- Complainants by Issue
1531 IF (l_P4_m2_19 > 0) AND (l_P4_m2_18 > 0) THEN
1532 NULL;
1533 ELSE
1534 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1535 l_P4_m2_19 := cur_totissue.p4_prsn_cnt;
1536 l_P4_m2_18 := cur_totissue.p4_cnt;
1537 END LOOP;
1538 END IF;
1539 ELSIF v_P4Matrix(p4_ctr).claims = '200' THEN
1540 l_P4_n17 := l_P4_n17 + cur_ctr.p4_cnt;
1541 -- Complainants by Issue
1542 IF (l_P4_n19 > 0) AND (l_P4_n18 > 0) THEN
1543 NULL;
1544 ELSE
1545 FOR cur_totissue IN cur_p4_tot_reacc_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1546 l_P4_n19 := cur_totissue.p4_prsn_cnt;
1547 l_P4_n18 := cur_totissue.p4_cnt;
1548 END LOOP;
1549 END IF;
1550 ELSIF v_P4Matrix(p4_ctr).claims = '210' THEN
1551 l_P4_o17 := l_P4_o17 + cur_ctr.p4_cnt;
1552 -- Complainants by Issue
1553 IF (l_P4_o19 > 0) AND (l_P4_o18 > 0)THEN
1554 NULL;
1555 ELSE
1556 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1557 l_P4_o19 := cur_totissue.p4_prsn_cnt;
1558 l_P4_o18 := cur_totissue.p4_cnt;
1559 END LOOP;
1560 END IF;
1561 ELSIF v_P4Matrix(p4_ctr).claims = '220' THEN
1562 l_P4_p17 := l_P4_p17 + cur_ctr.p4_cnt;
1563 -- Complainants by Issue
1564 IF (l_P4_p19 > 0) AND (l_P4_p18 > 0) THEN
1565 NULL;
1566 ELSE
1567 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1568 l_P4_p19 := cur_totissue.p4_prsn_cnt;
1569 l_P4_p18 := cur_totissue.p4_cnt;
1570 END LOOP;
1571 END IF;
1572 ELSIF v_P4Matrix(p4_ctr).claims = '230' THEN
1573 l_P4_q17 := l_P4_q17 + cur_ctr.p4_cnt;
1574 -- Complainants by Issue
1575 IF (l_P4_q19 > 0) AND (l_P4_q18 > 0) THEN
1576 NULL;
1577 ELSE
1578 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1579 l_P4_q19 := cur_totissue.p4_prsn_cnt;
1580 l_P4_q18 := cur_totissue.p4_cnt;
1581 END LOOP;
1582 END IF;
1583 ELSIF v_P4Matrix(p4_ctr).claims = '240' THEN
1584 l_P4_r17 := l_P4_r17 + cur_ctr.p4_cnt;
1585 -- Complainants by Issue
1586 IF (l_P4_r19 > 0) AND (l_P4_r18 > 0) THEN
1587 NULL;
1588 ELSE
1589 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1590 l_P4_r19 := cur_totissue.p4_prsn_cnt;
1591 l_P4_r18 := cur_totissue.p4_cnt;
1592 END LOOP;
1593 END IF;
1594 ELSIF v_P4Matrix(p4_ctr).claims = '250' THEN
1595 l_P4_s17 := l_P4_s17 + cur_ctr.p4_cnt;
1596 -- Complainants by Issue
1597 IF (l_P4_s19 > 0) AND (l_P4_s18 > 0) THEN
1598 NULL;
1599 ELSE
1600 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1601 l_P4_s19 := cur_totissue.p4_prsn_cnt;
1602 l_P4_s18 := cur_totissue.p4_cnt;
1603 END LOOP;
1604 END IF;
1605 ELSIF v_P4Matrix(p4_ctr).claims = '260' THEN
1606 l_P4_t17 := l_P4_t17 + cur_ctr.p4_cnt;
1607 -- Complainants by Issue
1608 IF (l_P4_t19 > 0) AND (l_P4_t18 > 0) THEN
1609 NULL;
1610 ELSE
1611 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1612 l_P4_t19 := cur_totissue.p4_prsn_cnt;
1613 l_P4_t18 := cur_totissue.p4_cnt;
1614 END LOOP;
1615 END IF;
1616 ELSIF v_P4Matrix(p4_ctr).claims = '270' THEN
1617 l_P4_u17 := l_P4_u17 + cur_ctr.p4_cnt;
1618 -- Complainants by Issue
1619 IF (l_P4_u19 > 0) AND (l_P4_u18 > 0) THEN
1620 NULL;
1621 ELSE
1622 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1623 l_P4_u19 := cur_totissue.p4_prsn_cnt;
1624 l_P4_u18 := cur_totissue.p4_cnt;
1625 END LOOP;
1626 END IF;
1627 END IF;
1628
1629 -- Populate Summary Rows by looping columns
1630 IF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_REL_BASIS') THEN
1631 l_tot1_6 := l_tot1_6 + cur_ctr.p4_cnt;
1632 -- Complainants by Basis
1633 IF (l_tot3_6 > 0) AND (l_tot2_6 > 0) THEN
1634 NULL;
1635 ELSE
1636 FOR cur_totissue IN cur_p4_tot_rel_basis(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases, p_agency_code) LOOP
1637 l_tot3_6 := cur_totissue.p4_prsn_cnt;
1638 l_tot2_6 := cur_totissue.p4_cnt;
1639 END LOOP;
1640 END IF;
1641 ELSIF (v_P4Matrix(p4_ctr).bases = 'YES_NO') THEN
1642 l_tot1_5 := l_tot1_5 + cur_ctr.p4_cnt;
1643 -- Complainants by Basis
1644 IF (l_tot3_5 > 0) AND (l_tot2_5 > 0) THEN
1645 NULL;
1646 ELSE
1647 FOR cur_totissue IN cur_p4_tot_colage_basis(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases, p_agency_code) LOOP
1648 l_tot3_5 := cur_totissue.p4_prsn_cnt;
1649 l_tot2_5 := cur_totissue.p4_cnt;
1650 END LOOP;
1651 END IF;
1652 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_REP_BASIS') THEN
1653 l_tot1_7 := l_tot1_7 + cur_ctr.p4_cnt;
1654 -- Complainants by Basis
1655 IF (l_tot3_7 > 0) AND (l_tot2_7 > 0) THEN
1656 NULL;
1657 ELSE
1658 FOR cur_totissue IN cur_p4_totprsn_basis(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases, p_agency_code) LOOP
1659 l_tot3_7 := cur_totissue.p4_prsn_cnt;
1660 l_tot2_7 := cur_totissue.p4_cnt;
1661 END LOOP;
1662 END IF;
1663 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_AGE_BASIS') THEN
1664 l_tot1_14 := l_tot1_14 + cur_ctr.p4_cnt;
1665 -- Complainants by Basis
1666 IF (l_tot3_14 > 0) AND (l_tot2_14 > 0) THEN
1667 NULL;
1668 ELSE
1669 FOR cur_totissue IN cur_p4_tot_colage_basis(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases, p_agency_code) LOOP
1670 l_tot3_14 := cur_totissue.p4_prsn_cnt;
1671 l_tot2_14 := cur_totissue.p4_cnt;
1672 END LOOP;
1673 END IF;
1674 END IF;
1675
1676 vCtr := vCtr + 1;
1677 END LOOP;
1678 ELSE
1679 FOR cur_ctr IN cur_p4(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims,v_P4Matrix(p4_ctr).bases,v_P4Matrix(p4_ctr).basevalues, p_agency_code) LOOP
1680 vXMLTable(vCtr).TagName := v_P4Matrix(p4_ctr).fieldname;
1681 vXMLTable(vCtr).TagValue := to_char(cur_ctr.p4_cnt);
1682 -- vCtr := vCtr + 1;
1683 -- fnd_file.put_line(fnd_file.log,'Finished populating Part4 ' || vXMLTable(vCtr).TagName);
1684
1685 IF SUBSTR(vXMLTable(vCtr).TagName,1,4) = 'P4_e' THEN
1686 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_1' THEN
1687 l_P4_e1 := l_P4_e1 + vXMLTable(vCtr).TagValue;
1688 END IF;
1689 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_2' THEN
1690 l_P4_e2 := l_P4_e2 + vXMLTable(vCtr).TagValue;
1691 END IF;
1692 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_3' THEN
1693 l_P4_e3 := l_P4_e3 + vXMLTable(vCtr).TagValue;
1694 END IF;
1695 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_4' THEN
1696 l_P4_e4 := l_P4_e4 + vXMLTable(vCtr).TagValue;
1697 END IF;
1698 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_5' THEN
1699 l_P4_e5 := l_P4_e5 + vXMLTable(vCtr).TagValue;
1700 END IF;
1701 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_6' THEN
1702 l_P4_e6 := l_P4_e6 + vXMLTable(vCtr).TagValue;
1703 END IF;
1704 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_7' THEN
1705 l_P4_e7 := l_P4_e7 + vXMLTable(vCtr).TagValue;
1706 END IF;
1707 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_8' THEN
1708 l_P4_e8 := l_P4_e8 + vXMLTable(vCtr).TagValue;
1709 END IF;
1710 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_9' THEN
1711 l_P4_e9 := l_P4_e9 + vXMLTable(vCtr).TagValue;
1712 END IF;
1713 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_10' THEN
1714 l_P4_e10 := l_P4_e10 + vXMLTable(vCtr).TagValue;
1715 END IF;
1716 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_11' THEN
1717 l_P4_e11 := l_P4_e11 + vXMLTable(vCtr).TagValue;
1718 END IF;
1719 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_14' THEN
1720 l_P4_e14 := l_P4_e14 + vXMLTable(vCtr).TagValue;
1721 END IF;
1722 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_15' THEN
1723 l_P4_e15 := l_P4_e15 + vXMLTable(vCtr).TagValue;
1724 END IF;
1725 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_16' THEN
1726 l_P4_e16 := l_P4_e16 + vXMLTable(vCtr).TagValue;
1727 END IF;
1728 END IF;
1729
1730 IF SUBSTR(vXMLTable(vCtr).TagName,1,4) = 'P4_m' THEN
1731 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_1' THEN
1732 l_P4_m1 := l_P4_m1 + vXMLTable(vCtr).TagValue;
1733 END IF;
1734 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_2' THEN
1735 l_P4_m2 := l_P4_m2 + vXMLTable(vCtr).TagValue;
1736 END IF;
1737 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_3' THEN
1738 l_P4_m3 := l_P4_m3 + vXMLTable(vCtr).TagValue;
1739 END IF;
1740 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_4' THEN
1741 l_P4_m4 := l_P4_m4 + vXMLTable(vCtr).TagValue;
1742 END IF;
1743 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_5' THEN
1744 l_P4_m5 := l_P4_m5 + vXMLTable(vCtr).TagValue;
1745 END IF;
1746 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_6' THEN
1747 l_P4_m6 := l_P4_m6 + vXMLTable(vCtr).TagValue;
1748 END IF;
1749 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_7' THEN
1750 l_P4_m7 := l_P4_m7 + vXMLTable(vCtr).TagValue;
1751 END IF;
1752 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_8' THEN
1753 l_P4_m8 := l_P4_m8 + vXMLTable(vCtr).TagValue;
1754 END IF;
1755 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_9' THEN
1756 l_P4_m9 := l_P4_m9 + vXMLTable(vCtr).TagValue;
1757 END IF;
1758 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_10' THEN
1759 l_P4_m10 := l_P4_m10 + vXMLTable(vCtr).TagValue;
1760 END IF;
1761 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_11' THEN
1762 l_P4_m11 := l_P4_m11 + vXMLTable(vCtr).TagValue;
1763 END IF;
1764 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_14' THEN
1765 l_P4_m14 := l_P4_m14 + vXMLTable(vCtr).TagValue;
1766 END IF;
1767 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_15' THEN
1768 l_P4_m15 := l_P4_m15 + vXMLTable(vCtr).TagValue;
1769 END IF;
1770 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-2) = '_16' THEN
1771 l_P4_m16 := l_P4_m16 + vXMLTable(vCtr).TagValue;
1772 END IF;
1773 END IF;
1774
1775
1776 IF (vXMLTable(vCtr).TagName = 'P4_i1_1') THEN
1777 l_P4_i1 := vXMLTable(vCtr).TagValue;
1778 END IF;
1779
1780 IF (vXMLTable(vCtr).TagName = 'P4_i1_2') THEN
1781 l_P4_i2 := vXMLTable(vCtr).TagValue;
1782 END IF;
1783
1784 IF (vXMLTable(vCtr).TagName = 'P4_i1_3') THEN
1785 l_P4_i3 := vXMLTable(vCtr).TagValue;
1786 END IF;
1787
1788 IF (vXMLTable(vCtr).TagName = 'P4_i1_4') THEN
1789 l_P4_i4 := vXMLTable(vCtr).TagValue;
1790 END IF;
1791
1792 IF (vXMLTable(vCtr).TagName = 'P4_i1_5') THEN
1793 l_P4_i5 := vXMLTable(vCtr).TagValue;
1794 END IF;
1795
1796 IF (vXMLTable(vCtr).TagName = 'P4_i1_6') THEN
1797 l_P4_i6 := vXMLTable(vCtr).TagValue;
1798 END IF;
1799
1800 IF (vXMLTable(vCtr).TagName = 'P4_i1_10') THEN
1801 l_P4_i10 := vXMLTable(vCtr).TagValue;
1802 END IF;
1803
1804 IF (vXMLTable(vCtr).TagName = 'P4_i1_11') THEN
1805 l_P4_i11 := vXMLTable(vCtr).TagValue;
1806 END IF;
1807
1808 IF (vXMLTable(vCtr).TagName = 'P4_i1_14') THEN
1809 l_P4_i14 := vXMLTable(vCtr).TagValue;
1810 END IF;
1811
1812 IF (vXMLTable(vCtr).TagName = 'P4_i1_15') THEN
1813 l_P4_i15 := vXMLTable(vCtr).TagValue;
1814 END IF;
1815
1816 IF (vXMLTable(vCtr).TagName = 'P4_i1_16') THEN
1817 l_P4_i16 := vXMLTable(vCtr).TagValue;
1818 END IF;
1819
1820 IF SUBSTR(vXMLTable(vCtr).TagName,1,4) = 'P4_i' THEN
1821 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_7' THEN
1822 l_P4_i7 := l_P4_i7 + vXMLTable(vCtr).TagValue;
1823 END IF;
1824 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_8' THEN
1825 l_P4_i8 := l_P4_i8 + vXMLTable(vCtr).TagValue;
1826 END IF;
1827 IF SUBSTR(vXMLTable(vCtr).TagName,LENGTH(vXMLTable(vCtr).TagName)-1) = '_9' THEN
1828 l_P4_i9 := l_P4_i9 + vXMLTable(vCtr).TagValue;
1829 END IF;
1830 END IF;
1831
1832 -- Populating the summary columns by Looping through rowwise
1833 -- If Claim is Assignment
1834 IF v_P4Matrix(p4_ctr).claims = '10' THEN
1835 l_P4_a17 := l_P4_a17 + cur_ctr.p4_cnt;
1836
1837 -- Complainants by Issue
1838 IF (l_P4_a19 > 0) AND (l_P4_a18 > 0) THEN
1839 NULL;
1840 ELSE
1841 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1842 l_P4_a19 := cur_totissue.p4_prsn_cnt;
1843 l_P4_a18 := cur_totissue.p4_cnt;
1844 END LOOP;
1845 END IF;
1846 -- If Claim is Assignment of Duties
1847 ELSIF v_P4Matrix(p4_ctr).claims = '20' THEN
1848 l_P4_b17 := l_P4_b17 + cur_ctr.p4_cnt;
1849 -- Complainants by Issue
1850 IF (l_P4_b19 > 0) AND (l_P4_b18 > 0) THEN
1851 NULL;
1852 ELSE
1853 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1854 l_P4_b19 := cur_totissue.p4_prsn_cnt;
1855 l_P4_b18 := cur_totissue.p4_cnt;
1856 END LOOP;
1857 END IF;
1858 -- If Claim is Awards
1859 ELSIF v_P4Matrix(p4_ctr).claims = '30' THEN
1860 l_P4_c17 := l_P4_c17 + cur_ctr.p4_cnt;
1861 -- Complainants by Issue
1862 IF (l_P4_c19 > 0) AND (l_P4_c18 > 0) THEN
1863 NULL;
1864 ELSE
1865 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1866 l_P4_c19 := cur_totissue.p4_prsn_cnt;
1867 l_P4_c18 := cur_totissue.p4_cnt;
1868 END LOOP;
1869 END IF;
1870 -- If Claim is Conversion to full time.
1871 ELSIF v_P4Matrix(p4_ctr).claims = '40' THEN
1872 l_P4_d17 := l_P4_d17 + cur_ctr.p4_cnt;
1873 -- Complainants by Issue
1874 IF (l_P4_d19 > 0) AND (l_P4_d18 > 0) THEN
1875 NULL;
1876 ELSE
1877 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1878 l_P4_d19 := cur_totissue.p4_prsn_cnt;
1879 l_P4_d18 := cur_totissue.p4_cnt;
1880 END LOOP;
1881 END IF;
1882 ELSIF v_P4Matrix(p4_ctr).claims = '50' THEN
1883 l_P4_e1_17 := l_P4_e1_17 + cur_ctr.p4_cnt;
1884 -- l_P4_e17 := l_P4_e17 + l_P4_e1_17;
1885 -- Complainants by Issue
1886 IF (l_P4_e1_19 > 0) AND (l_P4_e1_18 > 0) THEN
1887 NULL;
1888 ELSE
1889 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1890 l_P4_e1_19 := cur_totissue.p4_prsn_cnt;
1891 l_P4_e1_18 := cur_totissue.p4_cnt;
1892 END LOOP;
1893 END IF;
1894 ELSIF v_P4Matrix(p4_ctr).claims = '60' THEN
1895 l_P4_e2_17 := l_P4_e2_17 + cur_ctr.p4_cnt;
1896 -- l_P4_e17 := l_P4_e17 + l_P4_e2_17;
1897
1898 -- Complainants by Issue
1899 IF (l_P4_e2_19 > 0) AND (l_P4_e2_18 > 0) THEN
1900 NULL;
1901 ELSE
1902 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1903 l_P4_e2_19 := cur_totissue.p4_prsn_cnt;
1904 l_P4_e2_18 := cur_totissue.p4_cnt;
1905 END LOOP;
1906 END IF;
1907 ELSIF v_P4Matrix(p4_ctr).claims = '70' THEN
1908 l_P4_e3_17 := l_P4_e3_17 + cur_ctr.p4_cnt;
1909 -- l_P4_e17 := l_P4_e17 + l_P4_e3_17;
1910
1911 -- Complainants by Issue
1912 IF (l_P4_e3_19 > 0) AND (l_P4_e3_18 > 0) THEN
1913 NULL;
1914 ELSE
1915 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1916 l_P4_e3_19 := cur_totissue.p4_prsn_cnt;
1917 l_P4_e3_18 := cur_totissue.p4_cnt;
1918 END LOOP;
1919 END IF;
1920 ELSIF v_P4Matrix(p4_ctr).claims = '80' THEN
1921 l_P4_e4_17 := l_P4_e4_17 + cur_ctr.p4_cnt;
1922 -- l_P4_e17 := l_P4_e17 + l_P4_e4_17;
1923
1924 -- Complainants by Issue
1925 IF (l_P4_e4_19 > 0) AND (l_P4_e4_18 > 0) THEN
1926 NULL;
1927 ELSE
1928 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1929 l_P4_e4_19 := cur_totissue.p4_prsn_cnt;
1930 l_P4_e4_18 := cur_totissue.p4_cnt;
1931 END LOOP;
1932 END IF;
1933 ELSIF v_P4Matrix(p4_ctr).claims = '90' THEN
1934 l_P4_e5_17 := l_P4_e5_17 + cur_ctr.p4_cnt;
1935 -- l_P4_e17 := l_P4_e17 + l_P4_e5_17;
1936 -- Complainants by Issue
1937 IF (l_P4_e5_19 > 0) AND (l_P4_e5_18 > 0) THEN
1938 NULL;
1939 ELSE
1940 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1941 l_P4_e5_19 := cur_totissue.p4_prsn_cnt;
1942 l_P4_e5_18 := cur_totissue.p4_cnt;
1943 END LOOP;
1944 END IF;
1945 ELSIF v_P4Matrix(p4_ctr).claims = '100' THEN
1946 l_P4_f17 := l_P4_f17 + cur_ctr.p4_cnt;
1947 -- Complainants by Issue
1948 IF (l_P4_f19 > 0) AND (l_P4_f18 > 0) THEN
1949 NULL;
1950 ELSE
1951 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1952 l_P4_f19 := cur_totissue.p4_prsn_cnt;
1953 l_P4_f18 := cur_totissue.p4_cnt;
1954 END LOOP;
1955 END IF;
1956 ELSIF v_P4Matrix(p4_ctr).claims = '110' THEN
1957 l_P4_g17 := l_P4_g17 + cur_ctr.p4_cnt;
1958 -- Complainants by Issue
1959 IF (l_P4_g19 > 0) AND (l_P4_g18 > 0) THEN
1960 NULL;
1961 ELSE
1962 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1963 l_P4_g19 := cur_totissue.p4_prsn_cnt;
1964 l_P4_g18 := cur_totissue.p4_cnt;
1965 END LOOP;
1966 END IF;
1967 ELSIF v_P4Matrix(p4_ctr).claims = '120' THEN
1968 l_P4_h17 := l_P4_h17 + cur_ctr.p4_cnt;
1969 -- Complainants by Issue
1970 IF (l_P4_h19 > 0) AND (l_P4_h18 > 0) THEN
1971 NULL;
1972 ELSE
1973 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1974 l_P4_h19 := cur_totissue.p4_prsn_cnt;
1975 l_P4_h18 := cur_totissue.p4_cnt;
1976 END LOOP;
1977 END IF;
1978 ELSIF v_P4Matrix(p4_ctr).claims = '130' THEN
1979 l_P4_i1_17 := l_P4_i1_17 + cur_ctr.p4_cnt;
1980 -- l_P4_i17 := l_P4_i17 + l_P4_i1_17;
1981 -- Complainants by Issue
1982 IF (l_P4_i1_19 > 0) AND (l_P4_i1_18 > 0) THEN
1983 NULL;
1984 ELSE
1985 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1986 l_P4_i1_19 := cur_totissue.p4_prsn_cnt;
1987 l_P4_i1_18 := cur_totissue.p4_cnt;
1988 END LOOP;
1989 END IF;
1990 ELSIF v_P4Matrix(p4_ctr).claims = '140' THEN
1991 l_P4_i2_17 := l_P4_i2_17 + cur_ctr.p4_cnt;
1992 -- l_P4_i17 := l_P4_i17 + l_P4_i2_17;
1993 -- Complainants by Issue
1994 IF (l_P4_i2_19 > 0) AND (l_P4_i2_18 > 0) THEN
1995 NULL;
1996 ELSE
1997 FOR cur_totissue IN cur_p4_tot_harass_sex_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
1998 l_P4_i2_19 := cur_totissue.p4_prsn_cnt;
1999 l_P4_i2_18 := cur_totissue.p4_cnt;
2000 END LOOP;
2001 END IF;
2002 ELSIF v_P4Matrix(p4_ctr).claims = '150' THEN
2003 l_P4_j17 := l_P4_j17 + cur_ctr.p4_cnt;
2004 -- Complainants by Issue
2005 IF (l_P4_j19 > 0) AND (l_P4_j18 > 0) THEN
2006 NULL;
2007 ELSE
2008 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2009 l_P4_j19 := cur_totissue.p4_prsn_cnt;
2010 l_P4_j18 := cur_totissue.p4_cnt;
2011 END LOOP;
2012 END IF;
2013 ELSIF v_P4Matrix(p4_ctr).claims = '160' THEN
2014 l_P4_k17 := l_P4_k17 + cur_ctr.p4_cnt;
2015 -- Complainants by Issue
2016 IF (l_P4_k19 > 0) AND (l_P4_k18 > 0) THEN
2017 NULL;
2018 ELSE
2019 FOR cur_totissue IN cur_p4_tot_pic_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2020 l_P4_k19 := cur_totissue.p4_prsn_cnt;
2021 l_P4_k18 := cur_totissue.p4_cnt;
2022 END LOOP;
2023 END IF;
2024 ELSIF v_P4Matrix(p4_ctr).claims = '170' THEN
2025 l_P4_l17 := l_P4_l17 + cur_ctr.p4_cnt;
2026 -- Complainants by Issue
2027 IF (l_P4_l19 > 0) AND (l_P4_l18 > 0) THEN
2028 NULL;
2029 ELSE
2030 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2031 l_P4_l19 := cur_totissue.p4_prsn_cnt;
2032 l_P4_l18 := cur_totissue.p4_cnt;
2033 END LOOP;
2034 END IF;
2035 ELSIF v_P4Matrix(p4_ctr).claims = '180' THEN
2036 l_P4_m1_17 := l_P4_m1_17 + cur_ctr.p4_cnt;
2037 -- l_P4_m17 := l_P4_m17 + l_P4_m1_17;
2038 -- Complainants by Issue
2039 IF (l_P4_m1_19 > 0) AND (l_P4_m1_18 > 0) THEN
2040 NULL;
2041 ELSE
2042 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2043 l_P4_m1_19 := cur_totissue.p4_prsn_cnt;
2044 l_P4_m1_18 := cur_totissue.p4_cnt;
2045 END LOOP;
2046 END IF;
2047 ELSIF v_P4Matrix(p4_ctr).claims = '190' THEN
2048 l_P4_m2_17 := l_P4_m2_17 + cur_ctr.p4_cnt;
2049 -- l_P4_m17 := l_P4_m17 + l_P4_m2_17;
2050 -- Complainants by Issue
2051 IF (l_P4_m2_19 > 0) AND (l_P4_m2_18 > 0) THEN
2052 NULL;
2053 ELSE
2054 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2055 l_P4_m2_19 := cur_totissue.p4_prsn_cnt;
2056 l_P4_m2_18 := cur_totissue.p4_cnt;
2057 END LOOP;
2058 END IF;
2059 ELSIF v_P4Matrix(p4_ctr).claims = '200' THEN
2060 l_P4_n17 := l_P4_n17 + cur_ctr.p4_cnt;
2061 -- Complainants by Issue
2062 IF (l_P4_n19 > 0) AND (l_P4_n18 > 0) THEN
2063 NULL;
2064 ELSE
2065 FOR cur_totissue IN cur_p4_tot_reacc_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2066 l_P4_n19 := cur_totissue.p4_prsn_cnt;
2067 l_P4_n18 := cur_totissue.p4_cnt;
2068 END LOOP;
2069 END IF;
2070 ELSIF v_P4Matrix(p4_ctr).claims = '210' THEN
2071 l_P4_o17 := l_P4_o17 + cur_ctr.p4_cnt;
2072 -- Complainants by Issue
2073 IF (l_P4_o19 > 0) AND (l_P4_o18 > 0) THEN
2074 NULL;
2075 ELSE
2076 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2077 l_P4_o19 := cur_totissue.p4_prsn_cnt;
2078 l_P4_o18 := cur_totissue.p4_cnt;
2079 END LOOP;
2080 END IF;
2081 ELSIF v_P4Matrix(p4_ctr).claims = '220' THEN
2082 l_P4_p17 := l_P4_p17 + cur_ctr.p4_cnt;
2083 -- Complainants by Issue
2084 IF (l_P4_p19 > 0) THEN
2085 NULL;
2086 ELSE
2087 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2088 l_P4_p19 := cur_totissue.p4_prsn_cnt;
2089 l_P4_p18 := cur_totissue.p4_cnt;
2090 END LOOP;
2091 END IF;
2092 ELSIF v_P4Matrix(p4_ctr).claims = '230' THEN
2093 l_P4_q17 := l_P4_q17 + cur_ctr.p4_cnt;
2094 -- Complainants by Issue
2095 IF (l_P4_q19 > 0) AND (l_P4_q18 > 0) THEN
2096 NULL;
2097 ELSE
2098 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2099 l_P4_q19 := cur_totissue.p4_prsn_cnt;
2100 l_P4_q18 := cur_totissue.p4_cnt;
2101 END LOOP;
2102 END IF;
2103 ELSIF v_P4Matrix(p4_ctr).claims = '240' THEN
2104 l_P4_r17 := l_P4_r17 + cur_ctr.p4_cnt;
2105 -- Complainants by Issue
2106 IF (l_P4_r19 > 0) AND (l_P4_r18 > 0) THEN
2107 NULL;
2108 ELSE
2109 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2110 l_P4_r19 := cur_totissue.p4_prsn_cnt;
2111 l_P4_r18 := cur_totissue.p4_cnt;
2112 END LOOP;
2113 END IF;
2114 ELSIF v_P4Matrix(p4_ctr).claims = '250' THEN
2115 l_P4_s17 := l_P4_s17 + cur_ctr.p4_cnt;
2116 -- Complainants by Issue
2117 IF (l_P4_s19 > 0) AND (l_P4_s18 > 0) THEN
2118 NULL;
2119 ELSE
2120 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2121 l_P4_s19 := cur_totissue.p4_prsn_cnt;
2122 l_P4_s18 := cur_totissue.p4_cnt;
2123 END LOOP;
2124 END IF;
2125 ELSIF v_P4Matrix(p4_ctr).claims = '260' THEN
2126 l_P4_t17 := l_P4_t17 + cur_ctr.p4_cnt;
2127 -- Complainants by Issue
2128 IF (l_P4_t19 > 0) AND (l_P4_t18 > 0) THEN
2129 NULL;
2130 ELSE
2131 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2132 l_P4_t19 := cur_totissue.p4_prsn_cnt;
2133 l_P4_t18 := cur_totissue.p4_cnt;
2134 END LOOP;
2135 END IF;
2136 ELSIF v_P4Matrix(p4_ctr).claims = '270' THEN
2137 l_P4_u17 := l_P4_u17 + cur_ctr.p4_cnt;
2138 -- Complainants by Issue
2139 IF (l_P4_u19 > 0) AND (l_P4_u18 > 0) THEN
2140 NULL;
2141 ELSE
2142 FOR cur_totissue IN cur_p4_totprsn_issue(p_from_date,p_to_date,v_P4Matrix(p4_ctr).claims, p_agency_code) LOOP
2143 l_P4_u19 := cur_totissue.p4_prsn_cnt;
2144 l_P4_u18 := cur_totissue.p4_cnt;
2145 END LOOP;
2146 END IF;
2147 END IF;
2148
2149 -- Populate Summary Rows by looping columns
2150 IF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_RC_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '10') THEN
2151 l_tot1_1 := l_tot1_1 + cur_ctr.p4_cnt;
2152 -- Complainants by Basis
2153 IF (l_tot3_1 > 0) AND (l_tot2_1 > 0) THEN
2154 NULL;
2155 ELSE
2156 FOR cur_totissue IN cur_p4_totprsn_rcno_value(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases,'10', p_agency_code) LOOP
2157 l_tot3_1 := cur_totissue.p4_prsn_cnt;
2158 l_tot2_1 := cur_totissue.p4_cnt;
2159 END LOOP;
2160 END IF;
2161 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_RC_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '20') THEN
2162 l_tot1_2 := l_tot1_2 + cur_ctr.p4_cnt;
2163 -- Complainants by Basis
2164 IF (l_tot3_2 > 0) AND (l_tot2_2 > 0) THEN
2165 NULL;
2166 ELSE
2167 FOR cur_totissue IN cur_p4_totprsn_rcno_value(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases,'20', p_agency_code) LOOP
2168 l_tot3_2 := cur_totissue.p4_prsn_cnt;
2169 l_tot2_2 := cur_totissue.p4_cnt;
2170 END LOOP;
2171 END IF;
2172 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_RC_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '30') THEN
2173 l_tot1_3 := l_tot1_3 + cur_ctr.p4_cnt;
2174 -- Complainants by Basis
2175 IF (l_tot3_3 > 0) AND (l_tot2_3 > 0) THEN
2176 NULL;
2177 ELSE
2178 FOR cur_totissue IN cur_p4_totprsn_rcno_value(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases, '30',p_agency_code) LOOP
2179 l_tot3_3 := cur_totissue.p4_prsn_cnt;
2180 l_tot2_3 := cur_totissue.p4_cnt;
2181 END LOOP;
2182 END IF;
2183 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_RC_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '40') THEN
2184 l_tot1_4 := l_tot1_4 + cur_ctr.p4_cnt;
2185 -- Complainants by Basis
2186 IF (l_tot3_4 > 0) AND (l_tot2_4 > 0) THEN
2187 NULL;
2188 ELSE
2189 FOR cur_totissue IN cur_p4_totprsn_rcno_value(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases,'40', p_agency_code) LOOP
2190 l_tot3_4 := cur_totissue.p4_prsn_cnt;
2191 l_tot2_4 := cur_totissue.p4_cnt;
2192 END LOOP;
2193 END IF;
2194 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_SEX_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '10') THEN
2195 l_tot1_8 := l_tot1_8 + cur_ctr.p4_cnt;
2196 -- Complainants by Basis
2197 IF (l_tot3_8 > 0) AND (l_tot2_8 > 0) THEN
2198 NULL;
2199 ELSE
2200 FOR cur_totissue IN cur_p4_tot_sex_basis(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases,'10', p_agency_code) LOOP
2201 l_tot3_8 := cur_totissue.p4_prsn_cnt;
2202 l_tot2_8 := cur_totissue.p4_cnt;
2203 END LOOP;
2204 END IF;
2205 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_SEX_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '20') THEN
2206 l_tot1_9 := l_tot1_9 + cur_ctr.p4_cnt;
2207 -- Complainants by Basis
2208 IF (l_tot3_9 > 0) AND (l_tot2_9 > 0) THEN
2209 NULL;
2210 ELSE
2211 FOR cur_totissue IN cur_p4_tot_sex_basis(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases, '20',p_agency_code) LOOP
2212 l_tot3_9 := cur_totissue.p4_prsn_cnt;
2213 l_tot2_9 := cur_totissue.p4_cnt;
2214 END LOOP;
2215 END IF;
2216 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_NO_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '10') THEN
2217 l_tot1_10 := l_tot1_10 + cur_ctr.p4_cnt;
2218 -- Complainants by Basis
2219 IF (l_tot3_10 > 0) AND (l_tot2_10 > 0) THEN
2220 NULL;
2221 ELSE
2222 FOR cur_totissue IN cur_p4_totprsn_rcno_value(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases,'10', p_agency_code) LOOP
2223 l_tot3_10 := cur_totissue.p4_prsn_cnt;
2224 l_tot2_10 := cur_totissue.p4_cnt;
2225 END LOOP;
2226 END IF;
2227 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_NO_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '20') THEN
2228 l_tot1_11 := l_tot1_11 + cur_ctr.p4_cnt;
2229 -- Complainants by Basis
2230 IF (l_tot3_11 > 0) AND (l_tot2_11 > 0) THEN
2231 NULL;
2232 ELSE
2233 FOR cur_totissue IN cur_p4_totprsn_rcno_value(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases, '20', p_agency_code) LOOP
2234 l_tot3_11 := cur_totissue.p4_prsn_cnt;
2235 l_tot2_11 := cur_totissue.p4_cnt;
2236 END LOOP;
2237 END IF;
2238 ELSIF (v_P4Matrix(p4_ctr).bases = 'SEX' AND v_P4Matrix(p4_ctr).basevalues = 'M') THEN
2239 l_tot1_12 := l_tot1_12 + cur_ctr.p4_cnt;
2240 --Complainants by Basis
2241 IF (l_tot3_12 > 0) AND (l_tot2_12 > 0) THEN
2242 NULL;
2243 ELSE
2244 FOR cur_totissue IN cur_p4_tot_eqpay_basis(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases, 'M',p_agency_code) LOOP
2245 l_tot3_12 := cur_totissue.p4_prsn_cnt;
2246 l_tot2_12 := cur_totissue.p4_cnt;
2247 END LOOP;
2248 END IF;
2249 ELSIF (v_P4Matrix(p4_ctr).bases = 'SEX' AND v_P4Matrix(p4_ctr).basevalues = 'F') THEN
2250 l_tot1_13 := l_tot1_13 + cur_ctr.p4_cnt;
2251 -- Complainants by Basis
2252 IF (l_tot3_13 > 0) AND (l_tot2_13 > 0) THEN
2253 NULL;
2254 ELSE
2255 FOR cur_totissue IN cur_p4_tot_eqpay_basis(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases,'F', p_agency_code) LOOP
2256 l_tot3_13 := cur_totissue.p4_prsn_cnt;
2257 l_tot2_13 := cur_totissue.p4_cnt;
2258 END LOOP;
2259 END IF;
2263 IF (l_tot3_15 > 0) AND (l_tot2_15 > 0) THEN
2260 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_HC_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '10') THEN
2261 l_tot1_15 := l_tot1_15 + cur_ctr.p4_cnt;
2262 -- Complainants by Basis
2264 NULL;
2265 ELSE
2266 FOR cur_totissue IN cur_p4_totprsn_disab_value(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases,'10', p_agency_code) LOOP
2267 l_tot3_15 := cur_totissue.p4_prsn_cnt;
2268 l_tot2_15 := cur_totissue.p4_cnt;
2269 END LOOP;
2270 END IF;
2271 ELSIF (v_P4Matrix(p4_ctr).bases = 'GHR_US_COM_HC_BASIS' AND v_P4Matrix(p4_ctr).basevalues = '20') THEN
2272 l_tot1_16 := l_tot1_16 + cur_ctr.p4_cnt;
2273 -- Complainants by Basis
2274 IF (l_tot3_16 > 0) AND (l_tot2_16 > 0) THEN
2275 NULL;
2276 ELSE
2277 FOR cur_totissue IN cur_p4_totprsn_disab_value(p_from_date,p_to_date,v_P4Matrix(p4_ctr).bases,'20', p_agency_code) LOOP
2278 l_tot3_16 := cur_totissue.p4_prsn_cnt;
2279 l_tot2_16 := cur_totissue.p4_cnt;
2280 END LOOP;
2281 END IF;
2282 END IF;
2283 vCtr := vCtr + 1;
2284 END LOOP;
2285 END IF;
2286 END LOOP;
2287 fnd_file.put_line(fnd_file.log,'Finished populating Part4 - Fields');
2288
2289 l_P4_e17 := l_P4_e1 + l_P4_e2 + l_P4_e3 + l_P4_e4 + l_P4_e5 + l_P4_e6 + l_P4_e7 + l_P4_e8 + l_P4_e9 + l_P4_e10 + l_P4_e11 + l_P4_e14 + l_P4_e15 + l_P4_e16;
2290 l_P4_m17 := l_P4_m1 + l_P4_m2 + l_P4_m3 + l_P4_m4 + l_P4_m5 + l_P4_m6 + l_P4_m7 + l_P4_m8 + l_P4_m9 + l_P4_m10 + l_P4_m11 + l_P4_m14 + l_P4_m15 + l_P4_m16;
2291 l_P4_i17 := l_P4_i1 + l_P4_i2 + l_P4_i3 + l_P4_i4 + l_P4_i5 + l_P4_i6 + l_P4_i7 + l_P4_i8 + l_P4_i9 + l_P4_i10 + l_P4_i11 + l_P4_i14 + l_P4_i15 + l_P4_i16;
2292
2293 -- Calculating the header row for disciplinary action.
2294 FOR cur_totissue IN cur_p4_tot_discip_issue(p_from_date,p_to_date,p_agency_code) LOOP
2295 l_P4_e19 := cur_totissue.p4_prsn_cnt;
2296 l_P4_e18 := cur_totissue.p4_cnt;
2297 END LOOP;
2298
2299 -- Calculating the header row for Reassignment
2300 FOR cur_totissue IN cur_p4_tot_reassign_issue(p_from_date,p_to_date,p_agency_code) LOOP
2301 l_P4_m19 := cur_totissue.p4_prsn_cnt;
2302 l_P4_m18 := cur_totissue.p4_cnt;
2303 END LOOP;
2304
2305 -- Calculating the header row for Harassment
2306 FOR cur_totissue IN cur_p4_tot_harass_issue(p_from_date,p_to_date,p_agency_code) LOOP
2307 l_P4_i19 := cur_totissue.p4_prsn_cnt;
2308 l_P4_i18 := cur_totissue.p4_cnt;
2309 END LOOP;
2310
2311 -- Added after test plan review
2312 vXMLTable(vCtr).TagName := 'P4_e1';
2313 vXMLTable(vCtr).TagValue := to_char(l_P4_e1);
2314 vCtr := vCtr + 1;
2315 vXMLTable(vCtr).TagName := 'P4_e2';
2316 vXMLTable(vCtr).TagValue := to_char(l_P4_e2);
2317 vCtr := vCtr + 1;
2318 vXMLTable(vCtr).TagName := 'P4_e3';
2319 vXMLTable(vCtr).TagValue := to_char(l_P4_e3);
2320 vCtr := vCtr + 1;
2321 vXMLTable(vCtr).TagName := 'P4_e4';
2322 vXMLTable(vCtr).TagValue := to_char(l_P4_e4);
2323 vCtr := vCtr + 1;
2324 vXMLTable(vCtr).TagName := 'P4_e5';
2325 vXMLTable(vCtr).TagValue := to_char(l_P4_e5);
2326 vCtr := vCtr + 1;
2327 vXMLTable(vCtr).TagName := 'P4_e6';
2328 vXMLTable(vCtr).TagValue := to_char(l_P4_e6);
2329 vCtr := vCtr + 1;
2330 vXMLTable(vCtr).TagName := 'P4_e7';
2331 vXMLTable(vCtr).TagValue := to_char(l_P4_e7);
2332 vCtr := vCtr + 1;
2333 vXMLTable(vCtr).TagName := 'P4_e8';
2334 vXMLTable(vCtr).TagValue := to_char(l_P4_e8);
2335 vCtr := vCtr + 1;
2336 vXMLTable(vCtr).TagName := 'P4_e9';
2337 vXMLTable(vCtr).TagValue := to_char(l_P4_e9);
2338 vCtr := vCtr + 1;
2339 vXMLTable(vCtr).TagName := 'P4_e10';
2340 vXMLTable(vCtr).TagValue := to_char(l_P4_e10);
2341 vCtr := vCtr + 1;
2342 vXMLTable(vCtr).TagName := 'P4_e11';
2343 vXMLTable(vCtr).TagValue := to_char(l_P4_e11);
2344 vCtr := vCtr + 1;
2345 vXMLTable(vCtr).TagName := 'P4_e14';
2346 vXMLTable(vCtr).TagValue := to_char(l_P4_e14);
2347 vCtr := vCtr + 1;
2348 vXMLTable(vCtr).TagName := 'P4_e15';
2349 vXMLTable(vCtr).TagValue := to_char(l_P4_e15);
2350 vCtr := vCtr + 1;
2351 vXMLTable(vCtr).TagName := 'P4_e16';
2352 vXMLTable(vCtr).TagValue := to_char(l_P4_e16);
2353 vCtr := vCtr + 1;
2354 vXMLTable(vCtr).TagName := 'P4_e17';
2355 vXMLTable(vCtr).TagValue := to_char(l_P4_e17);
2356 vCtr := vCtr + 1;
2357 vXMLTable(vCtr).TagName := 'P4_e18';
2358 vXMLTable(vCtr).TagValue := to_char(l_P4_e18);
2359 vCtr := vCtr + 1;
2360 vXMLTable(vCtr).TagName := 'P4_e19';
2361 vXMLTable(vCtr).TagValue := to_char(l_P4_e19);
2362 vCtr := vCtr + 1;
2363 vXMLTable(vCtr).TagName := 'P4_m1';
2364 vXMLTable(vCtr).TagValue := to_char(l_P4_m1);
2365 vCtr := vCtr + 1;
2366 vXMLTable(vCtr).TagName := 'P4_m2';
2367 vXMLTable(vCtr).TagValue := to_char(l_P4_m2);
2368 vCtr := vCtr + 1;
2369 vXMLTable(vCtr).TagName := 'P4_m3';
2370 vXMLTable(vCtr).TagValue := to_char(l_P4_m3);
2371 vCtr := vCtr + 1;
2372 vXMLTable(vCtr).TagName := 'P4_m4';
2373 vXMLTable(vCtr).TagValue := to_char(l_P4_m4);
2374 vCtr := vCtr + 1;
2375 vXMLTable(vCtr).TagName := 'P4_m5';
2376 vXMLTable(vCtr).TagValue := to_char(l_P4_m5);
2377 vCtr := vCtr + 1;
2378 vXMLTable(vCtr).TagName := 'P4_m6';
2379 vXMLTable(vCtr).TagValue := to_char(l_P4_m6);
2380 vCtr := vCtr + 1;
2381 vXMLTable(vCtr).TagName := 'P4_m7';
2382 vXMLTable(vCtr).TagValue := to_char(l_P4_m7);
2383 vCtr := vCtr + 1;
2384 vXMLTable(vCtr).TagName := 'P4_m8';
2385 vXMLTable(vCtr).TagValue := to_char(l_P4_m8);
2386 vCtr := vCtr + 1;
2387 vXMLTable(vCtr).TagName := 'P4_m9';
2388 vXMLTable(vCtr).TagValue := to_char(l_P4_m9);
2389 vCtr := vCtr + 1;
2390 vXMLTable(vCtr).TagName := 'P4_m10';
2391 vXMLTable(vCtr).TagValue := to_char(l_P4_m10);
2392 vCtr := vCtr + 1;
2393 vXMLTable(vCtr).TagName := 'P4_m11';
2394 vXMLTable(vCtr).TagValue := to_char(l_P4_m11);
2395 vCtr := vCtr + 1;
2396 vXMLTable(vCtr).TagName := 'P4_m14';
2397 vXMLTable(vCtr).TagValue := to_char(l_P4_m14);
2398 vCtr := vCtr + 1;
2399 vXMLTable(vCtr).TagName := 'P4_m15';
2400 vXMLTable(vCtr).TagValue := to_char(l_P4_m15);
2401 vCtr := vCtr + 1;
2402 vXMLTable(vCtr).TagName := 'P4_m16';
2403 vXMLTable(vCtr).TagValue := to_char(l_P4_m16);
2404 vCtr := vCtr + 1;
2405 vXMLTable(vCtr).TagName := 'P4_m17';
2406 vXMLTable(vCtr).TagValue := to_char(l_P4_m17);
2407 vCtr := vCtr + 1;
2408 vXMLTable(vCtr).TagName := 'P4_m18';
2409 vXMLTable(vCtr).TagValue := to_char(l_P4_m18);
2410 vCtr := vCtr + 1;
2411 vXMLTable(vCtr).TagName := 'P4_m19';
2412 vXMLTable(vCtr).TagValue := to_char(l_P4_m19);
2413 vCtr := vCtr + 1;
2414
2415 vXMLTable(vCtr).TagName := 'P4_i1';
2416 vXMLTable(vCtr).TagValue := to_char(l_P4_i1);
2417 vCtr := vCtr + 1;
2418 vXMLTable(vCtr).TagName := 'P4_i2';
2419 vXMLTable(vCtr).TagValue := to_char(l_P4_i2);
2420 vCtr := vCtr + 1;
2421 vXMLTable(vCtr).TagName := 'P4_i3';
2422 vXMLTable(vCtr).TagValue := to_char(l_P4_i3);
2423 vCtr := vCtr + 1;
2424 vXMLTable(vCtr).TagName := 'P4_i4';
2425 vXMLTable(vCtr).TagValue := to_char(l_P4_i4);
2426 vCtr := vCtr + 1;
2427 vXMLTable(vCtr).TagName := 'P4_i5';
2428 vXMLTable(vCtr).TagValue := to_char(l_P4_i5);
2429 vCtr := vCtr + 1;
2430 vXMLTable(vCtr).TagName := 'P4_i6';
2431 vXMLTable(vCtr).TagValue := to_char(l_P4_i6);
2432 vCtr := vCtr + 1;
2433 vXMLTable(vCtr).TagName := 'P4_i7';
2434 vXMLTable(vCtr).TagValue := to_char(l_P4_i7);
2435 vCtr := vCtr + 1;
2436 vXMLTable(vCtr).TagName := 'P4_i8';
2437 vXMLTable(vCtr).TagValue := to_char(l_P4_i8);
2438 vCtr := vCtr + 1;
2439 vXMLTable(vCtr).TagName := 'P4_i9';
2440 vXMLTable(vCtr).TagValue := to_char(l_P4_i9);
2441 vCtr := vCtr + 1;
2442 vXMLTable(vCtr).TagName := 'P4_i10';
2443 vXMLTable(vCtr).TagValue := to_char(l_P4_i10);
2444 vCtr := vCtr + 1;
2445 vXMLTable(vCtr).TagName := 'P4_i11';
2446 vXMLTable(vCtr).TagValue := to_char(l_P4_i11);
2447 vCtr := vCtr + 1;
2448 vXMLTable(vCtr).TagName := 'P4_i14';
2449 vXMLTable(vCtr).TagValue := to_char(l_P4_i14);
2450 vCtr := vCtr + 1;
2451 vXMLTable(vCtr).TagName := 'P4_i15';
2452 vXMLTable(vCtr).TagValue := to_char(l_P4_i15);
2453 vCtr := vCtr + 1;
2454 vXMLTable(vCtr).TagName := 'P4_i16';
2455 vXMLTable(vCtr).TagValue := to_char(l_P4_i16);
2456 vCtr := vCtr + 1;
2457 vXMLTable(vCtr).TagName := 'P4_i17';
2458 vXMLTable(vCtr).TagValue := to_char(l_P4_i17);
2459 vCtr := vCtr + 1;
2460 vXMLTable(vCtr).TagName := 'P4_i18';
2461 vXMLTable(vCtr).TagValue := to_char(l_P4_i18);
2462 vCtr := vCtr + 1;
2463 vXMLTable(vCtr).TagName := 'P4_i19';
2464 vXMLTable(vCtr).TagValue := to_char(l_P4_i19);
2465 vCtr := vCtr + 1;
2466
2467 -- Populating values into the PL/SQL Table
2468 vXMLTable(vCtr).TagName := 'P4_a17';
2469 vXMLTable(vCtr).TagValue := to_char(l_P4_a17);
2470 vCtr := vCtr + 1;
2471 vXMLTable(vCtr).TagName := 'P4_a18';
2472 vXMLTable(vCtr).TagValue := to_char(l_P4_a18);
2473 vCtr := vCtr + 1;
2474 vXMLTable(vCtr).TagName := 'P4_a19';
2475 vXMLTable(vCtr).TagValue := to_char(l_P4_a19);
2476 vCtr := vCtr + 1;
2477 vXMLTable(vCtr).TagName := 'P4_b17';
2478 vXMLTable(vCtr).TagValue := to_char(l_P4_b17);
2479 vCtr := vCtr + 1;
2480 vXMLTable(vCtr).TagName := 'P4_b18';
2481 vXMLTable(vCtr).TagValue := to_char(l_P4_b18);
2482 vCtr := vCtr + 1;
2483 vXMLTable(vCtr).TagName := 'P4_b19';
2484 vXMLTable(vCtr).TagValue := to_char(l_P4_b19);
2485 vCtr := vCtr + 1;
2486 vXMLTable(vCtr).TagName := 'P4_c17';
2487 vXMLTable(vCtr).TagValue := to_char(l_P4_c17);
2488 vCtr := vCtr + 1;
2489 vXMLTable(vCtr).TagName := 'P4_c18';
2490 vXMLTable(vCtr).TagValue := to_char(l_P4_c18);
2491 vCtr := vCtr + 1;
2492 vXMLTable(vCtr).TagName := 'P4_c19';
2493 vXMLTable(vCtr).TagValue := to_char(l_P4_c19);
2494 vCtr := vCtr + 1;
2495 vXMLTable(vCtr).TagName := 'P4_d17';
2496 vXMLTable(vCtr).TagValue := to_char(l_P4_d17);
2497 vCtr := vCtr + 1;
2498 vXMLTable(vCtr).TagName := 'P4_d18';
2499 vXMLTable(vCtr).TagValue := to_char(l_P4_d18);
2500 vCtr := vCtr + 1;
2501 vXMLTable(vCtr).TagName := 'P4_d19';
2502 vXMLTable(vCtr).TagValue := to_char(l_P4_d19);
2503 vCtr := vCtr + 1;
2504 vXMLTable(vCtr).TagName := 'P4_e1_17';
2505 vXMLTable(vCtr).TagValue := to_char(l_P4_e1_17);
2506 vCtr := vCtr + 1;
2507 vXMLTable(vCtr).TagName := 'P4_e1_18';
2508 vXMLTable(vCtr).TagValue := to_char(l_P4_e1_18);
2509 vCtr := vCtr + 1;
2510 vXMLTable(vCtr).TagName := 'P4_e1_19';
2511 vXMLTable(vCtr).TagValue := to_char(l_P4_e1_19);
2512 vCtr := vCtr + 1;
2513 vXMLTable(vCtr).TagName := 'P4_e2_17';
2514 vXMLTable(vCtr).TagValue := to_char(l_P4_e2_17);
2515 vCtr := vCtr + 1;
2516 vXMLTable(vCtr).TagName := 'P4_e2_18';
2517 vXMLTable(vCtr).TagValue := to_char(l_P4_e2_18);
2518 vCtr := vCtr + 1;
2519 vXMLTable(vCtr).TagName := 'P4_e2_19';
2520 vXMLTable(vCtr).TagValue := to_char(l_P4_e2_19);
2521 vCtr := vCtr + 1;
2522 vXMLTable(vCtr).TagName := 'P4_e3_17';
2523 vXMLTable(vCtr).TagValue := to_char(l_P4_e3_17);
2524 vCtr := vCtr + 1;
2525 vXMLTable(vCtr).TagName := 'P4_e3_18';
2526 vXMLTable(vCtr).TagValue := to_char(l_P4_e3_18);
2527 vCtr := vCtr + 1;
2528 vXMLTable(vCtr).TagName := 'P4_e3_19';
2529 vXMLTable(vCtr).TagValue := to_char(l_P4_e3_19);
2530 vCtr := vCtr + 1;
2531 vXMLTable(vCtr).TagName := 'P4_e4_17';
2532 vXMLTable(vCtr).TagValue := to_char(l_P4_e4_17);
2533 vCtr := vCtr + 1;
2534 vXMLTable(vCtr).TagName := 'P4_e4_18';
2535 vXMLTable(vCtr).TagValue := to_char(l_P4_e4_18);
2536 vCtr := vCtr + 1;
2537 vXMLTable(vCtr).TagName := 'P4_e4_19';
2538 vXMLTable(vCtr).TagValue := to_char(l_P4_e4_19);
2539 vCtr := vCtr + 1;
2540 vXMLTable(vCtr).TagName := 'P4_e5_17';
2541 vXMLTable(vCtr).TagValue := to_char(l_P4_e5_17);
2542 vCtr := vCtr + 1;
2543 vXMLTable(vCtr).TagName := 'P4_e5_18';
2544 vXMLTable(vCtr).TagValue := to_char(l_P4_e5_18);
2545 vCtr := vCtr + 1;
2546 vXMLTable(vCtr).TagName := 'P4_e5_19';
2547 vXMLTable(vCtr).TagValue := to_char(l_P4_e5_19);
2548 vCtr := vCtr + 1;
2549
2550 vXMLTable(vCtr).TagName := 'P4_e5_17';
2551 vXMLTable(vCtr).TagValue := to_char(l_P4_e5_17);
2552 vCtr := vCtr + 1;
2553 vXMLTable(vCtr).TagName := 'P4_e5_18';
2554 vXMLTable(vCtr).TagValue := to_char(l_P4_e5_18);
2555 vCtr := vCtr + 1;
2556 vXMLTable(vCtr).TagName := 'P4_e5_19';
2557 vXMLTable(vCtr).TagValue := to_char(l_P4_e5_19);
2558 vCtr := vCtr + 1;
2559
2560 -- Filling zeros for other fields
2561 FOR cur_ctr IN 1..19 LOOP
2562 IF (cur_ctr = 12) OR (cur_ctr = 13) THEN
2563 NULL;
2564 ELSE
2565 vXMLTable(vCtr).TagName := 'P4_e6_' || cur_ctr;
2566 vXMLTable(vCtr).TagValue := '0';
2567 vCtr := vCtr + 1;
2568 END IF;
2569 END LOOP;
2570
2571 FOR cur_ctr IN 1..19 LOOP
2572 IF (cur_ctr = 12) OR (cur_ctr = 13) THEN
2573 NULL;
2574 ELSE
2575 vXMLTable(vCtr).TagName := 'P4_e7_' || cur_ctr;
2576 vXMLTable(vCtr).TagValue := '0';
2577 vCtr := vCtr + 1;
2578 END IF;
2579 END LOOP;
2580
2581 vXMLTable(vCtr).TagName := 'P4_f17';
2582 vXMLTable(vCtr).TagValue := to_char(l_P4_f17);
2583 vCtr := vCtr + 1;
2584 vXMLTable(vCtr).TagName := 'P4_f18';
2585 vXMLTable(vCtr).TagValue := to_char(l_P4_f18);
2586 vCtr := vCtr + 1;
2587 vXMLTable(vCtr).TagName := 'P4_f19';
2588 vXMLTable(vCtr).TagValue := to_char(l_P4_f19);
2589 vCtr := vCtr + 1;
2590 vXMLTable(vCtr).TagName := 'P4_g17';
2591 vXMLTable(vCtr).TagValue := to_char(l_P4_g17);
2592 vCtr := vCtr + 1;
2593 vXMLTable(vCtr).TagName := 'P4_g18';
2594 vXMLTable(vCtr).TagValue := to_char(l_P4_g18);
2595 vCtr := vCtr + 1;
2596 vXMLTable(vCtr).TagName := 'P4_g19';
2597 vXMLTable(vCtr).TagValue := to_char(l_P4_g19);
2598 vCtr := vCtr + 1;
2599 vXMLTable(vCtr).TagName := 'P4_h17';
2600 vXMLTable(vCtr).TagValue := to_char(l_P4_h17);
2601 vCtr := vCtr + 1;
2602 vXMLTable(vCtr).TagName := 'P4_h18';
2603 vXMLTable(vCtr).TagValue := to_char(l_P4_h18);
2604 vCtr := vCtr + 1;
2605 vXMLTable(vCtr).TagName := 'P4_h19';
2606 vXMLTable(vCtr).TagValue := to_char(l_P4_h19);
2607 vCtr := vCtr + 1;
2608 vXMLTable(vCtr).TagName := 'P4_i1_17';
2609 vXMLTable(vCtr).TagValue := to_char(l_P4_i1_17);
2610 vCtr := vCtr + 1;
2611 vXMLTable(vCtr).TagName := 'P4_i1_18';
2612 vXMLTable(vCtr).TagValue := to_char(l_P4_i1_18);
2613 vCtr := vCtr + 1;
2614 vXMLTable(vCtr).TagName := 'P4_i1_19';
2615 vXMLTable(vCtr).TagValue := to_char(l_P4_i1_19);
2616 vCtr := vCtr + 1;
2617 vXMLTable(vCtr).TagName := 'P4_i2_17';
2618 vXMLTable(vCtr).TagValue := to_char(l_P4_i2_17);
2619 vCtr := vCtr + 1;
2620 vXMLTable(vCtr).TagName := 'P4_i2_18';
2621 vXMLTable(vCtr).TagValue := to_char(l_P4_i2_18);
2622 vCtr := vCtr + 1;
2623 vXMLTable(vCtr).TagName := 'P4_i2_19';
2624 vXMLTable(vCtr).TagValue := to_char(l_P4_i2_19);
2625 vCtr := vCtr + 1;
2626 vXMLTable(vCtr).TagName := 'P4_j17';
2627 vXMLTable(vCtr).TagValue := to_char(l_P4_j17);
2628 vCtr := vCtr + 1;
2629 vXMLTable(vCtr).TagName := 'P4_j18';
2630 vXMLTable(vCtr).TagValue := to_char(l_P4_j18);
2631 vCtr := vCtr + 1;
2632 vXMLTable(vCtr).TagName := 'P4_j19';
2633 vXMLTable(vCtr).TagValue := to_char(l_P4_j19);
2634 vCtr := vCtr + 1;
2635 vXMLTable(vCtr).TagName := 'P4_k17';
2636 vXMLTable(vCtr).TagValue := to_char(l_P4_k17);
2637 vCtr := vCtr + 1;
2638 vXMLTable(vCtr).TagName := 'P4_k18';
2639 vXMLTable(vCtr).TagValue := to_char(l_P4_k18);
2640 vCtr := vCtr + 1;
2641 vXMLTable(vCtr).TagName := 'P4_k19';
2642 vXMLTable(vCtr).TagValue := to_char(l_P4_k19);
2643 vCtr := vCtr + 1;
2644 vXMLTable(vCtr).TagName := 'P4_l17';
2645 vXMLTable(vCtr).TagValue := to_char(l_P4_l17);
2646 vCtr := vCtr + 1;
2647 vXMLTable(vCtr).TagName := 'P4_l18';
2648 vXMLTable(vCtr).TagValue := to_char(l_P4_l18);
2649 vCtr := vCtr + 1;
2650 vXMLTable(vCtr).TagName := 'P4_l19';
2651 vXMLTable(vCtr).TagValue := to_char(l_P4_l19);
2652 vCtr := vCtr + 1;
2653 vXMLTable(vCtr).TagName := 'P4_m1_17';
2654 vXMLTable(vCtr).TagValue := to_char(l_P4_m1_17);
2655 vCtr := vCtr + 1;
2656 vXMLTable(vCtr).TagName := 'P4_m1_18';
2657 vXMLTable(vCtr).TagValue := to_char(l_P4_m1_18);
2658 vCtr := vCtr + 1;
2659 vXMLTable(vCtr).TagName := 'P4_m1_19';
2660 vXMLTable(vCtr).TagValue := to_char(l_P4_m1_19);
2661 vCtr := vCtr + 1;
2662 vXMLTable(vCtr).TagName := 'P4_m2_17';
2663 vXMLTable(vCtr).TagValue := to_char(l_P4_m2_17);
2664 vCtr := vCtr + 1;
2665 vXMLTable(vCtr).TagName := 'P4_m2_18';
2666 vXMLTable(vCtr).TagValue := to_char(l_P4_m2_18);
2667 vCtr := vCtr + 1;
2668 vXMLTable(vCtr).TagName := 'P4_m2_19';
2669 vXMLTable(vCtr).TagValue := to_char(l_P4_m2_19);
2670 vCtr := vCtr + 1;
2671 vXMLTable(vCtr).TagName := 'P4_n17';
2672 vXMLTable(vCtr).TagValue := to_char(l_P4_n17);
2673 vCtr := vCtr + 1;
2674 vXMLTable(vCtr).TagName := 'P4_n18';
2675 vXMLTable(vCtr).TagValue := to_char(l_P4_n18);
2676 vCtr := vCtr + 1;
2677 vXMLTable(vCtr).TagName := 'P4_n19';
2678 vXMLTable(vCtr).TagValue := to_char(l_P4_n19);
2679 vCtr := vCtr + 1;
2680 vXMLTable(vCtr).TagName := 'P4_o17';
2681 vXMLTable(vCtr).TagValue := to_char(l_P4_o17);
2682 vCtr := vCtr + 1;
2683 vXMLTable(vCtr).TagName := 'P4_o18';
2684 vXMLTable(vCtr).TagValue := to_char(l_P4_o18);
2685 vCtr := vCtr + 1;
2686 vXMLTable(vCtr).TagName := 'P4_o19';
2687 vXMLTable(vCtr).TagValue := to_char(l_P4_o19);
2688 vCtr := vCtr + 1;
2689 vXMLTable(vCtr).TagName := 'P4_p17';
2690 vXMLTable(vCtr).TagValue := to_char(l_P4_p17);
2691 vCtr := vCtr + 1;
2692 vXMLTable(vCtr).TagName := 'P4_p18';
2693 vXMLTable(vCtr).TagValue := to_char(l_P4_p18);
2694 vCtr := vCtr + 1;
2695 vXMLTable(vCtr).TagName := 'P4_p19';
2696 vXMLTable(vCtr).TagValue := to_char(l_P4_p19);
2697 vCtr := vCtr + 1;
2698 vXMLTable(vCtr).TagName := 'P4_q17';
2699 vXMLTable(vCtr).TagValue := to_char(l_P4_q17);
2700 vCtr := vCtr + 1;
2701 vXMLTable(vCtr).TagName := 'P4_q18';
2702 vXMLTable(vCtr).TagValue := to_char(l_P4_q18);
2703 vCtr := vCtr + 1;
2704 vXMLTable(vCtr).TagName := 'P4_q19';
2705 vXMLTable(vCtr).TagValue := to_char(l_P4_q19);
2706 vCtr := vCtr + 1;
2707 vXMLTable(vCtr).TagName := 'P4_r17';
2708 vXMLTable(vCtr).TagValue := to_char(l_P4_r17);
2709 vCtr := vCtr + 1;
2710 vXMLTable(vCtr).TagName := 'P4_r18';
2711 vXMLTable(vCtr).TagValue := to_char(l_P4_r18);
2712 vCtr := vCtr + 1;
2713 vXMLTable(vCtr).TagName := 'P4_r19';
2714 vXMLTable(vCtr).TagValue := to_char(l_P4_r19);
2715 vCtr := vCtr + 1;
2716 vXMLTable(vCtr).TagName := 'P4_s17';
2717 vXMLTable(vCtr).TagValue := to_char(l_P4_s17);
2718 vCtr := vCtr + 1;
2719 vXMLTable(vCtr).TagName := 'P4_s18';
2720 vXMLTable(vCtr).TagValue := to_char(l_P4_s18);
2721 vCtr := vCtr + 1;
2722 vXMLTable(vCtr).TagName := 'P4_s19';
2723 vXMLTable(vCtr).TagValue := to_char(l_P4_s19);
2724 vCtr := vCtr + 1;
2725 vXMLTable(vCtr).TagName := 'P4_t17';
2726 vXMLTable(vCtr).TagValue := to_char(l_P4_t17);
2727 vCtr := vCtr + 1;
2728 vXMLTable(vCtr).TagName := 'P4_t18';
2729 vXMLTable(vCtr).TagValue := to_char(l_P4_t18);
2730 vCtr := vCtr + 1;
2731 vXMLTable(vCtr).TagName := 'P4_t19';
2732 vXMLTable(vCtr).TagValue := to_char(l_P4_t19);
2733 vCtr := vCtr + 1;
2734 vXMLTable(vCtr).TagName := 'P4_u17';
2735 vXMLTable(vCtr).TagValue := to_char(l_P4_u17);
2736 vCtr := vCtr + 1;
2737 vXMLTable(vCtr).TagName := 'P4_u18';
2738 vXMLTable(vCtr).TagValue := to_char(l_P4_u18);
2739 vCtr := vCtr + 1;
2740 vXMLTable(vCtr).TagName := 'P4_u19';
2741 vXMLTable(vCtr).TagValue := to_char(l_P4_u19);
2742 vCtr := vCtr + 1;
2743
2744 -- Filling zeros for other fields
2745 FOR cur_i IN 1..5 LOOP
2746 FOR cur_j IN 1..19 LOOP
2747 IF (cur_j = 12) OR (cur_j = 13) THEN
2748 NULL;
2749 ELSE
2750 vXMLTable(vCtr).TagName := 'P4_u' ||cur_i || '_' || cur_j;
2751 vXMLTable(vCtr).TagValue := '0';
2752 vCtr := vCtr + 1;
2753 END IF;
2754 END LOOP;
2755 END LOOP;
2756
2757 fnd_file.put_line(fnd_file.log,'Finished populating Part4 - Total fields by Issues');
2758 --------------
2759 vXMLTable(vCtr).TagName := 'P4_tot1_1';
2760 vXMLTable(vCtr).TagValue := to_char(l_tot1_1);
2761 vCtr := vCtr + 1;
2762 vXMLTable(vCtr).TagName := 'P4_tot2_1';
2763 vXMLTable(vCtr).TagValue := to_char(l_tot2_1);
2764 vCtr := vCtr + 1;
2765 vXMLTable(vCtr).TagName := 'P4_tot3_1';
2766 vXMLTable(vCtr).TagValue := to_char(l_tot3_1);
2767 vCtr := vCtr + 1;
2768 vXMLTable(vCtr).TagName := 'P4_tot1_2';
2769 vXMLTable(vCtr).TagValue := to_char(l_tot1_2);
2770 vCtr := vCtr + 1;
2771 vXMLTable(vCtr).TagName := 'P4_tot2_2';
2772 vXMLTable(vCtr).TagValue := to_char(l_tot2_2);
2773 vCtr := vCtr + 1;
2774 vXMLTable(vCtr).TagName := 'P4_tot3_2';
2775 vXMLTable(vCtr).TagValue := to_char(l_tot3_2);
2776 vCtr := vCtr + 1;
2777 vXMLTable(vCtr).TagName := 'P4_tot1_3';
2778 vXMLTable(vCtr).TagValue := to_char(l_tot1_3);
2779 vCtr := vCtr + 1;
2780 vXMLTable(vCtr).TagName := 'P4_tot2_3';
2781 vXMLTable(vCtr).TagValue := to_char(l_tot2_3);
2782 vCtr := vCtr + 1;
2783 vXMLTable(vCtr).TagName := 'P4_tot3_3';
2784 vXMLTable(vCtr).TagValue := to_char(l_tot3_3);
2785 vCtr := vCtr + 1;
2786 vXMLTable(vCtr).TagName := 'P4_tot1_4';
2787 vXMLTable(vCtr).TagValue := to_char(l_tot1_4);
2788 vCtr := vCtr + 1;
2789 vXMLTable(vCtr).TagName := 'P4_tot2_4';
2790 vXMLTable(vCtr).TagValue := to_char(l_tot2_4);
2791 vCtr := vCtr + 1;
2792 vXMLTable(vCtr).TagName := 'P4_tot3_4';
2793 vXMLTable(vCtr).TagValue := to_char(l_tot3_4);
2794 vCtr := vCtr + 1;
2795 vXMLTable(vCtr).TagName := 'P4_tot1_5';
2796 vXMLTable(vCtr).TagValue := to_char(l_tot1_5);
2797 vCtr := vCtr + 1;
2798 vXMLTable(vCtr).TagName := 'P4_tot2_5';
2799 vXMLTable(vCtr).TagValue := to_char(l_tot2_5);
2800 vCtr := vCtr + 1;
2801 vXMLTable(vCtr).TagName := 'P4_tot3_5';
2802 vXMLTable(vCtr).TagValue := to_char(l_tot3_5);
2803 vCtr := vCtr + 1;
2804 vXMLTable(vCtr).TagName := 'P4_tot1_6';
2805 vXMLTable(vCtr).TagValue := to_char(l_tot1_6);
2806 vCtr := vCtr + 1;
2807 vXMLTable(vCtr).TagName := 'P4_tot2_6';
2808 vXMLTable(vCtr).TagValue := to_char(l_tot2_6);
2809 vCtr := vCtr + 1;
2810 vXMLTable(vCtr).TagName := 'P4_tot3_6';
2811 vXMLTable(vCtr).TagValue := to_char(l_tot3_6);
2812 vCtr := vCtr + 1;
2813 vXMLTable(vCtr).TagName := 'P4_tot1_7';
2814 vXMLTable(vCtr).TagValue := to_char(l_tot1_7);
2815 vCtr := vCtr + 1;
2816 vXMLTable(vCtr).TagName := 'P4_tot2_7';
2817 vXMLTable(vCtr).TagValue := to_char(l_tot2_7);
2818 vCtr := vCtr + 1;
2819 vXMLTable(vCtr).TagName := 'P4_tot3_7';
2820 vXMLTable(vCtr).TagValue := to_char(l_tot3_7);
2821 vCtr := vCtr + 1;
2822 vXMLTable(vCtr).TagName := 'P4_tot1_8';
2823 vXMLTable(vCtr).TagValue := to_char(l_tot1_8);
2824 vCtr := vCtr + 1;
2825 vXMLTable(vCtr).TagName := 'P4_tot2_8';
2826 vXMLTable(vCtr).TagValue := to_char(l_tot2_8);
2827 vCtr := vCtr + 1;
2828 vXMLTable(vCtr).TagName := 'P4_tot3_8';
2829 vXMLTable(vCtr).TagValue := to_char(l_tot3_8);
2830 vCtr := vCtr + 1;
2831 vXMLTable(vCtr).TagName := 'P4_tot1_9';
2832 vXMLTable(vCtr).TagValue := to_char(l_tot1_9);
2833 vCtr := vCtr + 1;
2834 vXMLTable(vCtr).TagName := 'P4_tot2_9';
2835 vXMLTable(vCtr).TagValue := to_char(l_tot2_9);
2836 vCtr := vCtr + 1;
2837 vXMLTable(vCtr).TagName := 'P4_tot3_9';
2838 vXMLTable(vCtr).TagValue := to_char(l_tot3_9);
2839 vCtr := vCtr + 1;
2840 vXMLTable(vCtr).TagName := 'P4_tot1_10';
2841 vXMLTable(vCtr).TagValue := to_char(l_tot1_10);
2842 vCtr := vCtr + 1;
2843 vXMLTable(vCtr).TagName := 'P4_tot2_10';
2844 vXMLTable(vCtr).TagValue := to_char(l_tot2_10);
2845 vCtr := vCtr + 1;
2846 vXMLTable(vCtr).TagName := 'P4_tot3_10';
2847 vXMLTable(vCtr).TagValue := to_char(l_tot3_10);
2848 vCtr := vCtr + 1;
2849 vXMLTable(vCtr).TagName := 'P4_tot1_11';
2850 vXMLTable(vCtr).TagValue := to_char(l_tot1_11);
2851 vCtr := vCtr + 1;
2852 vXMLTable(vCtr).TagName := 'P4_tot2_11';
2853 vXMLTable(vCtr).TagValue := to_char(l_tot2_11);
2854 vCtr := vCtr + 1;
2855 vXMLTable(vCtr).TagName := 'P4_tot3_11';
2859 vXMLTable(vCtr).TagValue := to_char(l_tot1_12);
2856 vXMLTable(vCtr).TagValue := to_char(l_tot3_11);
2857 vCtr := vCtr + 1;
2858 vXMLTable(vCtr).TagName := 'P4_tot1_12';
2860 vCtr := vCtr + 1;
2861 vXMLTable(vCtr).TagName := 'P4_tot2_12';
2862 vXMLTable(vCtr).TagValue := to_char(l_tot2_12);
2863 vCtr := vCtr + 1;
2864 vXMLTable(vCtr).TagName := 'P4_tot3_12';
2865 vXMLTable(vCtr).TagValue := to_char(l_tot3_12);
2866 vCtr := vCtr + 1;
2867 vXMLTable(vCtr).TagName := 'P4_tot1_13';
2868 vXMLTable(vCtr).TagValue := to_char(l_tot1_13);
2869 vCtr := vCtr + 1;
2870 vXMLTable(vCtr).TagName := 'P4_tot2_13';
2871 vXMLTable(vCtr).TagValue := to_char(l_tot2_13);
2872 vCtr := vCtr + 1;
2873 vXMLTable(vCtr).TagName := 'P4_tot3_13';
2874 vXMLTable(vCtr).TagValue := to_char(l_tot3_13);
2875 vCtr := vCtr + 1;
2876 vXMLTable(vCtr).TagName := 'P4_tot1_14';
2877 vXMLTable(vCtr).TagValue := to_char(l_tot1_14);
2878 vCtr := vCtr + 1;
2879 vXMLTable(vCtr).TagName := 'P4_tot2_14';
2880 vXMLTable(vCtr).TagValue := to_char(l_tot2_14);
2881 vCtr := vCtr + 1;
2882 vXMLTable(vCtr).TagName := 'P4_tot3_14';
2883 vXMLTable(vCtr).TagValue := to_char(l_tot3_14);
2884 vCtr := vCtr + 1;
2885 vXMLTable(vCtr).TagName := 'P4_tot1_15';
2886 vXMLTable(vCtr).TagValue := to_char(l_tot1_15);
2887 vCtr := vCtr + 1;
2888 vXMLTable(vCtr).TagName := 'P4_tot2_15';
2889 vXMLTable(vCtr).TagValue := to_char(l_tot2_15);
2890 vCtr := vCtr + 1;
2891 vXMLTable(vCtr).TagName := 'P4_tot3_15';
2892 vXMLTable(vCtr).TagValue := to_char(l_tot3_15);
2893 vCtr := vCtr + 1;
2894 vXMLTable(vCtr).TagName := 'P4_tot1_16';
2895 vXMLTable(vCtr).TagValue := to_char(l_tot1_16);
2896 vCtr := vCtr + 1;
2897 vXMLTable(vCtr).TagName := 'P4_tot2_16';
2898 vXMLTable(vCtr).TagValue := to_char(l_tot2_16);
2899 vCtr := vCtr + 1;
2900 vXMLTable(vCtr).TagName := 'P4_tot3_16';
2901 vXMLTable(vCtr).TagValue := to_char(l_tot3_16);
2902 vCtr := vCtr + 1;
2903 fnd_file.put_line(fnd_file.log,'Finished populating Part4 - Total fields by Bases');
2904 fnd_file.put_line(fnd_file.log,'------------End of Part4----------------');
2905
2906 END populate_part4;
2907
2908 PROCEDURE populate_part5(
2909 p_from_date in date,
2910 p_to_date in date,
2911 p_agency_code in varchar2)
2912 IS
2913 CURSOR cur_p5(c_from_date date, c_to_date date, c_statute ghr_compl_bases.statute%type,c_agency_code ghr_complaints2.agency_code%type) IS
2914 SELECT COUNT(*) p5_cnt
2915 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CLAIMS claims, GHR_COMPL_BASES bases
2916 WHERE bases.compl_claim_id = claims.compl_claim_id
2917 AND claims.complaint_id = cmp.complaint_id
2918 AND claims.phase IN (20,30)
2919 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date
2920 AND cmp.formal_com_filed IS NOT NULL
2921 AND cmp.agency_code = c_agency_code
2922 AND bases.statute = c_statute;
2923
2924 l_P5_a1 NUMBER;
2925 l_P5_a2 NUMBER;
2926 l_P5_a3 NUMBER;
2927 l_P5_a4 NUMBER;
2928 l_P5_b NUMBER;
2929
2930 BEGIN
2931 -- Title VII
2932 FOR cur_ctr IN cur_p5(p_from_date,p_to_date,'10', p_agency_code) LOOP
2933 vXMLTable(vCtr).TagName := 'P5_a1';
2934 vXMLTable(vCtr).TagValue := to_char(cur_ctr.p5_cnt);
2935 l_P5_a1 := cur_ctr.p5_cnt;
2936 vCtr := vCtr + 1;
2937 END LOOP;
2938 fnd_file.put_line(fnd_file.log,'Finished populating Part5 - Title VII');
2939 -- Age Discrimination
2940 FOR cur_ctr IN cur_p5(p_from_date,p_to_date,'20', p_agency_code) LOOP
2941 vXMLTable(vCtr).TagName := 'P5_a2';
2942 vXMLTable(vCtr).TagValue := to_char(cur_ctr.p5_cnt);
2943 l_P5_a2 := cur_ctr.p5_cnt;
2944 vCtr := vCtr + 1;
2945 END LOOP;
2946 fnd_file.put_line(fnd_file.log,'Finished populating Part5 - Age Discrimination');
2947 -- Rehabilitation act
2948 FOR cur_ctr IN cur_p5(p_from_date,p_to_date,'30', p_agency_code) LOOP
2949 vXMLTable(vCtr).TagName := 'P5_a3';
2950 vXMLTable(vCtr).TagValue := to_char(cur_ctr.p5_cnt);
2951 l_P5_a3 := cur_ctr.p5_cnt;
2952 vCtr := vCtr + 1;
2953 END LOOP;
2954 fnd_file.put_line(fnd_file.log,'Finished populating Part5 - Rehabilitation act');
2955 -- Equal Pay act.
2956 FOR cur_ctr IN cur_p5(p_from_date,p_to_date,'40', p_agency_code) LOOP
2957 vXMLTable(vCtr).TagName := 'P5_a4';
2958 vXMLTable(vCtr).TagValue := to_char(cur_ctr.p5_cnt);
2959 l_P5_a4 := cur_ctr.p5_cnt;
2960 vCtr := vCtr + 1;
2961 END LOOP;
2962 fnd_file.put_line(fnd_file.log,'Finished populating Part5 - Equal Pay act.');
2963 -- Total by statutes
2964 l_P5_b := l_P5_a1 + l_P5_a2 + l_P5_a3 + l_P5_a4;
2965
2966 vXMLTable(vCtr).TagName := 'P5_b';
2967 vXMLTable(vCtr).TagValue := to_char(l_P5_b);
2968 vCtr := vCtr + 1;
2969 fnd_file.put_line(fnd_file.log,'Finished populating Part5 - Total by statutes');
2970 fnd_file.put_line(fnd_file.log,'------------End of Part5----------------');
2971 END populate_part5;
2972
2973 PROCEDURE populate_part6(
2974 p_from_date in date,
2975 p_to_date in date,
2976 p_agency_code in varchar2)
2977 IS
2978 CURSOR cur_total_nodays(c_from_date date, c_to_date date, c_noc GHR_COMPLAINTS2.nature_of_closure%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
2979 SELECT COUNT(*) p6_cnt, NVL(SUM(ROUND((cmp.complaint_closed - cmp.formal_com_filed),0)+1),0) p6_sum
2980 FROM GHR_COMPLAINTS2 cmp
2981 WHERE cmp.formal_com_filed IS NOT NULL
2982 AND cmp.nature_of_closure = c_noc
2983 AND cmp.agency_code = c_agency_code
2984 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date;
2985
2986 CURSOR cur_settlements(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
2987 SELECT COUNT(*) p6_cnt, NVL(SUM(ROUND((cmp.complaint_closed - cmp.formal_com_filed),0)+1),0) p6_sum
2988 FROM GHR_COMPLAINTS2 cmp
2989 WHERE cmp.formal_com_filed IS NOT NULL
2990 AND cmp.nature_of_closure IN (110,120,130,140,150,160)
2994
2991 AND cmp.agency_code = c_agency_code
2992 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date;
2993
2995 l_P6_a1_num NUMBER;
2996 l_P6_a1_day NUMBER;
2997 l_P6_a2_num NUMBER;
2998 l_P6_a2_day NUMBER;
2999 l_P6_a3_num NUMBER;
3000 l_P6_a3_day NUMBER;
3001 l_P6_a_num NUMBER;
3002 l_P6_a_day NUMBER;
3003
3004 l_P6_bnum NUMBER;
3005 l_P6_bday NUMBER;
3006 l_P6_b1_num NUMBER;
3007 l_P6_b1_day NUMBER;
3008 l_P6_b2_num NUMBER;
3009 l_P6_b2_day NUMBER;
3010 l_P6_b3_num NUMBER;
3011 l_P6_b3_day NUMBER;
3012
3013 l_P6_cnum NUMBER;
3014 l_P6_cday NUMBER;
3015 l_P6_c1_num NUMBER;
3016 l_P6_c1_day NUMBER;
3017 l_P6_c1a_num NUMBER;
3018 l_P6_c1a_day NUMBER;
3019 l_P6_c1b_num NUMBER;
3020 l_P6_c1b_day NUMBER;
3021 l_P6_c2_num NUMBER;
3022 l_P6_c2_day NUMBER;
3023 l_P6_c2a_num NUMBER;
3024 l_P6_c2a_day NUMBER;
3025 l_P6_c2a_1num NUMBER;
3026 l_P6_c2a_1day NUMBER;
3027 l_P6_c2a_2num NUMBER;
3028 l_P6_c2a_2day NUMBER;
3029 l_P6_c2a_3num NUMBER;
3030 l_P6_c2a_3day NUMBER;
3031 l_P6_c2b_num NUMBER;
3032 l_P6_c2b_day NUMBER;
3033 l_P6_c3_num NUMBER;
3034 l_P6_c3_day NUMBER;
3035
3036 -- Fields for average
3037 l_P6_a1_avg NUMBER;
3038 l_P6_a2_avg NUMBER;
3039 l_P6_b1_avg NUMBER;
3040 l_P6_b2_avg NUMBER;
3041 l_P6_b3_avg NUMBER;
3042 l_P6_c1a_avg NUMBER;
3043 l_P6_c1b_avg NUMBER;
3044 l_P6_c2a_1avg NUMBER;
3045 l_P6_c2a_2avg NUMBER;
3046 l_P6_c2a_3avg NUMBER;
3047 l_P6_c2a_avg NUMBER;
3048 l_P6_c2b_avg NUMBER;
3049 l_P6_c3_avg NUMBER;
3050 l_P6_a3_avg NUMBER;
3051 l_P6_a_avg NUMBER;
3052
3053 BEGIN
3054 -- Withdrawals
3055 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'170', p_agency_code) LOOP
3056 l_P6_a1_num := cur_ctr.p6_cnt;
3057 l_P6_a1_day := cur_ctr.p6_sum;
3058 END LOOP;
3059 vXMLTable(vCtr).TagName := 'P6_a1_num';
3060 vXMLTable(vCtr).TagValue := to_char(l_P6_a1_num);
3061 vCtr := vCtr + 1;
3062
3063 vXMLTable(vCtr).TagName := 'P6_a1_day';
3064 vXMLTable(vCtr).TagValue := to_char(l_P6_a1_day);
3065 vCtr := vCtr + 1;
3066 -- Average Days
3067 /* IF (l_P6_a1_num > 0) THEN
3068 l_P6_a1_avg := CEIL(l_P6_a1_day/l_P6_a1_num);
3069 ELSE
3070 l_P6_a1_avg := 0;
3071 END IF;
3072 vXMLTable(vCtr).TagName := 'P6_a1_avg';
3073 vXMLTable(vCtr).TagValue := to_char(l_P6_a1_avg);
3074 vCtr := vCtr + 1;
3075 */
3076 fnd_file.put_line(fnd_file.log,'Finished populating Part6 - Total no. of closures - Withdrawals');
3077
3078 -- Settlements
3079 FOR cur_ctr IN cur_settlements(p_from_date,p_to_date, p_agency_code) LOOP
3080 l_P6_a2_num := cur_ctr.p6_cnt;
3081 l_P6_a2_day := cur_ctr.p6_sum;
3082 END LOOP;
3083
3084 vXMLTable(vCtr).TagName := 'P6_a2_num';
3085 vXMLTable(vCtr).TagValue := to_char(l_P6_a2_num);
3086 vCtr := vCtr + 1;
3087
3088 vXMLTable(vCtr).TagName := 'P6_a2_day';
3089 vXMLTable(vCtr).TagValue := to_char(l_P6_a2_day);
3090 vCtr := vCtr + 1;
3091 fnd_file.put_line(fnd_file.log,'Finished populating Part6 - Total no. of closures - Settlements');
3092
3093 -- Average Days
3094 /* IF (l_P6_a2_num > 0) THEN
3095 l_P6_a2_avg := CEIL(l_P6_a2_day/l_P6_a2_num);
3096 ELSE
3097 l_P6_a2_avg := 0;
3098 END IF;
3099 vXMLTable(vCtr).TagName := 'P6_a2_avg';
3100 vXMLTable(vCtr).TagValue := to_char(l_P6_a2_avg);
3101 vCtr := vCtr + 1;
3102 */
3103 -- Finding Discrimination
3104 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'90', p_agency_code) LOOP
3105 l_P6_b1_num := cur_ctr.p6_cnt;
3106 l_P6_b1_day := cur_ctr.p6_sum;
3107 END LOOP;
3108 vXMLTable(vCtr).TagName := 'P6_b1_num';
3109 vXMLTable(vCtr).TagValue := to_char(l_P6_b1_num);
3110 vCtr := vCtr + 1;
3111 vXMLTable(vCtr).TagName := 'P6_b1_day';
3112 vXMLTable(vCtr).TagValue := to_char(l_P6_b1_day);
3113 vCtr := vCtr + 1;
3114
3115 -- Average Day
3116 /* IF (l_P6_b1_num > 0) THEN
3117 l_P6_b1_avg := CEIL(l_P6_b1_day/l_P6_b1_num);
3118 ELSE
3119 l_P6_b1_avg := 0;
3120 END IF;
3121
3122 vXMLTable(vCtr).TagName := 'P6_b1_avg';
3123 vXMLTable(vCtr).TagValue := to_char(l_P6_b1_avg);
3124 vCtr := vCtr + 1;
3125 */
3126 -- Finding No discrimination
3127 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'100', p_agency_code) LOOP
3128 l_P6_b2_num := cur_ctr.p6_cnt;
3129 l_P6_b2_day := cur_ctr.p6_sum;
3130 END LOOP;
3131 vXMLTable(vCtr).TagName := 'P6_b2_num';
3132 vXMLTable(vCtr).TagValue := to_char(l_P6_b2_num);
3133 vCtr := vCtr + 1;
3134 vXMLTable(vCtr).TagName := 'P6_b2_day';
3135 vXMLTable(vCtr).TagValue := to_char(l_P6_b2_day);
3136 vCtr := vCtr + 1;
3137
3138 -- Average Day
3139 /* IF (l_P6_b2_num > 0) THEN
3140 l_P6_b2_avg := CEIL(l_P6_b2_day/l_P6_b2_num);
3141 ELSE
3142 l_P6_b2_avg := 0;
3143 END IF;
3144 vXMLTable(vCtr).TagName := 'P6_b2_avg';
3145 vXMLTable(vCtr).TagValue := to_char(l_P6_b2_avg);
3146 vCtr := vCtr + 1;
3147 */
3148 -- Dismissal of complaints
3149 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'80', p_agency_code) LOOP
3150 l_P6_b3_num := cur_ctr.p6_cnt;
3151 l_P6_b3_day := cur_ctr.p6_sum;
3152 END LOOP;
3153 vXMLTable(vCtr).TagName := 'P6_b3_num';
3154 vXMLTable(vCtr).TagValue := to_char(l_P6_b3_num);
3155 vCtr := vCtr + 1;
3156 vXMLTable(vCtr).TagName := 'P6_b3_day';
3157 vXMLTable(vCtr).TagValue := to_char(l_P6_b3_day);
3158 vCtr := vCtr + 1;
3159
3160 -- Average Days
3161 /* IF (l_P6_b3_num > 0) THEN
3162 l_P6_b3_avg := CEIL(l_P6_b3_day/l_P6_b3_num);
3163 ELSE
3164 l_P6_b3_avg := 0;
3165 END IF;
3166 vXMLTable(vCtr).TagName := 'P6_b3_avg';
3170
3167 vXMLTable(vCtr).TagValue := to_char(l_P6_b3_avg);
3168 vCtr := vCtr + 1;
3169 */
3171 -- Final Agency Actions without AJ Decisions
3172 l_P6_bnum := l_P6_b1_num + l_P6_b2_num + l_P6_b3_num;
3173 l_P6_bday := l_P6_b1_day + l_P6_b2_day + l_P6_b3_day;
3174
3175 vXMLTable(vCtr).TagName := 'P6_b_num';
3176 vXMLTable(vCtr).TagValue := to_char(l_P6_bnum);
3177 vCtr := vCtr + 1;
3178 vXMLTable(vCtr).TagName := 'P6_b_day';
3179 vXMLTable(vCtr).TagValue := to_char(l_P6_bday);
3180 vCtr := vCtr + 1;
3181 fnd_file.put_line(fnd_file.log,'Finished populating Part6 - Final Agency Actions without AJ Decisions');
3182 -- Final Agency action with AJ Decision ---------
3183
3184 -- AJ Decision Fully implemented - Finding Discrimination
3185 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'20', p_agency_code) LOOP
3186 l_P6_c1a_num := cur_ctr.p6_cnt;
3187 l_P6_c1a_day := cur_ctr.p6_sum;
3188 END LOOP;
3189
3190 vXMLTable(vCtr).TagName := 'P6_c1a_num';
3191 vXMLTable(vCtr).TagValue := to_char(l_P6_c1a_num);
3192 vCtr := vCtr + 1;
3193 vXMLTable(vCtr).TagName := 'P6_c1a_day';
3194 vXMLTable(vCtr).TagValue := to_char(l_P6_c1a_day);
3195 vCtr := vCtr + 1;
3196
3197 -- Average Days
3198 /* IF (l_P6_c1a_num > 0) THEN
3199 l_P6_c1a_avg := CEIL(l_P6_c1a_day/l_P6_c1a_num);
3200 ELSE
3201 l_P6_c1a_avg := 0;
3202 END IF;
3203 vXMLTable(vCtr).TagName := 'P6_c1a_avg';
3204 vXMLTable(vCtr).TagValue := to_char(l_P6_c1a_avg);
3205 vCtr := vCtr + 1;
3206 */
3207 -- AJ Decision Fully implemented - Finding No Discrimination
3208 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'30', p_agency_code) LOOP
3209 l_P6_c1b_num := cur_ctr.p6_cnt;
3210 l_P6_c1b_day := cur_ctr.p6_sum;
3211 END LOOP;
3212
3213 vXMLTable(vCtr).TagName := 'P6_c1b_num';
3214 vXMLTable(vCtr).TagValue := to_char(l_P6_c1b_num);
3215 vCtr := vCtr + 1;
3216 vXMLTable(vCtr).TagName := 'P6_c1b_day';
3217 vXMLTable(vCtr).TagValue := to_char(l_P6_c1b_day);
3218 vCtr := vCtr + 1;
3219
3220 -- Average Days
3221 /* IF (l_P6_c1b_num > 0) THEN
3222 l_P6_c1b_avg := CEIL(l_P6_c1b_day/l_P6_c1b_num);
3223 ELSE
3224 l_P6_c1b_avg := 0;
3225 END IF;
3226 vXMLTable(vCtr).TagName := 'P6_c1b_avg';
3227 vXMLTable(vCtr).TagValue := to_char(l_P6_c1b_avg);
3228 vCtr := vCtr + 1;
3229 */
3230 -- AJ Decision Fully implemented
3231 l_P6_c1_num := l_P6_c1a_num + l_P6_c1b_num;
3232 l_P6_c1_day := l_P6_c1a_day + l_P6_c1b_day;
3233
3234 vXMLTable(vCtr).TagName := 'P6_c1_num';
3235 vXMLTable(vCtr).TagValue := to_char(l_P6_c1_num);
3236 vCtr := vCtr + 1;
3237 vXMLTable(vCtr).TagName := 'P6_c1_day';
3238 vXMLTable(vCtr).TagValue := to_char(l_P6_c1_day);
3239 vCtr := vCtr + 1;
3240 fnd_file.put_line(fnd_file.log,'Finished populating Part6 - AJ Decision Fully implemented');
3241 -- Finding Discrimination
3242 -- a. AGENCY APPEALED FINDING BUT NOT REMEDY
3243 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'50', p_agency_code) LOOP
3244 l_P6_c2a_1num := cur_ctr.p6_cnt;
3245 l_P6_c2a_1day := cur_ctr.p6_sum;
3246 END LOOP;
3247
3248 vXMLTable(vCtr).TagName := 'P6_c2a_1num';
3249 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_1num);
3250 vCtr := vCtr + 1;
3251 vXMLTable(vCtr).TagName := 'P6_c2a_1day';
3252 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_1day);
3253 vCtr := vCtr + 1;
3254
3255 -- Average Days
3256 /* IF (l_P6_c2a_1num > 0) THEN
3257 l_P6_c2a_1avg := CEIL(l_P6_c2a_1day/l_P6_c2a_1num);
3258 ELSE
3259 l_P6_c2a_1avg := 0;
3260 END IF;
3261 vXMLTable(vCtr).TagName := 'P6_c2a_1avg';
3262 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_1avg);
3263 vCtr := vCtr + 1;
3264 */
3265 -- b. AGENCY APPEALED REMEDY BUT NOT FINDING
3266 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'60', p_agency_code) LOOP
3267 l_P6_c2a_2num := cur_ctr.p6_cnt;
3268 l_P6_c2a_2day := cur_ctr.p6_sum;
3269 END LOOP;
3270
3271 vXMLTable(vCtr).TagName := 'P6_c2a_2num';
3272 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_2num);
3273 vCtr := vCtr + 1;
3274 vXMLTable(vCtr).TagName := 'P6_c2a_2day';
3275 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_2day);
3276 vCtr := vCtr + 1;
3277
3278 -- Average Days
3279 /* IF (l_P6_c2a_2num > 0) THEN
3280 l_P6_c2a_2avg := CEIL(l_P6_c2a_2day/l_P6_c2a_2num);
3281 ELSE
3282 l_P6_c2a_2avg := 0;
3283 END IF;
3284 vXMLTable(vCtr).TagName := 'P6_c2a_2avg';
3285 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_2avg);
3286 vCtr := vCtr + 1;
3287 */
3288 -- c. AGENCY APPEALED BOTH FINDING AND REMEDY
3289 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'40', p_agency_code) LOOP
3290 l_P6_c2a_3num := cur_ctr.p6_cnt;
3291 l_P6_c2a_3day := cur_ctr.p6_sum;
3292 END LOOP;
3293
3294 vXMLTable(vCtr).TagName := 'P6_c2a_3num';
3295 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_3num);
3296 vCtr := vCtr + 1;
3297 vXMLTable(vCtr).TagName := 'P6_c2a_3day';
3298 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_3day);
3299 vCtr := vCtr + 1;
3300
3301 -- Average Days
3302 /* IF (l_P6_c2a_3num > 0) THEN
3303 l_P6_c2a_3avg := CEIL(l_P6_c2a_3day/l_P6_c2a_3num);
3304 ELSE
3305 l_P6_c2a_3avg := 0;
3306 END IF;
3307 vXMLTable(vCtr).TagName := 'P6_c2a_3avg';
3308 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_3avg);
3309 vCtr := vCtr + 1;
3310 */
3311
3312 -- Finding Discrimination
3313 l_P6_c2a_num := l_P6_c2a_1num + l_P6_c2a_2num + l_P6_c2a_3num;
3314 l_P6_c2a_day := l_P6_c2a_1day + l_P6_c2a_2day + l_P6_c2a_3day;
3315
3316
3317 vXMLTable(vCtr).TagName := 'P6_c2a_num';
3318 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_num);
3319 vCtr := vCtr + 1;
3320 vXMLTable(vCtr).TagName := 'P6_c2a_day';
3321 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_day);
3322 vCtr := vCtr + 1;
3323
3324 -- Average Days
3325 /* IF (l_P6_c2a_num > 0) THEN
3326 l_P6_c2a_avg := CEIL(l_P6_c2a_day/l_P6_c2a_num);
3327 ELSE
3328 l_P6_c2a_avg := 0;
3329 END IF;
3330 vXMLTable(vCtr).TagName := 'P6_c2a_avg';
3331 vXMLTable(vCtr).TagValue := to_char(l_P6_c2a_avg);
3332 vCtr := vCtr + 1;
3333 */
3334
3335 -- AJ DECISION NOT FULLY IMPLEMENTED - FINDING NO DISCRIMINATION
3336 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'70', p_agency_code) LOOP
3337 l_P6_c2b_num := cur_ctr.p6_cnt;
3338 l_P6_c2b_day := cur_ctr.p6_sum;
3339 END LOOP;
3340
3341 vXMLTable(vCtr).TagName := 'P6_c2b_num';
3342 vXMLTable(vCtr).TagValue := to_char(l_P6_c2b_num);
3343 vCtr := vCtr + 1;
3344 vXMLTable(vCtr).TagName := 'P6_c2b_day';
3345 vXMLTable(vCtr).TagValue := to_char(l_P6_c2b_day);
3346 vCtr := vCtr + 1;
3347
3348 -- Average Days
3349 /* IF (l_P6_c2b_num > 0) THEN
3350 l_P6_c2b_avg := CEIL(l_P6_c2b_day/l_P6_c2b_num);
3351 ELSE
3352 l_P6_c2b_avg := 0;
3353 END IF;
3354 vXMLTable(vCtr).TagName := 'P6_c2b_avg';
3355 vXMLTable(vCtr).TagValue := to_char(l_P6_c2b_avg);
3356 vCtr := vCtr + 1;
3357 */
3358 fnd_file.put_line(fnd_file.log,'Finished populating Part6 - AJ Decision Not fully implemented');
3359 -- Finding No Discrimination
3360
3361 -- AJ Decision Fully Implemented
3362 l_P6_c2_num := l_P6_c2a_num + l_P6_c2b_num;
3363 l_P6_c2_day := l_P6_c2a_day + l_P6_c2b_day;
3364
3365 vXMLTable(vCtr).TagName := 'P6_c2_num';
3366 vXMLTable(vCtr).TagValue := to_char(l_P6_c2_num);
3367 vCtr := vCtr + 1;
3368 vXMLTable(vCtr).TagName := 'P6_c2_day';
3369 vXMLTable(vCtr).TagValue := to_char(l_P6_c2_day);
3370 vCtr := vCtr + 1;
3371
3372 -- Dismissal of complaints
3373 FOR cur_ctr IN cur_total_nodays(p_from_date,p_to_date,'10', p_agency_code) LOOP
3374 l_P6_c3_num := cur_ctr.p6_cnt;
3375 l_P6_c3_day := cur_ctr.p6_sum;
3376 END LOOP;
3377
3378 vXMLTable(vCtr).TagName := 'P6_c3_num';
3379 vXMLTable(vCtr).TagValue := to_char(l_P6_c3_num);
3380 vCtr := vCtr + 1;
3381 vXMLTable(vCtr).TagName := 'P6_c3_day';
3382 vXMLTable(vCtr).TagValue := to_char(l_P6_c3_day);
3383 vCtr := vCtr + 1;
3384
3385 -- Average Days
3386 /* IF (l_P6_c3_num > 0) THEN
3387 l_P6_c3_avg := CEIL(l_P6_c3_day/l_P6_c3_num);
3388 ELSE
3389 l_P6_c3_avg := 0;
3390 END IF;
3391 vXMLTable(vCtr).TagName := 'P6_c3_avg';
3392 vXMLTable(vCtr).TagValue := to_char(l_P6_c3_avg);
3393 vCtr := vCtr + 1;
3394 */
3395 -- FINAL AGENCY ACTIONS WITH AN ADMINISTRATIVE JUDGE (AJ) DECISION
3396 l_P6_cnum := l_P6_c1_num + l_P6_c2_num + l_P6_c3_num;
3397 l_P6_cday := l_P6_c1_day + l_P6_c2_day + l_P6_c3_day;
3398
3399 vXMLTable(vCtr).TagName := 'P6_c_num';
3400 vXMLTable(vCtr).TagValue := to_char(l_P6_cnum);
3401 vCtr := vCtr + 1;
3402 vXMLTable(vCtr).TagName := 'P6_c_day';
3403 vXMLTable(vCtr).TagValue := to_char(l_P6_cday);
3404 vCtr := vCtr + 1;
3405
3406 -- Final Agency Actions with AJ Decisions
3407 l_P6_a3_num := l_P6_bnum + l_P6_cnum;
3408 l_P6_a3_day := l_P6_bday + l_P6_cday;
3409
3410 vXMLTable(vCtr).TagName := 'P6_a3_num';
3411 vXMLTable(vCtr).TagValue := to_char(l_P6_a3_num);
3412 vCtr := vCtr + 1;
3413 vXMLTable(vCtr).TagName := 'P6_a3_day';
3414 vXMLTable(vCtr).TagValue := to_char(l_P6_a3_day);
3415 vCtr := vCtr + 1;
3416
3417 -- Average Days
3418 /* IF (l_P6_a3_num > 0) THEN
3419 l_P6_a3_avg := CEIL(l_P6_a3_day/l_P6_a3_num);
3420 ELSE
3421 l_P6_a3_avg := 0;
3422 END IF;
3423 vXMLTable(vCtr).TagName := 'P6_a3_avg';
3424 vXMLTable(vCtr).TagValue := to_char(l_P6_a3_avg);
3425 vCtr := vCtr + 1;
3426 */
3427 fnd_file.put_line(fnd_file.log,'Finished populating Part6 - Final Agency Actions with AJ Decisions');
3428
3429 -- Total No. of Closures
3430 l_P6_a_num := l_P6_a1_num + l_P6_a2_num + l_P6_a3_num;
3431 l_P6_a_day := l_P6_a1_day + l_P6_a2_day + l_P6_a3_day;
3432
3433 vXMLTable(vCtr).TagName := 'P6_a_num';
3434 vXMLTable(vCtr).TagValue := to_char(l_P6_a_num);
3435 vCtr := vCtr + 1;
3436 vXMLTable(vCtr).TagName := 'P6_a_day';
3437 vXMLTable(vCtr).TagValue := to_char(l_P6_a_day);
3438 vCtr := vCtr + 1;
3439
3440 -- Average Days
3441 /* IF (l_P6_a_num > 0) THEN
3442 l_P6_a_avg := CEIL(l_P6_a_day/l_P6_a_num);
3443 ELSE
3444 l_P6_a_avg := 0;
3445 END IF;
3446 vXMLTable(vCtr).TagName := 'P6_a_avg';
3447 vXMLTable(vCtr).TagValue := to_char(l_P6_a_avg);
3448 vCtr := vCtr + 1;
3449 */
3450 fnd_file.put_line(fnd_file.log,'Finished populating Part6 - Total No. of Closures');
3451 fnd_file.put_line(fnd_file.log,'------------End of Part6----------------');
3452 END populate_part6;
3453
3454 PROCEDURE populate_part7(
3455 p_from_date in date,
3456 p_to_date in date,
3457 p_agency_code in varchar2)
3458 IS
3459 -- Cursor for total complaints with corrective actions
3460 CURSOR cur_complaints_ca(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
3461 SELECT COUNT(distinct cmp.complaint_id) p7_cnt
3462 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
3463 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
3464 AND cah.complaint_id = cmp.complaint_id
3465 AND ca.phase = '10'
3466 AND cmp.formal_com_filed IS NOT NULL
3467 AND cmp.agency_code = c_agency_code
3468 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date;
3469
3470 -- Cursor for total Amount for all the complaints with Corrective actions
3471 CURSOR cur_totamt_ca(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
3472 SELECT nvl(SUM(CEIL(ca.amount)),0) p7_amount
3473 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
3474 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
3475 AND cah.complaint_id = cmp.complaint_id
3476 AND ca.phase = '10'
3477 AND cmp.formal_com_filed IS NOT NULL
3478 AND cmp.agency_code = c_agency_code
3479 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date;
3480
3481 -- Cursor for Closures with monetary benefits
3482 CURSOR cur_complaints_ca_monetary(c_from_date date, c_to_date date,c_payment_type IN GHR_COMPL_CA_DETAILS.payment_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
3483 SELECT COUNT(distinct cmp.complaint_id) p7_cnt, nvl(SUM(CEIL(ca.amount)),0) p7_amount
3484 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
3485 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
3486 AND cah.complaint_id = cmp.complaint_id
3487 AND ca.phase = '10'
3488 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date
3489 AND cmp.formal_com_filed IS NOT NULL
3490 AND cmp.agency_code = c_agency_code
3491 AND ca.category = '10'
3492 AND ca.payment_type = c_payment_type;
3493
3494 -- Cursor for Compensatory damages
3495 CURSOR cur_compensatory(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
3496 SELECT COUNT(distinct cmp.complaint_id) p7_cnt, nvl(SUM(CEIL(ca.amount)),0) p7_amount
3497 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
3498 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
3499 AND cah.complaint_id = cmp.complaint_id
3500 AND ca.phase = '10'
3501 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date
3502 AND cmp.formal_com_filed IS NOT NULL
3503 AND cmp.agency_code = c_agency_code
3504 AND ca.category = '10'
3505 AND ca.payment_type IN ('30','40');
3506
3507
3508 -- Cursor for Closures with non-monetary benefits
3509 CURSOR cur_complaints_ca_nm(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
3510 SELECT COUNT(distinct cmp.complaint_id) p7_cnt
3511 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
3512 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
3513 AND cah.complaint_id = cmp.complaint_id
3514 AND ca.phase = '10'
3515 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date
3516 AND cmp.formal_com_filed IS NOT NULL
3517 AND cmp.agency_code = c_agency_code
3518 AND ca.category = '20';
3519
3520 -- Cursor for CA types
3521 CURSOR cur_cmp_ca_action(c_from_date date, c_to_date date,c_category IN GHR_COMPL_CA_DETAILS.category%TYPE, c_action_type IN GHR_COMPL_CA_DETAILS.action_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
3522 SELECT COUNT(*) p7_cnt
3523 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
3524 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
3525 AND cah.complaint_id = cmp.complaint_id
3526 AND ca.phase = '10'
3527 AND cmp.complaint_closed BETWEEN c_from_date AND c_to_date
3528 AND cmp.formal_com_filed IS NOT NULL
3529 AND cmp.agency_code = c_agency_code
3530 AND ca.category = c_category
3531 AND ca.action_type = c_action_type;
3532
3533 l_P7_a_num NUMBER;
3534 l_P7_a_amt NUMBER;
3535 l_P7_b_amt NUMBER;
3536 l_P7_b_num NUMBER;
3537
3538 l_P7_b1_num NUMBER;
3539 l_P7_b1_amt NUMBER;
3540 l_P7_b2_num NUMBER;
3541 l_P7_b2_amt NUMBER;
3542 l_P7_c_num NUMBER;
3543 l_P7_d_num NUMBER;
3544 l_P7_d_amt NUMBER;
3545 l_P7_e_num NUMBER;
3546 l_P7_e_amt NUMBER;
3547 l_P7_f1_num NUMBER;
3548 l_P7_f1_amt NUMBER;
3549 l_P7_f1a_num NUMBER;
3550 l_P7_f1a_amt NUMBER;
3551 l_P7_f1b_num NUMBER;
3552 l_P7_f1b_amt NUMBER;
3553 l_P7_f2_num NUMBER;
3554 l_P7_f2_amt NUMBER;
3555 l_P7_f2a_amt NUMBER;
3556 l_P7_f2a_num NUMBER;
3557 l_P7_f2b_num NUMBER;
3558 l_P7_f2b_amt NUMBER;
3559 l_P7_f3_num NUMBER;
3560 l_P7_f3_amt NUMBER;
3561 l_P7_f3a_num NUMBER;
3562 l_P7_f3a_amt NUMBER;
3563 l_P7_f3b_num NUMBER;
3564 l_P7_f3b_amt NUMBER;
3565 l_P7_f4_num NUMBER;
3566 l_P7_f4_amt NUMBER;
3567 l_P7_f5_num NUMBER;
3568 l_P7_f5_amt NUMBER;
3569 l_P7_f6_amt NUMBER;
3570 l_P7_f6_num NUMBER;
3571 l_P7_f7_num NUMBER;
3572 l_P7_f7_amt NUMBER;
3573 l_P7_f8_amt NUMBER;
3574 l_P7_f8_num NUMBER;
3575 l_P7_f9_num NUMBER;
3576 l_P7_f9_amt NUMBER;
3577 l_P7_f10_num NUMBER;
3578 l_P7_f10_amt NUMBER;
3579 l_P7_f11_num NUMBER;
3580 l_P7_f11_amt NUMBER;
3581 BEGIN
3582 -- Total complaints closed with corrective actions.
3583 FOR cur_ctr IN cur_complaints_ca(p_from_date,p_to_date, p_agency_code) LOOP
3584 l_P7_a_num := cur_ctr.p7_cnt;
3585 END LOOP;
3586 vXMLTable(vCtr).TagName := 'P7_a_num';
3587 vXMLTable(vCtr).TagValue := to_char(l_P7_a_num);
3588 vCtr := vCtr + 1;
3589
3590 -- Total complaints closed with corrective actions.
3591 FOR cur_ctr IN cur_totamt_ca(p_from_date,p_to_date, p_agency_code) LOOP
3592 l_P7_a_amt := cur_ctr.p7_amount;
3593 END LOOP;
3594 vXMLTable(vCtr).TagName := 'P7_a_amt';
3595 vXMLTable(vCtr).TagValue := to_char(l_P7_a_amt);
3596 vCtr := vCtr + 1;
3597 fnd_file.put_line(fnd_file.log,'Finished populating Part7 - Total Complaints closed with corrective actions');
3598 -- Closures with monetary benefits
3599
3600 -- Back pay/Front Pay
3601 FOR cur_ctr IN cur_complaints_ca_monetary(p_from_date,p_to_date,'20', p_agency_code) LOOP
3602 l_P7_b1_num := cur_ctr.p7_cnt;
3603 l_P7_b1_amt := cur_ctr.p7_amount;
3604 END LOOP;
3605
3606 vXMLTable(vCtr).TagName := 'P7_b1_num';
3607 vXMLTable(vCtr).TagValue := to_char(l_P7_b1_num);
3608 vCtr := vCtr + 1;
3609
3610 vXMLTable(vCtr).TagName := 'P7_b1_amt';
3611 vXMLTable(vCtr).TagValue := to_char(l_P7_b1_amt);
3612 vCtr := vCtr + 1;
3613
3614 -- Lumpsum Payment
3615 FOR cur_ctr IN cur_complaints_ca_monetary(p_from_date,p_to_date,'50', p_agency_code) LOOP
3616 l_P7_b2_num := cur_ctr.p7_cnt;
3617 l_P7_b2_amt := cur_ctr.p7_amount;
3618 END LOOP;
3619
3620 vXMLTable(vCtr).TagName := 'P7_b2_num';
3621 vXMLTable(vCtr).TagValue := to_char(l_P7_b2_num);
3622 vCtr := vCtr + 1;
3623
3624 vXMLTable(vCtr).TagName := 'P7_b2_amt';
3625 vXMLTable(vCtr).TagValue := to_char(l_P7_b2_amt);
3626 vCtr := vCtr + 1;
3627
3628 l_P7_b_num := l_P7_b1_num + l_P7_b2_num;
3629 l_P7_b_amt := l_P7_b1_amt + l_P7_b2_amt;
3630
3631 vXMLTable(vCtr).TagName := 'P7_b_num';
3632 vXMLTable(vCtr).TagValue := to_char(l_P7_b_num);
3633 vCtr := vCtr + 1;
3634
3635 vXMLTable(vCtr).TagName := 'P7_b_amt';
3636 vXMLTable(vCtr).TagValue := to_char(l_P7_b_amt);
3637 vCtr := vCtr + 1;
3638
3639 fnd_file.put_line(fnd_file.log,'Finished populating Part7- Complaints closed with monetary benefits');
3640 -- Closures with non-monetary benefits
3641 FOR cur_ctr IN cur_complaints_ca_nm(p_from_date,p_to_date, p_agency_code) LOOP
3642 l_P7_c_num := cur_ctr.p7_cnt;
3643 END LOOP;
3644
3645 vXMLTable(vCtr).TagName := 'P7_c_num';
3646 vXMLTable(vCtr).TagValue := to_char(l_P7_c_num);
3647 vCtr := vCtr + 1;
3648 fnd_file.put_line(fnd_file.log,'Finished populating Part7 - Complaints closed with non-monetary benefits');
3649 -- Closures with compensatory damages
3650 FOR cur_ctr IN cur_compensatory(p_from_date,p_to_date, p_agency_code) LOOP
3651 l_P7_d_num := cur_ctr.p7_cnt;
3652 l_P7_d_amt := cur_ctr.p7_amount;
3653 END LOOP;
3654
3655 vXMLTable(vCtr).TagName := 'P7_d_num';
3656 vXMLTable(vCtr).TagValue := to_char(l_P7_d_num);
3657 vCtr := vCtr + 1;
3658 vXMLTable(vCtr).TagName := 'P7_d_amt';
3659 vXMLTable(vCtr).TagValue := to_char(l_P7_d_amt);
3660 vCtr := vCtr + 1;
3661 fnd_file.put_line(fnd_file.log,'Finished populating Part7 - Complaints closed with compensatory damages');
3662 -- Closures with Attorney fees and costs
3663 FOR cur_ctr IN cur_complaints_ca_monetary(p_from_date,p_to_date,'10', p_agency_code) LOOP
3664 l_P7_e_num := cur_ctr.p7_cnt;
3665 l_P7_e_amt := cur_ctr.p7_amount;
3666 END LOOP;
3667
3668 vXMLTable(vCtr).TagName := 'P7_e_num';
3669 vXMLTable(vCtr).TagValue := to_char(l_P7_e_num);
3670 vCtr := vCtr + 1;
3671 vXMLTable(vCtr).TagName := 'P7_e_amt';
3672 vXMLTable(vCtr).TagValue := to_char(l_P7_e_amt);
3673 vCtr := vCtr + 1;
3674 fnd_file.put_line(fnd_file.log,'Finished populating Part7 - Complaints closed with Attorney fees and costs');
3675 -- Types of Corrective action
3676 -- Hire Retroactive Monetary
3677 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','80', p_agency_code) LOOP
3678 l_P7_f1a_num := cur_ctr.p7_cnt;
3679 END LOOP;
3680
3681 vXMLTable(vCtr).TagName := 'P7_f1a_num';
3682 vXMLTable(vCtr).TagValue := to_char(l_P7_f1a_num);
3683 vCtr := vCtr + 1;
3684
3685 -- Hire Retroactive Non-Monetary
3686 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','80', p_agency_code) LOOP
3687 l_P7_f1a_amt := cur_ctr.p7_cnt;
3688 END LOOP;
3689
3690 vXMLTable(vCtr).TagName := 'P7_f1a_amt';
3691 vXMLTable(vCtr).TagValue := to_char(l_P7_f1a_amt);
3692 vCtr := vCtr + 1;
3693
3694 -- Hire Non-Retroactive Monetary
3695 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','70', p_agency_code) LOOP
3696 l_P7_f1b_num := cur_ctr.p7_cnt;
3697 END LOOP;
3698
3699 vXMLTable(vCtr).TagName := 'P7_f1b_num';
3700 vXMLTable(vCtr).TagValue := to_char(l_P7_f1b_num);
3701 vCtr := vCtr + 1;
3702
3703 -- Hire Non-Retroactive Non-Monetary
3704 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','70', p_agency_code) LOOP
3705 l_P7_f1b_amt := cur_ctr.p7_cnt;
3706 END LOOP;
3707
3708 vXMLTable(vCtr).TagName := 'P7_f1b_amt';
3709 vXMLTable(vCtr).TagValue := to_char(l_P7_f1b_amt);
3710 vCtr := vCtr + 1;
3711
3712 -- Total under Hire
3713 l_P7_f1_num := l_P7_f1a_num + l_P7_f1b_num;
3714 l_P7_f1_amt := l_P7_f1a_amt + l_P7_f1b_amt;
3715
3716 vXMLTable(vCtr).TagName := 'P7_f1_num';
3717 vXMLTable(vCtr).TagValue := to_char(l_P7_f1_num);
3718 vCtr := vCtr + 1;
3719
3720 vXMLTable(vCtr).TagName := 'P7_f1_amt';
3721 vXMLTable(vCtr).TagValue := to_char(l_P7_f1_amt);
3722 vCtr := vCtr + 1;
3723
3724 -- Promotion Retroactive Monetary
3725 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','140', p_agency_code) LOOP
3726 l_P7_f2a_num := cur_ctr.p7_cnt;
3727 END LOOP;
3728
3729 vXMLTable(vCtr).TagName := 'P7_f2a_num';
3730 vXMLTable(vCtr).TagValue := to_char(l_P7_f2a_num);
3731 vCtr := vCtr + 1;
3732
3733 -- Promotion Retroactive Non-Monetary
3734 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','140', p_agency_code) LOOP
3735 l_P7_f2a_amt := cur_ctr.p7_cnt;
3736 END LOOP;
3737
3738 vXMLTable(vCtr).TagName := 'P7_f2a_amt';
3739 vXMLTable(vCtr).TagValue := to_char(l_P7_f2a_amt);
3740 vCtr := vCtr + 1;
3741
3742 -- Promotion Non-Retroactive Monetary
3743 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','130', p_agency_code) LOOP
3744 l_P7_f2b_num := cur_ctr.p7_cnt;
3745 END LOOP;
3746
3747 vXMLTable(vCtr).TagName := 'P7_f2b_num';
3748 vXMLTable(vCtr).TagValue := to_char(l_P7_f2b_num);
3749 vCtr := vCtr + 1;
3750
3751 -- Promotion Non-Retroactive Non-Monetary
3752 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','130', p_agency_code) LOOP
3753 l_P7_f2b_amt := cur_ctr.p7_cnt;
3754 END LOOP;
3755
3756 vXMLTable(vCtr).TagName := 'P7_f2b_amt';
3757 vXMLTable(vCtr).TagValue := to_char(l_P7_f2b_amt);
3758 vCtr := vCtr + 1;
3759
3760 -- Total under Promotion
3761 l_P7_f2_num := l_P7_f2a_num + l_P7_f2b_num;
3762 l_P7_f2_amt := l_P7_f2a_amt + l_P7_f2b_amt;
3763
3764 vXMLTable(vCtr).TagName := 'P7_f2_num';
3765 vXMLTable(vCtr).TagValue := to_char(l_P7_f2_num);
3766 vCtr := vCtr + 1;
3767
3768 vXMLTable(vCtr).TagName := 'P7_f2_amt';
3769 vXMLTable(vCtr).TagValue := to_char(l_P7_f2_amt);
3770 vCtr := vCtr + 1;
3771
3772 -- Disciplinary Action Rescinded Monetary
3773 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','50', p_agency_code) LOOP
3774 l_P7_f3a_num := cur_ctr.p7_cnt;
3775 END LOOP;
3776
3777 vXMLTable(vCtr).TagName := 'P7_f3a_num';
3778 vXMLTable(vCtr).TagValue := to_char(l_P7_f3a_num);
3779 vCtr := vCtr + 1;
3780
3781 -- Disciplinary Action Rescinded Monetary
3782 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','50', p_agency_code) LOOP
3783 l_P7_f3a_amt := cur_ctr.p7_cnt;
3784 END LOOP;
3785
3786 vXMLTable(vCtr).TagName := 'P7_f3a_amt';
3787 vXMLTable(vCtr).TagValue := to_char(l_P7_f3a_amt);
3788 vCtr := vCtr + 1;
3789
3790 -- Disciplinary Action Modified Monetary
3791 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','40', p_agency_code) LOOP
3792 l_P7_f3b_num := cur_ctr.p7_cnt;
3793 END LOOP;
3794
3795 vXMLTable(vCtr).TagName := 'P7_f3b_num';
3796 vXMLTable(vCtr).TagValue := to_char(l_P7_f3b_num);
3797 vCtr := vCtr + 1;
3798
3799 -- Disciplinary Action Modified Non-Monetary
3800 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','40', p_agency_code) LOOP
3801 l_P7_f3b_amt := cur_ctr.p7_cnt;
3802 END LOOP;
3803
3804 vXMLTable(vCtr).TagName := 'P7_f3b_amt';
3805 vXMLTable(vCtr).TagValue := to_char(l_P7_f3b_amt);
3806 vCtr := vCtr + 1;
3807
3808 -- Total under Disciplinary Action
3809 l_P7_f3_num := l_P7_f3a_num + l_P7_f3b_num;
3810 l_P7_f3_amt := l_P7_f3a_amt + l_P7_f3b_amt;
3811
3812 vXMLTable(vCtr).TagName := 'P7_f3_num';
3813 vXMLTable(vCtr).TagValue := to_char(l_P7_f3_num);
3814 vCtr := vCtr + 1;
3815
3816 vXMLTable(vCtr).TagName := 'P7_f3_amt';
3817 vXMLTable(vCtr).TagValue := to_char(l_P7_f3_amt);
3818 vCtr := vCtr + 1;
3819
3820 -- Reinstatement Monetary
3821 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','160', p_agency_code) LOOP
3822 l_P7_f4_num := cur_ctr.p7_cnt;
3823 END LOOP;
3824
3825 vXMLTable(vCtr).TagName := 'P7_f4_num';
3826 vXMLTable(vCtr).TagValue := to_char(l_P7_f4_num);
3827 vCtr := vCtr + 1;
3828
3829 -- Reinstatement Non-Monetary
3830 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','160', p_agency_code) LOOP
3831 l_P7_f4_amt := cur_ctr.p7_cnt;
3832 END LOOP;
3833
3834 vXMLTable(vCtr).TagName := 'P7_f4_amt';
3835 vXMLTable(vCtr).TagValue := to_char(l_P7_f4_amt);
3836 vCtr := vCtr + 1;
3837
3838 -- Reassignment Monetary
3839 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','150', p_agency_code) LOOP
3840 l_P7_f5_num := cur_ctr.p7_cnt;
3841 END LOOP;
3842
3843 vXMLTable(vCtr).TagName := 'P7_f5_num';
3844 vXMLTable(vCtr).TagValue := to_char(l_P7_f5_num);
3845 vCtr := vCtr + 1;
3846
3847 -- Reassignment Non-Monetary
3848 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','150', p_agency_code) LOOP
3849 l_P7_f5_amt := cur_ctr.p7_cnt;
3850 END LOOP;
3851
3852 vXMLTable(vCtr).TagName := 'P7_f5_amt';
3853 vXMLTable(vCtr).TagValue := to_char(l_P7_f5_amt);
3854 vCtr := vCtr + 1;
3855
3856 -- Performance Evaluation Monetary
3857 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','110', p_agency_code) LOOP
3858 l_P7_f6_num := cur_ctr.p7_cnt;
3859 END LOOP;
3860
3861 vXMLTable(vCtr).TagName := 'P7_f6_num';
3862 vXMLTable(vCtr).TagValue := to_char(l_P7_f6_num);
3863 vCtr := vCtr + 1;
3864
3865 -- Performance Evaluation Non-Monetary
3866 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','110', p_agency_code) LOOP
3867 l_P7_f6_amt := cur_ctr.p7_cnt;
3868 END LOOP;
3869
3870 vXMLTable(vCtr).TagName := 'P7_f6_amt';
3871 vXMLTable(vCtr).TagValue := to_char(l_P7_f6_amt);
3872 vCtr := vCtr + 1;
3873
3874 -- Personnel File Purged Of Adverse Material Monetary
3875 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','120', p_agency_code) LOOP
3876 l_P7_f7_num := cur_ctr.p7_cnt;
3877 END LOOP;
3878
3879 vXMLTable(vCtr).TagName := 'P7_f7_num';
3880 vXMLTable(vCtr).TagValue := to_char(l_P7_f7_num);
3881 vCtr := vCtr + 1;
3882
3883 -- Personnel File Purged Of Adverse Material Non-Monetary
3884 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','120', p_agency_code) LOOP
3885 l_P7_f7_amt := cur_ctr.p7_cnt;
3886 END LOOP;
3887
3888 vXMLTable(vCtr).TagName := 'P7_f7_amt';
3889 vXMLTable(vCtr).TagValue := to_char(l_P7_f7_amt);
3890 vCtr := vCtr + 1;
3891
3892
3893 -- Accomodation Monetary
3894 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','10', p_agency_code) LOOP
3895 l_P7_f8_num := cur_ctr.p7_cnt;
3896 END LOOP;
3897
3898 vXMLTable(vCtr).TagName := 'P7_f8_num';
3899 vXMLTable(vCtr).TagValue := to_char(l_P7_f8_num);
3900 vCtr := vCtr + 1;
3901
3902 -- Accomodation Non-Monetary
3903 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','10', p_agency_code) LOOP
3904 l_P7_f8_amt := cur_ctr.p7_cnt;
3905 END LOOP;
3906
3907 vXMLTable(vCtr).TagName := 'P7_f8_amt';
3908 vXMLTable(vCtr).TagValue := to_char(l_P7_f8_amt);
3909 vCtr := vCtr + 1;
3910
3911 -- Training/Tuition/Etc. Monetary
3912 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','180', p_agency_code) LOOP
3913 l_P7_f9_num := cur_ctr.p7_cnt;
3914 END LOOP;
3915
3916 vXMLTable(vCtr).TagName := 'P7_f9_num';
3917 vXMLTable(vCtr).TagValue := to_char(l_P7_f9_num);
3918 vCtr := vCtr + 1;
3919
3920 -- Training/Tuition/Etc. Non-Monetary
3921 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','180', p_agency_code) LOOP
3922 l_P7_f9_amt := cur_ctr.p7_cnt;
3923 END LOOP;
3924
3925 vXMLTable(vCtr).TagName := 'P7_f9_amt';
3926 vXMLTable(vCtr).TagValue := to_char(l_P7_f9_amt);
3927 vCtr := vCtr + 1;
3928
3929 -- Leave Restored Monetary
3930 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','90', p_agency_code) LOOP
3931 l_P7_f10_num := cur_ctr.p7_cnt;
3932 END LOOP;
3933
3934 vXMLTable(vCtr).TagName := 'P7_f10_num';
3935 vXMLTable(vCtr).TagValue := to_char(l_P7_f10_num);
3936 vCtr := vCtr + 1;
3937
3938 -- Leave Restored Non-Monetary
3939 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','90', p_agency_code) LOOP
3940 l_P7_f10_amt := cur_ctr.p7_cnt;
3941 END LOOP;
3942
3943 vXMLTable(vCtr).TagName := 'P7_f10_amt';
3944 vXMLTable(vCtr).TagValue := to_char(l_P7_f10_amt);
3945 vCtr := vCtr + 1;
3946
3947 -- Other
3948 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'10','100', p_agency_code) LOOP
3949 l_P7_f11_num := cur_ctr.p7_cnt;
3950 END LOOP;
3951
3952 vXMLTable(vCtr).TagName := 'P7_f11_num';
3953 vXMLTable(vCtr).TagValue := to_char(l_P7_f11_num);
3954 vCtr := vCtr + 1;
3955
3956 -- Other
3957 FOR cur_ctr IN cur_cmp_ca_action(p_from_date,p_to_date,'20','100', p_agency_code) LOOP
3958 l_P7_f11_amt := cur_ctr.p7_cnt;
3959 END LOOP;
3960
3961 vXMLTable(vCtr).TagName := 'P7_f11_amt';
3962 vXMLTable(vCtr).TagValue := to_char(l_P7_f11_amt);
3963 vCtr := vCtr + 1;
3964
3965 vXMLTable(vCtr).TagName := 'P7_f12_num';
3966 vXMLTable(vCtr).TagValue := '0';
3967 vCtr := vCtr + 1;
3968
3969 vXMLTable(vCtr).TagName := 'P7_f12_amt';
3970 vXMLTable(vCtr).TagValue := '0';
3971 vCtr := vCtr + 1;
3972
3973 vXMLTable(vCtr).TagName := 'P7_f13_num';
3974 vXMLTable(vCtr).TagValue := '0';
3975 vCtr := vCtr + 1;
3976
3977 vXMLTable(vCtr).TagName := 'P7_f13_amt';
3978 vXMLTable(vCtr).TagValue := '0';
3979 vCtr := vCtr + 1;
3980
3981 fnd_file.put_line(fnd_file.log,'Finished populating Part7 - Complaints closed with corrective actions');
3982 fnd_file.put_line(fnd_file.log,'------------End of Part7----------------');
3983 END populate_part7;
3984
3985 PROCEDURE populate_part8(
3986 p_from_date in date,
3987 p_to_date in date,
3988 p_agency_code in varchar2)
3989 IS
3990 -- Complaints Pending written notification
3991
3992 CURSOR cur_notif(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
3993 SELECT COUNT(*) p8_cnt, NVL(SUM(ROUND((c_to_date - cmp.formal_com_filed),0)+1),0) p8_sum, NVL(MAX(ROUND((c_to_date - cmp.formal_com_filed),0)+1),0) p8_max
3994 FROM GHR_COMPLAINTS2 cmp
3995 WHERE (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_to_date)
3996 AND cmp.formal_com_filed <= c_to_date
3997 AND cmp.agency_code = c_agency_code
3998 AND cmp.letter_type IS NULL
3999 AND cmp.letter_date IS NULL;
4000
4001 CURSOR cur_investigation(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
4002 SELECT COUNT(*) p8_cnt, NVL(SUM(ROUND((c_to_date - NVL(cmp.investigation_start,cmp.investigator_recvd_req)),0)+1),0) p8_sum, NVL(MAX(ROUND((c_to_date - NVL(cmp.investigation_start,cmp.investigator_recvd_req)),0)+1),0) p8_max
4003 FROM GHR_COMPLAINTS2 cmp
4004 WHERE (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_to_date)
4005 AND cmp.formal_com_filed IS NOT NULL
4006 AND cmp.agency_code = c_agency_code
4007 AND (
4008 (cmp.investigation_start < c_to_date) OR (cmp.investigator_recvd_req < c_to_date))
4009 AND investigation_end IS NULL;
4010
4011 CURSOR cur_hearing(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
4012 SELECT COUNT(*) p8_cnt, NVL(SUM(ROUND((c_to_date - cmp.hearing_req),0)+1),0) p8_sum, NVL(MAX(ROUND((c_to_date - cmp.hearing_req),0)+1),0) p8_max
4013 FROM GHR_COMPLAINTS2 cmp
4014 WHERE cmp.formal_com_filed IS NOT NULL
4015 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_to_date)
4016 AND cmp.hearing_req < c_to_date
4017 AND cmp.agency_code = c_agency_code
4018 AND (cmp.aj_merit_decision_date IS NULL OR cmp.aj_merit_decision_date > c_to_date)
4019 AND cmp.aj_ca_decision_date IS NULL;
4020
4021 CURSOR cur_agency(c_from_date date, c_to_date date,c_agency_code ghr_complaints2.agency_code%type) IS
4022 SELECT COUNT(*) p8_cnt, NVL(SUM(ROUND((c_to_date - NVL(cmp.fad_requested,cmp.fad_due)),0)+1),0) p8_sum, NVL(MAX(ROUND((c_to_date - NVL(cmp.fad_requested,cmp.fad_due)),0)+1),0) p8_max
4023 FROM GHR_COMPLAINTS2 cmp
4024 WHERE cmp.formal_com_filed IS NOT NULL
4025 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_to_date)
4026 AND cmp.agency_code = c_agency_code
4027 AND NVL(cmp.fad_requested,cmp.fad_due) < c_to_date
4028 AND cmp.fad_date IS NULL;
4029
4030 l_p8_a1_num NUMBER;
4031 l_p8_a1_day NUMBER;
4032 l_p8_a1_old NUMBER;
4033 l_P8_a1_avg NUMBER;
4034 l_p8_a2_num NUMBER;
4035 l_p8_a2_day NUMBER;
4036 l_p8_a2_old NUMBER;
4037 l_P8_a2_avg NUMBER;
4038 l_p8_a3_num NUMBER;
4039 l_p8_a3_day NUMBER;
4040 l_p8_a3_old NUMBER;
4041 l_P8_a3_avg NUMBER;
4042 l_p8_a4_num NUMBER;
4043 l_p8_a4_day NUMBER;
4044 l_p8_a4_old NUMBER;
4045 l_P8_a4_avg NUMBER;
4046 l_p8_a_num NUMBER;
4047 l_p8_a_day NUMBER;
4048
4049
4050 BEGIN
4051 -- Complaints pending written notification
4052 FOR cur_ctr IN cur_notif(p_from_date, p_to_date, p_agency_code) LOOP
4053 l_p8_a1_num := cur_ctr.p8_cnt;
4054 l_p8_a1_day := cur_ctr.p8_sum;
4055 l_p8_a1_old := cur_ctr.p8_max;
4056 END LOOP;
4057
4058 -- Average Days
4059 /* IF (l_p8_a1_num > 0) THEN
4060 l_P8_a1_avg := CEIL(l_p8_a1_day/l_p8_a1_num);
4061 ELSE
4062 l_P8_a1_avg := 0;
4063 END IF;
4064 vXMLTable(vCtr).TagName := 'P8_a1_avg';
4065 vXMLTable(vCtr).TagValue := to_char(l_P8_a1_avg);
4066 vCtr := vCtr + 1;
4067 */
4068 vXMLTable(vCtr).TagName := 'P8_a1_num';
4069 vXMLTable(vCtr).TagValue := to_char(l_p8_a1_num);
4070 vCtr := vCtr + 1;
4071 vXMLTable(vCtr).TagName := 'P8_a1_day';
4072 vXMLTable(vCtr).TagValue := to_char(l_p8_a1_day);
4073 vCtr := vCtr + 1;
4074 vXMLTable(vCtr).TagName := 'P8_a1_old';
4075 vXMLTable(vCtr).TagValue := to_char(l_p8_a1_old);
4076 vCtr := vCtr + 1;
4077 fnd_file.put_line(fnd_file.log,'Finished populating Part8 - Complaints pending written notification');
4078 -- Complaints Pending in investigation
4079 FOR cur_ctr IN cur_investigation(p_from_date, p_to_date, p_agency_code) LOOP
4080 l_p8_a2_num := cur_ctr.p8_cnt;
4081 l_p8_a2_day := cur_ctr.p8_sum;
4082 l_p8_a2_old := cur_ctr.p8_max;
4083 END LOOP;
4084
4085 -- Average Days
4086 /* IF (l_p8_a2_num > 0) THEN
4087 l_P8_a2_avg := CEIL(l_p8_a2_day/l_p8_a2_num);
4088 ELSE
4089 l_P8_a2_avg := 0;
4090 END IF;
4091 vXMLTable(vCtr).TagName := 'P8_a2_avg';
4092 vXMLTable(vCtr).TagValue := to_char(l_P8_a2_avg);
4093 vCtr := vCtr + 1;
4094 */
4095 vXMLTable(vCtr).TagName := 'P8_a2_num';
4096 vXMLTable(vCtr).TagValue := to_char(l_p8_a2_num);
4097 vCtr := vCtr + 1;
4098 vXMLTable(vCtr).TagName := 'P8_a2_day';
4099 vXMLTable(vCtr).TagValue := to_char(l_p8_a2_day);
4100 vCtr := vCtr + 1;
4101 vXMLTable(vCtr).TagName := 'P8_a2_old';
4102 vXMLTable(vCtr).TagValue := to_char(l_p8_a2_old);
4103 vCtr := vCtr + 1;
4104 fnd_file.put_line(fnd_file.log,'Finished populating Part8 - Complaints Pending in investigation');
4105 -- Complaints Pending in hearing
4106 FOR cur_ctr IN cur_hearing(p_from_date, p_to_date, p_agency_code) LOOP
4107 l_p8_a3_num := cur_ctr.p8_cnt;
4108 l_p8_a3_day := cur_ctr.p8_sum;
4109 l_p8_a3_old := cur_ctr.p8_max;
4110 END LOOP;
4111
4112 -- Average Days
4113 /* IF (l_p8_a3_num > 0) THEN
4114 l_P8_a3_avg := CEIL(l_p8_a3_day/l_p8_a3_num);
4115 ELSE
4116 l_P8_a3_avg := 0;
4117 END IF;
4118 vXMLTable(vCtr).TagName := 'P8_a3_avg';
4119 vXMLTable(vCtr).TagValue := to_char(l_P8_a3_avg);
4120 vCtr := vCtr + 1;
4121 */
4122 vXMLTable(vCtr).TagName := 'P8_a3_num';
4123 vXMLTable(vCtr).TagValue := to_char(l_p8_a3_num);
4124 vCtr := vCtr + 1;
4125 vXMLTable(vCtr).TagName := 'P8_a3_day';
4126 vXMLTable(vCtr).TagValue := to_char(l_p8_a3_day);
4127 vCtr := vCtr + 1;
4128 vXMLTable(vCtr).TagName := 'P8_a3_old';
4129 vXMLTable(vCtr).TagValue := to_char(l_p8_a3_old);
4130 vCtr := vCtr + 1;
4131 fnd_file.put_line(fnd_file.log,'Finished populating Part8 - Complaints Pending in hearing');
4132 -- Complaints Pending FAD
4133 FOR cur_ctr IN cur_agency(p_from_date, p_to_date, p_agency_code) LOOP
4134 l_p8_a4_num := cur_ctr.p8_cnt;
4135 l_p8_a4_day := cur_ctr.p8_sum;
4136 l_p8_a4_old := cur_ctr.p8_max;
4137 END LOOP;
4138
4139 -- Average Days
4140 /* IF (l_p8_a4_num > 0) THEN
4141 l_P8_a4_avg := CEIL(l_p8_a4_day/l_p8_a4_num);
4142 ELSE
4143 l_P8_a4_avg := 0;
4144 END IF;
4145 vXMLTable(vCtr).TagName := 'P8_a4_avg';
4146 vXMLTable(vCtr).TagValue := to_char(l_P8_a4_avg);
4147 vCtr := vCtr + 1;
4148 */
4149 vXMLTable(vCtr).TagName := 'P8_a4_num';
4150 vXMLTable(vCtr).TagValue := to_char(l_p8_a4_num);
4151 vCtr := vCtr + 1;
4152 vXMLTable(vCtr).TagName := 'P8_a4_day';
4153 vXMLTable(vCtr).TagValue := to_char(l_p8_a4_day);
4154 vCtr := vCtr + 1;
4155 vXMLTable(vCtr).TagName := 'P8_a4_old';
4156 vXMLTable(vCtr).TagValue := to_char(l_p8_a4_old);
4157 vCtr := vCtr + 1;
4158
4159
4160 fnd_file.put_line(fnd_file.log,'Finished populating Part8 - Complaints Pending FAD');
4161 l_p8_a_num := l_p8_a1_num + l_p8_a2_num + l_p8_a3_num + l_p8_a4_num;
4162 l_p8_a_day := l_p8_a1_day + l_p8_a2_day + l_p8_a3_day + l_p8_a4_day;
4163
4164 vXMLTable(vCtr).TagName := 'P8_a_num';
4165 vXMLTable(vCtr).TagValue := to_char(l_p8_a_num);
4166 vCtr := vCtr + 1;
4167 vXMLTable(vCtr).TagName := 'P8_a_day';
4168 vXMLTable(vCtr).TagValue := to_char(l_p8_a_day);
4169 vCtr := vCtr + 1;
4170 fnd_file.put_line(fnd_file.log,'Finished populating Part8 - Totals');
4171 fnd_file.put_line(fnd_file.log,'------------End of Part8----------------');
4172 END populate_part8;
4173
4174 PROCEDURE populate_part10(
4175 p_from_date in date,
4176 p_to_date in date,
4177 p_agency_code in varchar2) IS
4178
4179 -- Cursor for ADR Pending from previous reporting period
4180 CURSOR cur_adr_pending(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4181 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn, NVL(SUM(ROUND((c_to_date - NVL(adrs.date_accepted,adrs.start_date)) ,0) + 1),0) p10_days
4182 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4183 WHERE adrs.complaint_id = cmp.complaint_id
4184 AND adrs.stage = c_stage
4185 AND cmp.agency_code = c_agency_code
4186 AND (cmp.formal_com_filed IS NULL OR cmp.formal_com_filed > c_to_date)
4187 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_to_date)
4188 AND NVL(adrs.date_accepted,adrs.start_date) < c_from_date
4189 AND (adrs.end_date IS NULL OR adrs.end_date > c_to_date);
4190
4191 -- Cursor for Individuals counseled through ADR
4192 CURSOR cur_adr(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4193 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn, NVL(SUM(ROUND((c_to_date - NVL(adrs.date_accepted,adrs.start_date)) ,0) + 1),0) p10_days
4194 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4195 WHERE adrs.complaint_id = cmp.complaint_id
4196 AND adrs.stage = c_stage
4197 AND cmp.agency_code = c_agency_code
4198 AND (cmp.formal_com_filed IS NULL OR cmp.formal_com_filed > c_to_date)
4199 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4200 AND (adrs.end_date IS NULL OR adrs.end_date > c_to_date)
4201 AND cmp.counselor_asg IS NULL;
4202
4203 -- Cursor for ADR actions
4204 CURSOR cur_adr_actions(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE,c_adr_offered ghr_compl_adrs.adr_offered%type,c_agency_code ghr_complaints2.agency_code%type) IS
4205 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn, NVL(SUM(ROUND((NVL(adrs.end_date,c_to_date) - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) p10_days
4206 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4207 WHERE adrs.complaint_id = cmp.complaint_id
4208 AND adrs.stage = c_stage
4209 AND cmp.agency_code = c_agency_code
4210 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4211 AND adrs.adr_offered = c_adr_offered
4212 AND NVL(adrs.date_accepted,adrs.start_date) = (SELECT MAX(nvl(date_accepted,start_date))
4213 FROM GHR_COMPL_ADRS adrs1
4214 WHERE adrs1.complaint_id = adrs.complaint_id
4215 AND adrs.stage = c_stage);
4216
4217 CURSOR cur_adr_offered(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4221 AND adrs.stage = c_stage
4218 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn, NVL(SUM(ROUND((NVL(adrs.end_date,c_to_date) - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) p10_days
4219 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4220 WHERE adrs.complaint_id = cmp.complaint_id
4222 AND cmp.agency_code = c_agency_code
4223 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4224 AND adrs.adr_offered IN (10,20,30)
4225 AND NVL(adrs.date_accepted,adrs.start_date) = (SELECT MAX(nvl(date_accepted,start_date))
4226 FROM GHR_COMPL_ADRS adrs1
4227 WHERE adrs1.complaint_id = adrs.complaint_id
4228 AND adrs.stage = c_stage);
4229 -- Cursor for Resources
4230 CURSOR cur_resources(c_from_date date, c_to_date date, c_stage ghr_compl_adrs.stage%TYPE, c_resource ghr_compl_adrs.adr_resource%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4231 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn
4232 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4233 WHERE adrs.complaint_id = cmp.complaint_id
4234 AND cmp.agency_code = c_agency_code
4235 AND adrs.stage = c_stage
4236 AND adrs.adr_resource = c_resource
4237 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date;
4238
4239 -- Cursor for Multiple Resources
4240 CURSOR cur_multires(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4241 SELECT cmp.complaint_id, adrs.adr_resource
4242 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4243 WHERE adrs.complaint_id = cmp.complaint_id
4244 AND cmp.agency_code = c_agency_code
4245 AND adrs.stage = c_stage
4246 AND adrs.adr_resource IS NOT NULL
4247 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4248 ORDER BY cmp.complaint_id;
4249
4250 -- Cursor for Techniques
4251 CURSOR cur_techniques(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE, c_technique ghr_compl_adrs.technique%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4252 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn,
4253 NVL(SUM(ROUND((NVL(adrs.end_date,c_to_date) - NVL(adrs.date_accepted,adrs.start_date) ),0)+1),0) p10_days -- Check whether this is to date or from date.
4254 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4255 WHERE adrs.complaint_id = cmp.complaint_id
4256 AND cmp.agency_code = c_agency_code
4257 AND adrs.stage = c_stage
4258 AND adrs.technique = c_technique
4259 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date;
4260
4261 -- Cursor for Multi-techniques
4262 CURSOR cur_multitechniques(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4263 SELECT cmp.complaint_id, adrs.technique, NVL(ROUND((NVL(adrs.end_date,c_to_date) - NVL(adrs.date_accepted,adrs.start_date)),0)+1,0) p10_days
4264 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4265 WHERE adrs.complaint_id = cmp.complaint_id
4266 AND adrs.stage = c_stage
4267 AND cmp.agency_code = c_agency_code
4268 AND adrs.technique IS NOT NULL
4269 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4270 ORDER BY cmp.complaint_id;
4271
4272 CURSOR cur_case_status(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE, c_closure_nature ghr_complaints2.precom_closure_nature%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4273 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn, NVL(SUM(ROUND((precom_closed - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) P10_days
4274 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4275 WHERE adrs.complaint_id = cmp.complaint_id
4276 AND cmp.agency_code = c_agency_code
4277 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4278 AND adrs.stage = c_stage
4279 AND adrs.adr_offered IS NOT NULL
4280 AND adrs.end_date <= c_to_date
4281 AND precom_closure_nature = c_closure_nature;
4282
4283 CURSOR cur_case_status_settle(c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4284 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn, NVL(SUM(ROUND((precom_closed - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0 ) P10_days
4285 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4286 WHERE adrs.complaint_id = cmp.complaint_id
4287 AND cmp.agency_code = c_agency_code
4288 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4289 AND adrs.stage = c_stage
4290 AND adrs.adr_offered IS NOT NULL
4291 AND adrs.end_date <= c_to_date
4292 AND precom_closure_nature IN (60,70,80);
4293
4294 CURSOR cur_open_inventory (c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4295 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p10_prsn, NVL(SUM(ROUND((precom_closed - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) P10_days
4296 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
4297 WHERE adrs.complaint_id = cmp.complaint_id
4298 AND cmp.agency_code = c_agency_code
4299 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4300 AND adrs.stage = c_stage
4301 AND adrs.end_date IS NULL;
4302
4303 CURSOR cur_benefits (c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE, c_phase ghr_compl_ca_details.phase%TYPE
4304 , c_payment_type ghr_compl_ca_details.payment_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4305 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) P10_prsn, NVL(SUM(CEIL(ca.amount)),0) p10_amt
4306 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
4307 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
4311 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4308 AND cah.complaint_id = cmp.complaint_id
4309 AND adrs.complaint_id = cmp.complaint_id
4310 AND cmp.agency_code = c_agency_code
4312 AND adrs.stage = c_stage
4313 AND ca.phase = c_phase
4314 AND ca.payment_type = c_payment_type
4315 AND ca.category = 10 -- Monetary
4316 AND adrs.end_date IS NOT NULL;
4317
4318 CURSOR cur_tot_benefits (c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE, c_phase ghr_compl_ca_details.phase%TYPE
4319 ,c_agency_code ghr_complaints2.agency_code%type) IS
4320 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) P10_prsn
4321 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
4322 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
4323 AND cah.complaint_id = cmp.complaint_id
4324 AND adrs.complaint_id = cmp.complaint_id
4325 AND cmp.agency_code = c_agency_code
4326 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4327 AND adrs.stage = c_stage
4328 AND ca.phase = c_phase
4329 AND ca.payment_type IS NOT NULL
4330 AND ca.category = 10 -- Monetary
4331 AND adrs.end_date IS NOT NULL;
4332
4333
4334 CURSOR cur_benefits_pt2 (c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE, c_phase ghr_compl_ca_details.phase%TYPE,
4335 c_payment_type1 ghr_compl_ca_details.payment_type%TYPE,c_payment_type2 ghr_compl_ca_details.payment_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4336 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) P10_prsn, NVL(SUM(CEIL(ca.amount)),0) p10_amt
4337 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
4338 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
4339 AND cah.complaint_id = cmp.complaint_id
4340 AND adrs.complaint_id = cmp.complaint_id
4341 AND cmp.agency_code = c_agency_code
4342 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4343 AND adrs.stage = c_stage
4344 AND ca.phase = c_phase
4345 AND ca.payment_type IN (c_payment_type1,c_payment_type2)
4346 AND ca.category = 10 -- Monetary
4347 AND adrs.end_date IS NOT NULL;
4348
4349 CURSOR cur_benefits_nm (c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE, c_phase ghr_compl_ca_details.phase%TYPE
4350 , c_action_type ghr_compl_ca_details.action_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4351 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) P10_prsn, NVL(SUM(CEIL(ca.amount)),0) p10_amt
4352 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
4353 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
4354 AND cah.complaint_id = cmp.complaint_id
4355 AND adrs.complaint_id = cmp.complaint_id
4356 AND cmp.agency_code = c_agency_code
4357 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4358 AND adrs.stage = c_stage
4359 AND ca.phase = c_phase
4360 AND ca.action_type = c_action_type
4361 AND ca.category = 20 -- Non-Monetary
4362 AND adrs.end_date IS NOT NULL;
4363
4364 CURSOR cur_benefits_nm_pt2 (c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE, c_phase ghr_compl_ca_details.phase%TYPE,
4365 c_action_type1 ghr_compl_ca_details.action_type%TYPE,c_action_type2 ghr_compl_ca_details.action_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
4366 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) P10_prsn
4367 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
4368 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
4369 AND cah.complaint_id = cmp.complaint_id
4370 AND adrs.complaint_id = cmp.complaint_id
4371 AND cmp.agency_code = c_agency_code
4372 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4373 AND adrs.stage = c_stage
4374 AND ca.phase = c_phase
4375 AND ca.action_type IN (c_action_type1,c_action_type2)
4376 AND ca.category = 20 -- Non-Monetary
4377 AND adrs.end_date IS NOT NULL;
4378
4379 CURSOR cur_tot_benefits_nm (c_from_date date, c_to_date date,c_stage ghr_compl_adrs.stage%TYPE, c_phase ghr_compl_ca_details.phase%TYPE,c_agency_code ghr_complaints2.agency_code%type
4380 ) IS
4381 SELECT COUNT(distinct cmp.complaint_id) p10_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) P10_prsn
4382 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
4383 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
4384 AND cah.complaint_id = cmp.complaint_id
4385 AND adrs.complaint_id = cmp.complaint_id
4386 AND cmp.agency_code = c_agency_code
4387 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
4388 AND adrs.stage = c_stage
4389 AND ca.phase = c_phase
4390 AND ca.action_type IS NOT NULL
4391 AND ca.category = 20 -- Non-Monetary
4392 AND adrs.end_date IS NOT NULL;
4393
4394 l_p10_d_cmp NUMBER;
4395 l_p10_d1_cmp NUMBER;
4396 l_p10_d2_cmp NUMBER;
4397 l_p10_d3_cmp NUMBER;
4398 l_p10_d5_cmp NUMBER;
4399 l_p10_d1_ant NUMBER;
4400 l_p10_d2_ant NUMBER;
4401 l_p10_d3_ant NUMBER;
4402 l_p10_d5_ant NUMBER;
4403 l_p10_e1_cmp NUMBER;
4404 l_p10_e1_ant NUMBER;
4405 l_p10_e1_day NUMBER;
4406 l_p10_e2_cmp NUMBER;
4407 l_p10_e2_ant NUMBER;
4408 l_p10_e2_day NUMBER;
4409 l_p10_e3_cmp NUMBER;
4410 l_p10_e3_ant NUMBER;
4411 l_p10_e3_day NUMBER;
4412 l_p10_e4_cmp NUMBER;
4413 l_p10_e4_ant NUMBER;
4414 l_p10_e4_day NUMBER;
4415 l_p10_e5_cmp NUMBER;
4416 l_p10_e5_ant NUMBER;
4417 l_p10_e5_day NUMBER;
4418 l_p10_e6_cmp NUMBER;
4419 l_p10_e6_ant NUMBER;
4420 l_p10_e6_day NUMBER;
4421 l_p10_e7_cmp NUMBER;
4422 l_p10_e7_ant NUMBER;
4423 l_p10_e7_day NUMBER;
4424 l_p10_e8_cmp NUMBER;
4425 l_p10_e8_ant NUMBER;
4426 l_p10_e8_day NUMBER;
4427 l_p10_e9_cmp NUMBER;
4428 l_p10_e9_ant NUMBER;
4429 l_p10_e9_day NUMBER;
4430 l_p10_e_cmp NUMBER;
4431 l_p10_e_ant NUMBER;
4432 l_p10_e_day NUMBER;
4433 l_p10_f1a_cmp NUMBER;
4434 l_p10_f1a_ant NUMBER;
4435 l_P10_f1a_avg NUMBER;
4436 l_p10_f1a_day NUMBER;
4437 l_p10_f1b_cmp NUMBER;
4438 l_p10_f1b_ant NUMBER;
4439 l_P10_f1b_avg NUMBER;
4440 l_p10_f1b_day NUMBER;
4441 l_p10_f1c_cmp NUMBER;
4442 l_p10_f1c_ant NUMBER;
4443 l_P10_f1c_avg NUMBER;
4444 l_p10_f1c_day NUMBER;
4445 l_p10_f1d_cmp NUMBER;
4446 l_p10_f1d_ant NUMBER;
4447 l_P10_f1d_avg NUMBER;
4448 l_p10_f1d_day NUMBER;
4449 l_p10_f1_cmp NUMBER;
4450 l_p10_f1_ant NUMBER;
4451 l_P10_f1_avg NUMBER;
4452 l_p10_f1_day NUMBER;
4453 l_p10_f2_cmp NUMBER;
4454 l_p10_f2_ant NUMBER;
4455 l_P10_f2_avg NUMBER;
4456 l_p10_f2_day NUMBER;
4457 l_p10_g1_cmp NUMBER;
4458 l_p10_g1_ant NUMBER;
4459 l_p10_g1_amt NUMBER;
4460 l_p10_g1a_cmp NUMBER;
4461 l_p10_g1a_ant NUMBER;
4462 l_p10_g1a_amt NUMBER;
4463 l_p10_g1b_cmp NUMBER;
4464 l_p10_g1b_ant NUMBER;
4465 l_p10_g1b_amt NUMBER;
4466 l_p10_g1c_cmp NUMBER;
4467 l_p10_g1c_ant NUMBER;
4468 l_p10_g1c_amt NUMBER;
4469 l_p10_g1d_cmp NUMBER;
4470 l_p10_g1d_ant NUMBER;
4471 l_p10_g1d_amt NUMBER;
4472 l_p10_g1e_cmp NUMBER;
4473 l_p10_g1e_ant NUMBER;
4474 l_p10_g1e_amt NUMBER;
4475 l_p10_g2a_cmp NUMBER;
4476 l_p10_g2a_ant NUMBER;
4477 l_p10_g2b_cmp NUMBER;
4478 l_p10_g2b_ant NUMBER;
4479 l_p10_g2c_cmp NUMBER;
4480 l_p10_g2c_ant NUMBER;
4481 l_p10_g2d_cmp NUMBER;
4482 l_p10_g2d_ant NUMBER;
4483 l_p10_g2e_cmp NUMBER;
4484 l_p10_g2e_ant NUMBER;
4485 l_p10_g2f_cmp NUMBER;
4486 l_p10_g2f_ant NUMBER;
4487 l_p10_g2g_cmp NUMBER;
4488 l_p10_g2g_ant NUMBER;
4489 l_p10_g2h_cmp NUMBER;
4490 l_p10_g2h_ant NUMBER;
4491 l_p10_g2i_cmp NUMBER;
4492 l_p10_g2i_ant NUMBER;
4493 l_p10_g2j_cmp NUMBER;
4494 l_p10_g2j_ant NUMBER;
4495 l_p10_g2_cmp NUMBER;
4496 l_p10_g2_ant NUMBER;
4497 l_p10_d_ant NUMBER;
4498 l_p10_e1_avg NUMBER;
4499 l_p10_e2_avg NUMBER;
4500 l_p10_e3_avg NUMBER;
4501 l_p10_e4_avg NUMBER;
4502 l_p10_e5_avg NUMBER;
4503 l_p10_e6_avg NUMBER;
4504 l_p10_e7_avg NUMBER;
4505 l_p10_e8_avg NUMBER;
4506 l_p10_e9_avg NUMBER;
4507 l_p10_e_avg NUMBER;
4508 l_p10_e10_cmp NUMBER;
4509 l_p10_e10_ant NUMBER;
4510 l_p10_e10_day NUMBER;
4511 l_p10_e10_avg NUMBER;
4512 -- Variables for Multi-techniques
4513 l_ctr NUMBER:= 1;
4514 l_lb_flag NUMBER := 0;
4515 l_total_count NUMBER := 0;
4516 l_total_days NUMBER := 0;
4517 l_old_cmp_id NUMBER(15) := 0;
4518 l_old_days NUMBER := 0;
4519 l_new_cmp_id NUMBER(15) := 0;
4520 TYPE t_prsn_cur IS REF CURSOR;
4521 l_prsn_cur t_prsn_cur;
4522 l_tot_prsn NUMBER(15) := 0;
4523 l_sql_str VARCHAR2(10000) := NULL;
4524
4525 l_p10_a_cmp NUMBER;
4526 l_p10_a_ant NUMBER;
4527 l_p10_a_day NUMBER;
4528 l_p10_c1_cmp NUMBER;
4529 l_p10_c1_ant NUMBER;
4530 l_p10_c1_day NUMBER;
4531 l_p10_c2_cmp NUMBER;
4532 l_p10_c2_ant NUMBER;
4533 l_p10_c2_day NUMBER;
4534 l_p10_c3_cmp NUMBER;
4535 l_p10_c3_ant NUMBER;
4536 l_p10_c3_day NUMBER;
4537 l_p10_c4_cmp NUMBER;
4538 l_p10_c4_ant NUMBER;
4539 l_p10_c4_day NUMBER;
4540 l_p10_b_cmp NUMBER;
4541 l_p10_b_ant NUMBER;
4542
4543 BEGIN
4544 -- ADR Pending from previous reporting period
4545 FOR cur_ctr IN cur_adr_pending(p_from_date, p_to_date,'10', p_agency_code) LOOP
4546 l_p10_a_cmp := cur_ctr.p10_cnt;
4547 l_p10_a_ant := cur_ctr.p10_prsn;
4548 l_p10_a_day := cur_ctr.p10_days;
4549 END LOOP;
4550
4551 vXMLTable(vCtr).TagName := 'P10_a_cmp';
4552 vXMLTable(vCtr).TagValue := to_char(l_p10_a_cmp);
4553 vCtr := vCtr + 1;
4554
4555 vXMLTable(vCtr).TagName := 'P10_a_ant';
4556 vXMLTable(vCtr).TagValue := to_char(l_p10_a_ant);
4557 vCtr := vCtr + 1;
4558 -- Bug#3124648
4559 IF (l_p10_a_day IS NULL) THEN
4560 l_p10_a_day := 0;
4561 END IF;
4562
4563 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - ADR Pending from previous reporting period');
4564 -- Individuals Counseled through ADR
4565 FOR cur_ctr IN cur_adr(p_from_date, p_to_date,'10', p_agency_code) LOOP
4566 l_p10_b_cmp := cur_ctr.p10_cnt;
4567 l_p10_b_ant := cur_ctr.p10_prsn;
4568 END LOOP;
4569
4570 vXMLTable(vCtr).TagName := 'P10_b_cmp';
4571 vXMLTable(vCtr).TagValue := to_char(l_p10_b_cmp);
4572 vCtr := vCtr + 1;
4573
4574 vXMLTable(vCtr).TagName := 'P10_b_ant';
4575 vXMLTable(vCtr).TagValue := to_char(l_p10_b_ant);
4576 vCtr := vCtr + 1;
4577 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Individuals Counseled through ADR');
4578
4579 -- ADR Actions for current reporting period
4580 -- ADR Offered
4584 l_p10_c1_day := cur_ctr.p10_days;
4581 FOR cur_ctr IN cur_adr_offered(p_from_date, p_to_date,'10', p_agency_code) LOOP
4582 l_p10_c1_cmp := cur_ctr.p10_cnt;
4583 l_p10_c1_ant := cur_ctr.p10_prsn;
4585 END LOOP;
4586
4587 vXMLTable(vCtr).TagName := 'P10_c1_cmp';
4588 vXMLTable(vCtr).TagValue := to_char(l_p10_c1_cmp);
4589 vCtr := vCtr + 1;
4590
4591 vXMLTable(vCtr).TagName := 'P10_c1_ant';
4592 vXMLTable(vCtr).TagValue := to_char(l_p10_c1_ant);
4593 vCtr := vCtr + 1;
4594
4595 -- Bug#3124648
4596 IF (l_p10_c1_day IS NULL) THEN
4597 l_p10_c1_day := 0;
4598 END IF;
4599
4600 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - ADR Offered');
4601
4602 -- Rejected by Complainant
4603 FOR cur_ctr IN cur_adr_actions(p_from_date, p_to_date,'10','20', p_agency_code) LOOP
4604 l_p10_c2_cmp := cur_ctr.p10_cnt;
4605 l_p10_c2_ant := cur_ctr.p10_prsn;
4606 l_p10_c2_day := cur_ctr.p10_days;
4607 END LOOP;
4608
4609 vXMLTable(vCtr).TagName := 'P10_c2_cmp';
4610 vXMLTable(vCtr).TagValue := to_char(l_p10_c2_cmp);
4611 vCtr := vCtr + 1;
4612
4613 vXMLTable(vCtr).TagName := 'P10_c2_ant';
4614 vXMLTable(vCtr).TagValue := to_char(l_p10_c2_ant);
4615 vCtr := vCtr + 1;
4616
4617 -- Bug#3124648
4618 IF (l_p10_c2_day IS NULL) THEN
4619 l_p10_c2_day := 0;
4620 END IF;
4621
4622 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Rejected by Complainant');
4623
4624 -- Rejected by Agency
4625 FOR cur_ctr IN cur_adr_actions(p_from_date, p_to_date,'10','30', p_agency_code) LOOP
4626 l_p10_c3_cmp := cur_ctr.p10_cnt;
4627 l_p10_c3_ant := cur_ctr.p10_prsn;
4628 l_p10_c3_day := cur_ctr.p10_days;
4629 END LOOP;
4630
4631 vXMLTable(vCtr).TagName := 'P10_c3_cmp';
4632 vXMLTable(vCtr).TagValue := to_char(l_p10_c3_cmp);
4633 vCtr := vCtr + 1;
4634
4635 vXMLTable(vCtr).TagName := 'P10_c3_ant';
4636 vXMLTable(vCtr).TagValue := to_char(l_p10_c3_ant);
4637 vCtr := vCtr + 1;
4638
4639 -- Bug#3124648
4640 IF (l_p10_c3_day IS NULL) THEN
4641 l_p10_c3_day := 0;
4642 END IF;
4643
4644 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Rejected by Agency');
4645
4646 -- Total ADR
4647 l_p10_c4_cmp := l_p10_c1_cmp - (l_p10_c2_cmp + l_p10_c3_cmp);
4648 l_p10_c4_ant := l_p10_c1_ant - (l_p10_c2_ant + l_p10_c3_ant);
4649 l_p10_c4_day := l_p10_c1_day - (l_p10_c2_day + l_p10_c3_day);
4650
4651 vXMLTable(vCtr).TagName := 'P10_c4_cmp';
4652 vXMLTable(vCtr).TagValue := to_char(l_p10_c4_cmp);
4653 vCtr := vCtr + 1;
4654
4655 vXMLTable(vCtr).TagName := 'P10_c4_ant';
4656 vXMLTable(vCtr).TagValue := to_char(l_p10_c4_ant);
4657 vCtr := vCtr + 1;
4658 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Total ADR');
4659 -- Resources Used
4660
4661 -- Inhouse
4662 FOR cur_ctr IN cur_resources(p_from_date, p_to_date,'10','20', p_agency_code) LOOP
4663 l_p10_d1_cmp := cur_ctr.p10_cnt;
4664 l_p10_d1_ant := cur_ctr.p10_prsn;
4665 END LOOP;
4666
4667 vXMLTable(vCtr).TagName := 'P10_d1_cmp';
4668 vXMLTable(vCtr).TagValue := to_char(l_p10_d1_cmp);
4669 vCtr := vCtr + 1;
4670
4671 vXMLTable(vCtr).TagName := 'P10_d1_ant';
4672 vXMLTable(vCtr).TagValue := to_char(l_p10_d1_ant);
4673 vCtr := vCtr + 1;
4674
4675 -- Another Federal Agency
4676 FOR cur_ctr IN cur_resources(p_from_date, p_to_date,'10','10', p_agency_code) LOOP
4677 l_p10_d2_cmp := cur_ctr.p10_cnt;
4678 l_p10_d2_ant := cur_ctr.p10_prsn;
4679 END LOOP;
4680
4681 vXMLTable(vCtr).TagName := 'P10_d2_cmp';
4682 vXMLTable(vCtr).TagValue := to_char(l_p10_d2_cmp);
4683 vCtr := vCtr + 1;
4684
4685 vXMLTable(vCtr).TagName := 'P10_d2_ant';
4686 vXMLTable(vCtr).TagValue := to_char(l_p10_d2_ant);
4687 vCtr := vCtr + 1;
4688
4689 -- Private Organization
4690 FOR cur_ctr IN cur_resources(p_from_date, p_to_date,'10','50', p_agency_code) LOOP
4691 l_p10_d3_cmp := cur_ctr.p10_cnt;
4692 l_p10_d3_ant := cur_ctr.p10_prsn;
4693 END LOOP;
4694
4695 vXMLTable(vCtr).TagName := 'P10_d3_cmp';
4696 vXMLTable(vCtr).TagValue := to_char(l_p10_d3_cmp);
4697 vCtr := vCtr + 1;
4698
4699 vXMLTable(vCtr).TagName := 'P10_d3_ant';
4700 vXMLTable(vCtr).TagValue := to_char(l_p10_d3_ant);
4701 vCtr := vCtr + 1;
4702
4703 -- Multiple Resources
4704
4705 l_total_count := 0;
4706 l_total_days := 0;
4707 l_old_cmp_id := 0;
4708 l_old_days := 0;
4709 v_temp.DELETE;
4710 l_ctr := 1;
4711
4712
4713 FOR cur_ctr IN cur_multires(p_from_date, p_to_date,'10', p_agency_code) LOOP
4714 IF (cur_ctr.adr_resource = '30') THEN
4715 v_temp(l_ctr).complaint_id := cur_ctr.complaint_id;
4716 l_total_count := l_total_count + 1;
4717 l_old_cmp_id := cur_ctr.complaint_id;
4718 l_ctr := l_ctr + 1;
4719 ELSE
4720 l_new_cmp_id := cur_ctr.complaint_id;
4721
4722 IF (l_old_cmp_id = l_new_cmp_id) THEN
4723
4724 -- Search whether entry for the same complaint exist already, if exists update the same.
4725 l_lb_flag := 0 ;
4726 IF (v_temp.COUNT>0) THEN
4727 FOR l_ctr1 IN v_temp.FIRST .. v_temp.LAST LOOP
4728 IF (v_temp(l_ctr1).complaint_id = l_new_cmp_id) THEN
4729 l_total_count := l_total_count + 1;
4730 l_lb_flag := 1;
4731 END IF;
4732 END LOOP;
4733 END IF;
4734 -- If the complaint doesnt exist already, add new entry.
4735 IF (l_lb_flag = 0) THEN
4736 v_temp(l_ctr).complaint_id := cur_ctr.complaint_id;
4737 l_total_count := l_total_count + 2;
4738 END IF;
4739 END IF;
4740 l_old_cmp_id := cur_ctr.complaint_id;
4741 END IF;
4742 END LOOP;
4743 -- To Find out the complainants for these complaints
4747 END IF;
4744 l_sql_str := '';
4745 IF (v_temp.COUNT > 0) THEN
4746 l_sql_str := v_temp(1).complaint_id;
4748
4749 IF (v_temp.COUNT > 1) THEN
4750 FOR l_ctr IN 2 .. v_temp.COUNT LOOP
4751 l_sql_str := l_sql_str || ',' || to_char(v_temp(l_ctr).complaint_id);
4752 END LOOP;
4753 END IF;
4754 IF (l_sql_str IS NOT NULL) THEN
4755 l_sql_str := 'SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) FROM GHR_COMPLAINTS2 cmp WHERE cmp.complaint_id in (' || l_sql_str || ')';
4756 OPEN l_prsn_cur FOR l_sql_str;
4757 FETCH l_prsn_cur INTO l_tot_prsn;
4758 CLOSE l_prsn_cur;
4759 END IF;
4760
4761
4762 vXMLTable(vCtr).TagName := 'P10_d4_cmp';
4763 vXMLTable(vCtr).TagValue := to_char(l_total_count);
4764 vCtr := vCtr + 1;
4765
4766 vXMLTable(vCtr).TagName := 'P10_d4_ant';
4767 vXMLTable(vCtr).TagValue := to_char(l_tot_prsn);
4768 vCtr := vCtr + 1;
4769
4770 --------- End Multiple Resources
4771 -- Other
4772 FOR cur_ctr IN cur_resources(p_from_date, p_to_date,'10','40', p_agency_code) LOOP
4773 l_p10_d5_cmp := cur_ctr.p10_cnt;
4774 l_p10_d5_ant := cur_ctr.p10_prsn;
4775 END LOOP;
4776
4777 vXMLTable(vCtr).TagName := 'P10_d5_cmp';
4778 vXMLTable(vCtr).TagValue := to_char(l_p10_d5_cmp);
4779 vCtr := vCtr + 1;
4780
4781 vXMLTable(vCtr).TagName := 'P10_d5_ant';
4782 vXMLTable(vCtr).TagValue := to_char(l_p10_d5_ant);
4783 vCtr := vCtr + 1;
4784
4785 vXMLTable(vCtr).TagName := 'P10_d6_cmp';
4786 vXMLTable(vCtr).TagValue := '0';
4787 vCtr := vCtr + 1;
4788
4789 vXMLTable(vCtr).TagName := 'P10_d6_ant';
4790 vXMLTable(vCtr).TagValue := '0';
4791 vCtr := vCtr + 1;
4792
4793 vXMLTable(vCtr).TagName := 'P10_d7_cmp';
4794 vXMLTable(vCtr).TagValue := '0';
4795 vCtr := vCtr + 1;
4796
4797 vXMLTable(vCtr).TagName := 'P10_d7_ant';
4798 vXMLTable(vCtr).TagValue := '0';
4799 vCtr := vCtr + 1;
4800
4801 -- Total Resources
4802
4803 l_p10_d_cmp := l_p10_d1_cmp + l_p10_d2_cmp + l_p10_d3_cmp + l_total_count + l_p10_d5_cmp;
4804 l_p10_d_ant := l_p10_d1_ant + l_p10_d2_ant + l_p10_d3_ant + l_tot_prsn + l_p10_d5_ant;
4805
4806
4807 vXMLTable(vCtr).TagName := 'P10_d_cmp';
4808 vXMLTable(vCtr).TagValue := to_char(l_p10_d_cmp);
4809 vCtr := vCtr + 1;
4810
4811 vXMLTable(vCtr).TagName := 'P10_d_ant';
4812 vXMLTable(vCtr).TagValue := to_char(l_p10_d_ant);
4813 vCtr := vCtr + 1;
4814 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Resources');
4815 -- Techniques used
4816 -- Mediation
4817 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','40', p_agency_code) LOOP
4818 l_p10_e1_cmp := cur_ctr.p10_cnt;
4819 l_p10_e1_ant := cur_ctr.p10_prsn;
4820 l_p10_e1_day := cur_ctr.p10_days;
4821 END LOOP;
4822
4823 vXMLTable(vCtr).TagName := 'P10_e1_cmp';
4824 vXMLTable(vCtr).TagValue := to_char(l_p10_e1_cmp);
4825 vCtr := vCtr + 1;
4826
4827 vXMLTable(vCtr).TagName := 'P10_e1_ant';
4828 vXMLTable(vCtr).TagValue := to_char(l_p10_e1_ant);
4829 vCtr := vCtr + 1;
4830
4831 IF (l_p10_e1_day IS NULL) THEN
4832 l_p10_e1_day := 0;
4833 END IF;
4834
4835 vXMLTable(vCtr).TagName := 'P10_e1_day';
4836 vXMLTable(vCtr).TagValue := to_char(l_p10_e1_day);
4837 vCtr := vCtr + 1;
4838
4839 -- Average Days
4840 /* IF (l_p10_e1_cmp > 0) THEN
4841 l_P10_e1_avg := CEIL(l_p10_e1_day/l_p10_e1_cmp);
4842 ELSE
4843 l_P10_e1_avg := 0;
4844 END IF;
4845 vXMLTable(vCtr).TagName := 'P10_e1_avg';
4846 vXMLTable(vCtr).TagValue := to_char(l_P10_e1_avg);
4847 vCtr := vCtr + 1;
4848 */
4849
4850 -- Settlement Conferences
4851 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','100', p_agency_code) LOOP
4852 l_p10_e2_cmp := cur_ctr.p10_cnt;
4853 l_p10_e2_ant := cur_ctr.p10_prsn;
4854 l_p10_e2_day := cur_ctr.p10_days;
4855 END LOOP;
4856
4857 vXMLTable(vCtr).TagName := 'P10_e2_cmp';
4858 vXMLTable(vCtr).TagValue := to_char(l_p10_e2_cmp);
4859 vCtr := vCtr + 1;
4860
4861 vXMLTable(vCtr).TagName := 'P10_e2_ant';
4862 vXMLTable(vCtr).TagValue := to_char(l_p10_e2_ant);
4863 vCtr := vCtr + 1;
4864
4865 IF (l_p10_e2_day IS NULL) THEN
4866 l_p10_e2_day := 0;
4867 END IF;
4868
4869 vXMLTable(vCtr).TagName := 'P10_e2_day';
4870 vXMLTable(vCtr).TagValue := to_char(l_p10_e2_day);
4871 vCtr := vCtr + 1;
4872
4873 -- Average Days
4874 /* IF (l_p10_e2_cmp > 0) THEN
4875 l_P10_e2_avg := CEIL(l_p10_e2_day/l_p10_e2_cmp);
4876 ELSE
4877 l_P10_e2_avg := 0;
4878 END IF;
4879 vXMLTable(vCtr).TagName := 'P10_e2_avg';
4880 vXMLTable(vCtr).TagValue := to_char(l_P10_e2_avg);
4881 vCtr := vCtr + 1;
4882 */
4883 -- Early Neutral evaluations
4884 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','10', p_agency_code) LOOP
4885 l_p10_e3_cmp := cur_ctr.p10_cnt;
4886 l_p10_e3_ant := cur_ctr.p10_prsn;
4887 l_p10_e3_day := cur_ctr.p10_days;
4888 END LOOP;
4889
4890 vXMLTable(vCtr).TagName := 'P10_e3_cmp';
4891 vXMLTable(vCtr).TagValue := to_char(l_p10_e3_cmp);
4892 vCtr := vCtr + 1;
4893
4894 vXMLTable(vCtr).TagName := 'P10_e3_ant';
4895 vXMLTable(vCtr).TagValue := to_char(l_p10_e3_ant);
4896 vCtr := vCtr + 1;
4897
4898 IF (l_p10_e3_day IS NULL) THEN
4899 l_p10_e3_day := 0;
4900 END IF;
4901
4902 vXMLTable(vCtr).TagName := 'P10_e3_day';
4903 vXMLTable(vCtr).TagValue := to_char(l_p10_e3_day);
4904 vCtr := vCtr + 1;
4905
4906 -- Average Days
4907 /* IF (l_p10_e3_cmp > 0) THEN
4908 l_P10_e3_avg := CEIL(l_p10_e3_day/l_p10_e3_cmp);
4909 ELSE
4910 l_P10_e3_avg := 0;
4911 END IF;
4912 vXMLTable(vCtr).TagName := 'P10_e3_avg';
4913 vXMLTable(vCtr).TagValue := to_char(l_P10_e3_avg);
4914 vCtr := vCtr + 1;
4915 */
4916 -- Factfinding
4917
4918 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','30', p_agency_code) LOOP
4919 l_p10_e4_cmp := cur_ctr.p10_cnt;
4920 l_p10_e4_ant := cur_ctr.p10_prsn;
4921 l_p10_e4_day := cur_ctr.p10_days;
4922 END LOOP;
4923
4924 vXMLTable(vCtr).TagName := 'P10_e4_cmp';
4925 vXMLTable(vCtr).TagValue := to_char(l_p10_e4_cmp);
4926 vCtr := vCtr + 1;
4927
4928 vXMLTable(vCtr).TagName := 'P10_e4_ant';
4929 vXMLTable(vCtr).TagValue := to_char(l_p10_e4_ant);
4930 vCtr := vCtr + 1;
4931
4932 IF (l_p10_e4_day IS NULL) THEN
4933 l_p10_e4_day := 0;
4934 END IF;
4935
4936 vXMLTable(vCtr).TagName := 'P10_e4_day';
4937 vXMLTable(vCtr).TagValue := to_char(l_p10_e4_day);
4938 vCtr := vCtr + 1;
4939
4940 -- Average Days
4941 /* IF (l_p10_e4_cmp > 0) THEN
4942 l_P10_e4_avg := CEIL(l_p10_e4_day/l_p10_e4_cmp);
4943 ELSE
4944 l_P10_e4_avg := 0;
4945 END IF;
4946 vXMLTable(vCtr).TagName := 'P10_e4_avg';
4947 vXMLTable(vCtr).TagValue := to_char(l_P10_e4_avg);
4948 vCtr := vCtr + 1;
4949 */
4950 -- Facilitation
4951 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','20', p_agency_code) LOOP
4952 l_p10_e5_cmp := cur_ctr.p10_cnt;
4953 l_p10_e5_ant := cur_ctr.p10_prsn;
4954 l_p10_e5_day := cur_ctr.p10_days;
4955 END LOOP;
4956
4957 vXMLTable(vCtr).TagName := 'P10_e5_cmp';
4958 vXMLTable(vCtr).TagValue := to_char(l_p10_e5_cmp);
4959 vCtr := vCtr + 1;
4960
4961 vXMLTable(vCtr).TagName := 'P10_e5_ant';
4962 vXMLTable(vCtr).TagValue := to_char(l_p10_e5_ant);
4963 vCtr := vCtr + 1;
4964
4965 IF (l_p10_e5_day IS NULL) THEN
4966 l_p10_e5_day := 0;
4967 END IF;
4968
4969 vXMLTable(vCtr).TagName := 'P10_e5_day';
4970 vXMLTable(vCtr).TagValue := to_char(l_p10_e5_day);
4971 vCtr := vCtr + 1;
4972
4973 -- Average Days
4974 /* IF (l_p10_e5_cmp > 0) THEN
4975 l_P10_e5_avg := CEIL(l_p10_e5_day/l_p10_e5_cmp);
4976 ELSE
4977 l_P10_e5_avg := 0;
4978 END IF;
4979 vXMLTable(vCtr).TagName := 'P10_e5_avg';
4980 vXMLTable(vCtr).TagValue := to_char(l_P10_e5_avg);
4981 vCtr := vCtr + 1;
4982 */
4983 -- Ombudsman
4984 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','80', p_agency_code) LOOP
4985 l_p10_e6_cmp := cur_ctr.p10_cnt;
4986 l_p10_e6_ant := cur_ctr.p10_prsn;
4987 l_p10_e6_day := cur_ctr.p10_days;
4988 END LOOP;
4989
4990 vXMLTable(vCtr).TagName := 'P10_e6_cmp';
4991 vXMLTable(vCtr).TagValue := to_char(l_p10_e6_cmp);
4992 vCtr := vCtr + 1;
4993
4994 vXMLTable(vCtr).TagName := 'P10_e6_ant';
4995 vXMLTable(vCtr).TagValue := to_char(l_p10_e6_ant);
4996 vCtr := vCtr + 1;
4997
4998 IF (l_p10_e6_day IS NULL) THEN
4999 l_p10_e6_day := 0;
5000 END IF;
5001
5002 vXMLTable(vCtr).TagName := 'P10_e6_day';
5003 vXMLTable(vCtr).TagValue := to_char(l_p10_e6_day);
5004 vCtr := vCtr + 1;
5005
5006 -- Average Days
5007 /* IF (l_p10_e6_cmp > 0) THEN
5008 l_P10_e6_avg := CEIL(l_p10_e6_day/l_p10_e6_cmp);
5009 ELSE
5010 l_P10_e6_avg := 0;
5011 END IF;
5012 vXMLTable(vCtr).TagName := 'P10_e6_avg';
5013 vXMLTable(vCtr).TagValue := to_char(l_P10_e6_avg);
5014 vCtr := vCtr + 1;
5015 */
5016 -- Mini-trials
5017 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','60', p_agency_code) LOOP
5018 l_p10_e7_cmp := cur_ctr.p10_cnt;
5019 l_p10_e7_ant := cur_ctr.p10_prsn;
5020 l_p10_e7_day := cur_ctr.p10_days;
5021 END LOOP;
5022
5023 vXMLTable(vCtr).TagName := 'P10_e7_cmp';
5024 vXMLTable(vCtr).TagValue := to_char(l_p10_e7_cmp);
5025 vCtr := vCtr + 1;
5026
5027 vXMLTable(vCtr).TagName := 'P10_e7_ant';
5028 vXMLTable(vCtr).TagValue := to_char(l_p10_e7_ant);
5029 vCtr := vCtr + 1;
5030
5031 IF (l_p10_e7_day IS NULL) THEN
5032 l_p10_e7_day := 0;
5033 END IF;
5034
5035
5036 vXMLTable(vCtr).TagName := 'P10_e7_day';
5037 vXMLTable(vCtr).TagValue := to_char(l_p10_e7_day);
5038 vCtr := vCtr + 1;
5039
5040 -- Average Days
5041 /* IF (l_p10_e7_cmp > 0) THEN
5042 l_P10_e7_avg := CEIL(l_p10_e7_day/l_p10_e7_cmp);
5043 ELSE
5044 l_P10_e7_avg := 0;
5045 END IF;
5046 vXMLTable(vCtr).TagName := 'P10_e7_avg';
5047 vXMLTable(vCtr).TagValue := to_char(l_P10_e7_avg);
5048 vCtr := vCtr + 1;
5049 */
5050 -- Peer review
5051 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','90', p_agency_code) LOOP
5052 l_p10_e8_cmp := cur_ctr.p10_cnt;
5053 l_p10_e8_ant := cur_ctr.p10_prsn;
5054 l_p10_e8_day := cur_ctr.p10_days;
5055 END LOOP;
5056
5057 vXMLTable(vCtr).TagName := 'P10_e8_cmp';
5058 vXMLTable(vCtr).TagValue := to_char(l_p10_e8_cmp);
5059 vCtr := vCtr + 1;
5060
5061 vXMLTable(vCtr).TagName := 'P10_e8_ant';
5062 vXMLTable(vCtr).TagValue := to_char(l_p10_e8_ant);
5063 vCtr := vCtr + 1;
5064
5065 IF (l_p10_e8_day IS NULL) THEN
5066 l_p10_e8_day := 0;
5067 END IF;
5068
5069 vXMLTable(vCtr).TagName := 'P10_e8_day';
5070 vXMLTable(vCtr).TagValue := to_char(l_p10_e8_day);
5071 vCtr := vCtr + 1;
5072
5073 -- Average Days
5074 /* IF (l_p10_e8_cmp > 0) THEN
5075 l_P10_e8_avg := CEIL(l_p10_e8_day/l_p10_e8_cmp);
5076 ELSE
5077 l_P10_e8_avg := 0;
5078 END IF;
5079 vXMLTable(vCtr).TagName := 'P10_e8_avg';
5080 vXMLTable(vCtr).TagValue := to_char(l_P10_e8_avg);
5081 vCtr := vCtr + 1;
5082 */
5083 -- Other
5084
5085 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,'10','70', p_agency_code) LOOP
5086 l_p10_e10_cmp := cur_ctr.p10_cnt;
5087 l_p10_e10_ant := cur_ctr.p10_prsn;
5088 l_p10_e10_day := cur_ctr.p10_days;
5089 END LOOP;
5090
5091 vXMLTable(vCtr).TagName := 'P10_e10_cmp';
5092 vXMLTable(vCtr).TagValue := to_char(l_p10_e10_cmp);
5093 vCtr := vCtr + 1;
5094
5095 vXMLTable(vCtr).TagName := 'P10_e10_ant';
5096 vXMLTable(vCtr).TagValue := to_char(l_p10_e10_ant);
5097 vCtr := vCtr + 1;
5098
5099 IF (l_p10_e10_day IS NULL) THEN
5100 l_p10_e10_day := 0;
5101 END IF;
5102
5103 vXMLTable(vCtr).TagName := 'P10_e10_day';
5104 vXMLTable(vCtr).TagValue := to_char(l_p10_e10_day);
5105 vCtr := vCtr + 1;
5106
5107 -- Average Days
5108 /* IF (l_p10_e10_cmp > 0) THEN
5109 l_P10_e10_avg := CEIL(l_p10_e10_day/l_p10_e10_cmp);
5110 ELSE
5111 l_P10_e10_avg := 0;
5112 END IF;
5113 vXMLTable(vCtr).TagName := 'P10_e10_avg';
5114 vXMLTable(vCtr).TagValue := to_char(l_P10_e10_avg);
5115 vCtr := vCtr + 1;
5116 */
5117 -- Multiple Techniques
5118
5119 l_total_count := 0;
5120 l_total_days := 0;
5121 l_old_cmp_id := 0;
5122 l_old_days := 0;
5123 l_ctr := 1;
5124 v_temp.DELETE;
5125
5126
5127 FOR cur_ctr IN cur_multitechniques(p_from_date, p_to_date,'10', p_agency_code) LOOP
5128 IF (cur_ctr.technique = '50') THEN
5129 v_temp(l_ctr).complaint_id := cur_ctr.complaint_id;
5130 l_total_count := l_total_count + 1;
5131 l_total_days := l_total_days + cur_ctr.p10_days;
5132 l_old_cmp_id := cur_ctr.complaint_id;
5133 l_old_days := cur_ctr.p10_days;
5134 l_ctr := l_ctr + 1;
5135 ELSE
5136 l_new_cmp_id := cur_ctr.complaint_id;
5137 IF (l_old_cmp_id = l_new_cmp_id) THEN
5138 -- Search whether entry for the same complaint exist already, if exists update the same.
5139 l_lb_flag := 0 ;
5140 IF (v_temp.COUNT > 0) THEN
5141 FOR l_ctr1 IN v_temp.FIRST .. v_temp.LAST LOOP
5142 IF (v_temp(l_ctr1).complaint_id = l_new_cmp_id) THEN
5143 l_total_count := l_total_count + 1;
5144 l_total_days := l_total_days + cur_ctr.p10_days;
5145 l_lb_flag := 1;
5146 END IF;
5147 END LOOP;
5148 END IF;
5149 -- If the complaint doesnt exist already, add new entry.
5150 IF (l_lb_flag = 0) THEN
5151 v_temp(l_ctr).complaint_id := cur_ctr.complaint_id;
5152 l_total_count := l_total_count + 2;
5153 l_total_days := l_total_days + l_old_days + cur_ctr.p10_days;
5154 END IF;
5155 END IF;
5156 l_old_cmp_id := cur_ctr.complaint_id;
5157 l_old_days := cur_ctr.p10_days;
5158 END IF;
5159 END LOOP;
5160
5161 -- To Find out the complainants for these complaints
5162 l_sql_str := '';
5163
5164 IF (v_temp.COUNT > 0) THEN
5165 l_sql_str := v_temp(1).complaint_id;
5166 END IF;
5167
5168 IF (v_temp.COUNT > 1) THEN
5169 FOR l_ctr IN 2 .. v_temp.COUNT LOOP
5170 l_sql_str := l_sql_str || ',' || to_char(v_temp(l_ctr).complaint_id);
5171 END LOOP;
5172 END IF;
5173 IF (l_sql_str IS NOT NULL) THEN
5174 l_sql_str := 'SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) FROM GHR_COMPLAINTS2 cmp WHERE cmp.complaint_id in (' || l_sql_str || ')';
5175 OPEN l_prsn_cur FOR l_sql_str;
5176 FETCH l_prsn_cur INTO l_tot_prsn;
5177 CLOSE l_prsn_cur;
5178 END IF;
5179
5180 --------- End Multiple Techniques
5181
5182 vXMLTable(vCtr).TagName := 'P10_e9_cmp';
5183 vXMLTable(vCtr).TagValue := to_char(l_total_count);
5184 vCtr := vCtr + 1;
5185
5186 vXMLTable(vCtr).TagName := 'P10_e9_ant';
5187 vXMLTable(vCtr).TagValue := to_char(l_tot_prsn);
5188 vCtr := vCtr + 1;
5189
5190 IF (l_total_days IS NULL) THEN
5191 l_total_days := 0;
5192 END IF;
5193
5194 vXMLTable(vCtr).TagName := 'P10_e9_day';
5195 vXMLTable(vCtr).TagValue := to_char(l_total_days);
5196 vCtr := vCtr + 1;
5197
5198 -- Average Days
5199 /* IF (l_total_count > 0) THEN
5200 l_P10_e9_avg := CEIL(l_total_days/l_total_count);
5201 ELSE
5202 l_P10_e9_avg := 0;
5203 END IF;
5204 vXMLTable(vCtr).TagName := 'P10_e9_avg';
5205 vXMLTable(vCtr).TagValue := to_char(l_P10_e9_avg);
5206 vCtr := vCtr + 1;
5207 */
5208 -- Filling zeroes for other fields
5209 vXMLTable(vCtr).TagName := 'P10_e11_cmp';
5210 vXMLTable(vCtr).TagValue := '0';
5211 vCtr := vCtr + 1;
5212
5213 vXMLTable(vCtr).TagName := 'P10_e11_ant';
5214 vXMLTable(vCtr).TagValue := '0';
5215 vCtr := vCtr + 1;
5216
5217 vXMLTable(vCtr).TagName := 'P10_e11_day';
5218 vXMLTable(vCtr).TagValue := '0';
5219 vCtr := vCtr + 1;
5220
5221 /* vXMLTable(vCtr).TagName := 'P10_e11_avg';
5222 vXMLTable(vCtr).TagValue := '0';
5223 vCtr := vCtr + 1;
5224 */
5225 vXMLTable(vCtr).TagName := 'P10_e12_cmp';
5226 vXMLTable(vCtr).TagValue := '0';
5227 vCtr := vCtr + 1;
5228
5229 vXMLTable(vCtr).TagName := 'P10_e12_ant';
5230 vXMLTable(vCtr).TagValue := '0';
5231 vCtr := vCtr + 1;
5232
5233 vXMLTable(vCtr).TagName := 'P10_e12_day';
5234 vXMLTable(vCtr).TagValue := '0';
5235 vCtr := vCtr + 1;
5236
5237 /* vXMLTable(vCtr).TagName := 'P10_e12_avg';
5238 vXMLTable(vCtr).TagValue := '0';
5239 vCtr := vCtr + 1;
5240 */
5241 l_p10_e_cmp := l_p10_e1_cmp + l_p10_e2_cmp + l_p10_e3_cmp + l_p10_e4_cmp + l_p10_e5_cmp + l_p10_e6_cmp + l_p10_e7_cmp + l_p10_e8_cmp + l_total_count + l_p10_e10_cmp;
5245 vXMLTable(vCtr).TagName := 'P10_e_cmp';
5242 l_p10_e_ant := l_p10_e1_ant + l_p10_e2_ant + l_p10_e3_ant + l_p10_e4_ant + l_p10_e5_ant + l_p10_e6_ant + l_p10_e7_ant + l_p10_e8_ant + l_tot_prsn + l_p10_e10_ant;
5243 l_p10_e_day := l_p10_e1_day + l_p10_e2_day + l_p10_e3_day + l_p10_e4_day + l_p10_e5_day + l_p10_e6_day + l_p10_e7_day + l_p10_e8_day + l_total_days + l_p10_e10_day;
5244
5246 vXMLTable(vCtr).TagValue := to_char(l_p10_e_cmp);
5247 vCtr := vCtr + 1;
5248
5249 vXMLTable(vCtr).TagName := 'P10_e_ant';
5250 vXMLTable(vCtr).TagValue := to_char(l_p10_e_ant);
5251 vCtr := vCtr + 1;
5252
5253 vXMLTable(vCtr).TagName := 'P10_e_day';
5254 vXMLTable(vCtr).TagValue := to_char(l_p10_e_day);
5255 vCtr := vCtr + 1;
5256
5257 -- Average Days
5258 /* IF (l_p10_e_cmp > 0) THEN
5259 l_P10_e_avg := CEIL(l_p10_e_day/l_p10_e_cmp);
5260 END IF;
5261 vXMLTable(vCtr).TagName := 'P10_e_avg';
5262 vXMLTable(vCtr).TagValue := to_char(l_P10_e_avg);
5263 vCtr := vCtr + 1;
5264 */
5265 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Techniques');
5266 -- Status of Cases
5267 -- Settlement with benefits
5268 FOR cur_ctr IN cur_case_status_settle(p_from_date, p_to_date,'10', p_agency_code) LOOP
5269 l_p10_f1a_cmp := cur_ctr.p10_cnt;
5270 l_p10_f1a_ant := cur_ctr.p10_prsn;
5271 l_p10_f1a_day := cur_ctr.p10_days;
5272 END LOOP;
5273
5274 vXMLTable(vCtr).TagName := 'P10_f1a_cmp';
5275 vXMLTable(vCtr).TagValue := to_char(l_p10_f1a_cmp);
5276 vCtr := vCtr + 1;
5277
5278 vXMLTable(vCtr).TagName := 'P10_f1a_ant';
5279 vXMLTable(vCtr).TagValue := to_char(l_p10_f1a_ant);
5280 vCtr := vCtr + 1;
5281
5282 IF (l_p10_f1a_day IS NULL) THEN
5283 l_p10_f1a_day := 0;
5284 END IF;
5285
5286 vXMLTable(vCtr).TagName := 'P10_f1a_day';
5287 vXMLTable(vCtr).TagValue := to_char(l_p10_f1a_day);
5288 vCtr := vCtr + 1;
5289
5290 -- Average Days
5291 /* IF (l_p10_f1a_cmp > 0) THEN
5292 l_P10_f1a_avg := CEIL(l_p10_f1a_day/l_p10_f1a_cmp);
5293 ELSE
5294 l_P10_f1a_avg := 0;
5295 END IF;
5296 vXMLTable(vCtr).TagName := 'P10_f1a_avg';
5297 vXMLTable(vCtr).TagValue := to_char(l_P10_f1a_avg);
5298 vCtr := vCtr + 1;
5299 */
5300 -- Notice of Right to file(Did not file formal complaint)
5301 FOR cur_ctr IN cur_case_status(p_from_date, p_to_date,'10','20', p_agency_code) LOOP
5302 l_p10_f1b_cmp := cur_ctr.p10_cnt;
5303 l_p10_f1b_ant := cur_ctr.p10_prsn;
5304 l_p10_f1b_day := cur_ctr.p10_days;
5305 END LOOP;
5306
5307 vXMLTable(vCtr).TagName := 'P10_f1b_cmp';
5308 vXMLTable(vCtr).TagValue := to_char(l_p10_f1b_cmp);
5309 vCtr := vCtr + 1;
5310
5311 vXMLTable(vCtr).TagName := 'P10_f1b_ant';
5312 vXMLTable(vCtr).TagValue := to_char(l_p10_f1b_ant);
5313 vCtr := vCtr + 1;
5314
5315 IF (l_p10_f1b_day IS NULL) THEN
5316 l_p10_f1b_day := 0;
5317 END IF;
5318
5319 vXMLTable(vCtr).TagName := 'P10_f1b_day';
5320 vXMLTable(vCtr).TagValue := to_char(l_p10_f1b_day);
5321 vCtr := vCtr + 1;
5322
5323 -- Average Days
5324 /* IF (l_p10_f1b_cmp > 0) THEN
5325 l_P10_f1b_avg := CEIL(l_p10_f1b_day/l_p10_f1b_cmp);
5326 ELSE
5327 l_P10_f1b_avg := 0;
5328 END IF;
5329 vXMLTable(vCtr).TagName := 'P10_f1b_avg';
5330 vXMLTable(vCtr).TagValue := to_char(l_P10_f1b_avg);
5331 vCtr := vCtr + 1;
5332 */
5333 -- Notice of Right to file(Filed Formal complaint)
5334 FOR cur_ctr IN cur_case_status(p_from_date, p_to_date,'10','25', p_agency_code) LOOP
5335 l_p10_f1c_cmp := cur_ctr.p10_cnt;
5336 l_p10_f1c_ant := cur_ctr.p10_prsn;
5337 l_p10_f1c_day := cur_ctr.p10_days;
5338 END LOOP;
5339
5340 vXMLTable(vCtr).TagName := 'P10_f1c_cmp';
5341 vXMLTable(vCtr).TagValue := to_char(l_p10_f1c_cmp);
5342 vCtr := vCtr + 1;
5343
5344 vXMLTable(vCtr).TagName := 'P10_f1c_ant';
5345 vXMLTable(vCtr).TagValue := to_char(l_p10_f1c_ant);
5346 vCtr := vCtr + 1;
5347
5348 IF (l_p10_f1c_day IS NULL) THEN
5349 l_p10_f1c_day := 0;
5350 END IF;
5351
5352 vXMLTable(vCtr).TagName := 'P10_f1c_day';
5353 vXMLTable(vCtr).TagValue := to_char(l_p10_f1c_day);
5354 vCtr := vCtr + 1;
5355
5356 -- Average Days
5357 /* IF (l_p10_f1c_cmp > 0) THEN
5358 l_P10_f1c_avg := CEIL(l_p10_f1c_day/l_p10_f1c_cmp);
5359 ELSE
5360 l_P10_f1c_avg := 0;
5361 END IF;
5362 vXMLTable(vCtr).TagName := 'P10_f1c_avg';
5363 vXMLTable(vCtr).TagValue := to_char(l_P10_f1c_avg);
5364 vCtr := vCtr + 1;
5365 */
5366
5367 -- Other
5368 FOR cur_ctr IN cur_case_status(p_from_date, p_to_date,'10','90', p_agency_code) LOOP
5369 l_p10_f1d_cmp := cur_ctr.p10_cnt;
5370 l_p10_f1d_ant := cur_ctr.p10_prsn;
5371 l_p10_f1d_day := cur_ctr.p10_days;
5372 END LOOP;
5373
5374 vXMLTable(vCtr).TagName := 'P10_f1d_cmp';
5375 vXMLTable(vCtr).TagValue := to_char(l_p10_f1d_cmp);
5376 vCtr := vCtr + 1;
5377
5378 vXMLTable(vCtr).TagName := 'P10_f1d_ant';
5379 vXMLTable(vCtr).TagValue := to_char(l_p10_f1d_ant);
5380 vCtr := vCtr + 1;
5381
5382 IF (l_p10_f1d_day IS NULL) THEN
5383 l_p10_f1d_day := 0;
5384 END IF;
5385
5386 vXMLTable(vCtr).TagName := 'P10_f1d_day';
5387 vXMLTable(vCtr).TagValue := to_char(l_p10_f1d_day);
5388 vCtr := vCtr + 1;
5389
5390 -- Average Days
5391 /* IF (l_p10_f1d_cmp > 0) THEN
5392 l_P10_f1d_avg := CEIL(l_p10_f1d_day/l_p10_f1d_cmp);
5393 ELSE
5394 l_P10_f1d_avg := 0;
5395 END IF;
5396 vXMLTable(vCtr).TagName := 'P10_f1d_avg';
5397 vXMLTable(vCtr).TagValue := to_char(l_P10_f1d_avg);
5398 vCtr := vCtr + 1;
5399 */
5403
5400 vXMLTable(vCtr).TagName := 'P10_f1d_cmp';
5401 vXMLTable(vCtr).TagValue := to_char(l_p10_f1d_cmp);
5402 vCtr := vCtr + 1;
5404 vXMLTable(vCtr).TagName := 'P10_f1d_ant';
5405 vXMLTable(vCtr).TagValue := to_char(l_p10_f1d_ant);
5406 vCtr := vCtr + 1;
5407
5408 -- Filling zeroes for other fields
5409
5410 vXMLTable(vCtr).TagName := 'P10_f1e_day';
5411 vXMLTable(vCtr).TagValue := '0';
5412 vCtr := vCtr + 1;
5413
5414 /* vXMLTable(vCtr).TagName := 'P10_f1e_avg';
5415 vXMLTable(vCtr).TagValue := '0';
5416 vCtr := vCtr + 1;
5417 */
5418 vXMLTable(vCtr).TagName := 'P10_f1e_cmp';
5419 vXMLTable(vCtr).TagValue := '0';
5420 vCtr := vCtr + 1;
5421
5422 vXMLTable(vCtr).TagName := 'P10_f1e_ant';
5423 vXMLTable(vCtr).TagValue := '0';
5424 vCtr := vCtr + 1;
5425
5426 vXMLTable(vCtr).TagName := 'P10_f1f_day';
5427 vXMLTable(vCtr).TagValue := '0';
5428 vCtr := vCtr + 1;
5429
5430 /* vXMLTable(vCtr).TagName := 'P10_f1f_avg';
5431 vXMLTable(vCtr).TagValue := '0';
5432 vCtr := vCtr + 1;
5433 */
5434 vXMLTable(vCtr).TagName := 'P10_f1f_cmp';
5435 vXMLTable(vCtr).TagValue := '0';
5436 vCtr := vCtr + 1;
5437
5438 vXMLTable(vCtr).TagName := 'P10_f1f_ant';
5439 vXMLTable(vCtr).TagValue := '0';
5440 vCtr := vCtr + 1;
5441
5442 -- Total Closed
5443 l_p10_f1_cmp := l_p10_f1a_cmp + l_p10_f1b_cmp + l_p10_f1c_cmp + l_p10_f1d_cmp;
5444 l_p10_f1_ant := l_p10_f1a_ant + l_p10_f1b_ant + l_p10_f1c_ant + l_p10_f1d_ant;
5445 l_p10_f1_day := l_p10_f1a_day + l_p10_f1b_day + l_p10_f1c_day + l_p10_f1d_day;
5446
5447 vXMLTable(vCtr).TagName := 'P10_f1_cmp';
5448 vXMLTable(vCtr).TagValue := to_char(l_p10_f1_cmp);
5449 vCtr := vCtr + 1;
5450
5451 vXMLTable(vCtr).TagName := 'P10_f1_ant';
5452 vXMLTable(vCtr).TagValue := to_char(l_p10_f1_ant);
5453 vCtr := vCtr + 1;
5454
5455 IF (l_p10_f1_day IS NULL) THEN
5456 l_p10_f1_day := 0;
5457 END IF;
5458
5459 vXMLTable(vCtr).TagName := 'P10_f1_day';
5460 vXMLTable(vCtr).TagValue := to_char(l_p10_f1_day);
5461 vCtr := vCtr + 1;
5462
5463 -- Average Days
5464 /* IF (l_p10_f1_cmp > 0) THEN
5465 l_P10_f1_avg := CEIL(l_p10_f1_day/l_p10_f1_cmp);
5466 ELSE
5467 l_P10_f1_avg := 0;
5468 END IF;
5469 vXMLTable(vCtr).TagName := 'P10_f1_avg';
5470 vXMLTable(vCtr).TagValue := to_char(l_P10_f1_avg);
5471 vCtr := vCtr + 1;
5472 */
5473 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Closed Complaints');
5474
5475 -- Open inventory
5476 -- Formula changed to A + C4 - F1
5477 /* FOR cur_ctr IN cur_open_inventory(p_from_date, p_to_date,'10', p_agency_code) LOOP
5478 l_p10_f2_cmp := cur_ctr.p10_cnt;
5479 l_p10_f2_ant := cur_ctr.p10_prsn;
5480 l_p10_f2_day := cur_ctr.p10_days;
5481 END LOOP; */
5482
5483 l_p10_f2_cmp := l_p10_a_cmp + l_p10_c4_cmp - l_p10_f1_cmp;
5484 l_p10_f2_ant := l_p10_a_ant + l_p10_c4_ant - l_p10_f1_ant;
5485 l_p10_f2_day := l_p10_a_day + l_p10_c4_day - l_p10_f1_day;
5486
5487 vXMLTable(vCtr).TagName := 'P10_f2_cmp';
5488 vXMLTable(vCtr).TagValue := to_char(l_p10_f2_cmp);
5489 vCtr := vCtr + 1;
5490
5491 vXMLTable(vCtr).TagName := 'P10_f2_ant';
5492 vXMLTable(vCtr).TagValue := to_char(l_p10_f2_ant);
5493 vCtr := vCtr + 1;
5494
5495 IF (l_p10_f2_day IS NULL) THEN
5496 l_p10_f2_day := 0;
5497 END IF;
5498
5499 vXMLTable(vCtr).TagName := 'P10_f2_day';
5500 vXMLTable(vCtr).TagValue := to_char(l_p10_f2_day);
5501 vCtr := vCtr + 1;
5502
5503 -- Average Days
5504 /* IF (l_p10_f2_cmp > 0) THEN
5505 l_P10_f2_avg := CEIL(l_p10_f2_day/l_p10_f2_cmp);
5506 ELSE
5507 l_P10_f2_avg := 0;
5508 END IF;
5509 vXMLTable(vCtr).TagName := 'P10_f2_avg';
5510 vXMLTable(vCtr).TagValue := to_char(l_P10_f2_avg);
5511 vCtr := vCtr + 1;
5512 */
5513 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Open inventory');
5514 -- Benefits Received
5515 -- Compensatory Damages
5516 FOR cur_ctr IN cur_benefits_pt2(p_from_date, p_to_date,'10','40','30','40', p_agency_code) LOOP
5517 l_p10_g1a_cmp := cur_ctr.p10_cnt;
5518 l_p10_g1a_ant := cur_ctr.p10_prsn;
5519 l_p10_g1a_amt := cur_ctr.p10_amt;
5520 END LOOP;
5521
5522 vXMLTable(vCtr).TagName := 'P10_g1a_cmp';
5523 vXMLTable(vCtr).TagValue := to_char(l_p10_g1a_cmp);
5524 vCtr := vCtr + 1;
5525
5526 vXMLTable(vCtr).TagName := 'P10_g1a_ant';
5527 vXMLTable(vCtr).TagValue := to_char(l_p10_g1a_ant);
5528 vCtr := vCtr + 1;
5529
5530 vXMLTable(vCtr).TagName := 'P10_g1a_amt';
5531 vXMLTable(vCtr).TagValue := to_char(l_p10_g1a_amt);
5532 vCtr := vCtr + 1;
5533
5534
5535 -- BackPay and front pay
5536 FOR cur_ctr IN cur_benefits(p_from_date, p_to_date,'10','40','20', p_agency_code) LOOP
5537 l_p10_g1b_cmp := cur_ctr.p10_cnt;
5538 l_p10_g1b_ant := cur_ctr.p10_prsn;
5539 l_p10_g1b_amt := cur_ctr.p10_amt;
5540 END LOOP;
5541
5542 vXMLTable(vCtr).TagName := 'P10_g1b_cmp';
5543 vXMLTable(vCtr).TagValue := to_char(l_p10_g1b_cmp);
5544 vCtr := vCtr + 1;
5545
5546 vXMLTable(vCtr).TagName := 'P10_g1b_ant';
5547 vXMLTable(vCtr).TagValue := to_char(l_p10_g1b_ant);
5548 vCtr := vCtr + 1;
5549
5550 vXMLTable(vCtr).TagName := 'P10_g1b_amt';
5551 vXMLTable(vCtr).TagValue := to_char(l_p10_g1b_amt);
5552 vCtr := vCtr + 1;
5553
5554 -- Lump Sum
5555 FOR cur_ctr IN cur_benefits(p_from_date, p_to_date,'10','40','50', p_agency_code) LOOP
5556 l_p10_g1c_cmp := cur_ctr.p10_cnt;
5557 l_p10_g1c_ant := cur_ctr.p10_prsn;
5558 l_p10_g1c_amt := cur_ctr.p10_amt;
5559 END LOOP;
5560
5561 vXMLTable(vCtr).TagName := 'P10_g1c_cmp';
5562 vXMLTable(vCtr).TagValue := to_char(l_p10_g1c_cmp);
5563 vCtr := vCtr + 1;
5564
5568
5565 vXMLTable(vCtr).TagName := 'P10_g1c_ant';
5566 vXMLTable(vCtr).TagValue := to_char(l_p10_g1c_ant);
5567 vCtr := vCtr + 1;
5569 vXMLTable(vCtr).TagName := 'P10_g1c_amt';
5570 vXMLTable(vCtr).TagValue := to_char(l_p10_g1c_amt);
5571 vCtr := vCtr + 1;
5572
5573 -- Attorney's fees and costs
5574 FOR cur_ctr IN cur_benefits(p_from_date, p_to_date,'10','40','10', p_agency_code) LOOP
5575 l_p10_g1d_cmp := cur_ctr.p10_cnt;
5576 l_p10_g1d_ant := cur_ctr.p10_prsn;
5577 l_p10_g1d_amt := cur_ctr.p10_amt;
5578 END LOOP;
5579
5580 vXMLTable(vCtr).TagName := 'P10_g1d_cmp';
5581 vXMLTable(vCtr).TagValue := to_char(l_p10_g1d_cmp);
5582 vCtr := vCtr + 1;
5583
5584 vXMLTable(vCtr).TagName := 'P10_g1d_ant';
5585 vXMLTable(vCtr).TagValue := to_char(l_p10_g1d_ant);
5586 vCtr := vCtr + 1;
5587
5588 vXMLTable(vCtr).TagName := 'P10_g1d_amt';
5589 vXMLTable(vCtr).TagValue := to_char(l_p10_g1d_amt);
5590 vCtr := vCtr + 1;
5591
5592 -- Other
5593 FOR cur_ctr IN cur_benefits(p_from_date, p_to_date,'10','40','60', p_agency_code) LOOP
5594 l_p10_g1e_cmp := cur_ctr.p10_cnt;
5595 l_p10_g1e_ant := cur_ctr.p10_prsn;
5596 l_p10_g1e_amt := cur_ctr.p10_amt;
5597 END LOOP;
5598
5599 vXMLTable(vCtr).TagName := 'P10_g1e_cmp';
5600 vXMLTable(vCtr).TagValue := to_char(l_p10_g1e_cmp);
5601 vCtr := vCtr + 1;
5602
5603 vXMLTable(vCtr).TagName := 'P10_g1e_ant';
5604 vXMLTable(vCtr).TagValue := to_char(l_p10_g1e_ant);
5605 vCtr := vCtr + 1;
5606
5607 vXMLTable(vCtr).TagName := 'P10_g1e_amt';
5608 vXMLTable(vCtr).TagValue := to_char(l_p10_g1e_amt);
5609 vCtr := vCtr + 1;
5610
5611 -- Filling zeroes in other fields
5612
5613 vXMLTable(vCtr).TagName := 'P10_g1f_cmp';
5614 vXMLTable(vCtr).TagValue := '0';
5615 vCtr := vCtr + 1;
5616
5617 vXMLTable(vCtr).TagName := 'P10_g1f_ant';
5618 vXMLTable(vCtr).TagValue := '0';
5619 vCtr := vCtr + 1;
5620
5621 vXMLTable(vCtr).TagName := 'P10_g1f_amt';
5622 vXMLTable(vCtr).TagValue := '0';
5623 vCtr := vCtr + 1;
5624
5625 vXMLTable(vCtr).TagName := 'P10_g1g_cmp';
5626 vXMLTable(vCtr).TagValue := '0';
5627 vCtr := vCtr + 1;
5628
5629 vXMLTable(vCtr).TagName := 'P10_g1g_ant';
5630 vXMLTable(vCtr).TagValue := '0';
5631 vCtr := vCtr + 1;
5632
5633 vXMLTable(vCtr).TagName := 'P10_g1g_amt';
5634 vXMLTable(vCtr).TagValue := '0';
5635 vCtr := vCtr + 1;
5636
5637
5638 FOR cur_ctr IN cur_tot_benefits(p_from_date, p_to_date,'10','40', p_agency_code) LOOP
5639 l_p10_g1_cmp := cur_ctr.p10_cnt;
5640 l_p10_g1_ant := cur_ctr.p10_prsn;
5641 END LOOP;
5642
5643 -- l_p10_5a_cmp := l_p10_5a1_cmp + l_p10_5a2_cmp + l_p10_5a3_cmp + l_p10_5a4_cmp + l_p10_5a5_cmp;
5644 -- l_p10_5a_ant := l_p10_5a1_ant + l_p10_5a2_ant + l_p10_5a3_ant + l_p10_5a4_ant + l_p10_5a5_ant;
5645 l_p10_g1_amt := l_p10_g1a_amt + l_p10_g1b_amt + l_p10_g1c_amt + l_p10_g1d_amt + l_p10_g1e_amt;
5646
5647 vXMLTable(vCtr).TagName := 'P10_g1_cmp';
5648 vXMLTable(vCtr).TagValue := to_char(l_p10_g1_cmp);
5649 vCtr := vCtr + 1;
5650
5651 vXMLTable(vCtr).TagName := 'P10_g1_ant';
5652 vXMLTable(vCtr).TagValue := to_char(l_p10_g1_ant);
5653 vCtr := vCtr + 1;
5654
5655 vXMLTable(vCtr).TagName := 'P10_g1_amt';
5656 vXMLTable(vCtr).TagValue := to_char(l_p10_g1_amt);
5657 vCtr := vCtr + 1;
5658 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Benefits received Monetary');
5659 -- Non-Monetary
5660 -- New Hires
5661 FOR cur_ctr IN cur_benefits_nm_pt2(p_from_date, p_to_date,'10','40','70','80', p_agency_code) LOOP
5662 l_p10_g2a_cmp := cur_ctr.p10_cnt;
5663 l_p10_g2a_ant := cur_ctr.p10_prsn;
5664 END LOOP;
5665
5666 vXMLTable(vCtr).TagName := 'P10_g2a_cmp';
5667 vXMLTable(vCtr).TagValue := to_char(l_p10_g2a_cmp);
5668 vCtr := vCtr + 1;
5669
5670 vXMLTable(vCtr).TagName := 'P10_g2a_ant';
5671 vXMLTable(vCtr).TagValue := to_char(l_p10_g2a_ant);
5672 vCtr := vCtr + 1;
5673
5674 -- Promotions
5675 FOR cur_ctr IN cur_benefits_nm_pt2(p_from_date, p_to_date,'10','40','130','140', p_agency_code) LOOP
5676 l_p10_g2b_cmp := cur_ctr.p10_cnt;
5677 l_p10_g2b_ant := cur_ctr.p10_prsn;
5678 END LOOP;
5679
5680 vXMLTable(vCtr).TagName := 'P10_g2b_cmp';
5681 vXMLTable(vCtr).TagValue := to_char(l_p10_g2b_cmp);
5682 vCtr := vCtr + 1;
5683
5684 vXMLTable(vCtr).TagName := 'P10_g2b_ant';
5685 vXMLTable(vCtr).TagValue := to_char(l_p10_g2b_ant);
5686 vCtr := vCtr + 1;
5687
5688 -- Reinstatements
5689 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,'10','40','160', p_agency_code) LOOP
5690 l_p10_g2c_cmp := cur_ctr.p10_cnt;
5691 l_p10_g2c_ant := cur_ctr.p10_prsn;
5692 END LOOP;
5693
5694 vXMLTable(vCtr).TagName := 'P10_g2c_cmp';
5695 vXMLTable(vCtr).TagValue := to_char(l_p10_g2c_cmp);
5696 vCtr := vCtr + 1;
5697
5698 vXMLTable(vCtr).TagName := 'P10_g2c_ant';
5699 vXMLTable(vCtr).TagValue := to_char(l_p10_g2c_ant);
5700 vCtr := vCtr + 1;
5701
5702 -- Expungements
5703 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,'10','40','60', p_agency_code) LOOP
5704 l_p10_g2d_cmp := cur_ctr.p10_cnt;
5705 l_p10_g2d_ant := cur_ctr.p10_prsn;
5706 END LOOP;
5707
5708 vXMLTable(vCtr).TagName := 'P10_g2d_cmp';
5709 vXMLTable(vCtr).TagValue := to_char(l_p10_g2d_cmp);
5710 vCtr := vCtr + 1;
5711
5712 vXMLTable(vCtr).TagName := 'P10_g2d_ant';
5713 vXMLTable(vCtr).TagValue := to_char(l_p10_g2d_ant);
5714 vCtr := vCtr + 1;
5715
5716 -- Transfers
5717 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,'10','40','190', p_agency_code) LOOP
5718 l_p10_g2e_cmp := cur_ctr.p10_cnt;
5719 l_p10_g2e_ant := cur_ctr.p10_prsn;
5720 END LOOP;
5721
5722 vXMLTable(vCtr).TagName := 'P10_g2e_cmp';
5726 vXMLTable(vCtr).TagName := 'P10_g2e_ant';
5723 vXMLTable(vCtr).TagValue := to_char(l_p10_g2e_cmp);
5724 vCtr := vCtr + 1;
5725
5727 vXMLTable(vCtr).TagValue := to_char(l_p10_g2e_ant);
5728 vCtr := vCtr + 1;
5729
5730 -- Removals Rescinded and Voluntary Resignations
5731 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,'10','40','170', p_agency_code) LOOP
5732 l_p10_g2f_cmp := cur_ctr.p10_cnt;
5733 l_p10_g2f_ant := cur_ctr.p10_prsn;
5734 END LOOP;
5735
5736 vXMLTable(vCtr).TagName := 'P10_g2f_cmp';
5737 vXMLTable(vCtr).TagValue := to_char(l_p10_g2f_cmp);
5738 vCtr := vCtr + 1;
5739
5740 vXMLTable(vCtr).TagName := 'P10_g2f_ant';
5741 vXMLTable(vCtr).TagValue := to_char(l_p10_g2f_ant);
5742 vCtr := vCtr + 1;
5743
5744 -- Reasonable accomodations
5745 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,'10','40','10', p_agency_code) LOOP
5746 l_p10_g2g_cmp := cur_ctr.p10_cnt;
5747 l_p10_g2g_ant := cur_ctr.p10_prsn;
5748 END LOOP;
5749
5750 vXMLTable(vCtr).TagName := 'P10_g2g_cmp';
5751 vXMLTable(vCtr).TagValue := to_char(l_p10_g2g_cmp);
5752 vCtr := vCtr + 1;
5753
5754 vXMLTable(vCtr).TagName := 'P10_g2g_ant';
5755 vXMLTable(vCtr).TagValue := to_char(l_p10_g2g_ant);
5756 vCtr := vCtr + 1;
5757
5758
5759 -- Training
5760 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,'10','40','180', p_agency_code) LOOP
5761 l_p10_g2h_cmp := cur_ctr.p10_cnt;
5762 l_p10_g2h_ant := cur_ctr.p10_prsn;
5763 END LOOP;
5764
5765 vXMLTable(vCtr).TagName := 'P10_g2h_cmp';
5766 vXMLTable(vCtr).TagValue := to_char(l_p10_g2h_cmp);
5767 vCtr := vCtr + 1;
5768
5769 vXMLTable(vCtr).TagName := 'P10_g2h_ant';
5770 vXMLTable(vCtr).TagValue := to_char(l_p10_g2h_ant);
5771 vCtr := vCtr + 1;
5772
5773 -- Apology
5774 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,'10','40','20', p_agency_code) LOOP
5775 l_p10_g2i_cmp := cur_ctr.p10_cnt;
5776 l_p10_g2i_ant := cur_ctr.p10_prsn;
5777 END LOOP;
5778
5779 vXMLTable(vCtr).TagName := 'P10_g2i_cmp';
5780 vXMLTable(vCtr).TagValue := to_char(l_p10_g2i_cmp);
5781 vCtr := vCtr + 1;
5782
5783 vXMLTable(vCtr).TagName := 'P10_g2i_ant';
5784 vXMLTable(vCtr).TagValue := to_char(l_p10_g2i_ant);
5785 vCtr := vCtr + 1;
5786
5787 -- Other
5788
5789 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,'10','40','100', p_agency_code) LOOP
5790 l_p10_g2j_cmp := cur_ctr.p10_cnt;
5791 l_p10_g2j_ant := cur_ctr.p10_prsn;
5792 END LOOP;
5793
5794 vXMLTable(vCtr).TagName := 'P10_g2j_cmp';
5795 vXMLTable(vCtr).TagValue := to_char(l_p10_g2j_cmp);
5796 vCtr := vCtr + 1;
5797
5798 vXMLTable(vCtr).TagName := 'P10_g2j_ant';
5799 vXMLTable(vCtr).TagValue := to_char(l_p10_g2j_ant);
5800 vCtr := vCtr + 1;
5801
5802 vXMLTable(vCtr).TagName := 'P10_g2k_cmp';
5803 vXMLTable(vCtr).TagValue := '0';
5804 vCtr := vCtr + 1;
5805
5806 vXMLTable(vCtr).TagName := 'P10_g2k_ant';
5807 vXMLTable(vCtr).TagValue := '0';
5808 vCtr := vCtr + 1;
5809
5810 vXMLTable(vCtr).TagName := 'P10_g2l_cmp';
5811 vXMLTable(vCtr).TagValue := '0';
5812 vCtr := vCtr + 1;
5813
5814 vXMLTable(vCtr).TagName := 'P10_g2l_ant';
5815 vXMLTable(vCtr).TagValue := '0';
5816 vCtr := vCtr + 1;
5817
5818 /* l_p10_5b_cmp := l_p10_5b1_cmp + l_p10_5b2_cmp + l_p10_5b3_cmp + l_p10_5b4_cmp + l_p10_5b5_cmp + l_p10_5b6_cmp +
5819 l_p10_5b7_cmp + l_p10_5b8_cmp + l_p10_5b9_cmp;
5820 l_p10_5b_ant := l_p10_5b1_ant + l_p10_5b2_ant + l_p10_5b3_ant + l_p10_5b4_ant + l_p10_5b5_ant + l_p10_5b6_ant +
5821 l_p10_5b7_ant + l_p10_5b8_ant + l_p10_5b9_ant; */
5822
5823
5824 -- Total Non-Monetary Complaints and Complainants
5825 FOR cur_ctr IN cur_tot_benefits_nm(p_from_date, p_to_date,'10','40', p_agency_code) LOOP
5826 l_p10_g2_cmp := cur_ctr.p10_cnt;
5827 l_p10_g2_ant := cur_ctr.p10_prsn;
5828 END LOOP;
5829
5830 vXMLTable(vCtr).TagName := 'P10_g2_cmp';
5831 vXMLTable(vCtr).TagValue := to_char(l_p10_g2_cmp);
5832 vCtr := vCtr + 1;
5833
5834 vXMLTable(vCtr).TagName := 'P10_g2_ant';
5835 vXMLTable(vCtr).TagValue := to_char(l_p10_g2_ant);
5836 vCtr := vCtr + 1;
5837 fnd_file.put_line(fnd_file.log,'Finished populating Part10 - Benefits received Non-monetary');
5838 fnd_file.put_line(fnd_file.log,'------------End of Part10----------------');
5839 END populate_part10;
5840
5841 PROCEDURE populate_part11(
5842 p_from_date in date,
5843 p_to_date in date,
5844 p_agency_code in varchar2) IS
5845
5846 -- Cursor for ADR Pending from previous reporting period
5847 CURSOR cur_adr_pending(c_from_date date, c_to_date date,c_stage NUMBER,c_agency_code ghr_complaints2.agency_code%type) IS
5848 SELECT COUNT(distinct cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn,NVL(SUM(ROUND((c_to_date - NVL(adrs.date_accepted,adrs.start_date)) ,0) + 1),0) p11_days
5849 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5850 WHERE adrs.complaint_id = cmp.complaint_id
5851 AND adrs.stage in ('20','30','40','50','60','70','75')
5852 AND cmp.formal_com_filed IS NOT NULL
5853 AND (cmp.complaint_closed IS NULL OR cmp.complaint_closed > c_to_date)
5854 AND cmp.agency_code = c_agency_code
5855 AND NVL(adrs.date_accepted,adrs.start_date) < c_from_date
5856 AND (adrs.end_date IS NULL OR adrs.end_date > c_to_date);
5857
5858
5859 -- Cursor for ADR actions
5860 CURSOR cur_adr_actions(c_from_date date, c_to_date date,c_stage NUMBER,c_adr_offered ghr_compl_adrs.adr_offered%type,c_agency_code ghr_complaints2.agency_code%type) IS
5861 SELECT COUNT(distinct cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn,NVL(SUM(ROUND((NVL(adrs.end_date,c_to_date) - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) p11_days
5862 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5863 WHERE adrs.complaint_id = cmp.complaint_id
5867 AND adrs.adr_offered = c_adr_offered
5864 AND cmp.agency_code = c_agency_code
5865 AND adrs.stage in ('20','30','40','50','60','70','75')
5866 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5868 AND NVL(adrs.date_accepted,adrs.start_date) = (SELECT MAX(nvl(date_accepted,start_date))
5869 FROM GHR_COMPL_ADRS adrs1
5870 WHERE adrs1.complaint_id = adrs.complaint_id
5871 AND adrs.stage in ('20','30','40','50','60','70','75'));
5872
5873 CURSOR cur_adr_offered(c_from_date date, c_to_date date,c_stage NUMBER,c_agency_code ghr_complaints2.agency_code%type) IS
5874 SELECT COUNT(distinct cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn,NVL(SUM(ROUND((NVL(adrs.end_date,c_to_date) - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) p11_days
5875 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5876 WHERE adrs.complaint_id = cmp.complaint_id
5877 AND cmp.agency_code = c_agency_code
5878 AND adrs.stage in ('20','30','40','50','60','70','75')
5879 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5880 AND adrs.adr_offered IN (10,20,30)
5881 AND NVL(adrs.date_accepted,adrs.start_date) = (SELECT MAX(nvl(date_accepted,start_date))
5882 FROM GHR_COMPL_ADRS adrs1
5883 WHERE adrs1.complaint_id = adrs.complaint_id
5884 AND adrs.stage in ('20','30','40','50','60','70','75'));
5885
5886 -- Cursor for Resources
5887 CURSOR cur_resources(c_from_date date, c_to_date date, c_stage NUMBER, c_resource ghr_compl_adrs.adr_resource%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
5888 SELECT COUNT(distinct cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn
5889 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5890 WHERE adrs.complaint_id = cmp.complaint_id
5891 AND cmp.agency_code = c_agency_code
5892 AND adrs.stage in ('20','30','40','50','60','70','75')
5893 AND adrs.adr_resource = c_resource
5894 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date;
5895
5896 -- Cursor for Multiple Resources
5897 CURSOR cur_multires(c_from_date date, c_to_date date,c_stage NUMBER,c_agency_code ghr_complaints2.agency_code%type) IS
5898 SELECT cmp.complaint_id, adrs.adr_resource
5899 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5900 WHERE adrs.complaint_id = cmp.complaint_id
5901 AND cmp.agency_code = c_agency_code
5902 AND adrs.stage in ('20','30','40','50','60','70','75')
5903 AND adrs.adr_resource IS NOT NULL
5904 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5905 ORDER BY cmp.complaint_id;
5906
5907
5908 -- Cursor for Techniques
5909 CURSOR cur_techniques(c_from_date date, c_to_date date,c_stage NUMBER, c_technique ghr_compl_adrs.technique%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
5910 SELECT COUNT(distinct cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn,
5911 NVL(SUM(ROUND((NVL(adrs.end_date,c_to_date) - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) p11_days -- Check whether this is to date or from date.
5912 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5913 WHERE adrs.complaint_id = cmp.complaint_id
5914 AND cmp.agency_code = c_agency_code
5915 AND adrs.stage in ('20','30','40','50','60','70','75')
5916 AND adrs.technique = c_technique
5917 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date;
5918
5919 -- Cursor for Multi-techniques
5920 CURSOR cur_multitechniques(c_from_date date, c_to_date date,c_stage NUMBER,c_agency_code ghr_complaints2.agency_code%type) IS
5921 SELECT cmp.complaint_id, adrs.technique, NVL(ROUND((NVL(adrs.end_date,c_to_date) - NVL(adrs.date_accepted,adrs.start_date)),0)+1,0) p11_days
5922 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5923 WHERE adrs.complaint_id = cmp.complaint_id
5924 AND cmp.agency_code = c_agency_code
5925 AND adrs.stage in ('20','30','40','50','60','70','75')
5926 AND adrs.technique IS NOT NULL
5927 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5928 ORDER BY cmp.complaint_id;
5929
5930 CURSOR cur_case_status(c_from_date date, c_to_date date,c_stage NUMBER, c_closure_nature ghr_complaints2.nature_of_closure%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
5931 SELECT COUNT(cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn, NVL(SUM(ROUND((complaint_closed - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) p11_days
5932 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5933 WHERE adrs.complaint_id = cmp.complaint_id
5934 AND cmp.agency_code = c_agency_code
5935 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5936 AND adrs.stage in ('20','30','40','50','60','70','75')
5937 AND adrs.end_date <= c_to_date
5938 AND cmp.nature_of_closure = c_closure_nature;
5939
5940 CURSOR cur_case_status_settle(c_from_date date, c_to_date date,c_stage NUMBER,c_agency_code ghr_complaints2.agency_code%type) IS
5941 SELECT COUNT(cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn, NVL(SUM(ROUND((complaint_closed - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) p11_days
5942 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5943 WHERE adrs.complaint_id = cmp.complaint_id
5944 AND cmp.agency_code = c_agency_code
5945 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5946 AND adrs.stage in ('20','30','40','50','60','70','75')
5947 AND adrs.end_date <= c_to_date
5948 AND cmp.nature_of_closure IN (140,150,160);
5949
5950 CURSOR cur_open_inventory (c_from_date date, c_to_date date,c_stage NUMBER,c_agency_code ghr_complaints2.agency_code%type) IS
5951 SELECT COUNT(cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn, NVL(SUM(ROUND((complaint_closed - NVL(adrs.date_accepted,adrs.start_date)),0)+1),0) p11_days
5952 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs
5953 WHERE adrs.complaint_id = cmp.complaint_id
5954 AND cmp.agency_code = c_agency_code
5955 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5959 CURSOR cur_benefits (c_from_date date, c_to_date date,c_stage NUMBER, c_phase ghr_compl_ca_details.phase%TYPE
5956 AND adrs.stage in ('20','30','40','50','60','70','75')
5957 AND adrs.end_date IS NULL;
5958
5960 , c_payment_type ghr_compl_ca_details.payment_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
5961 SELECT COUNT(cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn, NVL(SUM(CEIL(ca.amount)),0) p11_amt
5962 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
5963 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
5964 AND cah.complaint_id = cmp.complaint_id
5965 AND adrs.complaint_id = cmp.complaint_id
5966 AND cmp.agency_code = c_agency_code
5967 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5968 AND adrs.stage in ('20','30','40','50','60','70','75')
5969 AND ca.phase = c_phase
5970 AND ca.payment_type = c_payment_type
5971 AND ca.category = 10 -- Monetary
5972 AND adrs.end_date IS NOT NULL;
5973
5974 CURSOR cur_tot_benefits (c_from_date date, c_to_date date,c_stage NUMBER, c_phase ghr_compl_ca_details.phase%TYPE,c_agency_code ghr_complaints2.agency_code%type
5975 ) IS
5976 SELECT COUNT(distinct cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) P11_prsn
5977 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
5978 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
5979 AND cah.complaint_id = cmp.complaint_id
5980 AND adrs.complaint_id = cmp.complaint_id
5981 AND cmp.agency_code = c_agency_code
5982 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5983 AND adrs.stage in ('20','30','40','50','60','70','75')
5984 AND ca.phase = c_phase
5985 AND ca.payment_type IN (10,20,30,40,50,60)
5986 AND ca.category = 10 -- Monetary
5987 AND adrs.end_date IS NOT NULL;
5988
5989 CURSOR cur_benefits_pt2 (c_from_date date, c_to_date date,c_stage NUMBER, c_phase ghr_compl_ca_details.phase%TYPE,
5990 c_payment_type1 ghr_compl_ca_details.payment_type%TYPE,c_payment_type2 ghr_compl_ca_details.payment_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
5991 SELECT COUNT(cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn, NVL(SUM(CEIL(ca.amount)),0) p11_amt
5992 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
5993 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
5994 AND cah.complaint_id = cmp.complaint_id
5995 AND adrs.complaint_id = cmp.complaint_id
5996 AND cmp.agency_code = c_agency_code
5997 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
5998 AND adrs.stage in ('20','30','40','50','60','70','75')
5999 AND ca.phase = c_phase
6000 AND ca.payment_type IN (c_payment_type1,c_payment_type2)
6001 AND ca.category = 10 -- Monetary
6002 AND adrs.end_date IS NOT NULL;
6003
6004 CURSOR cur_benefits_nm (c_from_date date, c_to_date date,c_stage NUMBER, c_phase ghr_compl_ca_details.phase%TYPE
6005 , c_action_type ghr_compl_ca_details.action_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
6006 SELECT COUNT(cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn
6007 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
6008 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
6009 AND cah.complaint_id = cmp.complaint_id
6010 AND adrs.complaint_id = cmp.complaint_id
6011 AND cmp.agency_code = c_agency_code
6012 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
6013 AND adrs.stage in ('20','30','40','50','60','70','75')
6014 AND ca.phase = c_phase
6015 AND ca.action_type = c_action_type
6016 AND ca.category = 20 -- Non-Monetary
6017 AND adrs.end_date IS NOT NULL;
6018
6019 CURSOR cur_benefits_nm_pt2 (c_from_date date, c_to_date date,c_stage NUMBER, c_phase ghr_compl_ca_details.phase%TYPE,
6020 c_action_type1 ghr_compl_ca_details.action_type%TYPE,c_action_type2 ghr_compl_ca_details.action_type%TYPE,c_agency_code ghr_complaints2.agency_code%type) IS
6021 SELECT COUNT(cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) p11_prsn
6022 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
6023 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
6024 AND cah.complaint_id = cmp.complaint_id
6025 AND adrs.complaint_id = cmp.complaint_id
6026 AND cmp.agency_code = c_agency_code
6027 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
6028 AND adrs.stage in ('20','30','40','50','60','70','75')
6029 AND ca.phase = c_phase
6030 AND ca.action_type IN (c_action_type1,c_action_type2)
6031 AND ca.category = 20 -- Non-Monetary
6032 AND adrs.end_date IS NOT NULL;
6033
6034 CURSOR cur_tot_benefits_nm (c_from_date date, c_to_date date,c_stage NUMBER, c_phase ghr_compl_ca_details.phase%TYPE
6035 ,c_agency_code ghr_complaints2.agency_code%type) IS
6036 SELECT COUNT(distinct cmp.complaint_id) p11_cnt, COUNT(distinct nvl(cmp.complainant_person_id,0)) P11_prsn
6037 FROM GHR_COMPLAINTS2 cmp, GHR_COMPL_ADRS adrs, GHR_COMPL_CA_HEADERS cah, GHR_COMPL_CA_DETAILS ca
6038 WHERE ca.compl_ca_header_id = cah.compl_ca_header_id
6039 AND cah.complaint_id = cmp.complaint_id
6040 AND adrs.complaint_id = cmp.complaint_id
6041 AND cmp.agency_code = c_agency_code
6042 AND NVL(adrs.date_accepted,adrs.start_date) BETWEEN c_from_date AND c_to_date
6043 AND adrs.stage in ('20','30','40','50','60','70','75')
6044 AND ca.phase = c_phase
6045 AND ca.action_type IS NOT NULL
6046 AND ca.category = 20 -- Non-Monetary
6047 AND adrs.end_date IS NOT NULL;
6048
6049
6050 l_p11_c1_cmp NUMBER;
6051 l_p11_c1_ant NUMBER;
6052 l_p11_c2_cmp NUMBER;
6053 l_p11_c2_ant NUMBER;
6054
6055 l_p11_c_cmp NUMBER;
6056 l_p11_c_ant NUMBER;
6057
6058 l_p11_1a_ant NUMBER;
6059
6060
6061 l_p11_c3_cmp NUMBER;
6065
6062 l_p11_c3_ant NUMBER;
6063 l_p11_c5_cmp NUMBER;
6064 l_p11_c5_ant NUMBER;
6066 l_p11_d_cmp NUMBER;
6067 l_p11_d_ant NUMBER;
6068 l_p11_d_day NUMBER;
6069
6070 l_p11_d1_cmp NUMBER;
6071 l_p11_d1_ant NUMBER;
6072 l_p11_d1_day NUMBER;
6073 l_p11_d2_cmp NUMBER;
6074 l_p11_d2_ant NUMBER;
6075 l_p11_d2_day NUMBER;
6076 l_p11_d3_cmp NUMBER;
6077 l_p11_d3_ant NUMBER;
6078 l_p11_d3_day NUMBER;
6079 l_P11_d4_cmp NUMBER;
6080 l_p11_d4_ant NUMBER;
6081 l_p11_d4_day NUMBER;
6082 l_p11_d5_cmp NUMBER;
6083 l_p11_d5_ant NUMBER;
6084 l_p11_d5_day NUMBER;
6085 l_p11_d6_cmp NUMBER;
6086 l_p11_d6_ant NUMBER;
6087 l_p11_d6_day NUMBER;
6088 l_p11_d7_cmp NUMBER;
6089 l_p11_d7_ant NUMBER;
6090 l_p11_d7_day NUMBER;
6091 l_p11_d8_cmp NUMBER;
6092 l_p11_d8_ant NUMBER;
6093 l_p11_d8_day NUMBER;
6094 l_p11_3i_cmp NUMBER;
6095 l_p11_3i_ant NUMBER;
6096 l_p11_3i_day NUMBER;
6097 l_p11_d10_cmp NUMBER;
6098 l_p11_d10_ant NUMBER;
6099 l_p11_d10_day NUMBER;
6100 l_p11_e1a_cmp NUMBER;
6101 l_p11_e1a_ant NUMBER;
6102 l_p11_e1a_day NUMBER;
6103 l_p11_e1b_cmp NUMBER;
6104 l_p11_e1b_ant NUMBER;
6105 l_p11_e1b_day NUMBER;
6106 l_p11_e1c_cmp NUMBER;
6107 l_p11_e1c_ant NUMBER;
6108 l_p11_e1c_day NUMBER;
6109 l_p11_e1d_cmp NUMBER;
6110 l_p11_e1d_ant NUMBER;
6111 l_p11_e1d_day NUMBER;
6112 l_p11_e1_cmp NUMBER;
6113 l_p11_e1_ant NUMBER;
6114 l_p11_e1_day NUMBER;
6115 l_p11_e2_cmp NUMBER;
6116 l_p11_e2_ant NUMBER;
6117 l_p11_e2_day NUMBER;
6118 l_p11_f1_cmp NUMBER;
6119 l_p11_f1_ant NUMBER;
6120 l_p11_f1_amt NUMBER;
6121 l_p11_f1a_cmp NUMBER;
6122 l_p11_f1a_ant NUMBER;
6123 l_p11_f1a_amt NUMBER;
6124 l_p11_f1b_cmp NUMBER;
6125 l_p11_f1b_ant NUMBER;
6126 l_p11_f1b_amt NUMBER;
6127 l_p11_f1c_cmp NUMBER;
6128 l_p11_f1c_ant NUMBER;
6129 l_p11_f1c_amt NUMBER;
6130 l_p11_f1d_cmp NUMBER;
6131 l_p11_f1d_ant NUMBER;
6132 l_p11_f1d_amt NUMBER;
6133 l_p11_f1e_cmp NUMBER;
6134 l_p11_f1e_ant NUMBER;
6135 l_p11_f1e_amt NUMBER;
6136 l_p11_f2_cmp NUMBER;
6137 l_p11_f2_ant NUMBER;
6138 l_p11_f2a_cmp NUMBER;
6139 l_p11_f2a_ant NUMBER;
6140 l_p11_f2b_cmp NUMBER;
6141 l_p11_f2b_ant NUMBER;
6142 l_p11_f2c_cmp NUMBER;
6143 l_p11_f2c_ant NUMBER;
6144 l_p11_f2d_cmp NUMBER;
6145 l_p11_f2d_ant NUMBER;
6146 l_p11_f2e_cmp NUMBER;
6147 l_p11_f2e_ant NUMBER;
6148 l_p11_5b6_cmp NUMBER;
6149 l_P11_f2f_ant NUMBER;
6150 l_p11_f2g_cmp NUMBER;
6151 l_p11_f2g_ant NUMBER;
6152 l_p11_f2h_cmp NUMBER;
6153 l_p11_f2h_ant NUMBER;
6154 l_p11_f2i_cmp NUMBER;
6155 l_p11_f2i_ant NUMBER;
6156 l_p11_f2j_cmp NUMBER;
6157 l_p11_f2j_ant NUMBER;
6158
6159 -- Average fields
6160 l_P11_d1_avg NUMBER;
6161 l_P11_d2_avg NUMBER;
6162 l_P11_d3_avg NUMBER;
6163 l_P11_d4_avg NUMBER;
6164 l_P11_d5_avg NUMBER;
6165 l_P11_d6_avg NUMBER;
6166 l_P11_d7_avg NUMBER;
6167 l_P11_d8_avg NUMBER;
6168 l_P11_d9_avg NUMBER;
6169 l_P11_d10_avg NUMBER;
6170 l_P11_e1a_avg NUMBER;
6171 l_P11_e1b_avg NUMBER;
6172 l_P11_e1c_avg NUMBER;
6173 l_P11_e1d_avg NUMBER;
6174 l_P11_e2_avg NUMBER;
6175 l_P11_d_avg NUMBER;
6176 l_P11_e1_avg NUMBER;
6177
6178
6179 -- Variables for Multi-techniques
6180 l_ctr NUMBER:= 1;
6181 l_lb_flag NUMBER := 0;
6182 l_total_count NUMBER := 0;
6183 l_total_days NUMBER := 0;
6184 l_old_cmp_id NUMBER := 0;
6185 l_old_days NUMBER := 0;
6186 l_new_cmp_id NUMBER := 0;
6187 TYPE t_prsn_cur IS REF CURSOR;
6188 l_prsn_cur t_prsn_cur;
6189 l_tot_prsn NUMBER(15) := 0;
6190 l_sql_str VARCHAR2(10000) := NULL;
6191
6192 l_p11_a_cmp NUMBER;
6193 l_p11_a_ant NUMBER;
6194 l_p11_a_day NUMBER;
6195 l_p11_b1_cmp NUMBER;
6196 l_p11_b1_ant NUMBER;
6197 l_p11_b1_day NUMBER;
6198 l_p11_b2_cmp NUMBER;
6199 l_p11_b2_ant NUMBER;
6200 l_p11_b2_day NUMBER;
6201 l_p11_b3_cmp NUMBER;
6202 l_p11_b3_ant NUMBER;
6203 l_p11_b3_day NUMBER;
6204 l_p11_b4_cmp NUMBER;
6205 l_p11_b4_ant NUMBER;
6206 l_p11_b4_day NUMBER;
6207
6208 BEGIN
6209 --
6210 fnd_file.put_line(fnd_file.log,'Starting populating Part11 - Total accepted into ADR');
6211 -- ADR Pending from previous reporting period
6212 FOR cur_ctr IN cur_adr_pending(p_from_date, p_to_date,20, p_agency_code) LOOP
6213 l_p11_a_cmp := cur_ctr.p11_cnt;
6214 l_p11_a_ant := cur_ctr.p11_prsn;
6215 l_p11_a_day := cur_ctr.p11_days;
6216 END LOOP;
6217 fnd_file.put_line(fnd_file.log,'Starting populating Part11 - End of cursor');
6218
6219 vXMLTable(vCtr).TagName := 'P11_a_cmp';
6220 vXMLTable(vCtr).TagValue := to_char(l_p11_a_cmp);
6221 vCtr := vCtr + 1;
6222
6223 vXMLTable(vCtr).TagName := 'P11_a_ant';
6224 vXMLTable(vCtr).TagValue := to_char(l_p11_a_ant);
6225 vCtr := vCtr + 1;
6226
6227 -- Bug#3124648
6228 IF (l_p11_a_day IS NULL) THEN
6229 l_p11_a_day := 0;
6230 END IF;
6231
6232 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - ADR Pending from previous reporting period');
6233
6234 -- ADR Actions for current reporting period
6235 -- ADR Offered
6236 -- Cursor changed to included the rejected ones also. Bug#3126112
6237 FOR cur_ctr IN cur_adr_offered(p_from_date, p_to_date,20, p_agency_code) LOOP
6238 l_p11_b1_cmp := cur_ctr.p11_cnt;
6239 l_p11_b1_ant := cur_ctr.p11_prsn;
6240 l_p11_b1_day := cur_ctr.p11_days;
6241 END LOOP;
6242
6243 vXMLTable(vCtr).TagName := 'P11_b1_cmp';
6244 vXMLTable(vCtr).TagValue := to_char(l_p11_b1_cmp);
6248 vXMLTable(vCtr).TagValue := to_char(l_p11_b1_ant);
6245 vCtr := vCtr + 1;
6246
6247 vXMLTable(vCtr).TagName := 'P11_b1_ant';
6249 vCtr := vCtr + 1;
6250
6251 -- Bug#3124648
6252 IF (l_p11_b1_day IS NULL) THEN
6253 l_p11_b1_day := 0;
6254 END IF;
6255 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - ADR Offered');
6256
6257
6258 -- Bug#3122514 Phase shd be formal complaint 20 or above.
6259 -- Rejected by Complainant
6260 FOR cur_ctr IN cur_adr_actions(p_from_date, p_to_date,20,'20', p_agency_code) LOOP
6261 l_p11_b2_cmp := cur_ctr.p11_cnt;
6262 l_p11_b2_ant := cur_ctr.p11_prsn;
6263 l_p11_b2_day := cur_ctr.p11_days;
6264 END LOOP;
6265
6266 vXMLTable(vCtr).TagName := 'P11_b2_cmp';
6267 vXMLTable(vCtr).TagValue := to_char(l_p11_b2_cmp);
6268 vCtr := vCtr + 1;
6269
6270 vXMLTable(vCtr).TagName := 'P11_b2_ant';
6271 vXMLTable(vCtr).TagValue := to_char(l_p11_b2_ant);
6272 vCtr := vCtr + 1;
6273
6274 -- Bug#3124648
6275 IF (l_p11_b2_day IS NULL) THEN
6276 l_p11_b2_day := 0;
6277 END IF;
6278 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Rejected by Complainant');
6279
6280 -- Bug#3122514 Phase shd be formal complaint 20 or above.
6281 -- Rejected by Agency
6282 FOR cur_ctr IN cur_adr_actions(p_from_date, p_to_date,20,'30', p_agency_code) LOOP
6283 l_p11_b3_cmp := cur_ctr.p11_cnt;
6284 l_p11_b3_ant := cur_ctr.p11_prsn;
6285 l_p11_b3_day := cur_ctr.p11_days;
6286 END LOOP;
6287
6288 vXMLTable(vCtr).TagName := 'P11_b3_cmp';
6289 vXMLTable(vCtr).TagValue := to_char(l_p11_b3_cmp);
6290 vCtr := vCtr + 1;
6291
6292 vXMLTable(vCtr).TagName := 'P11_b3_ant';
6293 vXMLTable(vCtr).TagValue := to_char(l_p11_b3_ant);
6294 vCtr := vCtr + 1;
6295
6296 -- Bug#3124648
6297 IF (l_p11_b3_day IS NULL) THEN
6298 l_p11_b3_day := 0;
6299 END IF;
6300 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Rejected by Agency');
6301 -- Total ADR
6302 l_p11_b4_cmp := l_p11_b1_cmp - (l_p11_b2_cmp + l_p11_b3_cmp);
6303 l_p11_b4_ant := l_p11_b1_ant - (l_p11_b2_ant + l_p11_b3_ant);
6304 l_p11_b4_day := l_p11_b1_day - (l_p11_b2_day + l_p11_b3_day);
6305
6306 vXMLTable(vCtr).TagName := 'P11_b4_cmp';
6307 vXMLTable(vCtr).TagValue := to_char(l_p11_b4_cmp);
6308 vCtr := vCtr + 1;
6309
6310 vXMLTable(vCtr).TagName := 'P11_b4_ant';
6311 vXMLTable(vCtr).TagValue := to_char(l_p11_b4_ant);
6312 vCtr := vCtr + 1;
6313
6314 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Total accepted into ADR');
6315
6316 --------------------------------------------
6317 -- Resources Used
6318 -- Inhouse
6319 FOR cur_ctr IN cur_resources(p_from_date, p_to_date,20,'20', p_agency_code) LOOP
6320 l_p11_c1_cmp := cur_ctr.p11_cnt;
6321 l_p11_c1_ant := cur_ctr.p11_prsn;
6322 END LOOP;
6323
6324 vXMLTable(vCtr).TagName := 'P11_c1_cmp';
6325 vXMLTable(vCtr).TagValue := to_char(l_p11_c1_cmp);
6326 vCtr := vCtr + 1;
6327
6328 vXMLTable(vCtr).TagName := 'P11_c1_ant';
6329 vXMLTable(vCtr).TagValue := to_char(l_p11_c1_ant);
6330 vCtr := vCtr + 1;
6331
6332 -- Another Federal Agency
6333 FOR cur_ctr IN cur_resources(p_from_date, p_to_date,20,'10', p_agency_code) LOOP
6334 l_p11_c2_cmp := cur_ctr.p11_cnt;
6335 l_p11_c2_ant := cur_ctr.p11_prsn;
6336 END LOOP;
6337
6338 vXMLTable(vCtr).TagName := 'P11_c2_cmp';
6339 vXMLTable(vCtr).TagValue := to_char(l_p11_c2_cmp);
6340 vCtr := vCtr + 1;
6341
6342 vXMLTable(vCtr).TagName := 'P11_c2_ant';
6343 vXMLTable(vCtr).TagValue := to_char(l_p11_c2_ant);
6344 vCtr := vCtr + 1;
6345
6346 -- Private Organization
6347 FOR cur_ctr IN cur_resources(p_from_date, p_to_date,20,'50', p_agency_code) LOOP
6348 l_p11_c3_cmp := cur_ctr.p11_cnt;
6349 l_p11_c3_ant := cur_ctr.p11_prsn;
6350 END LOOP;
6351
6352 vXMLTable(vCtr).TagName := 'P11_c3_cmp';
6353 vXMLTable(vCtr).TagValue := to_char(l_p11_c3_cmp);
6354 vCtr := vCtr + 1;
6355
6356 vXMLTable(vCtr).TagName := 'P11_c3_ant';
6357 vXMLTable(vCtr).TagValue := to_char(l_p11_c3_ant);
6358 vCtr := vCtr + 1;
6359
6360 -- Multiple Resources
6361
6362 l_total_count := 0;
6363 l_total_days := 0;
6364 l_old_cmp_id := 0;
6365 l_old_days := 0;
6366 v_temp.DELETE;
6367
6368 FOR cur_ctr IN cur_multires(p_from_date, p_to_date,20, p_agency_code) LOOP
6369 IF (cur_ctr.adr_resource = '30') THEN
6370 v_temp(l_ctr).complaint_id := cur_ctr.complaint_id;
6371 l_total_count := l_total_count + 1;
6372 l_old_cmp_id := cur_ctr.complaint_id;
6373 l_ctr := l_ctr + 1;
6374 ELSE
6375 l_new_cmp_id := cur_ctr.complaint_id;
6376 IF (l_old_cmp_id = l_new_cmp_id) THEN
6377 -- Search whether entry for the same complaint exist already, if exists update the same.
6378 l_lb_flag := 0 ;
6379 IF (v_temp.COUNT > 0) THEN
6380 FOR l_ctr1 IN v_temp.FIRST .. v_temp.LAST LOOP
6381 IF (v_temp(l_ctr1).complaint_id = l_new_cmp_id) THEN
6382 l_total_count := l_total_count + 1;
6383 l_lb_flag := 1;
6384 END IF;
6385 END LOOP;
6386 END IF;
6387 -- If the complaint doesnt exist already, add new entry.
6388 IF (l_lb_flag = 0) THEN
6389 v_temp(l_ctr).complaint_id := cur_ctr.complaint_id;
6390 l_total_count := l_total_count + 2;
6391 END IF;
6392 END IF;
6393 l_old_cmp_id := cur_ctr.complaint_id;
6394 END IF;
6395 END LOOP;
6396 -- To Find out the complainants for these complaints
6397 l_sql_str := '';
6398
6399 IF (v_temp.COUNT > 0) THEN
6400 l_sql_str := v_temp(1).complaint_id;
6401 END IF;
6402
6403 IF (v_temp.COUNT > 1) THEN
6404 FOR l_ctr IN 2 .. v_temp.COUNT LOOP
6408 IF (l_sql_str IS NOT NULL) THEN
6405 l_sql_str := l_sql_str || ',' || to_char(v_temp(l_ctr).complaint_id);
6406 END LOOP;
6407 END IF;
6409 l_sql_str := 'SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) FROM GHR_COMPLAINTS2 cmp WHERE cmp.complaint_id in (' || l_sql_str || ')';
6410 OPEN l_prsn_cur FOR l_sql_str;
6411 FETCH l_prsn_cur INTO l_tot_prsn;
6412 CLOSE l_prsn_cur;
6413 ELSE
6414 l_tot_prsn := 0;
6415 END IF;
6416
6417
6418 vXMLTable(vCtr).TagName := 'P11_c4_cmp';
6419 vXMLTable(vCtr).TagValue := to_char(l_total_count);
6420 vCtr := vCtr + 1;
6421
6422 vXMLTable(vCtr).TagName := 'P11_c4_ant';
6423 vXMLTable(vCtr).TagValue := to_char(l_tot_prsn);
6424 vCtr := vCtr + 1;
6425
6426 -- Other
6427 FOR cur_ctr IN cur_resources(p_from_date, p_to_date,20,'40', p_agency_code) LOOP
6428 l_p11_c5_cmp := cur_ctr.p11_cnt;
6429 l_p11_c5_ant := cur_ctr.p11_prsn;
6430 END LOOP;
6431
6432 vXMLTable(vCtr).TagName := 'P11_c5_cmp';
6433 vXMLTable(vCtr).TagValue := to_char(l_p11_c5_cmp);
6434 vCtr := vCtr + 1;
6435
6436 vXMLTable(vCtr).TagName := 'P11_c5_ant';
6437 vXMLTable(vCtr).TagValue := to_char(l_p11_c5_ant);
6438 vCtr := vCtr + 1;
6439
6440 -- Filling zeroes for Other fields
6441 vXMLTable(vCtr).TagName := 'P11_c6_cmp';
6442 vXMLTable(vCtr).TagValue := '0';
6443 vCtr := vCtr + 1;
6444
6445 vXMLTable(vCtr).TagName := 'P11_c6_ant';
6446 vXMLTable(vCtr).TagValue := '0';
6447 vCtr := vCtr + 1;
6448
6449 /* vXMLTable(vCtr).TagName := 'P11_d11_avg';
6450 vXMLTable(vCtr).TagValue := '0';
6451 vCtr := vCtr + 1;
6452 */
6453 vXMLTable(vCtr).TagName := 'P11_c7_cmp';
6454 vXMLTable(vCtr).TagValue := '0';
6455 vCtr := vCtr + 1;
6456
6457 vXMLTable(vCtr).TagName := 'P11_c7_ant';
6458 vXMLTable(vCtr).TagValue := '0';
6459 vCtr := vCtr + 1;
6460
6461
6462
6463 --------- End Multiple Resources
6464 l_p11_c_cmp := l_p11_c1_cmp + l_p11_c2_cmp + l_p11_c3_cmp + l_total_count + l_p11_c5_cmp;
6465 l_p11_c_ant := l_p11_c1_ant + l_p11_c2_ant + l_p11_c3_ant + l_tot_prsn + l_p11_c5_ant;
6466
6467 vXMLTable(vCtr).TagName := 'P11_c_cmp';
6468 vXMLTable(vCtr).TagValue := to_char(l_p11_c_cmp);
6469 vCtr := vCtr + 1;
6470
6471 vXMLTable(vCtr).TagName := 'P11_c_ant';
6472 vXMLTable(vCtr).TagValue := to_char(l_p11_c_ant);
6473 vCtr := vCtr + 1;
6474 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Resources');
6475 -- Techniques used
6476 -- Mediation
6477 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'40', p_agency_code) LOOP
6478 l_p11_d1_cmp := cur_ctr.p11_cnt;
6479 l_p11_d1_ant := cur_ctr.p11_prsn;
6480 l_p11_d1_day := cur_ctr.p11_days;
6481 END LOOP;
6482
6483 vXMLTable(vCtr).TagName := 'P11_d1_cmp';
6484 vXMLTable(vCtr).TagValue := to_char(l_p11_d1_cmp);
6485 vCtr := vCtr + 1;
6486
6487 vXMLTable(vCtr).TagName := 'P11_d1_ant';
6488 vXMLTable(vCtr).TagValue := to_char(l_p11_d1_ant);
6489 vCtr := vCtr + 1;
6490
6491 IF (l_p11_d1_day IS NULL) THEN
6492 l_p11_d1_day := 0;
6493 END IF;
6494
6495 vXMLTable(vCtr).TagName := 'P11_d1_day';
6496 vXMLTable(vCtr).TagValue := to_char(l_p11_d1_day);
6497 vCtr := vCtr + 1;
6498
6499 -- Average Days
6500 /* IF (l_p11_d1_cmp > 0) THEN
6501 l_P11_d1_avg := CEIL(l_p11_d1_day/l_p11_d1_cmp);
6502 ELSE
6503 l_P11_d1_avg := '0';
6504 END IF;
6505 vXMLTable(vCtr).TagName := 'P11_d1_avg';
6506 vXMLTable(vCtr).TagValue := to_char(l_P11_d1_avg);
6507 vCtr := vCtr + 1;
6508 */
6509 -- Settlement Conferences
6510 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'100', p_agency_code) LOOP
6511 l_p11_d2_cmp := cur_ctr.p11_cnt;
6512 l_p11_d2_ant := cur_ctr.p11_prsn;
6513 l_p11_d2_day := cur_ctr.p11_days;
6514 END LOOP;
6515
6516 vXMLTable(vCtr).TagName := 'P11_d2_cmp';
6517 vXMLTable(vCtr).TagValue := to_char(l_p11_d2_cmp);
6518 vCtr := vCtr + 1;
6519
6520 vXMLTable(vCtr).TagName := 'P11_d2_ant';
6521 vXMLTable(vCtr).TagValue := to_char(l_p11_d2_ant);
6522 vCtr := vCtr + 1;
6523
6524 IF (l_p11_d2_day IS NULL) THEN
6525 l_p11_d2_day := 0;
6526 END IF;
6527
6528
6529 vXMLTable(vCtr).TagName := 'P11_d2_day';
6530 vXMLTable(vCtr).TagValue := to_char(l_p11_d2_day);
6531 vCtr := vCtr + 1;
6532
6533 -- Average Days
6534 /* IF (l_p11_d2_cmp > 0) THEN
6535 l_P11_d2_avg := CEIL(l_p11_d2_day/l_p11_d2_cmp);
6536 ELSE
6537 l_P11_d2_avg := '0';
6538 END IF;
6539 vXMLTable(vCtr).TagName := 'P11_d2_avg';
6540 vXMLTable(vCtr).TagValue := to_char(l_P11_d2_avg);
6541 vCtr := vCtr + 1;
6542 */
6543 -- Early Neutral evaluations
6544 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'10', p_agency_code) LOOP
6545 l_p11_d3_cmp := cur_ctr.p11_cnt;
6546 l_p11_d3_ant := cur_ctr.p11_prsn;
6547 l_p11_d3_day := cur_ctr.p11_days;
6548 END LOOP;
6549
6550 vXMLTable(vCtr).TagName := 'P11_d3_cmp';
6551 vXMLTable(vCtr).TagValue := to_char(l_p11_d3_cmp);
6552 vCtr := vCtr + 1;
6553
6554 vXMLTable(vCtr).TagName := 'P11_d3_ant';
6555 vXMLTable(vCtr).TagValue := to_char(l_p11_d3_ant);
6556 vCtr := vCtr + 1;
6557
6558 IF (l_p11_d3_day IS NULL) THEN
6559 l_p11_d3_day := 0;
6560 END IF;
6561
6562
6563 vXMLTable(vCtr).TagName := 'P11_d3_day';
6564 vXMLTable(vCtr).TagValue := to_char(l_p11_d3_day);
6565 vCtr := vCtr + 1;
6566
6567 -- Average Days
6568 /* IF (l_p11_d3_cmp > 0) THEN
6569 l_P11_d3_avg := CEIL(l_p11_d3_day/l_p11_d3_cmp);
6570 ELSE
6571 l_P11_d3_avg := '0';
6572 END IF;
6573 vXMLTable(vCtr).TagName := 'P11_d3_avg';
6574 vXMLTable(vCtr).TagValue := to_char(l_P11_d3_avg);
6578 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'30', p_agency_code) LOOP
6575 vCtr := vCtr + 1;
6576 */
6577 -- Factfinding
6579 l_P11_d4_cmp := cur_ctr.p11_cnt;
6580 l_p11_d4_ant := cur_ctr.p11_prsn;
6581 l_p11_d4_day := cur_ctr.p11_days;
6582 END LOOP;
6583
6584 vXMLTable(vCtr).TagName := 'P11_d4_cmp';
6585 vXMLTable(vCtr).TagValue := to_char(l_P11_d4_cmp);
6586 vCtr := vCtr + 1;
6587
6588 vXMLTable(vCtr).TagName := 'P11_d4_ant';
6589 vXMLTable(vCtr).TagValue := to_char(l_p11_d4_ant);
6590 vCtr := vCtr + 1;
6591
6592 IF (l_p11_d4_day IS NULL) THEN
6593 l_p11_d4_day := 0;
6594 END IF;
6595
6596
6597 vXMLTable(vCtr).TagName := 'P11_d4_day';
6598 vXMLTable(vCtr).TagValue := to_char(l_p11_d4_day);
6599 vCtr := vCtr + 1;
6600
6601 -- Average Days
6602 /* IF (l_P11_d4_cmp > 0) THEN
6603 l_P11_d4_avg := CEIL(l_p11_d4_day/l_P11_d4_cmp);
6604 ELSE
6605 l_P11_d4_avg := '0';
6606 END IF;
6607 vXMLTable(vCtr).TagName := 'P11_d4_avg';
6608 vXMLTable(vCtr).TagValue := to_char(l_P11_d4_avg);
6609 vCtr := vCtr + 1;
6610 */
6611 -- Facilitation
6612 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'20', p_agency_code) LOOP
6613 l_p11_d5_cmp := cur_ctr.p11_cnt;
6614 l_p11_d5_ant := cur_ctr.p11_prsn;
6615 l_p11_d5_day := cur_ctr.p11_days;
6616 END LOOP;
6617
6618 vXMLTable(vCtr).TagName := 'P11_d5_cmp';
6619 vXMLTable(vCtr).TagValue := to_char(l_p11_d5_cmp);
6620 vCtr := vCtr + 1;
6621
6622 vXMLTable(vCtr).TagName := 'P11_d5_ant';
6623 vXMLTable(vCtr).TagValue := to_char(l_p11_d5_ant);
6624 vCtr := vCtr + 1;
6625
6626 IF (l_p11_d5_day IS NULL) THEN
6627 l_p11_d5_day := 0;
6628 END IF;
6629
6630
6631 vXMLTable(vCtr).TagName := 'P11_d5_day';
6632 vXMLTable(vCtr).TagValue := to_char(l_p11_d5_day);
6633 vCtr := vCtr + 1;
6634
6635 -- Average Days
6636 /* IF (l_p11_d5_cmp > 0) THEN
6637 l_P11_d5_avg := CEIL(l_p11_d5_day/l_p11_d5_cmp);
6638 ELSE
6639 l_P11_d5_avg := '0';
6640 END IF;
6641 vXMLTable(vCtr).TagName := 'P11_d5_avg';
6642 vXMLTable(vCtr).TagValue := to_char(l_P11_d5_avg);
6643 vCtr := vCtr + 1;
6644 */
6645 -- Ombudsman
6646 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'80', p_agency_code) LOOP
6647 l_p11_d6_cmp := cur_ctr.p11_cnt;
6648 l_p11_d6_ant := cur_ctr.p11_prsn;
6649 l_p11_d6_day := cur_ctr.p11_days;
6650 END LOOP;
6651
6652 vXMLTable(vCtr).TagName := 'P11_d6_cmp';
6653 vXMLTable(vCtr).TagValue := to_char(l_p11_d6_cmp);
6654 vCtr := vCtr + 1;
6655
6656 vXMLTable(vCtr).TagName := 'P11_d6_ant';
6657 vXMLTable(vCtr).TagValue := to_char(l_p11_d6_ant);
6658 vCtr := vCtr + 1;
6659
6660 IF (l_p11_d6_day IS NULL) THEN
6661 l_p11_d6_day := 0;
6662 END IF;
6663
6664
6665 vXMLTable(vCtr).TagName := 'P11_d6_day';
6666 vXMLTable(vCtr).TagValue := to_char(l_p11_d6_day);
6667 vCtr := vCtr + 1;
6668
6669 -- Average Days
6670 /* IF (l_p11_d6_cmp > 0) THEN
6671 l_P11_d6_avg := CEIL(l_p11_d6_day/l_p11_d6_cmp);
6672 ELSE
6673 l_P11_d6_avg := '0';
6674 END IF;
6675 vXMLTable(vCtr).TagName := 'P11_d6_avg';
6676 vXMLTable(vCtr).TagValue := to_char(l_P11_d6_avg);
6677 vCtr := vCtr + 1;
6678 */
6679 -- Mini-trials
6680 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'60', p_agency_code) LOOP
6681 l_p11_d7_cmp := cur_ctr.p11_cnt;
6682 l_p11_d7_ant := cur_ctr.p11_prsn;
6683 l_p11_d7_day := cur_ctr.p11_days;
6684 END LOOP;
6685
6686 vXMLTable(vCtr).TagName := 'P11_d7_cmp';
6687 vXMLTable(vCtr).TagValue := to_char(l_p11_d7_cmp);
6688 vCtr := vCtr + 1;
6689
6690 vXMLTable(vCtr).TagName := 'P11_d7_ant';
6691 vXMLTable(vCtr).TagValue := to_char(l_p11_d7_ant);
6692 vCtr := vCtr + 1;
6693
6694 IF (l_p11_d7_day IS NULL) THEN
6695 l_p11_d7_day := 0;
6696 END IF;
6697
6698
6699 vXMLTable(vCtr).TagName := 'P11_d7_day';
6700 vXMLTable(vCtr).TagValue := to_char(l_p11_d7_day);
6701 vCtr := vCtr + 1;
6702
6703 -- Average Days
6704 /* IF (l_p11_d7_cmp > 0) THEN
6705 l_P11_d7_avg := CEIL(l_p11_d7_day/l_p11_d7_cmp);
6706 ELSE
6707 l_P11_d7_avg := '0';
6708 END IF;
6709 vXMLTable(vCtr).TagName := 'P11_d7_avg';
6710 vXMLTable(vCtr).TagValue := to_char(l_P11_d7_avg);
6711 vCtr := vCtr + 1;
6712 */
6713
6714 -- Peer review
6715 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'90', p_agency_code) LOOP
6716 l_p11_d8_cmp := cur_ctr.p11_cnt;
6717 l_p11_d8_ant := cur_ctr.p11_prsn;
6718 l_p11_d8_day := cur_ctr.p11_days;
6719 END LOOP;
6720
6721 vXMLTable(vCtr).TagName := 'P11_d8_cmp';
6722 vXMLTable(vCtr).TagValue := to_char(l_p11_d8_cmp);
6723 vCtr := vCtr + 1;
6724
6725 vXMLTable(vCtr).TagName := 'P11_d8_ant';
6726 vXMLTable(vCtr).TagValue := to_char(l_p11_d8_ant);
6727 vCtr := vCtr + 1;
6728
6729 IF (l_p11_d8_day IS NULL) THEN
6730 l_p11_d8_day := 0;
6731 END IF;
6732
6733 vXMLTable(vCtr).TagName := 'P11_d8_day';
6734 vXMLTable(vCtr).TagValue := to_char(l_p11_d8_day);
6735 vCtr := vCtr + 1;
6736
6737 -- Average Days
6738 /* IF (l_p11_d8_cmp > 0) THEN
6739 l_P11_d8_avg := CEIL(l_p11_d8_day/l_p11_d8_cmp);
6740 ELSE
6741 l_P11_d8_avg := '0';
6742 END IF;
6743 vXMLTable(vCtr).TagName := 'P11_d8_avg';
6744 vXMLTable(vCtr).TagValue := to_char(l_P11_d8_avg);
6745 vCtr := vCtr + 1;
6746 */
6747 -- Other
6748
6749 FOR cur_ctr IN cur_techniques(p_from_date, p_to_date,20,'70', p_agency_code) LOOP
6750 l_p11_d10_cmp := cur_ctr.p11_cnt;
6751 l_p11_d10_ant := cur_ctr.p11_prsn;
6752 l_p11_d10_day := cur_ctr.p11_days;
6756 vXMLTable(vCtr).TagValue := to_char(l_p11_d10_cmp);
6753 END LOOP;
6754
6755 vXMLTable(vCtr).TagName := 'P11_d10_cmp';
6757 vCtr := vCtr + 1;
6758
6759 vXMLTable(vCtr).TagName := 'P11_d10_ant';
6760 vXMLTable(vCtr).TagValue := to_char(l_p11_d10_ant);
6761 vCtr := vCtr + 1;
6762
6763 IF (l_p11_d10_day IS NULL) THEN
6764 l_p11_d10_day := 0;
6765 END IF;
6766
6767 vXMLTable(vCtr).TagName := 'P11_d10_day';
6768 vXMLTable(vCtr).TagValue := to_char(l_p11_d10_day);
6769 vCtr := vCtr + 1;
6770
6771 -- Average Days
6772 /* IF (l_p11_d10_cmp > 0) THEN
6773 l_P11_d10_avg := CEIL(l_p11_d10_day/l_p11_d10_cmp);
6774 ELSE
6775 l_P11_d10_avg := '0';
6776 END IF;
6777 vXMLTable(vCtr).TagName := 'P11_d10_avg';
6778 vXMLTable(vCtr).TagValue := to_char(l_P11_d10_avg);
6779 vCtr := vCtr + 1;
6780 */
6781 -- Multiple Techniques
6782
6783 l_total_count := 0;
6784 l_total_days := 0;
6785 l_old_cmp_id := 0;
6786 l_old_days := 0;
6787 l_ctr := 1;
6788 v_temp.DELETE;
6789
6790
6791 FOR cur_ctr IN cur_multitechniques(p_from_date, p_to_date,20, p_agency_code) LOOP
6792 IF (cur_ctr.technique = '50') THEN
6793 v_temp(l_ctr).complaint_id := cur_ctr.complaint_id;
6794 l_total_count := l_total_count + 1;
6795 l_total_days := l_total_days + cur_ctr.p11_days;
6796 l_old_cmp_id := cur_ctr.complaint_id;
6797 l_old_days := cur_ctr.p11_days;
6798 l_ctr := l_ctr + 1;
6799 ELSE
6800 l_new_cmp_id := cur_ctr.complaint_id;
6801 IF (l_old_cmp_id = l_new_cmp_id) THEN
6802 -- Search whether entry for the same complaint exist already, if exists update the same.
6803 l_lb_flag := 0 ;
6804 IF (v_temp.COUNT > 0) THEN
6805 FOR l_ctr1 IN v_temp.FIRST .. v_temp.LAST LOOP
6806 IF (v_temp(l_ctr1).complaint_id = l_new_cmp_id) THEN
6807 l_total_count := l_total_count + 1;
6808 l_total_days := l_total_days + cur_ctr.p11_days;
6809 l_lb_flag := 1;
6810 END IF;
6811 END LOOP;
6812 END IF;
6813 -- If the complaint doesnt exist already, add new entry.
6814 IF (l_lb_flag = 0) THEN
6815 v_temp(l_ctr).complaint_id := cur_ctr.complaint_id;
6816 l_total_count := l_total_count + 2;
6817 l_total_days := l_total_days + l_old_days + cur_ctr.p11_days;
6818 END IF;
6819 END IF;
6820 l_old_cmp_id := cur_ctr.complaint_id;
6821 l_old_days := cur_ctr.p11_days;
6822 END IF;
6823 END LOOP;
6824 -- To Find out the complainants for these complaints
6825 l_sql_str := '';
6826
6827 IF (v_temp.COUNT > 0) THEN
6828 l_sql_str := v_temp(1).complaint_id;
6829 END IF;
6830
6831 IF (v_temp.COUNT > 1) THEN
6832 FOR l_ctr IN 2 .. v_temp.COUNT LOOP
6833 l_sql_str := l_sql_str || ',' || to_char(v_temp(l_ctr).complaint_id);
6834 END LOOP;
6835 END IF;
6836 IF (l_sql_str IS NOT NULL) THEN
6837 l_sql_str := 'SELECT COUNT(distinct nvl(cmp.complainant_person_id,0)) FROM GHR_COMPLAINTS2 cmp WHERE cmp.complaint_id in (' || l_sql_str || ')';
6838 OPEN l_prsn_cur FOR l_sql_str;
6839 FETCH l_prsn_cur INTO l_tot_prsn;
6840 CLOSE l_prsn_cur;
6841 ELSE
6842 l_tot_prsn := 0;
6843 END IF;
6844
6845 --------- End Multiple Techniques
6846
6847 vXMLTable(vCtr).TagName := 'P11_d9_cmp';
6848 vXMLTable(vCtr).TagValue := to_char(l_total_count);
6849 vCtr := vCtr + 1;
6850
6851 vXMLTable(vCtr).TagName := 'P11_d9_ant';
6852 vXMLTable(vCtr).TagValue := to_char(l_tot_prsn);
6853 vCtr := vCtr + 1;
6854
6855 IF (l_p11_3i_day IS NULL) THEN
6856 l_p11_3i_day := 0;
6857 END IF;
6858
6859 vXMLTable(vCtr).TagName := 'P11_d9_day';
6860 vXMLTable(vCtr).TagValue := to_char(l_total_days);
6861 vCtr := vCtr + 1;
6862
6863 -- Average Days
6864 /* IF (l_total_count > 0) THEN
6865 l_P11_d9_avg := CEIL(l_total_days/l_total_count);
6866 ELSE
6867 l_P11_d9_avg := '0';
6868 END IF;
6869 vXMLTable(vCtr).TagName := 'P11_d9_avg';
6870 vXMLTable(vCtr).TagValue := to_char(l_P11_d9_avg);
6871 vCtr := vCtr + 1;
6872 */
6873 -- Filling zeroes for Other fields
6874 vXMLTable(vCtr).TagName := 'P11_d11_cmp';
6875 vXMLTable(vCtr).TagValue := '0';
6876 vCtr := vCtr + 1;
6877
6878 vXMLTable(vCtr).TagName := 'P11_d11_ant';
6879 vXMLTable(vCtr).TagValue := '0';
6880 vCtr := vCtr + 1;
6881
6882 vXMLTable(vCtr).TagName := 'P11_d11_day';
6883 vXMLTable(vCtr).TagValue := '0';
6884 vCtr := vCtr + 1;
6885
6886 /* vXMLTable(vCtr).TagName := 'P11_d11_avg';
6887 vXMLTable(vCtr).TagValue := '0';
6888 vCtr := vCtr + 1;
6889 */
6890 vXMLTable(vCtr).TagName := 'P11_d12_cmp';
6891 vXMLTable(vCtr).TagValue := '0';
6892 vCtr := vCtr + 1;
6893
6894 vXMLTable(vCtr).TagName := 'P11_d12_ant';
6895 vXMLTable(vCtr).TagValue := '0';
6896 vCtr := vCtr + 1;
6897
6898 vXMLTable(vCtr).TagName := 'P11_d12_day';
6899 vXMLTable(vCtr).TagValue := '0';
6900 vCtr := vCtr + 1;
6901
6902 /* vXMLTable(vCtr).TagName := 'P11_d12_avg';
6903 vXMLTable(vCtr).TagValue := '0';
6904 vCtr := vCtr + 1;
6905 */
6906 l_p11_d_cmp := l_p11_d1_cmp + l_p11_d2_cmp + l_p11_d3_cmp + l_P11_d4_cmp + l_p11_d5_cmp + l_p11_d6_cmp + l_p11_d7_cmp + l_p11_d8_cmp + l_total_count + l_p11_d10_cmp;
6907 l_p11_d_ant := l_p11_d1_ant + l_p11_d2_ant + l_p11_d3_ant + l_p11_d4_ant + l_p11_d5_ant + l_p11_d6_ant + l_p11_d7_ant + l_p11_d8_ant + l_tot_prsn + l_p11_d10_ant;
6908 l_p11_d_day := l_p11_d1_day + l_p11_d2_day + l_p11_d3_day + l_p11_d4_day + l_p11_d5_day + l_p11_d6_day + l_p11_d7_day + l_p11_d8_day + l_total_days + l_p11_d10_day;
6909 l_p11_d_avg := l_p11_d1_avg + l_p11_d2_avg + l_p11_d3_avg + l_p11_d4_avg + l_p11_d5_avg + l_p11_d6_avg + l_p11_d7_avg + l_p11_d8_avg + l_p11_d9_avg + l_p11_d10_avg;
6910
6914
6911 vXMLTable(vCtr).TagName := 'P11_d_cmp';
6912 vXMLTable(vCtr).TagValue := to_char(l_p11_d_cmp);
6913 vCtr := vCtr + 1;
6915 vXMLTable(vCtr).TagName := 'P11_d_ant';
6916 vXMLTable(vCtr).TagValue := to_char(l_p11_d_ant);
6917 vCtr := vCtr + 1;
6918
6919 vXMLTable(vCtr).TagName := 'P11_d_day';
6920 vXMLTable(vCtr).TagValue := to_char(l_p11_d_day);
6921 vCtr := vCtr + 1;
6922
6923 /* vXMLTable(vCtr).TagName := 'P11_d_avg';
6924 vXMLTable(vCtr).TagValue := to_char(l_p11_d_avg);
6925 vCtr := vCtr + 1;
6926 */
6927 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Techniques');
6928 -- Status of Cases
6929 -- Settlement with benefits
6930 FOR cur_ctr IN cur_case_status_settle(p_from_date, p_to_date,20, p_agency_code) LOOP
6931 l_p11_e1a_cmp := cur_ctr.p11_cnt;
6932 l_p11_e1a_ant := cur_ctr.p11_prsn;
6933 l_p11_e1a_day := cur_ctr.p11_days;
6934 END LOOP;
6935
6936 vXMLTable(vCtr).TagName := 'P11_e1a_cmp';
6937 vXMLTable(vCtr).TagValue := to_char(l_p11_e1a_cmp);
6938 vCtr := vCtr + 1;
6939
6940 vXMLTable(vCtr).TagName := 'P11_e1a_ant';
6941 vXMLTable(vCtr).TagValue := to_char(l_p11_e1a_ant);
6942 vCtr := vCtr + 1;
6943
6944 IF (l_p11_e1a_day IS NULL) THEN
6945 l_p11_e1a_day := 0;
6946 END IF;
6947
6948
6949 vXMLTable(vCtr).TagName := 'P11_e1a_day';
6950 vXMLTable(vCtr).TagValue := to_char(l_p11_e1a_day);
6951 vCtr := vCtr + 1;
6952
6953 -- Average Days
6954 /* IF (l_p11_e1a_cmp > 0) THEN
6955 l_P11_e1a_avg := CEIL(l_p11_e1a_day/l_p11_e1a_cmp);
6956 ELSE
6957 l_P11_e1a_avg := 0;
6958 END IF;
6959 vXMLTable(vCtr).TagName := 'P11_e1a_avg';
6960 vXMLTable(vCtr).TagValue := to_char(l_P11_e1a_avg);
6961 vCtr := vCtr + 1;
6962 */
6963 -- Withdrawals
6964 FOR cur_ctr IN cur_case_status(p_from_date, p_to_date,20,'170', p_agency_code) LOOP
6965 l_p11_e1b_cmp := cur_ctr.p11_cnt;
6966 l_p11_e1b_ant := cur_ctr.p11_prsn;
6967 l_p11_e1b_day := cur_ctr.p11_days;
6968 END LOOP;
6969
6970 vXMLTable(vCtr).TagName := 'P11_e1b_cmp';
6971 vXMLTable(vCtr).TagValue := to_char(l_p11_e1b_cmp);
6972 vCtr := vCtr + 1;
6973
6974 vXMLTable(vCtr).TagName := 'P11_e1b_ant';
6975 vXMLTable(vCtr).TagValue := to_char(l_p11_e1b_ant);
6976 vCtr := vCtr + 1;
6977
6978 IF (l_p11_e1b_day IS NULL) THEN
6979 l_p11_e1b_day := 0;
6980 END IF;
6981
6982
6983 vXMLTable(vCtr).TagName := 'P11_e1b_day';
6984 vXMLTable(vCtr).TagValue := to_char(l_p11_e1b_day);
6985 vCtr := vCtr + 1;
6986
6987 -- Average Days
6988 /* IF (l_p11_e1b_cmp > 0) THEN
6989 l_P11_e1b_avg := CEIL(l_p11_e1b_day/l_p11_e1b_cmp);
6990 ELSE
6991 l_P11_e1b_avg := 0;
6992 END IF;
6993 vXMLTable(vCtr).TagName := 'P11_e1b_avg';
6994 vXMLTable(vCtr).TagValue := to_char(l_P11_e1b_avg);
6995 vCtr := vCtr + 1;
6996 */
6997 -- No Resolution
6998 FOR cur_ctr IN cur_case_status(p_from_date, p_to_date,20,'220', p_agency_code) LOOP
6999 l_p11_e1c_cmp := cur_ctr.p11_cnt;
7000 l_p11_e1c_ant := cur_ctr.p11_prsn;
7001 l_p11_e1c_day := cur_ctr.p11_days;
7002 END LOOP;
7003
7004 vXMLTable(vCtr).TagName := 'P11_e1c_cmp';
7005 vXMLTable(vCtr).TagValue := to_char(l_p11_e1c_cmp);
7006 vCtr := vCtr + 1;
7007
7008 vXMLTable(vCtr).TagName := 'P11_e1c_ant';
7009 vXMLTable(vCtr).TagValue := to_char(l_p11_e1c_ant);
7010 vCtr := vCtr + 1;
7011
7012 IF (l_p11_e1c_day IS NULL) THEN
7013 l_p11_e1c_day := 0;
7014 END IF;
7015
7016 vXMLTable(vCtr).TagName := 'P11_e1c_day';
7017 vXMLTable(vCtr).TagValue := to_char(l_p11_e1c_day);
7018 vCtr := vCtr + 1;
7019
7020 -- Average Days
7021 /* IF (l_p11_e1c_cmp > 0) THEN
7022 l_P11_e1c_avg := CEIL(l_p11_e1c_day/l_p11_e1c_cmp);
7023 ELSE
7024 l_P11_e1c_avg := 0;
7025 END IF;
7026 vXMLTable(vCtr).TagName := 'P11_e1c_avg';
7027 vXMLTable(vCtr).TagValue := to_char(l_P11_e1c_avg);
7028 vCtr := vCtr + 1;
7029 */
7030
7031 -- Other
7032 FOR cur_ctr IN cur_case_status(p_from_date, p_to_date,20,'230', p_agency_code) LOOP
7033 l_p11_e1d_cmp := cur_ctr.p11_cnt;
7034 l_p11_e1d_ant := cur_ctr.p11_prsn;
7035 l_p11_e1d_day := cur_ctr.p11_days;
7036 END LOOP;
7037
7038 vXMLTable(vCtr).TagName := 'P11_e1d_cmp';
7039 vXMLTable(vCtr).TagValue := to_char(l_p11_e1d_cmp);
7040 vCtr := vCtr + 1;
7041
7042 vXMLTable(vCtr).TagName := 'P11_e1d_ant';
7043 vXMLTable(vCtr).TagValue := to_char(l_p11_e1d_ant);
7044 vCtr := vCtr + 1;
7045
7046 IF (l_p11_e1d_day IS NULL) THEN
7047 l_p11_e1d_day := 0;
7048 END IF;
7049
7050 vXMLTable(vCtr).TagName := 'P11_e1d_day';
7051 vXMLTable(vCtr).TagValue := to_char(l_p11_e1d_day);
7052 vCtr := vCtr + 1;
7053
7054 -- Average Days
7055 /* IF (l_p11_e1d_cmp > 0) THEN
7056 l_P11_e1d_avg := CEIL(l_p11_e1d_day/l_p11_e1d_cmp);
7057 ELSE
7058 l_P11_e1d_avg := 0;
7059 END IF;
7060 vXMLTable(vCtr).TagName := 'P11_e1d_avg';
7061 vXMLTable(vCtr).TagValue := to_char(l_P11_e1d_avg);
7062 vCtr := vCtr + 1;
7063 */
7064 -- Filling zeroes for other fields
7065
7066 vXMLTable(vCtr).TagName := 'P11_e1e_cmp';
7067 vXMLTable(vCtr).TagValue := '0';
7068 vCtr := vCtr + 1;
7069
7070 vXMLTable(vCtr).TagName := 'P11_e1e_ant';
7071 vXMLTable(vCtr).TagValue := '0';
7072 vCtr := vCtr + 1;
7073
7074 vXMLTable(vCtr).TagName := 'P11_e1e_day';
7075 vXMLTable(vCtr).TagValue := '0';
7076 vCtr := vCtr + 1;
7077
7078 /* vXMLTable(vCtr).TagName := 'P11_e1e_avg';
7079 vXMLTable(vCtr).TagValue := '0';
7080 vCtr := vCtr + 1;
7081 */
7082 vXMLTable(vCtr).TagName := 'P11_e1f_cmp';
7083 vXMLTable(vCtr).TagValue := '0';
7087 vXMLTable(vCtr).TagValue := '0';
7084 vCtr := vCtr + 1;
7085
7086 vXMLTable(vCtr).TagName := 'P11_e1f_ant';
7088 vCtr := vCtr + 1;
7089
7090 vXMLTable(vCtr).TagName := 'P11_e1f_day';
7091 vXMLTable(vCtr).TagValue := '0';
7092 vCtr := vCtr + 1;
7093
7094 /* vXMLTable(vCtr).TagName := 'P11_e1f_avg';
7095 vXMLTable(vCtr).TagValue := '0';
7096 vCtr := vCtr + 1;
7097 */
7098 -- Total Closed
7099 l_p11_e1_cmp := l_p11_e1a_cmp + l_p11_e1b_cmp + l_p11_e1c_cmp + l_p11_e1d_cmp;
7100 l_p11_e1_ant := l_p11_e1a_ant + l_p11_e1b_ant + l_p11_e1c_ant + l_p11_e1d_ant;
7101 l_p11_e1_day := l_p11_e1a_day + l_p11_e1b_day + l_p11_e1c_day + l_p11_e1d_day;
7102 l_p11_e1_avg := l_p11_e1a_avg + l_p11_e1b_avg + l_p11_e1c_avg + l_p11_e1d_avg;
7103
7104 vXMLTable(vCtr).TagName := 'P11_e1_cmp';
7105 vXMLTable(vCtr).TagValue := to_char(l_p11_e1_cmp);
7106 vCtr := vCtr + 1;
7107
7108 vXMLTable(vCtr).TagName := 'P11_e1_ant';
7109 vXMLTable(vCtr).TagValue := to_char(l_p11_e1_ant);
7110 vCtr := vCtr + 1;
7111
7112 vXMLTable(vCtr).TagName := 'P11_e1_day';
7113 vXMLTable(vCtr).TagValue := to_char(l_p11_e1_day);
7114 vCtr := vCtr + 1;
7115
7116 /* vXMLTable(vCtr).TagName := 'P11_e1_avg';
7117 vXMLTable(vCtr).TagValue := to_char(l_p11_e1_avg);
7118 vCtr := vCtr + 1;
7119 */
7120 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Closed Status');
7121 -- Open inventory
7122 -- Result of (A + B4 - E1)
7123
7124 /*(FOR cur_ctr IN cur_open_inventory(p_from_date, p_to_date,'20', p_agency_code) LOOP
7125 l_p11_e2_cmp := cur_ctr.p11_cnt;
7126 l_p11_e2_ant := cur_ctr.p11_prsn;
7127 l_p11_e2_day := cur_ctr.p11_days;
7128 END LOOP; */
7129 l_p11_e2_cmp := l_p11_a_cmp + l_p11_b4_cmp - l_p11_e1_cmp;
7130 l_p11_e2_ant := l_p11_a_ant + l_p11_b4_ant - l_p11_e1_ant;
7131 l_p11_e2_day := l_p11_a_day + l_p11_b4_day - l_p11_e1_day;
7132
7133 vXMLTable(vCtr).TagName := 'P11_e2_cmp';
7134 vXMLTable(vCtr).TagValue := to_char(l_p11_e2_cmp);
7135 vCtr := vCtr + 1;
7136
7137 vXMLTable(vCtr).TagName := 'P11_e2_ant';
7138 vXMLTable(vCtr).TagValue := to_char(l_p11_e2_ant);
7139 vCtr := vCtr + 1;
7140
7141 IF (l_p11_e2_day IS NULL) THEN
7142 l_p11_e2_day := 0;
7143 END IF;
7144
7145 vXMLTable(vCtr).TagName := 'P11_e2_day';
7146 vXMLTable(vCtr).TagValue := to_char(l_p11_e2_day);
7147 vCtr := vCtr + 1;
7148
7149 -- Average Days
7150 /* IF (l_p11_e2_cmp > 0) THEN
7151 l_P11_e2_avg := CEIL(l_p11_e2_day/l_p11_e2_cmp);
7152 ELSE
7153 l_P11_e2_avg := 0;
7154 END IF;
7155 vXMLTable(vCtr).TagName := 'P11_e2_avg';
7156 vXMLTable(vCtr).TagValue := to_char(l_P11_e2_avg);
7157 vCtr := vCtr + 1;
7158 */
7159
7160 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Open Inventory');
7161 -- Benefits Received
7162 -- Compensatory Damages
7163 FOR cur_ctr IN cur_benefits_pt2(p_from_date, p_to_date,20,'30','30','40', p_agency_code) LOOP
7164 l_p11_f1a_cmp := cur_ctr.p11_cnt;
7165 l_p11_f1a_ant := cur_ctr.p11_prsn;
7166 l_p11_f1a_amt := cur_ctr.p11_amt;
7167 END LOOP;
7168
7169 vXMLTable(vCtr).TagName := 'P11_f1a_cmp';
7170 vXMLTable(vCtr).TagValue := to_char(l_p11_f1a_cmp);
7171 vCtr := vCtr + 1;
7172
7173 vXMLTable(vCtr).TagName := 'P11_f1a_ant';
7174 vXMLTable(vCtr).TagValue := to_char(l_p11_f1a_ant);
7175 vCtr := vCtr + 1;
7176
7177 vXMLTable(vCtr).TagName := 'P11_f1a_amt';
7178 vXMLTable(vCtr).TagValue := to_char(l_p11_f1a_amt);
7179 vCtr := vCtr + 1;
7180
7181 -- BackPay and front pay
7182 FOR cur_ctr IN cur_benefits(p_from_date, p_to_date,20,'30','20', p_agency_code) LOOP
7183 l_p11_f1b_cmp := cur_ctr.p11_cnt;
7184 l_p11_f1b_ant := cur_ctr.p11_prsn;
7185 l_p11_f1b_amt := cur_ctr.p11_amt;
7186 END LOOP;
7187
7188 vXMLTable(vCtr).TagName := 'P11_f1b_cmp';
7189 vXMLTable(vCtr).TagValue := to_char(l_p11_f1b_cmp);
7190 vCtr := vCtr + 1;
7191
7192 vXMLTable(vCtr).TagName := 'P11_f1b_ant';
7193 vXMLTable(vCtr).TagValue := to_char(l_p11_f1b_ant);
7194 vCtr := vCtr + 1;
7195
7196 vXMLTable(vCtr).TagName := 'P11_f1b_amt';
7197 vXMLTable(vCtr).TagValue := to_char(l_p11_f1b_amt);
7198 vCtr := vCtr + 1;
7199
7200 -- Lump Sum
7201 FOR cur_ctr IN cur_benefits(p_from_date, p_to_date,20,'30','50', p_agency_code) LOOP
7202 l_p11_f1c_cmp := cur_ctr.p11_cnt;
7203 l_p11_f1c_ant := cur_ctr.p11_prsn;
7204 l_p11_f1c_amt := cur_ctr.p11_amt;
7205 END LOOP;
7206
7207 vXMLTable(vCtr).TagName := 'P11_f1c_cmp';
7208 vXMLTable(vCtr).TagValue := to_char(l_p11_f1c_cmp);
7209 vCtr := vCtr + 1;
7210
7211 vXMLTable(vCtr).TagName := 'P11_f1c_ant';
7212 vXMLTable(vCtr).TagValue := to_char(l_p11_f1c_ant);
7213 vCtr := vCtr + 1;
7214
7215 vXMLTable(vCtr).TagName := 'P11_f1c_amt';
7216 vXMLTable(vCtr).TagValue := to_char(l_p11_f1c_amt);
7217 vCtr := vCtr + 1;
7218
7219 -- Attorney's fees and costs
7220 FOR cur_ctr IN cur_benefits(p_from_date, p_to_date,20,'30','10', p_agency_code) LOOP
7221 l_p11_f1d_cmp := cur_ctr.p11_cnt;
7222 l_p11_f1d_ant := cur_ctr.p11_prsn;
7223 l_p11_f1d_amt := cur_ctr.p11_amt;
7224 END LOOP;
7225
7226 vXMLTable(vCtr).TagName := 'P11_f1d_cmp';
7227 vXMLTable(vCtr).TagValue := to_char(l_p11_f1d_cmp);
7228 vCtr := vCtr + 1;
7229
7230 vXMLTable(vCtr).TagName := 'P11_f1d_ant';
7231 vXMLTable(vCtr).TagValue := to_char(l_p11_f1d_ant);
7232 vCtr := vCtr + 1;
7233
7234 vXMLTable(vCtr).TagName := 'P11_f1d_amt';
7235 vXMLTable(vCtr).TagValue := to_char(l_p11_f1d_amt);
7236 vCtr := vCtr + 1;
7237
7238 -- Other
7242 l_p11_f1e_amt := cur_ctr.p11_amt;
7239 FOR cur_ctr IN cur_benefits(p_from_date, p_to_date,20,'30','60', p_agency_code) LOOP
7240 l_p11_f1e_cmp := cur_ctr.p11_cnt;
7241 l_p11_f1e_ant := cur_ctr.p11_prsn;
7243 END LOOP;
7244
7245 vXMLTable(vCtr).TagName := 'P11_f1e_cmp';
7246 vXMLTable(vCtr).TagValue := to_char(l_p11_f1e_cmp);
7247 vCtr := vCtr + 1;
7248
7249 vXMLTable(vCtr).TagName := 'P11_f1e_ant';
7250 vXMLTable(vCtr).TagValue := to_char(l_p11_f1e_ant);
7251 vCtr := vCtr + 1;
7252
7253 vXMLTable(vCtr).TagName := 'P11_f1e_amt';
7254 vXMLTable(vCtr).TagValue := to_char(l_p11_f1e_amt);
7255 vCtr := vCtr + 1;
7256
7257 -- Filling zeroes for other fields
7258
7259 vXMLTable(vCtr).TagName := 'P11_f1f_cmp';
7260 vXMLTable(vCtr).TagValue := '0';
7261 vCtr := vCtr + 1;
7262
7263 vXMLTable(vCtr).TagName := 'P11_f1f_ant';
7264 vXMLTable(vCtr).TagValue := '0';
7265 vCtr := vCtr + 1;
7266
7267 vXMLTable(vCtr).TagName := 'P11_f1f_amt';
7268 vXMLTable(vCtr).TagValue := '0';
7269 vCtr := vCtr + 1;
7270
7271 vXMLTable(vCtr).TagName := 'P11_f1g_cmp';
7272 vXMLTable(vCtr).TagValue := '0';
7273 vCtr := vCtr + 1;
7274
7275 vXMLTable(vCtr).TagName := 'P11_f1g_ant';
7276 vXMLTable(vCtr).TagValue := '0';
7277 vCtr := vCtr + 1;
7278
7279 vXMLTable(vCtr).TagName := 'P11_f1g_amt';
7280 vXMLTable(vCtr).TagValue := '0';
7281 vCtr := vCtr + 1;
7282
7283
7284 -- Total
7285 FOR cur_ctr IN cur_tot_benefits(p_from_date, p_to_date,20,'30', p_agency_code) LOOP
7286 l_p11_f1_cmp := cur_ctr.p11_cnt;
7287 l_p11_f1_ant := cur_ctr.p11_prsn;
7288 END LOOP;
7289 -- l_p11_f1_cmp := l_p11_f1a_cmp + l_p11_f1b_cmp + l_p11_f1c_cmp + l_p11_f1d_cmp + l_p11_f1e_cmp;
7290 -- l_p11_f1_ant := l_p11_f1a_ant + l_p11_f1b_ant + l_p11_f1c_ant + l_p11_f1d_ant + l_p11_f1e_ant;
7291 l_p11_f1_amt := l_p11_f1a_amt + l_p11_f1b_amt + l_p11_f1c_amt + l_p11_f1d_amt + l_p11_f1e_amt;
7292
7293 vXMLTable(vCtr).TagName := 'P11_f1_cmp';
7294 vXMLTable(vCtr).TagValue := to_char(l_p11_f1_cmp);
7295 vCtr := vCtr + 1;
7296
7297 vXMLTable(vCtr).TagName := 'P11_f1_ant';
7298 vXMLTable(vCtr).TagValue := to_char(l_p11_f1_ant);
7299 vCtr := vCtr + 1;
7300
7301 vXMLTable(vCtr).TagName := 'P11_f1_amt';
7302 vXMLTable(vCtr).TagValue := to_char(l_p11_f1_amt);
7303 vCtr := vCtr + 1;
7304 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Benefits Received Monetary');
7305 -- Non-Monetary
7306 -- New Hires
7307 FOR cur_ctr IN cur_benefits_nm_pt2(p_from_date, p_to_date,20,'30','70','80', p_agency_code) LOOP
7308 l_p11_f2a_cmp := cur_ctr.p11_cnt;
7309 l_p11_f2a_ant := cur_ctr.p11_prsn;
7310 END LOOP;
7311
7312 vXMLTable(vCtr).TagName := 'P11_f2a_cmp';
7313 vXMLTable(vCtr).TagValue := to_char(l_p11_f2a_cmp);
7314 vCtr := vCtr + 1;
7315
7316 vXMLTable(vCtr).TagName := 'P11_f2a_ant';
7317 vXMLTable(vCtr).TagValue := to_char(l_p11_f2a_ant);
7318 vCtr := vCtr + 1;
7319
7320 -- Promotions
7321 FOR cur_ctr IN cur_benefits_nm_pt2(p_from_date, p_to_date,20,'30','130','140', p_agency_code) LOOP
7322 l_p11_f2b_cmp := cur_ctr.p11_cnt;
7323 l_p11_f2b_ant := cur_ctr.p11_prsn;
7324 END LOOP;
7325
7326 vXMLTable(vCtr).TagName := 'P11_f2b_cmp';
7327 vXMLTable(vCtr).TagValue := to_char(l_p11_f2b_cmp);
7328 vCtr := vCtr + 1;
7329
7330 vXMLTable(vCtr).TagName := 'P11_f2b_ant';
7331 vXMLTable(vCtr).TagValue := to_char(l_p11_f2b_ant);
7332 vCtr := vCtr + 1;
7333
7334 -- Reinstatements
7335 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,20,'30','160', p_agency_code) LOOP
7336 l_p11_f2c_cmp := cur_ctr.p11_cnt;
7337 l_p11_f2c_ant := cur_ctr.p11_prsn;
7338 END LOOP;
7339
7340 vXMLTable(vCtr).TagName := 'P11_f2c_cmp';
7341 vXMLTable(vCtr).TagValue := to_char(l_p11_f2c_cmp);
7342 vCtr := vCtr + 1;
7343
7344 vXMLTable(vCtr).TagName := 'P11_f2c_ant';
7345 vXMLTable(vCtr).TagValue := to_char(l_p11_f2c_ant);
7346 vCtr := vCtr + 1;
7347
7348 -- Expungements
7349 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,20,'30','60', p_agency_code) LOOP
7350 l_p11_f2d_cmp := cur_ctr.p11_cnt;
7351 l_p11_f2d_ant := cur_ctr.p11_prsn;
7352 END LOOP;
7353
7354 vXMLTable(vCtr).TagName := 'P11_f2d_cmp';
7355 vXMLTable(vCtr).TagValue := to_char(l_p11_f2d_cmp);
7356 vCtr := vCtr + 1;
7357
7358 vXMLTable(vCtr).TagName := 'P11_f2d_ant';
7359 vXMLTable(vCtr).TagValue := to_char(l_p11_f2d_ant);
7360 vCtr := vCtr + 1;
7361
7362 -- Transfers
7363 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,20,'30','190', p_agency_code) LOOP
7364 l_p11_f2e_cmp := cur_ctr.p11_cnt;
7365 l_p11_f2e_ant := cur_ctr.p11_prsn;
7366 END LOOP;
7367
7368 vXMLTable(vCtr).TagName := 'P11_f2e_cmp';
7369 vXMLTable(vCtr).TagValue := to_char(l_p11_f2e_cmp);
7370 vCtr := vCtr + 1;
7371
7372 vXMLTable(vCtr).TagName := 'P11_f2e_ant';
7373 vXMLTable(vCtr).TagValue := to_char(l_p11_f2e_ant);
7374 vCtr := vCtr + 1;
7375
7376 -- Removals Rescinded and Voluntary Resignations
7377 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,20,'30','170', p_agency_code) LOOP
7378 l_p11_5b6_cmp := cur_ctr.p11_cnt;
7379 l_P11_f2f_ant := cur_ctr.p11_prsn;
7380 END LOOP;
7381
7382 vXMLTable(vCtr).TagName := 'P11_f2f_cmp';
7383 vXMLTable(vCtr).TagValue := to_char(l_p11_5b6_cmp);
7384 vCtr := vCtr + 1;
7385
7386 vXMLTable(vCtr).TagName := 'P11_f2f_ant';
7387 vXMLTable(vCtr).TagValue := to_char(l_P11_f2f_ant);
7388 vCtr := vCtr + 1;
7389
7390 -- Reasonable accomodations
7394 END LOOP;
7391 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,20,'30','10', p_agency_code) LOOP
7392 l_p11_f2g_cmp := cur_ctr.p11_cnt;
7393 l_p11_f2g_ant := cur_ctr.p11_prsn;
7395
7396 vXMLTable(vCtr).TagName := 'P11_f2g_cmp';
7397 vXMLTable(vCtr).TagValue := to_char(l_p11_f2g_cmp);
7398 vCtr := vCtr + 1;
7399
7400 vXMLTable(vCtr).TagName := 'P11_f2g_ant';
7401 vXMLTable(vCtr).TagValue := to_char(l_p11_f2g_ant);
7402 vCtr := vCtr + 1;
7403
7404
7405 -- Training
7406 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,20,'30','180', p_agency_code) LOOP
7407 l_p11_f2h_cmp := cur_ctr.p11_cnt;
7408 l_p11_f2h_ant := cur_ctr.p11_prsn;
7409 END LOOP;
7410
7411 vXMLTable(vCtr).TagName := 'P11_f2h_cmp';
7412 vXMLTable(vCtr).TagValue := to_char(l_p11_f2h_cmp);
7413 vCtr := vCtr + 1;
7414
7415 vXMLTable(vCtr).TagName := 'P11_f2h_ant';
7416 vXMLTable(vCtr).TagValue := to_char(l_p11_f2h_ant);
7417 vCtr := vCtr + 1;
7418
7419 -- Apology
7420
7421 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,20,'30','20', p_agency_code) LOOP
7422 l_p11_f2i_cmp := cur_ctr.p11_cnt;
7423 l_p11_f2i_ant := cur_ctr.p11_prsn;
7424 END LOOP;
7425
7426 vXMLTable(vCtr).TagName := 'P11_f2i_cmp';
7427 vXMLTable(vCtr).TagValue := to_char(l_p11_f2i_cmp);
7428 vCtr := vCtr + 1;
7429
7430 vXMLTable(vCtr).TagName := 'P11_f2i_ant';
7431 vXMLTable(vCtr).TagValue := to_char(l_p11_f2i_ant);
7432 vCtr := vCtr + 1;
7433
7434 -- Other
7435
7436 FOR cur_ctr IN cur_benefits_nm(p_from_date, p_to_date,20,'30','100', p_agency_code) LOOP
7437 l_p11_f2j_cmp := cur_ctr.p11_cnt;
7438 l_p11_f2j_ant := cur_ctr.p11_prsn;
7439 END LOOP;
7440
7441 vXMLTable(vCtr).TagName := 'P11_f2j_cmp';
7442 vXMLTable(vCtr).TagValue := to_char(l_p11_f2j_cmp);
7443 vCtr := vCtr + 1;
7444
7445 vXMLTable(vCtr).TagName := 'P11_f2j_ant';
7446 vXMLTable(vCtr).TagValue := to_char(l_p11_f2j_ant);
7447 vCtr := vCtr + 1;
7448
7449
7450
7451 vXMLTable(vCtr).TagName := 'P11_f2k_cmp';
7452 vXMLTable(vCtr).TagValue := '0';
7453 vCtr := vCtr + 1;
7454
7455 vXMLTable(vCtr).TagName := 'P11_f2k_ant';
7456 vXMLTable(vCtr).TagValue := '0';
7457 vCtr := vCtr + 1;
7458
7459 vXMLTable(vCtr).TagName := 'P11_f2l_cmp';
7460 vXMLTable(vCtr).TagValue := '0';
7461 vCtr := vCtr + 1;
7462
7463 vXMLTable(vCtr).TagName := 'P11_f2l_ant';
7464 vXMLTable(vCtr).TagValue := '0';
7465 vCtr := vCtr + 1;
7466
7467
7468 /* l_p11_f2_cmp := l_p11_f2a_cmp + l_p11_f2b_cmp + l_p11_f2c_cmp + l_p11_f2d_cmp + l_p11_f2e_cmp + l_p11_5b6_cmp +
7469 l_p11_f2g_cmp + l_p11_f2h_cmp + l_p11_f2i_cmp;
7470 l_p11_f2_ant := l_p11_f2a_ant + l_p11_f2b_ant + l_p11_f2c_ant + l_p11_f2d_ant + l_p11_f2e_ant + l_P11_f2f_ant +
7471 l_p11_f2g_ant + l_p11_f2h_ant + l_p11_f2i_ant; */
7472
7473 -- Total Complaints and Complainants
7474
7475 FOR cur_ctr IN cur_tot_benefits_nm(p_from_date, p_to_date,20,'30', p_agency_code) LOOP
7476 l_p11_f2_cmp := cur_ctr.p11_cnt;
7477 l_p11_f2_ant := cur_ctr.p11_prsn;
7478 END LOOP;
7479
7480 vXMLTable(vCtr).TagName := 'P11_f2_cmp';
7481 vXMLTable(vCtr).TagValue := to_char(l_p11_f2_cmp);
7482 vCtr := vCtr + 1;
7483
7484 vXMLTable(vCtr).TagName := 'P11_f2_ant';
7485 vXMLTable(vCtr).TagValue := to_char(l_p11_f2_ant);
7486 vCtr := vCtr + 1;
7487 fnd_file.put_line(fnd_file.log,'Finished populating Part11 - Benefits received Non Monetary');
7488 fnd_file.put_line(fnd_file.log,'------------End of Part11 ----------------');
7489 END populate_part11;
7490
7491 PROCEDURE WritetoXML (
7492 p_request_id in number,
7493 p_agency_code in varchar,
7494 p_fiscal_year in number,
7495 p_from_date in date,
7496 p_to_date in date,
7497 p_output_fname out nocopy varchar2)
7498 IS
7499 p_l_fp UTL_FILE.FILE_TYPE;
7500 l_audit_log_dir varchar2(500) := '/sqlcom/outbound';
7501 l_file_name varchar2(50);
7502 l_agency_name varchar2(500);
7503 l_check_flag number;
7504 BEGIN
7505 -----------------------------------------------------------------------------
7506 -- Writing into XML File
7507 -----------------------------------------------------------------------------
7508 -- Assigning the File name.
7509 l_file_name := to_char(p_request_id) || '.xml';
7510 -- Getting the Util file directory name.mostly it'll be /sqlcom/outbound )
7511 BEGIN
7512 SELECT value
7513 INTO l_audit_log_dir
7514 FROM v$parameter
7515 WHERE LOWER(name) = 'utl_file_dir';
7516 -- Check whether more than one util file directory is found
7517 IF INSTR(l_audit_log_dir,',') > 0 THEN
7518 l_audit_log_dir := substr(l_audit_log_dir,1,instr(l_audit_log_dir,',')-1);
7519 END IF;
7520 EXCEPTION
7521 when no_data_found then
7522 null;
7523 END;
7524 -- Find out whether the OS is MS or Unix based
7525 -- If it's greater than 0, it's unix based environment
7526 IF INSTR(l_audit_log_dir,'/') > 0 THEN
7527 p_output_fname := l_audit_log_dir || '/' || l_file_name;
7528 ELSE
7529 p_output_fname := l_audit_log_dir || '\' || l_file_name;
7530 END IF;
7531
7532 -- getting Agency name
7533 BEGIN
7534 SELECT meaning
7535 INTO l_agency_name
7536 FROM hr_lookups
7537 WHERE lookup_type = 'GHR_US_AGENCY_CODE_2'
7538 AND lookup_code = p_agency_code;
7539 EXCEPTION
7540 WHEN NO_DATA_FOUND THEN
7541 l_agency_name := NULL;
7542 END;
7543 p_l_fp := utl_file.fopen(l_audit_log_dir,l_file_name,'w');
7544 utl_file.put_line(p_l_fp,'<?xml version="1.0" encoding="UTF-8"?>');
7545 utl_file.put_line(p_l_fp,'<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">');
7546 -- Writing from and to dates
7547 utl_file.put_line(p_l_fp,'<fields>');
7551 WriteXMLvalues(p_l_fp,'P0_agency',l_agency_name);
7548 -- Write the header fields to XML File.
7549 WriteXMLvalues(p_l_fp,'P0_from_date',to_char(p_from_date,'dd') || ' ' || trim(to_char(p_from_date,'Month')) || ' ' || to_char(p_from_date,'yyyy') );
7550 WriteXMLvalues(p_l_fp,'P0_to_date',to_char(p_to_date,'dd') || ' ' ||to_char(p_to_date,'Month') || ' ' || to_char(p_to_date,'yyyy') );
7552 WriteXMLvalues(p_l_fp,'P0_year',p_fiscal_year);
7553 -- Loop through PL/SQL Table and write the values into the XML File.
7554 -- Need to try FORALL instead of FOR
7555 FOR ctr_table IN vXMLTable.FIRST .. vXMLTable.LAST LOOP
7556 WriteXMLvalues(p_l_fp,vXMLTable(ctr_table).TagName ,vXMLTable(ctr_table).TagValue);
7557 END LOOP;
7558 -- Write the end tag and close the XML File.
7559 utl_file.put_line(p_l_fp,'</fields>');
7560 utl_file.put_line(p_l_fp,'</xfdf>');
7561 utl_file.fclose(p_l_fp);
7562
7563 END WritetoXML;
7564
7565 PROCEDURE WriteXMLvalues(p_l_fp utl_file.file_type,p_tagname IN VARCHAR2, p_value IN VARCHAR2) IS
7566 BEGIN
7567 -- Writing XML Tag and values to XML File
7568 -- utl_file.put_line(p_l_fp,'<' || p_tagname || '>' || p_value || '</' || p_tagname || '>' );
7569 -- New Format XFDF
7570 utl_file.put_line(p_l_fp,'<field name="' || p_tagname || '">');
7571 utl_file.put_line(p_l_fp,'<value>' || p_value || '</value>' );
7572 utl_file.put_line(p_l_fp,'</field>');
7573 END WriteXMLvalues;
7574
7575
7576
7577 PROCEDURE PopulatePart4Matrix
7578 IS
7579 v_ctr number := 1;
7580 BEGIN
7581 -------- Claims : Appointment Bases : Race
7582 v_P4Matrix(v_ctr).claims := '10';
7583 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7584 v_P4Matrix(v_ctr).basevalues := '10';
7585 v_P4Matrix(v_ctr).fieldname:= 'P4_a1';
7586 v_ctr := v_ctr + 1;
7587
7588 v_P4Matrix(v_ctr).claims := '10';
7589 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7590 v_P4Matrix(v_ctr).basevalues := '20';
7591 v_P4Matrix(v_ctr).fieldname:= 'P4_a2';
7592 v_ctr := v_ctr + 1;
7593
7594 v_P4Matrix(v_ctr).claims := '10';
7595 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7596 v_P4Matrix(v_ctr).basevalues := '30';
7597 v_P4Matrix(v_ctr).fieldname:= 'P4_a3';
7598 v_ctr := v_ctr + 1;
7599
7600 v_P4Matrix(v_ctr).claims := '10';
7601 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7602 v_P4Matrix(v_ctr).basevalues := '40';
7603 v_P4Matrix(v_ctr).fieldname:= 'P4_a4';
7604 v_ctr := v_ctr + 1;
7605
7606 ------- Claims : Appointment Bases: Color
7607 v_P4Matrix(v_ctr).claims := '10';
7608 v_P4Matrix(v_ctr).bases := 'YES_NO';
7609 v_P4Matrix(v_ctr).basevalues := NULL;
7610 v_P4Matrix(v_ctr).fieldname:= 'P4_a5';
7611 v_ctr := v_ctr + 1;
7612
7613 -------- Claims : Appointment Bases : Religion
7614 v_P4Matrix(v_ctr).claims := '10';
7615 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
7616 v_P4Matrix(v_ctr).basevalues := NULL;
7617 v_P4Matrix(v_ctr).fieldname:= 'P4_a6';
7618 v_ctr := v_ctr + 1;
7619
7620 -------- Claims : Appointment Bases : Reprisal
7621 v_P4Matrix(v_ctr).claims := '10';
7622 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
7623 v_P4Matrix(v_ctr).basevalues := NULL;
7624 v_P4Matrix(v_ctr).fieldname:= 'P4_a7';
7625 v_ctr := v_ctr + 1;
7626
7627 -------- Claims : Appointment Bases : Sex
7628 v_P4Matrix(v_ctr).claims := '10';
7629 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
7630 v_P4Matrix(v_ctr).basevalues := '10';
7631 v_P4Matrix(v_ctr).fieldname:= 'P4_a8';
7632 v_ctr := v_ctr + 1;
7633
7634 v_P4Matrix(v_ctr).claims := '10';
7635 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
7636 v_P4Matrix(v_ctr).basevalues := '20';
7637 v_P4Matrix(v_ctr).fieldname:= 'P4_a9';
7638 v_ctr := v_ctr + 1;
7639
7640 -------- Claims : Appointment Bases : National Origin
7641 v_P4Matrix(v_ctr).claims := '10';
7642 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
7643 v_P4Matrix(v_ctr).basevalues := '10';
7644 v_P4Matrix(v_ctr).fieldname:= 'P4_a10';
7645 v_ctr := v_ctr + 1;
7646
7647 v_P4Matrix(v_ctr).claims := '10';
7648 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
7649 v_P4Matrix(v_ctr).basevalues := '20';
7650 v_P4Matrix(v_ctr).fieldname:= 'P4_a11';
7651 v_ctr := v_ctr + 1;
7652
7653 -------- No Equal pact (columns k and l) for appointment
7654 ---- Claims : Appointment Bases : National Origin
7655 v_P4Matrix(v_ctr).claims := '10';
7656 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
7657 v_P4Matrix(v_ctr).basevalues := NULL;
7658 v_P4Matrix(v_ctr).fieldname:= 'P4_a14';
7659 v_ctr := v_ctr + 1;
7660
7661 ---- Claims : Appointment Bases : Disability
7662 v_P4Matrix(v_ctr).claims := '10';
7663 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
7664 v_P4Matrix(v_ctr).basevalues := '10';
7665 v_P4Matrix(v_ctr).fieldname:= 'P4_a15';
7666 v_ctr := v_ctr + 1;
7667
7668 v_P4Matrix(v_ctr).claims := '10';
7669 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
7670 v_P4Matrix(v_ctr).basevalues := '20';
7671 v_P4Matrix(v_ctr).fieldname:= 'P4_a16';
7672 v_ctr := v_ctr + 1;
7673
7674 -- End of Claim Appointment
7675
7676
7677 -------- Claims : Assignment of Duties Bases : Race
7678 v_P4Matrix(v_ctr).claims := '20';
7679 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7680 v_P4Matrix(v_ctr).basevalues := '10';
7681 v_P4Matrix(v_ctr).fieldname:= 'P4_b1';
7682 v_ctr := v_ctr + 1;
7683
7684 v_P4Matrix(v_ctr).claims := '20';
7685 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7686 v_P4Matrix(v_ctr).basevalues := '20';
7687 v_P4Matrix(v_ctr).fieldname:= 'P4_b2';
7688 v_ctr := v_ctr + 1;
7689
7690 v_P4Matrix(v_ctr).claims := '20';
7691 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7692 v_P4Matrix(v_ctr).basevalues := '30';
7693 v_P4Matrix(v_ctr).fieldname:= 'P4_b3';
7694 v_ctr := v_ctr + 1;
7695
7699 v_P4Matrix(v_ctr).fieldname:= 'P4_b4';
7696 v_P4Matrix(v_ctr).claims := '20';
7697 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7698 v_P4Matrix(v_ctr).basevalues := '40';
7700 v_ctr := v_ctr + 1;
7701
7702
7703 ------- Claims : Assignment of Duties Bases: Color
7704 v_P4Matrix(v_ctr).claims := '20';
7705 v_P4Matrix(v_ctr).bases := 'YES_NO';
7706 v_P4Matrix(v_ctr).basevalues := NULL;
7707 v_P4Matrix(v_ctr).fieldname:= 'P4_b5';
7708 v_ctr := v_ctr + 1;
7709
7710
7711 -------- Claims : Assignment of Duties Bases : Religion
7712 v_P4Matrix(v_ctr).claims := '20';
7713 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
7714 v_P4Matrix(v_ctr).basevalues := NULL;
7715 v_P4Matrix(v_ctr).fieldname:= 'P4_b6';
7716 v_ctr := v_ctr + 1;
7717
7718 -------- Claims : Assignment of Duties Bases : Reprisal
7719 v_P4Matrix(v_ctr).claims := '20';
7720 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
7721 v_P4Matrix(v_ctr).basevalues := NULL;
7722 v_P4Matrix(v_ctr).fieldname:= 'P4_b7';
7723 v_ctr := v_ctr + 1;
7724
7725 -------- Claims : Assignment of Duties Bases : Sex
7726 v_P4Matrix(v_ctr).claims := '20';
7727 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
7728 v_P4Matrix(v_ctr).basevalues := '10';
7729 v_P4Matrix(v_ctr).fieldname:= 'P4_b8';
7730 v_ctr := v_ctr + 1;
7731
7732 v_P4Matrix(v_ctr).claims := '20';
7733 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
7734 v_P4Matrix(v_ctr).basevalues := '20';
7735 v_P4Matrix(v_ctr).fieldname:= 'P4_b9';
7736 v_ctr := v_ctr + 1;
7737
7738 -------- Claims : Assignment of Duties Bases : National Origin
7739 v_P4Matrix(v_ctr).claims := '20';
7740 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
7741 v_P4Matrix(v_ctr).basevalues := '10';
7742 v_P4Matrix(v_ctr).fieldname:= 'P4_b10';
7743 v_ctr := v_ctr + 1;
7744
7745 v_P4Matrix(v_ctr).claims := '20';
7746 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
7747 v_P4Matrix(v_ctr).basevalues := '20';
7748 v_P4Matrix(v_ctr).fieldname:= 'P4_b11';
7749 v_ctr := v_ctr + 1;
7750
7751 -------- No Equal pact (columns k and l) for Assignment of Duties
7752 ---- Claims : Assignment of Duties Bases : National Origin
7753 v_P4Matrix(v_ctr).claims := '20';
7754 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
7755 v_P4Matrix(v_ctr).basevalues := NULL;
7756 v_P4Matrix(v_ctr).fieldname:= 'P4_b14';
7757 v_ctr := v_ctr + 1;
7758
7759 ---- Claims : Assignment of Duties Bases : Disability
7760 v_P4Matrix(v_ctr).claims := '20';
7761 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
7762 v_P4Matrix(v_ctr).basevalues := '10';
7763 v_P4Matrix(v_ctr).fieldname:= 'P4_b15';
7764 v_ctr := v_ctr + 1;
7765
7766 v_P4Matrix(v_ctr).claims := '20';
7767 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
7768 v_P4Matrix(v_ctr).basevalues := '20';
7769 v_P4Matrix(v_ctr).fieldname:= 'P4_b16';
7770 v_ctr := v_ctr + 1;
7771
7772 -- End of Claim Assignment of Duties
7773
7774
7775 ----------------------------------------
7776 -------- Claims : Awards Bases : Race
7777 v_P4Matrix(v_ctr).claims := '30';
7778 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7779 v_P4Matrix(v_ctr).basevalues := '10';
7780 v_P4Matrix(v_ctr).fieldname:= 'P4_c1';
7781 v_ctr := v_ctr + 1;
7782
7783 v_P4Matrix(v_ctr).claims := '30';
7784 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7785 v_P4Matrix(v_ctr).basevalues := '20';
7786 v_P4Matrix(v_ctr).fieldname:= 'P4_c2';
7787 v_ctr := v_ctr + 1;
7788
7789 v_P4Matrix(v_ctr).claims := '30';
7790 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7791 v_P4Matrix(v_ctr).basevalues := '30';
7792 v_P4Matrix(v_ctr).fieldname:= 'P4_c3';
7793 v_ctr := v_ctr + 1;
7794
7795 v_P4Matrix(v_ctr).claims := '30';
7796 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7797 v_P4Matrix(v_ctr).basevalues := '40';
7798 v_P4Matrix(v_ctr).fieldname:= 'P4_c4';
7799 v_ctr := v_ctr + 1;
7800
7801 ------- Claims : Appointment Bases: Color
7802 v_P4Matrix(v_ctr).claims := '30';
7803 v_P4Matrix(v_ctr).bases := 'YES_NO';
7804 v_P4Matrix(v_ctr).basevalues := NULL;
7805 v_P4Matrix(v_ctr).fieldname:= 'P4_c5';
7806 v_ctr := v_ctr + 1;
7807
7808 -------- Claims : Awards Bases : Religion
7809 v_P4Matrix(v_ctr).claims := '30';
7810 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
7811 v_P4Matrix(v_ctr).basevalues := NULL;
7812 v_P4Matrix(v_ctr).fieldname:= 'P4_c6';
7813 v_ctr := v_ctr + 1;
7814
7815 -------- Claims : Awards Bases : Reprisal
7816 v_P4Matrix(v_ctr).claims := '30';
7817 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
7818 v_P4Matrix(v_ctr).basevalues := NULL;
7819 v_P4Matrix(v_ctr).fieldname:= 'P4_c7';
7820 v_ctr := v_ctr + 1;
7821
7822 -------- Claims : Awards Bases : Sex
7823 v_P4Matrix(v_ctr).claims := '30';
7824 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
7825 v_P4Matrix(v_ctr).basevalues := '10';
7826 v_P4Matrix(v_ctr).fieldname:= 'P4_c8';
7827 v_ctr := v_ctr + 1;
7828
7829 v_P4Matrix(v_ctr).claims := '30';
7830 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
7831 v_P4Matrix(v_ctr).basevalues := '20';
7832 v_P4Matrix(v_ctr).fieldname:= 'P4_c9';
7833 v_ctr := v_ctr + 1;
7834
7835 -------- Claims : Awards Bases : National Origin
7836 v_P4Matrix(v_ctr).claims := '30';
7837 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
7838 v_P4Matrix(v_ctr).basevalues := '10';
7839 v_P4Matrix(v_ctr).fieldname:= 'P4_c10';
7840 v_ctr := v_ctr + 1;
7841
7842 v_P4Matrix(v_ctr).claims := '30';
7843 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
7844 v_P4Matrix(v_ctr).basevalues := '20';
7845 v_P4Matrix(v_ctr).fieldname:= 'P4_c11';
7846 v_ctr := v_ctr + 1;
7847
7848 -------- No Equal pact (columns k and l) for Awards
7852 v_P4Matrix(v_ctr).basevalues := NULL;
7849 ---- Claims : Awards Bases : National Origin
7850 v_P4Matrix(v_ctr).claims := '30';
7851 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
7853 v_P4Matrix(v_ctr).fieldname:= 'P4_c14';
7854 v_ctr := v_ctr + 1;
7855
7856 ---- Claims : Awards Bases : Disability
7857 v_P4Matrix(v_ctr).claims := '30';
7858 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
7859 v_P4Matrix(v_ctr).basevalues := '10';
7860 v_P4Matrix(v_ctr).fieldname:= 'P4_c15';
7861 v_ctr := v_ctr + 1;
7862
7863 v_P4Matrix(v_ctr).claims := '30';
7864 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
7865 v_P4Matrix(v_ctr).basevalues := '20';
7866 v_P4Matrix(v_ctr).fieldname:= 'P4_c16';
7867 v_ctr := v_ctr + 1;
7868
7869 -- End of Claim Awards
7870
7871 -------- Claims : Conversion to Full Time Bases : Race
7872 v_P4Matrix(v_ctr).claims := '40';
7873 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7874 v_P4Matrix(v_ctr).basevalues := '10';
7875 v_P4Matrix(v_ctr).fieldname:= 'P4_d1';
7876 v_ctr := v_ctr + 1;
7877
7878 v_P4Matrix(v_ctr).claims := '40';
7879 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7880 v_P4Matrix(v_ctr).basevalues := '20';
7881 v_P4Matrix(v_ctr).fieldname:= 'P4_d2';
7882 v_ctr := v_ctr + 1;
7883
7884 v_P4Matrix(v_ctr).claims := '40';
7885 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7886 v_P4Matrix(v_ctr).basevalues := '30';
7887 v_P4Matrix(v_ctr).fieldname:= 'P4_d3';
7888 v_ctr := v_ctr + 1;
7889
7890 v_P4Matrix(v_ctr).claims := '40';
7891 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7892 v_P4Matrix(v_ctr).basevalues := '40';
7893 v_P4Matrix(v_ctr).fieldname:= 'P4_d4';
7894 v_ctr := v_ctr + 1;
7895
7896 ------- Claims : Appointment Bases: Color
7897 v_P4Matrix(v_ctr).claims := '40';
7898 v_P4Matrix(v_ctr).bases := 'YES_NO';
7899 v_P4Matrix(v_ctr).basevalues := NULL;
7900 v_P4Matrix(v_ctr).fieldname:= 'P4_d5';
7901 v_ctr := v_ctr + 1;
7902
7903
7904 -------- Claims : Conversion to Full Time Bases : Religion
7905 v_P4Matrix(v_ctr).claims := '40';
7906 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
7907 v_P4Matrix(v_ctr).basevalues := NULL;
7908 v_P4Matrix(v_ctr).fieldname:= 'P4_d6';
7909 v_ctr := v_ctr + 1;
7910
7911 -------- Claims : Conversion to Full Time Bases : Reprisal
7912 v_P4Matrix(v_ctr).claims := '40';
7913 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
7914 v_P4Matrix(v_ctr).basevalues := NULL;
7915 v_P4Matrix(v_ctr).fieldname:= 'P4_d7';
7916 v_ctr := v_ctr + 1;
7917
7918 -------- Claims : Conversion to Full Time Bases : Sex
7919 v_P4Matrix(v_ctr).claims := '40';
7920 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
7921 v_P4Matrix(v_ctr).basevalues := '10';
7922 v_P4Matrix(v_ctr).fieldname:= 'P4_d8';
7923 v_ctr := v_ctr + 1;
7924
7925 v_P4Matrix(v_ctr).claims := '40';
7926 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
7927 v_P4Matrix(v_ctr).basevalues := '20';
7928 v_P4Matrix(v_ctr).fieldname:= 'P4_d9';
7929 v_ctr := v_ctr + 1;
7930
7931 -------- Claims : Conversion to Full Time Bases : National Origin
7932 v_P4Matrix(v_ctr).claims := '40';
7933 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
7934 v_P4Matrix(v_ctr).basevalues := '10';
7935 v_P4Matrix(v_ctr).fieldname:= 'P4_d10';
7936 v_ctr := v_ctr + 1;
7937
7938 v_P4Matrix(v_ctr).claims := '40';
7939 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
7940 v_P4Matrix(v_ctr).basevalues := '20';
7941 v_P4Matrix(v_ctr).fieldname:= 'P4_d11';
7942 v_ctr := v_ctr + 1;
7943
7944 -------- No Equal pact (columns k and l) for Conversion to Full Time
7945 ---- Claims : Conversion to Full Time Bases : National Origin
7946 v_P4Matrix(v_ctr).claims := '40';
7947 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
7948 v_P4Matrix(v_ctr).basevalues := NULL;
7949 v_P4Matrix(v_ctr).fieldname:= 'P4_d14';
7950 v_ctr := v_ctr + 1;
7951
7952 ---- Claims : Conversion to Full Time Bases : Disability
7953 v_P4Matrix(v_ctr).claims := '40';
7954 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
7955 v_P4Matrix(v_ctr).basevalues := '10';
7956 v_P4Matrix(v_ctr).fieldname:= 'P4_d15';
7957 v_ctr := v_ctr + 1;
7958
7959 v_P4Matrix(v_ctr).claims := '40';
7960 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
7961 v_P4Matrix(v_ctr).basevalues := '20';
7962 v_P4Matrix(v_ctr).fieldname:= 'P4_d16';
7963 v_ctr := v_ctr + 1;
7964
7965 -- End of Claim Conversion to Full Time
7966
7967
7968 -------- Claims : Disciplinary Action(Demotion) Bases : Race
7969 v_P4Matrix(v_ctr).claims := '50';
7970 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7971 v_P4Matrix(v_ctr).basevalues := '10';
7972 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_1';
7973 v_ctr := v_ctr + 1;
7974
7975 v_P4Matrix(v_ctr).claims := '50';
7976 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7977 v_P4Matrix(v_ctr).basevalues := '20';
7978 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_2';
7979 v_ctr := v_ctr + 1;
7980
7981 v_P4Matrix(v_ctr).claims := '50';
7982 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7983 v_P4Matrix(v_ctr).basevalues := '30';
7984 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_3';
7985 v_ctr := v_ctr + 1;
7986
7987 v_P4Matrix(v_ctr).claims := '50';
7988 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
7989 v_P4Matrix(v_ctr).basevalues := '40';
7990 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_4';
7991 v_ctr := v_ctr + 1;
7992
7993 ------- Claims : Appointment Bases: Color
7994 v_P4Matrix(v_ctr).claims := '50';
7995 v_P4Matrix(v_ctr).bases := 'YES_NO';
7996 v_P4Matrix(v_ctr).basevalues := NULL;
8000
7997 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_5';
7998 v_ctr := v_ctr + 1;
7999
8001 -------- Claims : Disciplinary Action(Demotion) Bases : Religion
8002 v_P4Matrix(v_ctr).claims := '50';
8003 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8004 v_P4Matrix(v_ctr).basevalues := NULL;
8005 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_6';
8006 v_ctr := v_ctr + 1;
8007
8008 -------- Claims : Disciplinary Action(Demotion) Bases : Reprisal
8009 v_P4Matrix(v_ctr).claims := '50';
8010 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8011 v_P4Matrix(v_ctr).basevalues := NULL;
8012 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_7';
8013 v_ctr := v_ctr + 1;
8014
8015 -------- Claims : Disciplinary Action(Demotion) Bases : Sex
8016 v_P4Matrix(v_ctr).claims := '50';
8017 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8018 v_P4Matrix(v_ctr).basevalues := '10';
8019 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_8';
8020 v_ctr := v_ctr + 1;
8021
8022 v_P4Matrix(v_ctr).claims := '50';
8023 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8024 v_P4Matrix(v_ctr).basevalues := '20';
8025 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_9';
8026 v_ctr := v_ctr + 1;
8027
8028 -------- Claims : Disciplinary Action(Demotion) Bases : National Origin
8029 v_P4Matrix(v_ctr).claims := '50';
8030 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8031 v_P4Matrix(v_ctr).basevalues := '10';
8032 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_10';
8033 v_ctr := v_ctr + 1;
8034
8035 v_P4Matrix(v_ctr).claims := '50';
8036 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8037 v_P4Matrix(v_ctr).basevalues := '20';
8038 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_11';
8039 v_ctr := v_ctr + 1;
8040
8041 -------- No Equal pact (columns k and l) for Disciplinary Action(Demotion)
8042 ---- Claims : Disciplinary Action(Demotion) Bases : National Origin
8043 v_P4Matrix(v_ctr).claims := '50';
8044 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8045 v_P4Matrix(v_ctr).basevalues := NULL;
8046 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_14';
8047 v_ctr := v_ctr + 1;
8048
8049 ---- Claims : Disciplinary Action(Demotion) Bases : Disability
8050 v_P4Matrix(v_ctr).claims := '50';
8051 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8052 v_P4Matrix(v_ctr).basevalues := '10';
8053 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_15';
8054 v_ctr := v_ctr + 1;
8055
8056 v_P4Matrix(v_ctr).claims := '50';
8057 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8058 v_P4Matrix(v_ctr).basevalues := '20';
8059 v_P4Matrix(v_ctr).fieldname:= 'P4_e1_16';
8060 v_ctr := v_ctr + 1;
8061
8062 -- End of Claim Disciplinary Action(Demotion)
8063
8064 -------- Claims : Disciplinary Action(Reprimand) Bases : Race
8065 v_P4Matrix(v_ctr).claims := '60';
8066 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8067 v_P4Matrix(v_ctr).basevalues := '10';
8068 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_1';
8069 v_ctr := v_ctr + 1;
8070
8071 v_P4Matrix(v_ctr).claims := '60';
8072 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8073 v_P4Matrix(v_ctr).basevalues := '20';
8074 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_2';
8075 v_ctr := v_ctr + 1;
8076
8077 v_P4Matrix(v_ctr).claims := '60';
8078 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8079 v_P4Matrix(v_ctr).basevalues := '30';
8080 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_3';
8081 v_ctr := v_ctr + 1;
8082
8083 v_P4Matrix(v_ctr).claims := '60';
8084 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8085 v_P4Matrix(v_ctr).basevalues := '40';
8086 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_4';
8087 v_ctr := v_ctr + 1;
8088
8089 ------- Claims : Appointment Bases: Color
8090 v_P4Matrix(v_ctr).claims := '60';
8091 v_P4Matrix(v_ctr).bases := 'YES_NO';
8092 v_P4Matrix(v_ctr).basevalues := NULL;
8093 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_5';
8094 v_ctr := v_ctr + 1;
8095
8096 -------- Claims : Disciplinary Action(Reprimand) Bases : Religion
8097 v_P4Matrix(v_ctr).claims := '60';
8098 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8099 v_P4Matrix(v_ctr).basevalues := NULL;
8100 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_6';
8101 v_ctr := v_ctr + 1;
8102
8103 -------- Claims : Disciplinary Action(Reprimand) Bases : Reprisal
8104 v_P4Matrix(v_ctr).claims := '60';
8105 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8106 v_P4Matrix(v_ctr).basevalues := NULL;
8107 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_7';
8108 v_ctr := v_ctr + 1;
8109
8110 -------- Claims : Disciplinary Action(Reprimand) Bases : Sex
8111 v_P4Matrix(v_ctr).claims := '60';
8112 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8113 v_P4Matrix(v_ctr).basevalues := '10';
8114 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_8';
8115 v_ctr := v_ctr + 1;
8116
8117 v_P4Matrix(v_ctr).claims := '60';
8118 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8119 v_P4Matrix(v_ctr).basevalues := '20';
8120 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_9';
8121 v_ctr := v_ctr + 1;
8122
8123 -------- Claims : Disciplinary Action(Reprimand) Bases : National Origin
8124 v_P4Matrix(v_ctr).claims := '60';
8125 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8126 v_P4Matrix(v_ctr).basevalues := '10';
8127 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_10';
8128 v_ctr := v_ctr + 1;
8129
8130 v_P4Matrix(v_ctr).claims := '60';
8131 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8132 v_P4Matrix(v_ctr).basevalues := '20';
8133 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_11';
8134 v_ctr := v_ctr + 1;
8135
8136 -------- No Equal pact (columns k and l) for Disciplinary Action(Reprimand)
8140 v_P4Matrix(v_ctr).basevalues := NULL;
8137 ---- Claims : Disciplinary Action(Reprimand) Bases : National Origin
8138 v_P4Matrix(v_ctr).claims := '60';
8139 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8141 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_14';
8142 v_ctr := v_ctr + 1;
8143
8144 ---- Claims : Disciplinary Action(Reprimand) Bases : Disability
8145 v_P4Matrix(v_ctr).claims := '60';
8146 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8147 v_P4Matrix(v_ctr).basevalues := '10';
8148 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_15';
8149 v_ctr := v_ctr + 1;
8150
8151 v_P4Matrix(v_ctr).claims := '60';
8152 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8153 v_P4Matrix(v_ctr).basevalues := '20';
8154 v_P4Matrix(v_ctr).fieldname:= 'P4_e2_16';
8155 v_ctr := v_ctr + 1;
8156
8157 -- End of Claim Disciplinary Action(Reprimand)
8158
8159 -------- Claims : Disciplinary Action(Suspension) Bases : Race
8160 v_P4Matrix(v_ctr).claims := '70';
8161 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8162 v_P4Matrix(v_ctr).basevalues := '10';
8163 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_1';
8164 v_ctr := v_ctr + 1;
8165
8166 v_P4Matrix(v_ctr).claims := '70';
8167 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8168 v_P4Matrix(v_ctr).basevalues := '20';
8169 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_2';
8170 v_ctr := v_ctr + 1;
8171
8172 v_P4Matrix(v_ctr).claims := '70';
8173 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8174 v_P4Matrix(v_ctr).basevalues := '30';
8175 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_3';
8176 v_ctr := v_ctr + 1;
8177
8178 v_P4Matrix(v_ctr).claims := '70';
8179 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8180 v_P4Matrix(v_ctr).basevalues := '40';
8181 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_4';
8182 v_ctr := v_ctr + 1;
8183
8184 ------- Claims : Appointment Bases: Color
8185 v_P4Matrix(v_ctr).claims := '70';
8186 v_P4Matrix(v_ctr).bases := 'YES_NO';
8187 v_P4Matrix(v_ctr).basevalues := NULL;
8188 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_5';
8189 v_ctr := v_ctr + 1;
8190
8191 -------- Claims : Disciplinary Action(Suspension) Bases : Religion
8192 v_P4Matrix(v_ctr).claims := '70';
8193 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8194 v_P4Matrix(v_ctr).basevalues := NULL;
8195 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_6';
8196 v_ctr := v_ctr + 1;
8197
8198 -------- Claims : Disciplinary Action(Suspension) Bases : Reprisal
8199 v_P4Matrix(v_ctr).claims := '70';
8200 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8201 v_P4Matrix(v_ctr).basevalues := NULL;
8202 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_7';
8203 v_ctr := v_ctr + 1;
8204
8205 -------- Claims : Disciplinary Action(Suspension) Bases : Sex
8206 v_P4Matrix(v_ctr).claims := '70';
8207 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8208 v_P4Matrix(v_ctr).basevalues := '10';
8209 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_8';
8210 v_ctr := v_ctr + 1;
8211
8212 v_P4Matrix(v_ctr).claims := '70';
8213 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8214 v_P4Matrix(v_ctr).basevalues := '20';
8215 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_9';
8216 v_ctr := v_ctr + 1;
8217
8218 -------- Claims : Disciplinary Action(Suspension) Bases : National Origin
8219 v_P4Matrix(v_ctr).claims := '70';
8220 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8221 v_P4Matrix(v_ctr).basevalues := '10';
8222 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_10';
8223 v_ctr := v_ctr + 1;
8224
8225 v_P4Matrix(v_ctr).claims := '70';
8226 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8227 v_P4Matrix(v_ctr).basevalues := '20';
8228 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_11';
8229 v_ctr := v_ctr + 1;
8230
8231 -------- No Equal pact (columns k and l) for Disciplinary Action(Suspension)
8232 ---- Claims : Disciplinary Action(Suspension) Bases : National Origin
8233 v_P4Matrix(v_ctr).claims := '70';
8234 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8235 v_P4Matrix(v_ctr).basevalues := NULL;
8236 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_14';
8237 v_ctr := v_ctr + 1;
8238
8239 ---- Claims : Disciplinary Action(Suspension) Bases : Disability
8240 v_P4Matrix(v_ctr).claims := '70';
8241 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8242 v_P4Matrix(v_ctr).basevalues := '10';
8243 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_15';
8244 v_ctr := v_ctr + 1;
8245
8246 v_P4Matrix(v_ctr).claims := '70';
8247 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8248 v_P4Matrix(v_ctr).basevalues := '20';
8249 v_P4Matrix(v_ctr).fieldname:= 'P4_e3_16';
8250 v_ctr := v_ctr + 1;
8251
8252 -- End of Claim Disciplinary Action(Suspension)
8253
8254
8255 -------- Claims : Disciplinary Action(Removal) Bases : Race
8256 v_P4Matrix(v_ctr).claims := '80';
8257 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8258 v_P4Matrix(v_ctr).basevalues := '10';
8259 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_1';
8260 v_ctr := v_ctr + 1;
8261
8262 v_P4Matrix(v_ctr).claims := '80';
8263 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8264 v_P4Matrix(v_ctr).basevalues := '20';
8265 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_2';
8266 v_ctr := v_ctr + 1;
8267
8268 v_P4Matrix(v_ctr).claims := '80';
8269 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8270 v_P4Matrix(v_ctr).basevalues := '30';
8271 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_3';
8272 v_ctr := v_ctr + 1;
8273
8274 v_P4Matrix(v_ctr).claims := '80';
8275 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8276 v_P4Matrix(v_ctr).basevalues := '40';
8277 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_4';
8278 v_ctr := v_ctr + 1;
8282 v_P4Matrix(v_ctr).bases := 'YES_NO';
8279
8280 ------- Claims : Appointment Bases: Color
8281 v_P4Matrix(v_ctr).claims := '80';
8283 v_P4Matrix(v_ctr).basevalues := NULL;
8284 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_5';
8285 v_ctr := v_ctr + 1;
8286
8287
8288 -------- Claims : Disciplinary Action(Removal) Bases : Religion
8289 v_P4Matrix(v_ctr).claims := '80';
8290 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8291 v_P4Matrix(v_ctr).basevalues := NULL;
8292 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_6';
8293 v_ctr := v_ctr + 1;
8294
8295 -------- Claims : Disciplinary Action(Removal) Bases : Reprisal
8296 v_P4Matrix(v_ctr).claims := '80';
8297 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8298 v_P4Matrix(v_ctr).basevalues := NULL;
8299 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_7';
8300 v_ctr := v_ctr + 1;
8301
8302 -------- Claims : Disciplinary Action(Removal) Bases : Sex
8303 v_P4Matrix(v_ctr).claims := '80';
8304 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8305 v_P4Matrix(v_ctr).basevalues := '10';
8306 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_8';
8307 v_ctr := v_ctr + 1;
8308
8309 v_P4Matrix(v_ctr).claims := '80';
8310 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8311 v_P4Matrix(v_ctr).basevalues := '20';
8312 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_9';
8313 v_ctr := v_ctr + 1;
8314
8315 -------- Claims : Disciplinary Action(Removal) Bases : National Origin
8316 v_P4Matrix(v_ctr).claims := '80';
8317 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8318 v_P4Matrix(v_ctr).basevalues := '10';
8319 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_10';
8320 v_ctr := v_ctr + 1;
8321
8322 v_P4Matrix(v_ctr).claims := '80';
8323 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8324 v_P4Matrix(v_ctr).basevalues := '20';
8325 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_11';
8326 v_ctr := v_ctr + 1;
8327
8328 -------- No Equal pact (columns k and l) for Disciplinary Action(Removal)
8329 ---- Claims : Disciplinary Action(Removal) Bases : National Origin
8330 v_P4Matrix(v_ctr).claims := '80';
8331 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8332 v_P4Matrix(v_ctr).basevalues := NULL;
8333 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_14';
8334 v_ctr := v_ctr + 1;
8335
8336 ---- Claims : Disciplinary Action(Removal) Bases : Disability
8337 v_P4Matrix(v_ctr).claims := '80';
8338 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8339 v_P4Matrix(v_ctr).basevalues := '10';
8340 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_15';
8341 v_ctr := v_ctr + 1;
8342
8343 v_P4Matrix(v_ctr).claims := '80';
8344 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8345 v_P4Matrix(v_ctr).basevalues := '20';
8346 v_P4Matrix(v_ctr).fieldname:= 'P4_e4_16';
8347 v_ctr := v_ctr + 1;
8348
8349 -- End of Claim Disciplinary Action(Removal)
8350
8351
8352 -------- Claims : Disciplinary Action(Others) Bases : Race
8353 v_P4Matrix(v_ctr).claims := '90';
8354 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8355 v_P4Matrix(v_ctr).basevalues := '10';
8356 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_1';
8357 v_ctr := v_ctr + 1;
8358
8359 v_P4Matrix(v_ctr).claims := '90';
8360 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8361 v_P4Matrix(v_ctr).basevalues := '20';
8362 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_2';
8363 v_ctr := v_ctr + 1;
8364
8365 v_P4Matrix(v_ctr).claims := '90';
8366 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8367 v_P4Matrix(v_ctr).basevalues := '30';
8368 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_3';
8369 v_ctr := v_ctr + 1;
8370
8371 v_P4Matrix(v_ctr).claims := '90';
8372 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8373 v_P4Matrix(v_ctr).basevalues := '40';
8374 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_4';
8375 v_ctr := v_ctr + 1;
8376
8377 ------- Claims : Appointment Bases: Color
8378 v_P4Matrix(v_ctr).claims := '90';
8379 v_P4Matrix(v_ctr).bases := 'YES_NO';
8380 v_P4Matrix(v_ctr).basevalues := NULL;
8381 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_5';
8382 v_ctr := v_ctr + 1;
8383
8384 -------- Claims : Disciplinary Action(Others) Bases : Religion
8385 v_P4Matrix(v_ctr).claims := '90';
8386 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8387 v_P4Matrix(v_ctr).basevalues := NULL;
8388 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_6';
8389 v_ctr := v_ctr + 1;
8390
8391 -------- Claims : Disciplinary Action(Others) Bases : Reprisal
8392 v_P4Matrix(v_ctr).claims := '90';
8393 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8394 v_P4Matrix(v_ctr).basevalues := NULL;
8395 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_7';
8396 v_ctr := v_ctr + 1;
8397
8398 -------- Claims : Disciplinary Action(Others) Bases : Sex
8399 v_P4Matrix(v_ctr).claims := '90';
8400 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8401 v_P4Matrix(v_ctr).basevalues := '10';
8402 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_8';
8403 v_ctr := v_ctr + 1;
8404
8405 v_P4Matrix(v_ctr).claims := '90';
8406 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8407 v_P4Matrix(v_ctr).basevalues := '20';
8408 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_9';
8409 v_ctr := v_ctr + 1;
8410
8411 -------- Claims : Disciplinary Action(Others) Bases : National Origin
8412 v_P4Matrix(v_ctr).claims := '90';
8413 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8414 v_P4Matrix(v_ctr).basevalues := '10';
8415 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_10';
8416 v_ctr := v_ctr + 1;
8417
8418 v_P4Matrix(v_ctr).claims := '90';
8419 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8420 v_P4Matrix(v_ctr).basevalues := '20';
8421 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_11';
8422 v_ctr := v_ctr + 1;
8423
8424 -------- No Equal pact (columns k and l) for Disciplinary Action(Others)
8425 ---- Claims : Disciplinary Action(Others) Bases : National Origin
8429 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_14';
8426 v_P4Matrix(v_ctr).claims := '90';
8427 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8428 v_P4Matrix(v_ctr).basevalues := NULL;
8430 v_ctr := v_ctr + 1;
8431
8432 ---- Claims : Disciplinary Action(Others) Bases : Disability
8433 v_P4Matrix(v_ctr).claims := '90';
8434 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8435 v_P4Matrix(v_ctr).basevalues := '10';
8436 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_15';
8437 v_ctr := v_ctr + 1;
8438
8439 v_P4Matrix(v_ctr).claims := '90';
8440 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8441 v_P4Matrix(v_ctr).basevalues := '20';
8442 v_P4Matrix(v_ctr).fieldname:= 'P4_e5_16';
8443 v_ctr := v_ctr + 1;
8444
8445 -- End of Claim Disciplinary Action(Others)
8446
8447 -------- Claims : Duty Work Bases : Race
8448 v_P4Matrix(v_ctr).claims := '100';
8449 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8450 v_P4Matrix(v_ctr).basevalues := '10';
8451 v_P4Matrix(v_ctr).fieldname:= 'P4_f1';
8452 v_ctr := v_ctr + 1;
8453
8454 v_P4Matrix(v_ctr).claims := '100';
8455 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8456 v_P4Matrix(v_ctr).basevalues := '20';
8457 v_P4Matrix(v_ctr).fieldname:= 'P4_f2';
8458 v_ctr := v_ctr + 1;
8459
8460 v_P4Matrix(v_ctr).claims := '100';
8461 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8462 v_P4Matrix(v_ctr).basevalues := '30';
8463 v_P4Matrix(v_ctr).fieldname:= 'P4_f3';
8464 v_ctr := v_ctr + 1;
8465
8466 v_P4Matrix(v_ctr).claims := '100';
8467 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8468 v_P4Matrix(v_ctr).basevalues := '40';
8469 v_P4Matrix(v_ctr).fieldname:= 'P4_f4';
8470 v_ctr := v_ctr + 1;
8471
8472 ------- Claims : Appointment Bases: Color
8473 v_P4Matrix(v_ctr).claims := '100';
8474 v_P4Matrix(v_ctr).bases := 'YES_NO';
8475 v_P4Matrix(v_ctr).basevalues := NULL;
8476 v_P4Matrix(v_ctr).fieldname:= 'P4_f5';
8477 v_ctr := v_ctr + 1;
8478
8479 -------- Claims : Duty Work Bases : Religion
8480 v_P4Matrix(v_ctr).claims := '100';
8481 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8482 v_P4Matrix(v_ctr).basevalues := NULL;
8483 v_P4Matrix(v_ctr).fieldname:= 'P4_f6';
8484 v_ctr := v_ctr + 1;
8485
8486 -------- Claims : Duty Work Bases : Reprisal
8487 v_P4Matrix(v_ctr).claims := '100';
8488 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8489 v_P4Matrix(v_ctr).basevalues := NULL;
8490 v_P4Matrix(v_ctr).fieldname:= 'P4_f7';
8491 v_ctr := v_ctr + 1;
8492
8493 -------- Claims : Duty Work Bases : Sex
8494 v_P4Matrix(v_ctr).claims := '100';
8495 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8496 v_P4Matrix(v_ctr).basevalues := '10';
8497 v_P4Matrix(v_ctr).fieldname:= 'P4_f8';
8498 v_ctr := v_ctr + 1;
8499
8500 v_P4Matrix(v_ctr).claims := '100';
8501 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8502 v_P4Matrix(v_ctr).basevalues := '20';
8503 v_P4Matrix(v_ctr).fieldname:= 'P4_f9';
8504 v_ctr := v_ctr + 1;
8505
8506 -------- Claims : Duty Work Bases : National Origin
8507 v_P4Matrix(v_ctr).claims := '100';
8508 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8509 v_P4Matrix(v_ctr).basevalues := '10';
8510 v_P4Matrix(v_ctr).fieldname:= 'P4_f10';
8511 v_ctr := v_ctr + 1;
8512
8513 v_P4Matrix(v_ctr).claims := '100';
8514 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8515 v_P4Matrix(v_ctr).basevalues := '20';
8516 v_P4Matrix(v_ctr).fieldname:= 'P4_f11';
8517 v_ctr := v_ctr + 1;
8518
8519 -------- No Equal pact (columns k and l) for Duty Work
8520 ---- Claims : Duty Work Bases : National Origin
8521 v_P4Matrix(v_ctr).claims := '100';
8522 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8523 v_P4Matrix(v_ctr).basevalues := NULL;
8524 v_P4Matrix(v_ctr).fieldname:= 'P4_f14';
8525 v_ctr := v_ctr + 1;
8526
8527 ---- Claims : Duty Work Bases : Disability
8528 v_P4Matrix(v_ctr).claims := '100';
8529 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8530 v_P4Matrix(v_ctr).basevalues := '10';
8531 v_P4Matrix(v_ctr).fieldname:= 'P4_f15';
8532 v_ctr := v_ctr + 1;
8533
8534 v_P4Matrix(v_ctr).claims := '100';
8535 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8536 v_P4Matrix(v_ctr).basevalues := '20';
8537 v_P4Matrix(v_ctr).fieldname:= 'P4_f16';
8538 v_ctr := v_ctr + 1;
8539
8540 -- End of Claim Duty Work
8541
8542
8543
8544 -------- Claims : Evaluation / Appraisal Bases : Race
8545 v_P4Matrix(v_ctr).claims := '110';
8546 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8547 v_P4Matrix(v_ctr).basevalues := '10';
8548 v_P4Matrix(v_ctr).fieldname:= 'P4_g1';
8549 v_ctr := v_ctr + 1;
8550
8551 v_P4Matrix(v_ctr).claims := '110';
8552 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8553 v_P4Matrix(v_ctr).basevalues := '20';
8554 v_P4Matrix(v_ctr).fieldname:= 'P4_g2';
8555 v_ctr := v_ctr + 1;
8556
8557 v_P4Matrix(v_ctr).claims := '110';
8558 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8559 v_P4Matrix(v_ctr).basevalues := '30';
8560 v_P4Matrix(v_ctr).fieldname:= 'P4_g3';
8561 v_ctr := v_ctr + 1;
8562
8563 v_P4Matrix(v_ctr).claims := '110';
8564 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8565 v_P4Matrix(v_ctr).basevalues := '40';
8566 v_P4Matrix(v_ctr).fieldname:= 'P4_g4';
8567 v_ctr := v_ctr + 1;
8568
8569 ------- Claims : Appointment Bases: Color
8570 v_P4Matrix(v_ctr).claims := '110';
8571 v_P4Matrix(v_ctr).bases := 'YES_NO';
8572 v_P4Matrix(v_ctr).basevalues := NULL;
8573 v_P4Matrix(v_ctr).fieldname:= 'P4_g5';
8574 v_ctr := v_ctr + 1;
8575
8576
8577 -------- Claims : Evaluation / Appraisal Bases : Religion
8578 v_P4Matrix(v_ctr).claims := '110';
8582 v_ctr := v_ctr + 1;
8579 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8580 v_P4Matrix(v_ctr).basevalues := NULL;
8581 v_P4Matrix(v_ctr).fieldname:= 'P4_g6';
8583
8584 -------- Claims : Evaluation / Appraisal Bases : Reprisal
8585 v_P4Matrix(v_ctr).claims := '110';
8586 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8587 v_P4Matrix(v_ctr).basevalues := NULL;
8588 v_P4Matrix(v_ctr).fieldname:= 'P4_g7';
8589 v_ctr := v_ctr + 1;
8590
8591 -------- Claims : Evaluation / Appraisal Bases : Sex
8592 v_P4Matrix(v_ctr).claims := '110';
8593 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8594 v_P4Matrix(v_ctr).basevalues := '10';
8595 v_P4Matrix(v_ctr).fieldname:= 'P4_g8';
8596 v_ctr := v_ctr + 1;
8597
8598 v_P4Matrix(v_ctr).claims := '110';
8599 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8600 v_P4Matrix(v_ctr).basevalues := '20';
8601 v_P4Matrix(v_ctr).fieldname:= 'P4_g9';
8602 v_ctr := v_ctr + 1;
8603
8604 -------- Claims : Evaluation / Appraisal Bases : National Origin
8605 v_P4Matrix(v_ctr).claims := '110';
8606 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8607 v_P4Matrix(v_ctr).basevalues := '10';
8608 v_P4Matrix(v_ctr).fieldname:= 'P4_g10';
8609 v_ctr := v_ctr + 1;
8610
8611 v_P4Matrix(v_ctr).claims := '110';
8612 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8613 v_P4Matrix(v_ctr).basevalues := '20';
8614 v_P4Matrix(v_ctr).fieldname:= 'P4_g11';
8615 v_ctr := v_ctr + 1;
8616
8617 -------- No Equal pact (columns k and l) for Evaluation / Appraisal
8618 ---- Claims : Evaluation / Appraisal Bases : National Origin
8619 v_P4Matrix(v_ctr).claims := '110';
8620 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8621 v_P4Matrix(v_ctr).basevalues := NULL;
8622 v_P4Matrix(v_ctr).fieldname:= 'P4_g14';
8623 v_ctr := v_ctr + 1;
8624
8625 ---- Claims : Evaluation / Appraisal Bases : Disability
8626 v_P4Matrix(v_ctr).claims := '110';
8627 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8628 v_P4Matrix(v_ctr).basevalues := '10';
8629 v_P4Matrix(v_ctr).fieldname:= 'P4_g15';
8630 v_ctr := v_ctr + 1;
8631
8632 v_P4Matrix(v_ctr).claims := '110';
8633 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8634 v_P4Matrix(v_ctr).basevalues := '20';
8635 v_P4Matrix(v_ctr).fieldname:= 'P4_g16';
8636 v_ctr := v_ctr + 1;
8637
8638 -- End of Claim Evaluation / Appraisal
8639
8640
8641 -------- Claims : Examination / Test Bases : Race
8642 v_P4Matrix(v_ctr).claims := '120';
8643 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8644 v_P4Matrix(v_ctr).basevalues := '10';
8645 v_P4Matrix(v_ctr).fieldname:= 'P4_h1';
8646 v_ctr := v_ctr + 1;
8647
8648 v_P4Matrix(v_ctr).claims := '120';
8649 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8650 v_P4Matrix(v_ctr).basevalues := '20';
8651 v_P4Matrix(v_ctr).fieldname:= 'P4_h2';
8652 v_ctr := v_ctr + 1;
8653
8654 v_P4Matrix(v_ctr).claims := '120';
8655 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8656 v_P4Matrix(v_ctr).basevalues := '30';
8657 v_P4Matrix(v_ctr).fieldname:= 'P4_h3';
8658 v_ctr := v_ctr + 1;
8659
8660 v_P4Matrix(v_ctr).claims := '120';
8661 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8662 v_P4Matrix(v_ctr).basevalues := '40';
8663 v_P4Matrix(v_ctr).fieldname:= 'P4_h4';
8664 v_ctr := v_ctr + 1;
8665
8666 ------- Claims : Appointment Bases: Color
8667 v_P4Matrix(v_ctr).claims := '120';
8668 v_P4Matrix(v_ctr).bases := 'YES_NO';
8669 v_P4Matrix(v_ctr).basevalues := NULL;
8670 v_P4Matrix(v_ctr).fieldname:= 'P4_h5';
8671 v_ctr := v_ctr + 1;
8672
8673
8674 -------- Claims : Examination / Test Bases : Religion
8675 v_P4Matrix(v_ctr).claims := '120';
8676 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8677 v_P4Matrix(v_ctr).basevalues := NULL;
8678 v_P4Matrix(v_ctr).fieldname:= 'P4_h6';
8679 v_ctr := v_ctr + 1;
8680
8681 -------- Claims : Examination / Test Bases : Reprisal
8682 v_P4Matrix(v_ctr).claims := '120';
8683 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8684 v_P4Matrix(v_ctr).basevalues := NULL;
8685 v_P4Matrix(v_ctr).fieldname:= 'P4_h7';
8686 v_ctr := v_ctr + 1;
8687
8688 -------- Claims : Examination / Test Bases : Sex
8689 v_P4Matrix(v_ctr).claims := '120';
8690 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8691 v_P4Matrix(v_ctr).basevalues := '10';
8692 v_P4Matrix(v_ctr).fieldname:= 'P4_h8';
8693 v_ctr := v_ctr + 1;
8694
8695 v_P4Matrix(v_ctr).claims := '120';
8696 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8697 v_P4Matrix(v_ctr).basevalues := '20';
8698 v_P4Matrix(v_ctr).fieldname:= 'P4_h9';
8699 v_ctr := v_ctr + 1;
8700
8701 -------- Claims : Examination / Test Bases : National Origin
8702 v_P4Matrix(v_ctr).claims := '120';
8703 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8704 v_P4Matrix(v_ctr).basevalues := '10';
8705 v_P4Matrix(v_ctr).fieldname:= 'P4_h10';
8706 v_ctr := v_ctr + 1;
8707
8708 v_P4Matrix(v_ctr).claims := '120';
8709 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8710 v_P4Matrix(v_ctr).basevalues := '20';
8711 v_P4Matrix(v_ctr).fieldname:= 'P4_h11';
8712 v_ctr := v_ctr + 1;
8713
8714 -------- No Equal pact (columns k and l) for Examination / Test
8715 ---- Claims : Examination / Test Bases : National Origin
8716 v_P4Matrix(v_ctr).claims := '120';
8717 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8718 v_P4Matrix(v_ctr).basevalues := NULL;
8719 v_P4Matrix(v_ctr).fieldname:= 'P4_h14';
8720 v_ctr := v_ctr + 1;
8721
8722 ---- Claims : Examination / Test Bases : Disability
8723 v_P4Matrix(v_ctr).claims := '120';
8724 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8725 v_P4Matrix(v_ctr).basevalues := '10';
8726 v_P4Matrix(v_ctr).fieldname:= 'P4_h15';
8727 v_ctr := v_ctr + 1;
8731 v_P4Matrix(v_ctr).basevalues := '20';
8728
8729 v_P4Matrix(v_ctr).claims := '120';
8730 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8732 v_P4Matrix(v_ctr).fieldname:= 'P4_h16';
8733 v_ctr := v_ctr + 1;
8734
8735 -- End of Claim Examination / Test
8736
8737
8738 -------- Claims : Harassment (Non Sexual) Bases : Race
8739 v_P4Matrix(v_ctr).claims := '130';
8740 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8741 v_P4Matrix(v_ctr).basevalues := '10';
8742 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_1';
8743 v_ctr := v_ctr + 1;
8744
8745 v_P4Matrix(v_ctr).claims := '130';
8746 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8747 v_P4Matrix(v_ctr).basevalues := '20';
8748 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_2';
8749 v_ctr := v_ctr + 1;
8750
8751 v_P4Matrix(v_ctr).claims := '130';
8752 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8753 v_P4Matrix(v_ctr).basevalues := '30';
8754 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_3';
8755 v_ctr := v_ctr + 1;
8756
8757 v_P4Matrix(v_ctr).claims := '130';
8758 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8759 v_P4Matrix(v_ctr).basevalues := '40';
8760 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_4';
8761 v_ctr := v_ctr + 1;
8762
8763 ------- Claims : Appointment Bases: Color
8764 v_P4Matrix(v_ctr).claims := '130';
8765 v_P4Matrix(v_ctr).bases := 'YES_NO';
8766 v_P4Matrix(v_ctr).basevalues := NULL;
8767 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_5';
8768 v_ctr := v_ctr + 1;
8769
8770
8771 -------- Claims : Harassment (Non Sexual) Bases : Religion
8772 v_P4Matrix(v_ctr).claims := '130';
8773 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8774 v_P4Matrix(v_ctr).basevalues := NULL;
8775 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_6';
8776 v_ctr := v_ctr + 1;
8777
8778 -------- Claims : Harassment (Non Sexual) Bases : Reprisal
8779 v_P4Matrix(v_ctr).claims := '130';
8780 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8781 v_P4Matrix(v_ctr).basevalues := NULL;
8782 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_7';
8783 v_ctr := v_ctr + 1;
8784
8785 -------- Claims : Harassment (Non Sexual) Bases : Sex
8786 v_P4Matrix(v_ctr).claims := '130';
8787 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8788 v_P4Matrix(v_ctr).basevalues := '10';
8789 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_8';
8790 v_ctr := v_ctr + 1;
8791
8792 v_P4Matrix(v_ctr).claims := '130';
8793 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8794 v_P4Matrix(v_ctr).basevalues := '20';
8795 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_9';
8796 v_ctr := v_ctr + 1;
8797
8798 -------- Claims : Harassment (Non Sexual) Bases : National Origin
8799 v_P4Matrix(v_ctr).claims := '130';
8800 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8801 v_P4Matrix(v_ctr).basevalues := '10';
8802 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_10';
8803 v_ctr := v_ctr + 1;
8804
8805 v_P4Matrix(v_ctr).claims := '130';
8806 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8807 v_P4Matrix(v_ctr).basevalues := '20';
8808 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_11';
8809 v_ctr := v_ctr + 1;
8810
8811 -------- No Equal pact (columns k and l) for Harassment (Non Sexual)
8812 ---- Claims : Harassment (Non Sexual) Bases : National Origin
8813 v_P4Matrix(v_ctr).claims := '130';
8814 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
8815 v_P4Matrix(v_ctr).basevalues := NULL;
8816 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_14';
8817 v_ctr := v_ctr + 1;
8818
8819 ---- Claims : Harassment (Non Sexual) Bases : Disability
8820 v_P4Matrix(v_ctr).claims := '130';
8821 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8822 v_P4Matrix(v_ctr).basevalues := '10';
8823 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_15';
8824 v_ctr := v_ctr + 1;
8825
8826 v_P4Matrix(v_ctr).claims := '130';
8827 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
8828 v_P4Matrix(v_ctr).basevalues := '20';
8829 v_P4Matrix(v_ctr).fieldname:= 'P4_i1_16';
8830 v_ctr := v_ctr + 1;
8831
8832 -- End of Claim Harassment (Non Sexual)
8833
8834
8835 -------- Claims : Harassment (Sexual) Bases : Race
8836 /* v_P4Matrix(v_ctr).claims := '140';
8837 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS'
8838 v_P4Matrix(v_ctr).basevalues := '10'
8839 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_a';
8840 v_ctr := v_ctr + 1;
8841
8842 v_P4Matrix(v_ctr).claims := '140';
8843 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS'
8844 v_P4Matrix(v_ctr).basevalues := '20'
8845 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_b';
8846 v_ctr := v_ctr + 1;
8847
8848 v_P4Matrix(v_ctr).claims := '140';
8849 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS'
8850 v_P4Matrix(v_ctr).basevalues := '30'
8851 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_c';
8852 v_ctr := v_ctr + 1;
8853
8854 v_P4Matrix(v_ctr).claims := '140';
8855 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS'
8856 v_P4Matrix(v_ctr).basevalues := '40'
8857 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_d';
8858 v_ctr := v_ctr + 1;
8859
8860 -------- Claims : Harassment (Sexual) Bases : Religion
8861 v_P4Matrix(v_ctr).claims := '140';
8862 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS'
8863 v_P4Matrix(v_ctr).basevalues := NULL;
8864 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_e';
8865 v_ctr := v_ctr + 1; */
8866
8867 -------- Claims : Harassment (Sexual) Bases : Reprisal
8868 v_P4Matrix(v_ctr).claims := '140';
8869 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8870 v_P4Matrix(v_ctr).basevalues := NULL;
8871 v_P4Matrix(v_ctr).fieldname:= 'P4_i2_7';
8872 v_ctr := v_ctr + 1;
8873
8874 -------- Claims : Harassment (Sexual) Bases : Sex
8875 v_P4Matrix(v_ctr).claims := '140';
8876 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8877 v_P4Matrix(v_ctr).basevalues := '10';
8881 v_P4Matrix(v_ctr).claims := '140';
8878 v_P4Matrix(v_ctr).fieldname:= 'P4_i2_8';
8879 v_ctr := v_ctr + 1;
8880
8882 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8883 v_P4Matrix(v_ctr).basevalues := '20';
8884 v_P4Matrix(v_ctr).fieldname:= 'P4_i2_9';
8885 v_ctr := v_ctr + 1;
8886
8887 -------- Claims : Harassment (Sexual) Bases : National Origin
8888 /* v_P4Matrix(v_ctr).claims := '140';
8889 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS'
8890 v_P4Matrix(v_ctr).basevalues := '10';
8891 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_i';
8892 v_ctr := v_ctr + 1;
8893
8894 v_P4Matrix(v_ctr).claims := '140';
8895 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS'
8896 v_P4Matrix(v_ctr).basevalues := '20';
8897 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_j';
8898 v_ctr := v_ctr + 1; */
8899
8900 -------- No Equal pact (columns k and l) for Harassment (Sexual)
8901 ---- Claims : Harassment (Sexual) Bases : Ages
8902 /* v_P4Matrix(v_ctr).claims := '140';
8903 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS'
8904 v_P4Matrix(v_ctr).basevalues := NULL;
8905 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_m';
8906 v_ctr := v_ctr + 1;
8907
8908 ---- Claims : Harassment (Sexual) Bases : Disability
8909 v_P4Matrix(v_ctr).claims := '140';
8910 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS'
8911 v_P4Matrix(v_ctr).basevalues := '10';
8912 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_n';
8913 v_ctr := v_ctr + 1;
8914
8915 v_P4Matrix(v_ctr).claims := '140';
8916 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS'
8917 v_P4Matrix(v_ctr).basevalues := '20';
8918 v_P4Matrix(v_ctr).fieldname:= 'P4_9b_o';
8919 v_ctr := v_ctr + 1; */
8920
8921 -- End of Claim Harassment (Sexual)
8922
8923
8924 -------- Claims : Medical Examination Bases : Race
8925 v_P4Matrix(v_ctr).claims := '150';
8926 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8927 v_P4Matrix(v_ctr).basevalues := '10';
8928 v_P4Matrix(v_ctr).fieldname:= 'P4_j1';
8929 v_ctr := v_ctr + 1;
8930
8931 v_P4Matrix(v_ctr).claims := '150';
8932 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8933 v_P4Matrix(v_ctr).basevalues := '20';
8934 v_P4Matrix(v_ctr).fieldname:= 'P4_j2';
8935 v_ctr := v_ctr + 1;
8936
8937 v_P4Matrix(v_ctr).claims := '150';
8938 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8939 v_P4Matrix(v_ctr).basevalues := '30';
8940 v_P4Matrix(v_ctr).fieldname:= 'P4_j3';
8941 v_ctr := v_ctr + 1;
8942
8943 v_P4Matrix(v_ctr).claims := '150';
8944 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
8945 v_P4Matrix(v_ctr).basevalues := '40';
8946 v_P4Matrix(v_ctr).fieldname:= 'P4_j4';
8947 v_ctr := v_ctr + 1;
8948
8949 ------- Claims : Appointment Bases: Color
8950 v_P4Matrix(v_ctr).claims := '150';
8951 v_P4Matrix(v_ctr).bases := 'YES_NO';
8952 v_P4Matrix(v_ctr).basevalues := NULL;
8953 v_P4Matrix(v_ctr).fieldname:= 'P4_j5';
8954 v_ctr := v_ctr + 1;
8955
8956 -------- Claims : Medical Examination Bases : Religion
8957 v_P4Matrix(v_ctr).claims := '150';
8958 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
8959 v_P4Matrix(v_ctr).basevalues := NULL;
8960 v_P4Matrix(v_ctr).fieldname:= 'P4_j6';
8961 v_ctr := v_ctr + 1;
8962
8963 -------- Claims : Medical Examination Bases : Reprisal
8964 v_P4Matrix(v_ctr).claims := '150';
8965 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
8966 v_P4Matrix(v_ctr).basevalues := NULL;
8967 v_P4Matrix(v_ctr).fieldname:= 'P4_j7';
8968 v_ctr := v_ctr + 1;
8969
8970 -------- Claims : Medical Examination Bases : Sex
8971 v_P4Matrix(v_ctr).claims := '150';
8972 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8973 v_P4Matrix(v_ctr).basevalues := '10';
8974 v_P4Matrix(v_ctr).fieldname:= 'P4_j8';
8975 v_ctr := v_ctr + 1;
8976
8977 v_P4Matrix(v_ctr).claims := '150';
8978 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
8979 v_P4Matrix(v_ctr).basevalues := '20';
8980 v_P4Matrix(v_ctr).fieldname:= 'P4_j9';
8981 v_ctr := v_ctr + 1;
8982
8983 -------- Claims : Medical Examination Bases : National Origin
8984 v_P4Matrix(v_ctr).claims := '150';
8985 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8986 v_P4Matrix(v_ctr).basevalues := '10';
8987 v_P4Matrix(v_ctr).fieldname:= 'P4_j10';
8988 v_ctr := v_ctr + 1;
8989
8990 v_P4Matrix(v_ctr).claims := '150';
8991 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
8992 v_P4Matrix(v_ctr).basevalues := '20';
8993 v_P4Matrix(v_ctr).fieldname:= 'P4_j11';
8994 v_ctr := v_ctr + 1;
8995
8996 -------- No Equal pact (columns k and l) for Medical Examination
8997 ---- Claims : Medical Examination Bases : National Origin
8998 v_P4Matrix(v_ctr).claims := '150';
8999 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9000 v_P4Matrix(v_ctr).basevalues := NULL;
9001 v_P4Matrix(v_ctr).fieldname:= 'P4_j14';
9002 v_ctr := v_ctr + 1;
9003
9004 ---- Claims : Medical Examination Bases : Disability
9005 v_P4Matrix(v_ctr).claims := '150';
9006 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9007 v_P4Matrix(v_ctr).basevalues := '10';
9008 v_P4Matrix(v_ctr).fieldname:= 'P4_j15';
9009 v_ctr := v_ctr + 1;
9010
9011 v_P4Matrix(v_ctr).claims := '150';
9012 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9013 v_P4Matrix(v_ctr).basevalues := '20';
9014 v_P4Matrix(v_ctr).fieldname:= 'P4_j16';
9015 v_ctr := v_ctr + 1;
9016
9017 -- End of Claim Medical Examination
9018
9019
9020 -------- Claims : Pay Including Overtime Bases : Race
9021 v_P4Matrix(v_ctr).claims := '160';
9022 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9023 v_P4Matrix(v_ctr).basevalues := '10';
9024 v_P4Matrix(v_ctr).fieldname:= 'P4_k1';
9028 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9025 v_ctr := v_ctr + 1;
9026
9027 v_P4Matrix(v_ctr).claims := '160';
9029 v_P4Matrix(v_ctr).basevalues := '20';
9030 v_P4Matrix(v_ctr).fieldname:= 'P4_k2';
9031 v_ctr := v_ctr + 1;
9032
9033 v_P4Matrix(v_ctr).claims := '160';
9034 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9035 v_P4Matrix(v_ctr).basevalues := '30';
9036 v_P4Matrix(v_ctr).fieldname:= 'P4_k3';
9037 v_ctr := v_ctr + 1;
9038
9039 v_P4Matrix(v_ctr).claims := '160';
9040 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9041 v_P4Matrix(v_ctr).basevalues := '40';
9042 v_P4Matrix(v_ctr).fieldname:= 'P4_k4';
9043 v_ctr := v_ctr + 1;
9044
9045 ------- Claims : Appointment Bases: Color
9046 v_P4Matrix(v_ctr).claims := '160';
9047 v_P4Matrix(v_ctr).bases := 'YES_NO';
9048 v_P4Matrix(v_ctr).basevalues := NULL;
9049 v_P4Matrix(v_ctr).fieldname:= 'P4_k5';
9050 v_ctr := v_ctr + 1;
9051
9052 -------- Claims : Pay Including Overtime Bases : Religion
9053 v_P4Matrix(v_ctr).claims := '160';
9054 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9055 v_P4Matrix(v_ctr).basevalues := NULL;
9056 v_P4Matrix(v_ctr).fieldname:= 'P4_k6';
9057 v_ctr := v_ctr + 1;
9058
9059 -------- Claims : Pay Including Overtime Bases : Reprisal
9060 v_P4Matrix(v_ctr).claims := '160';
9061 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9062 v_P4Matrix(v_ctr).basevalues := NULL;
9063 v_P4Matrix(v_ctr).fieldname:= 'P4_k7';
9064 v_ctr := v_ctr + 1;
9065
9066 -------- Claims : Pay Including Overtime Bases : Sex
9067 v_P4Matrix(v_ctr).claims := '160';
9068 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9069 v_P4Matrix(v_ctr).basevalues := '10';
9070 v_P4Matrix(v_ctr).fieldname:= 'P4_k8';
9071 v_ctr := v_ctr + 1;
9072
9073 v_P4Matrix(v_ctr).claims := '160';
9074 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9075 v_P4Matrix(v_ctr).basevalues := '20';
9076 v_P4Matrix(v_ctr).fieldname:= 'P4_k9';
9077 v_ctr := v_ctr + 1;
9078
9079 -------- Claims : Pay Including Overtime Bases : National Origin
9080 v_P4Matrix(v_ctr).claims := '160';
9081 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9082 v_P4Matrix(v_ctr).basevalues := '10';
9083 v_P4Matrix(v_ctr).fieldname:= 'P4_k10';
9084 v_ctr := v_ctr + 1;
9085
9086 v_P4Matrix(v_ctr).claims := '160';
9087 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9088 v_P4Matrix(v_ctr).basevalues := '20';
9089 v_P4Matrix(v_ctr).fieldname:= 'P4_k11';
9090 v_ctr := v_ctr + 1;
9091
9092 -------- Equal pact
9093 v_P4Matrix(v_ctr).claims := '160';
9094 v_P4Matrix(v_ctr).bases := 'SEX';
9095 v_P4Matrix(v_ctr).basevalues := 'M';
9096 v_P4Matrix(v_ctr).fieldname:= 'P4_k12';
9097 v_ctr := v_ctr + 1;
9098
9099 v_P4Matrix(v_ctr).claims := '160';
9100 v_P4Matrix(v_ctr).bases := 'SEX';
9101 v_P4Matrix(v_ctr).basevalues := 'F';
9102 v_P4Matrix(v_ctr).fieldname:= 'P4_k13';
9103 v_ctr := v_ctr + 1;
9104
9105 ---- Claims : Pay Including Overtime Bases : National Origin
9106 v_P4Matrix(v_ctr).claims := '160';
9107 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9108 v_P4Matrix(v_ctr).basevalues := NULL;
9109 v_P4Matrix(v_ctr).fieldname:= 'P4_k14';
9110 v_ctr := v_ctr + 1;
9111
9112 ---- Claims : Pay Including Overtime Bases : Disability
9113 v_P4Matrix(v_ctr).claims := '160';
9114 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9115 v_P4Matrix(v_ctr).basevalues := '10';
9116 v_P4Matrix(v_ctr).fieldname:= 'P4_k15';
9117 v_ctr := v_ctr + 1;
9118
9119 v_P4Matrix(v_ctr).claims := '160';
9120 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9121 v_P4Matrix(v_ctr).basevalues := '20';
9122 v_P4Matrix(v_ctr).fieldname:= 'P4_k16';
9123 v_ctr := v_ctr + 1;
9124
9125 -- End of Claim Pay Including Overtime
9126
9127
9128 -------- Claims : Promotion / Non Selection Bases : Race
9129 v_P4Matrix(v_ctr).claims := '170';
9130 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9131 v_P4Matrix(v_ctr).basevalues := '10';
9132 v_P4Matrix(v_ctr).fieldname:= 'P4_l1';
9133 v_ctr := v_ctr + 1;
9134
9135 v_P4Matrix(v_ctr).claims := '170';
9136 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9137 v_P4Matrix(v_ctr).basevalues := '20';
9138 v_P4Matrix(v_ctr).fieldname:= 'P4_l2';
9139 v_ctr := v_ctr + 1;
9140
9141 v_P4Matrix(v_ctr).claims := '170';
9142 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9143 v_P4Matrix(v_ctr).basevalues := '30';
9144 v_P4Matrix(v_ctr).fieldname:= 'P4_l3';
9145 v_ctr := v_ctr + 1;
9146
9147 v_P4Matrix(v_ctr).claims := '170';
9148 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9149 v_P4Matrix(v_ctr).basevalues := '40';
9150 v_P4Matrix(v_ctr).fieldname:= 'P4_l4';
9151 v_ctr := v_ctr + 1;
9152
9153 ------- Claims : Promotion / Non Selection Bases: Color
9154 v_P4Matrix(v_ctr).claims := '170';
9155 v_P4Matrix(v_ctr).bases := 'YES_NO';
9156 v_P4Matrix(v_ctr).basevalues := NULL;
9157 v_P4Matrix(v_ctr).fieldname:= 'P4_l5';
9158 v_ctr := v_ctr + 1;
9159
9160
9161 -------- Claims : Promotion / Non Selection Bases : Religion
9162 v_P4Matrix(v_ctr).claims := '170';
9163 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9164 v_P4Matrix(v_ctr).basevalues := NULL;
9165 v_P4Matrix(v_ctr).fieldname:= 'P4_l6';
9166 v_ctr := v_ctr + 1;
9167
9168 -------- Claims : Promotion / Non Selection Bases : Reprisal
9169 v_P4Matrix(v_ctr).claims := '170';
9170 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9171 v_P4Matrix(v_ctr).basevalues := NULL;
9172 v_P4Matrix(v_ctr).fieldname:= 'P4_l7';
9173 v_ctr := v_ctr + 1;
9174
9175 -------- Claims : Promotion / Non Selection Bases : Sex
9176 v_P4Matrix(v_ctr).claims := '170';
9177 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9181
9178 v_P4Matrix(v_ctr).basevalues := '10';
9179 v_P4Matrix(v_ctr).fieldname:= 'P4_l8';
9180 v_ctr := v_ctr + 1;
9182 v_P4Matrix(v_ctr).claims := '170';
9183 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9184 v_P4Matrix(v_ctr).basevalues := '20';
9185 v_P4Matrix(v_ctr).fieldname:= 'P4_l9';
9186 v_ctr := v_ctr + 1;
9187
9188 -------- Claims : Promotion / Non Selection Bases : National Origin
9189 v_P4Matrix(v_ctr).claims := '170';
9190 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9191 v_P4Matrix(v_ctr).basevalues := '10';
9192 v_P4Matrix(v_ctr).fieldname:= 'P4_l10';
9193 v_ctr := v_ctr + 1;
9194
9195 v_P4Matrix(v_ctr).claims := '170';
9196 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9197 v_P4Matrix(v_ctr).basevalues := '20';
9198 v_P4Matrix(v_ctr).fieldname:= 'P4_l11';
9199 v_ctr := v_ctr + 1;
9200
9201 -------- No Equal pact (columns k and l) for Promotion / Non Selection
9202 ---- Claims : Promotion / Non Selection Bases : National Origin
9203 v_P4Matrix(v_ctr).claims := '170';
9204 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9205 v_P4Matrix(v_ctr).basevalues := NULL;
9206 v_P4Matrix(v_ctr).fieldname:= 'P4_l14';
9207 v_ctr := v_ctr + 1;
9208
9209 ---- Claims : Promotion / Non Selection Bases : Disability
9210 v_P4Matrix(v_ctr).claims := '170';
9211 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9212 v_P4Matrix(v_ctr).basevalues := '10';
9213 v_P4Matrix(v_ctr).fieldname:= 'P4_l15';
9214 v_ctr := v_ctr + 1;
9215
9216 v_P4Matrix(v_ctr).claims := '170';
9217 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9218 v_P4Matrix(v_ctr).basevalues := '20';
9219 v_P4Matrix(v_ctr).fieldname:= 'P4_l16';
9220 v_ctr := v_ctr + 1;
9221
9222 -- End of Claim Promotion / Non Selection
9223
9224
9225
9226 -------- Claims : Reassignment (Denied) Bases : Race
9227 v_P4Matrix(v_ctr).claims := '180';
9228 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9229 v_P4Matrix(v_ctr).basevalues := '10';
9230 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_1';
9231 v_ctr := v_ctr + 1;
9232
9233 v_P4Matrix(v_ctr).claims := '180';
9234 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9235 v_P4Matrix(v_ctr).basevalues := '20';
9236 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_2';
9237 v_ctr := v_ctr + 1;
9238
9239 v_P4Matrix(v_ctr).claims := '180';
9240 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9241 v_P4Matrix(v_ctr).basevalues := '30';
9242 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_3';
9243 v_ctr := v_ctr + 1;
9244
9245 v_P4Matrix(v_ctr).claims := '180';
9246 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9247 v_P4Matrix(v_ctr).basevalues := '40';
9248 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_4';
9249 v_ctr := v_ctr + 1;
9250
9251 ------- Claims : Appointment Bases: Color
9252 v_P4Matrix(v_ctr).claims := '180';
9253 v_P4Matrix(v_ctr).bases := 'YES_NO';
9254 v_P4Matrix(v_ctr).basevalues := NULL;
9255 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_5';
9256 v_ctr := v_ctr + 1;
9257
9258 -------- Claims : Reassignment (Denied) Bases : Religion
9259 v_P4Matrix(v_ctr).claims := '180';
9260 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9261 v_P4Matrix(v_ctr).basevalues := NULL;
9262 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_6';
9263 v_ctr := v_ctr + 1;
9264
9265 -------- Claims : Reassignment (Denied) Bases : Reprisal
9266 v_P4Matrix(v_ctr).claims := '180';
9267 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9268 v_P4Matrix(v_ctr).basevalues := NULL;
9269 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_7';
9270 v_ctr := v_ctr + 1;
9271
9272 -------- Claims : Reassignment (Denied) Bases : Sex
9273 v_P4Matrix(v_ctr).claims := '180';
9274 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9275 v_P4Matrix(v_ctr).basevalues := '10';
9276 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_8';
9277 v_ctr := v_ctr + 1;
9278
9279 v_P4Matrix(v_ctr).claims := '180';
9280 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9281 v_P4Matrix(v_ctr).basevalues := '20';
9282 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_9';
9283 v_ctr := v_ctr + 1;
9284
9285 -------- Claims : Reassignment (Denied) Bases : National Origin
9286 v_P4Matrix(v_ctr).claims := '180';
9287 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9288 v_P4Matrix(v_ctr).basevalues := '10';
9289 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_10';
9290 v_ctr := v_ctr + 1;
9291
9292 v_P4Matrix(v_ctr).claims := '180';
9293 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9294 v_P4Matrix(v_ctr).basevalues := '20';
9295 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_11';
9296 v_ctr := v_ctr + 1;
9297
9298 -------- No Equal pact (columns k and l) for Reassignment (Denied)
9299 ---- Claims : Reassignment (Denied) Bases : National Origin
9300 v_P4Matrix(v_ctr).claims := '180';
9301 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9302 v_P4Matrix(v_ctr).basevalues := NULL;
9303 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_14';
9304 v_ctr := v_ctr + 1;
9305
9306 ---- Claims : Reassignment (Denied) Bases : Disability
9307 v_P4Matrix(v_ctr).claims := '180';
9308 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9309 v_P4Matrix(v_ctr).basevalues := '10';
9310 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_15';
9311 v_ctr := v_ctr + 1;
9312
9313 v_P4Matrix(v_ctr).claims := '180';
9314 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9315 v_P4Matrix(v_ctr).basevalues := '20';
9316 v_P4Matrix(v_ctr).fieldname:= 'P4_m1_16';
9317 v_ctr := v_ctr + 1;
9318
9319 -- End of Claim Reassignment (Denied)
9320
9321
9322 -------- Claims : Reassignment (Directed) Bases : Race
9323 v_P4Matrix(v_ctr).claims := '190';
9324 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9325 v_P4Matrix(v_ctr).basevalues := '10';
9326 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_1';
9327 v_ctr := v_ctr + 1;
9328
9332 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_2';
9329 v_P4Matrix(v_ctr).claims := '190';
9330 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9331 v_P4Matrix(v_ctr).basevalues := '20';
9333 v_ctr := v_ctr + 1;
9334
9335 v_P4Matrix(v_ctr).claims := '190';
9336 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9337 v_P4Matrix(v_ctr).basevalues := '30';
9338 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_3';
9339 v_ctr := v_ctr + 1;
9340
9341 v_P4Matrix(v_ctr).claims := '190';
9342 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9343 v_P4Matrix(v_ctr).basevalues := '40';
9344 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_4';
9345 v_ctr := v_ctr + 1;
9346
9347 ------- Claims : Reassignment (Directed) Bases: Color
9348 v_P4Matrix(v_ctr).claims := '190';
9349 v_P4Matrix(v_ctr).bases := 'YES_NO';
9350 v_P4Matrix(v_ctr).basevalues := NULL;
9351 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_5';
9352 v_ctr := v_ctr + 1;
9353
9354
9355 -------- Claims : Reassignment (Directed) Bases : Religion
9356 v_P4Matrix(v_ctr).claims := '190';
9357 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9358 v_P4Matrix(v_ctr).basevalues := NULL;
9359 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_6';
9360 v_ctr := v_ctr + 1;
9361
9362 -------- Claims : Reassignment (Directed) Bases : Reprisal
9363 v_P4Matrix(v_ctr).claims := '190';
9364 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9365 v_P4Matrix(v_ctr).basevalues := NULL;
9366 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_7';
9367 v_ctr := v_ctr + 1;
9368
9369 -------- Claims : Reassignment (Directed) Bases : Sex
9370 v_P4Matrix(v_ctr).claims := '190';
9371 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9372 v_P4Matrix(v_ctr).basevalues := '10';
9373 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_8';
9374 v_ctr := v_ctr + 1;
9375
9376 v_P4Matrix(v_ctr).claims := '190';
9377 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9378 v_P4Matrix(v_ctr).basevalues := '20';
9379 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_9';
9380 v_ctr := v_ctr + 1;
9381
9382 -------- Claims : Reassignment (Directed) Bases : National Origin
9383 v_P4Matrix(v_ctr).claims := '190';
9384 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9385 v_P4Matrix(v_ctr).basevalues := '10';
9386 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_10';
9387 v_ctr := v_ctr + 1;
9388
9389 v_P4Matrix(v_ctr).claims := '190';
9390 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9391 v_P4Matrix(v_ctr).basevalues := '20';
9392 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_11';
9393 v_ctr := v_ctr + 1;
9394
9395 -------- No Equal pact (columns k and l) for Reassignment (Directed)
9396 ---- Claims : Reassignment (Directed) Bases : National Origin
9397 v_P4Matrix(v_ctr).claims := '190';
9398 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9399 v_P4Matrix(v_ctr).basevalues := NULL;
9400 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_14';
9401 v_ctr := v_ctr + 1;
9402
9403 ---- Claims : Reassignment (Directed) Bases : Disability
9404 v_P4Matrix(v_ctr).claims := '190';
9405 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9406 v_P4Matrix(v_ctr).basevalues := '10';
9407 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_15';
9408 v_ctr := v_ctr + 1;
9409
9410 v_P4Matrix(v_ctr).claims := '190';
9411 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9412 v_P4Matrix(v_ctr).basevalues := '20';
9413 v_P4Matrix(v_ctr).fieldname:= 'P4_m2_16';
9414 v_ctr := v_ctr + 1;
9415
9416 -- End of Claim Reassignment (Directed)
9417
9418
9419 -------- Claims : Reasonable Accommodation Bases : Religion
9420 v_P4Matrix(v_ctr).claims := '200';
9421 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9422 v_P4Matrix(v_ctr).basevalues := NULL;
9423 v_P4Matrix(v_ctr).fieldname:= 'P4_n6';
9424 v_ctr := v_ctr + 1;
9425
9426 -------- Claims : Reasonable Accommodation Bases : Reprisal
9427 v_P4Matrix(v_ctr).claims := '200';
9428 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9429 v_P4Matrix(v_ctr).basevalues := NULL;
9430 v_P4Matrix(v_ctr).fieldname:= 'P4_n7';
9431 v_ctr := v_ctr + 1;
9432
9433
9434 ---- Claims : Reasonable Accommodation Bases : Disability
9435 v_P4Matrix(v_ctr).claims := '200';
9436 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9437 v_P4Matrix(v_ctr).basevalues := '10';
9438 v_P4Matrix(v_ctr).fieldname:= 'P4_n15';
9439 v_ctr := v_ctr + 1;
9440
9441 v_P4Matrix(v_ctr).claims := '200';
9442 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9443 v_P4Matrix(v_ctr).basevalues := '20';
9444 v_P4Matrix(v_ctr).fieldname:= 'P4_n16';
9445 v_ctr := v_ctr + 1;
9446
9447 -- End of Claim Reasonable Accommodation
9448
9449
9450
9451 -------- Claims : Reinstatement Bases : Race
9452 v_P4Matrix(v_ctr).claims := '210';
9453 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9454 v_P4Matrix(v_ctr).basevalues := '10';
9455 v_P4Matrix(v_ctr).fieldname:= 'P4_o1';
9456 v_ctr := v_ctr + 1;
9457
9458 v_P4Matrix(v_ctr).claims := '210';
9459 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9460 v_P4Matrix(v_ctr).basevalues := '20';
9461 v_P4Matrix(v_ctr).fieldname:= 'P4_o2';
9462 v_ctr := v_ctr + 1;
9463
9464 v_P4Matrix(v_ctr).claims := '210';
9465 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9466 v_P4Matrix(v_ctr).basevalues := '30';
9467 v_P4Matrix(v_ctr).fieldname:= 'P4_o3';
9468 v_ctr := v_ctr + 1;
9469
9470 v_P4Matrix(v_ctr).claims := '210';
9471 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9472 v_P4Matrix(v_ctr).basevalues := '40';
9473 v_P4Matrix(v_ctr).fieldname:= 'P4_o4';
9474 v_ctr := v_ctr + 1;
9475
9476 v_P4Matrix(v_ctr).claims := '210';
9477 v_P4Matrix(v_ctr).bases := 'YES_NO';
9478 v_P4Matrix(v_ctr).basevalues := NULL;
9479 v_P4Matrix(v_ctr).fieldname:= 'P4_o5';
9480 v_ctr := v_ctr + 1;
9481
9485 v_P4Matrix(v_ctr).basevalues := NULL;
9482 -------- Claims : Reinstatement Bases : Religion
9483 v_P4Matrix(v_ctr).claims := '210';
9484 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9486 v_P4Matrix(v_ctr).fieldname:= 'P4_o6';
9487 v_ctr := v_ctr + 1;
9488
9489 -------- Claims : Reinstatement Bases : Reprisal
9490 v_P4Matrix(v_ctr).claims := '210';
9491 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9492 v_P4Matrix(v_ctr).basevalues := NULL;
9493 v_P4Matrix(v_ctr).fieldname:= 'P4_o7';
9494 v_ctr := v_ctr + 1;
9495
9496 -------- Claims : Reinstatement Bases : Sex
9497 v_P4Matrix(v_ctr).claims := '210';
9498 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9499 v_P4Matrix(v_ctr).basevalues := '10';
9500 v_P4Matrix(v_ctr).fieldname:= 'P4_o8';
9501 v_ctr := v_ctr + 1;
9502
9503 v_P4Matrix(v_ctr).claims := '210';
9504 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9505 v_P4Matrix(v_ctr).basevalues := '20';
9506 v_P4Matrix(v_ctr).fieldname:= 'P4_o9';
9507 v_ctr := v_ctr + 1;
9508
9509 -------- Claims : Reinstatement Bases : National Origin
9510 v_P4Matrix(v_ctr).claims := '210';
9511 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9512 v_P4Matrix(v_ctr).basevalues := '10';
9513 v_P4Matrix(v_ctr).fieldname:= 'P4_o10';
9514 v_ctr := v_ctr + 1;
9515
9516 v_P4Matrix(v_ctr).claims := '210';
9517 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9518 v_P4Matrix(v_ctr).basevalues := '20';
9519 v_P4Matrix(v_ctr).fieldname:= 'P4_o11';
9520 v_ctr := v_ctr + 1;
9521
9522 -------- No Equal pact (columns k and l) for Reinstatement
9523 ---- Claims : Reinstatement Bases : Age
9524 v_P4Matrix(v_ctr).claims := '210';
9525 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9526 v_P4Matrix(v_ctr).basevalues := NULL;
9527 v_P4Matrix(v_ctr).fieldname:= 'P4_o14';
9528 v_ctr := v_ctr + 1;
9529
9530 ---- Claims : Reinstatement Bases : Disability
9531 v_P4Matrix(v_ctr).claims := '210';
9532 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9533 v_P4Matrix(v_ctr).basevalues := '10';
9534 v_P4Matrix(v_ctr).fieldname:= 'P4_o15';
9535 v_ctr := v_ctr + 1;
9536
9537 v_P4Matrix(v_ctr).claims := '210';
9538 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9539 v_P4Matrix(v_ctr).basevalues := '20';
9540 v_P4Matrix(v_ctr).fieldname:= 'P4_o16';
9541 v_ctr := v_ctr + 1;
9542
9543 -- End of Claim Reinstatement
9544
9545
9546
9547 -------- Claims : Retirement Bases : Race
9548 v_P4Matrix(v_ctr).claims := '220';
9549 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9550 v_P4Matrix(v_ctr).basevalues := '10';
9551 v_P4Matrix(v_ctr).fieldname:= 'P4_p1';
9552 v_ctr := v_ctr + 1;
9553
9554 v_P4Matrix(v_ctr).claims := '220';
9555 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9556 v_P4Matrix(v_ctr).basevalues := '20';
9557 v_P4Matrix(v_ctr).fieldname:= 'P4_p2';
9558 v_ctr := v_ctr + 1;
9559
9560 v_P4Matrix(v_ctr).claims := '220';
9561 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9562 v_P4Matrix(v_ctr).basevalues := '30';
9563 v_P4Matrix(v_ctr).fieldname:= 'P4_p3';
9564 v_ctr := v_ctr + 1;
9565
9566 v_P4Matrix(v_ctr).claims := '220';
9567 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9568 v_P4Matrix(v_ctr).basevalues := '40';
9569 v_P4Matrix(v_ctr).fieldname:= 'P4_p4';
9570 v_ctr := v_ctr + 1;
9571
9572 ------- Claims : Appointment Bases: Color
9573 v_P4Matrix(v_ctr).claims := '220';
9574 v_P4Matrix(v_ctr).bases := 'YES_NO';
9575 v_P4Matrix(v_ctr).basevalues := NULL;
9576 v_P4Matrix(v_ctr).fieldname:= 'P4_p5';
9577 v_ctr := v_ctr + 1;
9578
9579
9580 -------- Claims : Retirement Bases : Religion
9581 v_P4Matrix(v_ctr).claims := '220';
9582 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9583 v_P4Matrix(v_ctr).basevalues := NULL;
9584 v_P4Matrix(v_ctr).fieldname:= 'P4_p6';
9585 v_ctr := v_ctr + 1;
9586
9587 -------- Claims : Retirement Bases : Reprisal
9588 v_P4Matrix(v_ctr).claims := '220';
9589 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9590 v_P4Matrix(v_ctr).basevalues := NULL;
9591 v_P4Matrix(v_ctr).fieldname:= 'P4_p7';
9592 v_ctr := v_ctr + 1;
9593
9594 -------- Claims : Retirement Bases : Sex
9595 v_P4Matrix(v_ctr).claims := '220';
9596 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9597 v_P4Matrix(v_ctr).basevalues := '10';
9598 v_P4Matrix(v_ctr).fieldname:= 'P4_p8';
9599 v_ctr := v_ctr + 1;
9600
9601 v_P4Matrix(v_ctr).claims := '220';
9602 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9603 v_P4Matrix(v_ctr).basevalues := '20';
9604 v_P4Matrix(v_ctr).fieldname:= 'P4_p9';
9605 v_ctr := v_ctr + 1;
9606
9607 -------- Claims : Retirement Bases : National Origin
9608 v_P4Matrix(v_ctr).claims := '220';
9609 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9610 v_P4Matrix(v_ctr).basevalues := '10';
9611 v_P4Matrix(v_ctr).fieldname:= 'P4_p10';
9612 v_ctr := v_ctr + 1;
9613
9614 v_P4Matrix(v_ctr).claims := '220';
9615 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9616 v_P4Matrix(v_ctr).basevalues := '20';
9617 v_P4Matrix(v_ctr).fieldname:= 'P4_p11';
9618 v_ctr := v_ctr + 1;
9619
9620 -------- No Equal pact (columns k and l) for Retirement
9621 ---- Claims : Retirement Bases : Age
9622 v_P4Matrix(v_ctr).claims := '220';
9623 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9624 v_P4Matrix(v_ctr).basevalues := NULL;
9625 v_P4Matrix(v_ctr).fieldname:= 'P4_p14';
9626 v_ctr := v_ctr + 1;
9627
9628 ---- Claims : Retirement Bases : Disability
9629 v_P4Matrix(v_ctr).claims := '220';
9630 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9631 v_P4Matrix(v_ctr).basevalues := '10';
9632 v_P4Matrix(v_ctr).fieldname:= 'P4_p15';
9633 v_ctr := v_ctr + 1;
9634
9635 v_P4Matrix(v_ctr).claims := '220';
9639 v_ctr := v_ctr + 1;
9636 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9637 v_P4Matrix(v_ctr).basevalues := '20';
9638 v_P4Matrix(v_ctr).fieldname:= 'P4_p16';
9640
9641 -- End of Claim Retirement
9642
9643
9644 -------- Claims : Termination Bases : Race
9645 v_P4Matrix(v_ctr).claims := '230';
9646 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9647 v_P4Matrix(v_ctr).basevalues := '10';
9648 v_P4Matrix(v_ctr).fieldname:= 'P4_q1';
9649 v_ctr := v_ctr + 1;
9650
9651 v_P4Matrix(v_ctr).claims := '230';
9652 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9653 v_P4Matrix(v_ctr).basevalues := '20';
9654 v_P4Matrix(v_ctr).fieldname:= 'P4_q2';
9655 v_ctr := v_ctr + 1;
9656
9657 v_P4Matrix(v_ctr).claims := '230';
9658 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9659 v_P4Matrix(v_ctr).basevalues := '30';
9660 v_P4Matrix(v_ctr).fieldname:= 'P4_q3';
9661 v_ctr := v_ctr + 1;
9662
9663 v_P4Matrix(v_ctr).claims := '230';
9664 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9665 v_P4Matrix(v_ctr).basevalues := '40';
9666 v_P4Matrix(v_ctr).fieldname:= 'P4_q4';
9667 v_ctr := v_ctr + 1;
9668
9669 ------- Claims : Termination Bases: Color
9670 v_P4Matrix(v_ctr).claims := '230';
9671 v_P4Matrix(v_ctr).bases := 'YES_NO';
9672 v_P4Matrix(v_ctr).basevalues := NULL;
9673 v_P4Matrix(v_ctr).fieldname:= 'P4_q5';
9674 v_ctr := v_ctr + 1;
9675
9676 -------- Claims : Termination Bases : Religion
9677 v_P4Matrix(v_ctr).claims := '230';
9678 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9679 v_P4Matrix(v_ctr).basevalues := NULL;
9680 v_P4Matrix(v_ctr).fieldname:= 'P4_q6';
9681 v_ctr := v_ctr + 1;
9682
9683 -------- Claims : Termination Bases : Reprisal
9684 v_P4Matrix(v_ctr).claims := '230';
9685 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9686 v_P4Matrix(v_ctr).basevalues := NULL;
9687 v_P4Matrix(v_ctr).fieldname:= 'P4_q7';
9688 v_ctr := v_ctr + 1;
9689
9690 -------- Claims : Termination Bases : Sex
9691 v_P4Matrix(v_ctr).claims := '230';
9692 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9693 v_P4Matrix(v_ctr).basevalues := '10';
9694 v_P4Matrix(v_ctr).fieldname:= 'P4_q8';
9695 v_ctr := v_ctr + 1;
9696
9697 v_P4Matrix(v_ctr).claims := '230';
9698 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9699 v_P4Matrix(v_ctr).basevalues := '20';
9700 v_P4Matrix(v_ctr).fieldname:= 'P4_q9';
9701 v_ctr := v_ctr + 1;
9702
9703 -------- Claims : Termination Bases : National Origin
9704 v_P4Matrix(v_ctr).claims := '230';
9705 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9706 v_P4Matrix(v_ctr).basevalues := '10';
9707 v_P4Matrix(v_ctr).fieldname:= 'P4_q10';
9708 v_ctr := v_ctr + 1;
9709
9710 v_P4Matrix(v_ctr).claims := '230';
9711 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9712 v_P4Matrix(v_ctr).basevalues := '20';
9713 v_P4Matrix(v_ctr).fieldname:= 'P4_q11';
9714 v_ctr := v_ctr + 1;
9715
9716 -------- No Equal pact (columns k and l) for Termination
9717 ---- Claims : Termination Bases : Age
9718 v_P4Matrix(v_ctr).claims := '230';
9719 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9720 v_P4Matrix(v_ctr).basevalues := NULL;
9721 v_P4Matrix(v_ctr).fieldname:= 'P4_q14';
9722 v_ctr := v_ctr + 1;
9723
9724 ---- Claims : Termination Bases : Disability
9725 v_P4Matrix(v_ctr).claims := '230';
9726 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9727 v_P4Matrix(v_ctr).basevalues := '10';
9728 v_P4Matrix(v_ctr).fieldname:= 'P4_q15';
9729 v_ctr := v_ctr + 1;
9730
9731 v_P4Matrix(v_ctr).claims := '230';
9732 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9733 v_P4Matrix(v_ctr).basevalues := '20';
9734 v_P4Matrix(v_ctr).fieldname:= 'P4_q16';
9735 v_ctr := v_ctr + 1;
9736
9737 -- End of Claim Termination
9738
9739
9740 -------- Claims : Terms / Conditions of Employment Bases : Race
9741 v_P4Matrix(v_ctr).claims := '240';
9742 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9743 v_P4Matrix(v_ctr).basevalues := '10';
9744 v_P4Matrix(v_ctr).fieldname:= 'P4_r1';
9745 v_ctr := v_ctr + 1;
9746
9747 v_P4Matrix(v_ctr).claims := '240';
9748 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9749 v_P4Matrix(v_ctr).basevalues := '20';
9750 v_P4Matrix(v_ctr).fieldname:= 'P4_r2';
9751 v_ctr := v_ctr + 1;
9752
9753 v_P4Matrix(v_ctr).claims := '240';
9754 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9755 v_P4Matrix(v_ctr).basevalues := '30';
9756 v_P4Matrix(v_ctr).fieldname:= 'P4_r3';
9757 v_ctr := v_ctr + 1;
9758
9759 v_P4Matrix(v_ctr).claims := '240';
9760 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9761 v_P4Matrix(v_ctr).basevalues := '40';
9762 v_P4Matrix(v_ctr).fieldname:= 'P4_r4';
9763 v_ctr := v_ctr + 1;
9764
9765 ------- Claims : Appointment Bases: Color
9766 v_P4Matrix(v_ctr).claims := '240';
9767 v_P4Matrix(v_ctr).bases := 'YES_NO';
9768 v_P4Matrix(v_ctr).basevalues := NULL;
9769 v_P4Matrix(v_ctr).fieldname:= 'P4_r5';
9770 v_ctr := v_ctr + 1;
9771
9772 -------- Claims : Terms / Conditions of Employment Bases : Religion
9773 v_P4Matrix(v_ctr).claims := '240';
9774 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9775 v_P4Matrix(v_ctr).basevalues := NULL;
9776 v_P4Matrix(v_ctr).fieldname:= 'P4_r6';
9777 v_ctr := v_ctr + 1;
9778
9779 -------- Claims : Terms / Conditions of Employment Bases : Reprisal
9780 v_P4Matrix(v_ctr).claims := '240';
9781 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9782 v_P4Matrix(v_ctr).basevalues := NULL;
9783 v_P4Matrix(v_ctr).fieldname:= 'P4_r7';
9784 v_ctr := v_ctr + 1;
9785
9786 -------- Claims : Terms / Conditions of Employment Bases : Sex
9787 v_P4Matrix(v_ctr).claims := '240';
9788 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9792
9789 v_P4Matrix(v_ctr).basevalues := '10';
9790 v_P4Matrix(v_ctr).fieldname:= 'P4_r8';
9791 v_ctr := v_ctr + 1;
9793 v_P4Matrix(v_ctr).claims := '240';
9794 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9795 v_P4Matrix(v_ctr).basevalues := '20';
9796 v_P4Matrix(v_ctr).fieldname:= 'P4_r9';
9797 v_ctr := v_ctr + 1;
9798
9799 -------- Claims : Terms / Conditions of Employment Bases : National Origin
9800 v_P4Matrix(v_ctr).claims := '240';
9801 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9802 v_P4Matrix(v_ctr).basevalues := '10';
9803 v_P4Matrix(v_ctr).fieldname:= 'P4_r10';
9804 v_ctr := v_ctr + 1;
9805
9806 v_P4Matrix(v_ctr).claims := '240';
9807 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9808 v_P4Matrix(v_ctr).basevalues := '20';
9809 v_P4Matrix(v_ctr).fieldname:= 'P4_r11';
9810 v_ctr := v_ctr + 1;
9811
9812 -------- No Equal pact (columns k and l) for Terms / Conditions of Employment
9813 ---- Claims : Terms / Conditions of Employment Bases : Age
9814 v_P4Matrix(v_ctr).claims := '240';
9815 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9816 v_P4Matrix(v_ctr).basevalues := NULL;
9817 v_P4Matrix(v_ctr).fieldname:= 'P4_r14';
9818 v_ctr := v_ctr + 1;
9819
9820 ---- Claims : Terms / Conditions of Employment Bases : Disability
9821 v_P4Matrix(v_ctr).claims := '240';
9822 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9823 v_P4Matrix(v_ctr).basevalues := '10';
9824 v_P4Matrix(v_ctr).fieldname:= 'P4_r15';
9825 v_ctr := v_ctr + 1;
9826
9827 v_P4Matrix(v_ctr).claims := '240';
9828 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9829 v_P4Matrix(v_ctr).basevalues := '20';
9830 v_P4Matrix(v_ctr).fieldname:= 'P4_r16';
9831 v_ctr := v_ctr + 1;
9832
9833 -- End of Claim Terms / Conditions of Employment
9834
9835
9836 -------- Claims : Time and Attendance Bases : Race
9837 v_P4Matrix(v_ctr).claims := '250';
9838 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9839 v_P4Matrix(v_ctr).basevalues := '10';
9840 v_P4Matrix(v_ctr).fieldname:= 'P4_s1';
9841 v_ctr := v_ctr + 1;
9842
9843 v_P4Matrix(v_ctr).claims := '250';
9844 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9845 v_P4Matrix(v_ctr).basevalues := '20';
9846 v_P4Matrix(v_ctr).fieldname:= 'P4_s2';
9847 v_ctr := v_ctr + 1;
9848
9849 v_P4Matrix(v_ctr).claims := '250';
9850 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9851 v_P4Matrix(v_ctr).basevalues := '30';
9852 v_P4Matrix(v_ctr).fieldname:= 'P4_s3';
9853 v_ctr := v_ctr + 1;
9854
9855 v_P4Matrix(v_ctr).claims := '250';
9856 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9857 v_P4Matrix(v_ctr).basevalues := '40';
9858 v_P4Matrix(v_ctr).fieldname:= 'P4_s4';
9859 v_ctr := v_ctr + 1;
9860
9861 ------- Claims : Appointment Bases: Color
9862 v_P4Matrix(v_ctr).claims := '250';
9863 v_P4Matrix(v_ctr).bases := 'YES_NO';
9864 v_P4Matrix(v_ctr).basevalues := NULL;
9865 v_P4Matrix(v_ctr).fieldname:= 'P4_s5';
9866 v_ctr := v_ctr + 1;
9867
9868 -------- Claims : Time and Attendance Bases : Religion
9869 v_P4Matrix(v_ctr).claims := '250';
9870 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9871 v_P4Matrix(v_ctr).basevalues := NULL;
9872 v_P4Matrix(v_ctr).fieldname:= 'P4_s6';
9873 v_ctr := v_ctr + 1;
9874
9875 -------- Claims : Time and Attendance Bases : Reprisal
9876 v_P4Matrix(v_ctr).claims := '250';
9877 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9878 v_P4Matrix(v_ctr).basevalues := NULL;
9879 v_P4Matrix(v_ctr).fieldname:= 'P4_s7';
9880 v_ctr := v_ctr + 1;
9881
9882 -------- Claims : Time and Attendance Bases : Sex
9883 v_P4Matrix(v_ctr).claims := '250';
9884 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9885 v_P4Matrix(v_ctr).basevalues := '10';
9886 v_P4Matrix(v_ctr).fieldname:= 'P4_s8';
9887 v_ctr := v_ctr + 1;
9888
9889 v_P4Matrix(v_ctr).claims := '250';
9890 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9891 v_P4Matrix(v_ctr).basevalues := '20';
9892 v_P4Matrix(v_ctr).fieldname:= 'P4_s9';
9893 v_ctr := v_ctr + 1;
9894
9895 -------- Claims : Time and Attendance Bases : National Origin
9896 v_P4Matrix(v_ctr).claims := '250';
9897 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9898 v_P4Matrix(v_ctr).basevalues := '10';
9899 v_P4Matrix(v_ctr).fieldname:= 'P4_s10';
9900 v_ctr := v_ctr + 1;
9901
9902 v_P4Matrix(v_ctr).claims := '250';
9903 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9904 v_P4Matrix(v_ctr).basevalues := '20';
9905 v_P4Matrix(v_ctr).fieldname:= 'P4_s11';
9906 v_ctr := v_ctr + 1;
9907
9908 -------- No Equal pact (columns k and l) for Time and Attendance
9909 ---- Claims : Time and Attendance Bases : Age
9910 v_P4Matrix(v_ctr).claims := '250';
9911 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
9912 v_P4Matrix(v_ctr).basevalues := NULL;
9913 v_P4Matrix(v_ctr).fieldname:= 'P4_s14';
9914 v_ctr := v_ctr + 1;
9915
9916 ---- Claims : Time and Attendance Bases : Disability
9917 v_P4Matrix(v_ctr).claims := '250';
9918 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9919 v_P4Matrix(v_ctr).basevalues := '10';
9920 v_P4Matrix(v_ctr).fieldname:= 'P4_s15';
9921 v_ctr := v_ctr + 1;
9922
9923 v_P4Matrix(v_ctr).claims := '250';
9924 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
9925 v_P4Matrix(v_ctr).basevalues := '20';
9926 v_P4Matrix(v_ctr).fieldname:= 'P4_s16';
9927 v_ctr := v_ctr + 1;
9928
9929 -- End of Claim Time and Attendance
9930
9931
9932 -------- Claims : Training Bases : Race
9933 v_P4Matrix(v_ctr).claims := '260';
9934 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9935 v_P4Matrix(v_ctr).basevalues := '10';
9936 v_P4Matrix(v_ctr).fieldname:= 'P4_t1';
9937 v_ctr := v_ctr + 1;
9938
9939 v_P4Matrix(v_ctr).claims := '260';
9943 v_ctr := v_ctr + 1;
9940 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9941 v_P4Matrix(v_ctr).basevalues := '20';
9942 v_P4Matrix(v_ctr).fieldname:= 'P4_t2';
9944
9945 v_P4Matrix(v_ctr).claims := '260';
9946 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9947 v_P4Matrix(v_ctr).basevalues := '30';
9948 v_P4Matrix(v_ctr).fieldname:= 'P4_t3';
9949 v_ctr := v_ctr + 1;
9950
9951 v_P4Matrix(v_ctr).claims := '260';
9952 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
9953 v_P4Matrix(v_ctr).basevalues := '40';
9954 v_P4Matrix(v_ctr).fieldname:= 'P4_t4';
9955 v_ctr := v_ctr + 1;
9956
9957 ------- Claims : Appointment Bases: Color
9958 v_P4Matrix(v_ctr).claims := '260';
9959 v_P4Matrix(v_ctr).bases := 'YES_NO';
9960 v_P4Matrix(v_ctr).basevalues := NULL;
9961 v_P4Matrix(v_ctr).fieldname:= 'P4_t5';
9962 v_ctr := v_ctr + 1;
9963
9964
9965 -------- Claims : Training Bases : Religion
9966 v_P4Matrix(v_ctr).claims := '260';
9967 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
9968 v_P4Matrix(v_ctr).basevalues := NULL;
9969 v_P4Matrix(v_ctr).fieldname:= 'P4_t6';
9970 v_ctr := v_ctr + 1;
9971
9972 -------- Claims : Training Bases : Reprisal
9973 v_P4Matrix(v_ctr).claims := '260';
9974 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
9975 v_P4Matrix(v_ctr).basevalues := NULL;
9976 v_P4Matrix(v_ctr).fieldname:= 'P4_t7';
9977 v_ctr := v_ctr + 1;
9978
9979 -------- Claims : Training Bases : Sex
9980 v_P4Matrix(v_ctr).claims := '260';
9981 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9982 v_P4Matrix(v_ctr).basevalues := '10';
9983 v_P4Matrix(v_ctr).fieldname:= 'P4_t8';
9984 v_ctr := v_ctr + 1;
9985
9986 v_P4Matrix(v_ctr).claims := '260';
9987 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
9988 v_P4Matrix(v_ctr).basevalues := '20';
9989 v_P4Matrix(v_ctr).fieldname:= 'P4_t9';
9990 v_ctr := v_ctr + 1;
9991
9992 -------- Claims : Training Bases : National Origin
9993 v_P4Matrix(v_ctr).claims := '260';
9994 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
9995 v_P4Matrix(v_ctr).basevalues := '10';
9996 v_P4Matrix(v_ctr).fieldname:= 'P4_t10';
9997 v_ctr := v_ctr + 1;
9998
9999 v_P4Matrix(v_ctr).claims := '260';
10000 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
10001 v_P4Matrix(v_ctr).basevalues := '20';
10002 v_P4Matrix(v_ctr).fieldname:= 'P4_t11';
10003 v_ctr := v_ctr + 1;
10004
10005 -------- No Equal pact (columns k and l) for Training
10006 ---- Claims : Training Bases : Age
10007 v_P4Matrix(v_ctr).claims := '260';
10008 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
10009 v_P4Matrix(v_ctr).basevalues := NULL;
10010 v_P4Matrix(v_ctr).fieldname:= 'P4_t14';
10011 v_ctr := v_ctr + 1;
10012
10013 ---- Claims : Training Bases : Disability
10014 v_P4Matrix(v_ctr).claims := '260';
10015 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
10016 v_P4Matrix(v_ctr).basevalues := '10';
10017 v_P4Matrix(v_ctr).fieldname:= 'P4_t15';
10018 v_ctr := v_ctr + 1;
10019
10020 v_P4Matrix(v_ctr).claims := '260';
10021 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
10022 v_P4Matrix(v_ctr).basevalues := '20';
10023 v_P4Matrix(v_ctr).fieldname:= 'P4_t16';
10024 v_ctr := v_ctr + 1;
10025
10026 -- End of Claim Training
10027 -------- Claims : Other Bases : Race
10028 v_P4Matrix(v_ctr).claims := '270';
10029 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
10030 v_P4Matrix(v_ctr).basevalues := '10';
10031 v_P4Matrix(v_ctr).fieldname:= 'P4_u1';
10032 v_ctr := v_ctr + 1;
10033
10034 v_P4Matrix(v_ctr).claims := '270';
10035 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
10036 v_P4Matrix(v_ctr).basevalues := '20';
10037 v_P4Matrix(v_ctr).fieldname:= 'P4_u2';
10038 v_ctr := v_ctr + 1;
10039
10040 v_P4Matrix(v_ctr).claims := '270';
10041 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
10042 v_P4Matrix(v_ctr).basevalues := '30';
10043 v_P4Matrix(v_ctr).fieldname:= 'P4_u3';
10044 v_ctr := v_ctr + 1;
10045
10046 v_P4Matrix(v_ctr).claims := '270';
10047 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_RC_BASIS';
10048 v_P4Matrix(v_ctr).basevalues := '40';
10049 v_P4Matrix(v_ctr).fieldname:= 'P4_u4';
10050 v_ctr := v_ctr + 1;
10051
10052 ------- Claims : Appointment Bases: Color
10053 v_P4Matrix(v_ctr).claims := '270';
10054 v_P4Matrix(v_ctr).bases := 'YES_NO';
10055 v_P4Matrix(v_ctr).basevalues := NULL;
10056 v_P4Matrix(v_ctr).fieldname:= 'P4_u5';
10057 v_ctr := v_ctr + 1;
10058
10059 -------- Claims : Other Bases : Religion
10060 v_P4Matrix(v_ctr).claims := '270';
10061 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REL_BASIS';
10062 v_P4Matrix(v_ctr).basevalues := NULL;
10063 v_P4Matrix(v_ctr).fieldname:= 'P4_u6';
10064 v_ctr := v_ctr + 1;
10065
10066 -------- Claims : Other Bases : Reprisal
10067 v_P4Matrix(v_ctr).claims := '270';
10068 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_REP_BASIS';
10069 v_P4Matrix(v_ctr).basevalues := NULL;
10070 v_P4Matrix(v_ctr).fieldname:= 'P4_u7';
10071 v_ctr := v_ctr + 1;
10072
10073 -------- Claims : Other Bases : Sex
10074 v_P4Matrix(v_ctr).claims := '270';
10075 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
10076 v_P4Matrix(v_ctr).basevalues := '10';
10077 v_P4Matrix(v_ctr).fieldname:= 'P4_u8';
10078 v_ctr := v_ctr + 1;
10079
10080 v_P4Matrix(v_ctr).claims := '270';
10081 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_SEX_BASIS';
10082 v_P4Matrix(v_ctr).basevalues := '20';
10083 v_P4Matrix(v_ctr).fieldname:= 'P4_u9';
10084 v_ctr := v_ctr + 1;
10085
10086 -------- Claims : Other Bases : National Origin
10087 v_P4Matrix(v_ctr).claims := '270';
10088 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
10089 v_P4Matrix(v_ctr).basevalues := '10';
10090 v_P4Matrix(v_ctr).fieldname:= 'P4_u10';
10091 v_ctr := v_ctr + 1;
10092
10093 v_P4Matrix(v_ctr).claims := '270';
10094 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_NO_BASIS';
10095 v_P4Matrix(v_ctr).basevalues := '20';
10096 v_P4Matrix(v_ctr).fieldname:= 'P4_u11';
10097 v_ctr := v_ctr + 1;
10098
10099 -------- No Equal pact (columns k and l) for Other
10100 ---- Claims : Other Bases : Age
10101 v_P4Matrix(v_ctr).claims := '270';
10102 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_AGE_BASIS';
10103 v_P4Matrix(v_ctr).basevalues := NULL;
10104 v_P4Matrix(v_ctr).fieldname:= 'P4_u14';
10105 v_ctr := v_ctr + 1;
10106
10107 ---- Claims : Other Bases : Disability
10108 v_P4Matrix(v_ctr).claims := '270';
10109 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
10110 v_P4Matrix(v_ctr).basevalues := '10';
10111 v_P4Matrix(v_ctr).fieldname:= 'P4_u15';
10112 v_ctr := v_ctr + 1;
10113
10114 v_P4Matrix(v_ctr).claims := '270';
10115 v_P4Matrix(v_ctr).bases := 'GHR_US_COM_HC_BASIS';
10116 v_P4Matrix(v_ctr).basevalues := '20';
10117 v_P4Matrix(v_ctr).fieldname:= 'P4_u16';
10118 v_ctr := v_ctr + 1;
10119
10120 -- End of Claim Other
10121
10122 END PopulatePart4Matrix;
10123
10124
10125 END ghr_462;