[Home] [Help]
PACKAGE BODY: APPS.POA_CM_EVAL_SCORES_ICX
Source
1 PACKAGE BODY POA_cm_eval_scores_icx AS
2 /* $Header: POACMSCB.pls 115.15 2003/04/29 21:47:10 rvickrey ship $ */
3
4 PROCEDURE Reload_Header(p_header t_header_record, error_msg VARCHAR2)
5 IS
6 BEGIN
7 poa_cm_evaluation_icx.header_page( p_header.custom_measure_code,
8 p_header.custom_measure,
9 p_header.period_type,
10 p_header.user_period_type,
11 p_header.period_name,
12 p_header.supplier_id,
13 p_header.supplier,
14 p_header.supplier_site_id,
15 p_header.supplier_site,
16 p_header.category_id,
17 p_header.commodity,
18 p_header.item_id,
19 p_header.item,
20 p_header.comments,
21 p_header.evaluated_by_id,
22 p_header.evaluated_by,
23 p_header.org_id,
24 p_header.oper_unit_id,
25 p_header.operating_unit,
26 p_header.submit_type,
27 p_header.evaluation_id,
28 error_msg);
29 END;
30
31 PROCEDURE Get_Criteria_Info( p_category_id IN NUMBER,
32 p_oper_unit_id IN NUMBER,
33 p_table IN OUT NOCOPY t_criteria_table)
34 IS
35
36 precedence VARCHAR2(80) := FND_PROFILE.value('CUSTOM_MEASURE_PRECEDENCE');
37
38 l_criteria_table t_criteria_table;
39 l_index number := 0;
40 l_progress varchar2(240) := '';
41
42 type t_Criteria_Cursor is ref cursor return t_criteria_record;
43
44 c_Criteria t_Criteria_Cursor;
45
46 BEGIN
47
48 l_progress := '001';
49
50 open c_Criteria for
51 select criteria_code, weight, min_score, max_score
52 from poa_cm_distributions
53 where category_id = nvl(p_category_id, -1)
54 and organization_id = nvl(p_oper_unit_id, -1)
55 order by criteria_code;
56
57 l_progress := '002';
58
59 loop
60
61 fetch c_Criteria into l_criteria_table(l_index);
62
63 exit when c_Criteria%NOTFOUND;
64
65 l_index := l_index + 1;
66
67 end loop;
68
69 l_progress := '003';
70
71 close c_Criteria;
72
73 if (l_index = 0) then
74
75 if precedence = 'COMMODITY-OU' then
76
77 l_progress := '004';
78
79 open c_Criteria for
80 select criteria_code, weight, min_score, max_score
81 from poa_cm_distributions
82 where category_id = nvl(p_category_id, -1)
83 and organization_id is null
84 order by criteria_code;
85
86 elsif precedence = 'OU-COMMODITY' then
87
88 l_progress := '005';
89
90 open c_Criteria for
91 select criteria_code, weight, min_score, max_score
92 from poa_cm_distributions
93 where organization_id = nvl(p_oper_unit_id, -1)
94 and category_id is null
95 order by criteria_code;
96
97 end if;
98
99 l_progress := '006';
100
101 loop
102
103 fetch c_Criteria into l_criteria_table(l_index);
104
105 exit when c_Criteria%NOTFOUND;
106
107 l_index := l_index + 1;
108
109 end loop;
110
111 l_progress := '007';
112
113 close c_Criteria;
114
115 if (l_index = 0) then
116
117 if precedence = 'COMMODITY-OU' then
118
119 l_progress := '008';
120
121 open c_Criteria for
122 select criteria_code, weight, min_score, max_score
123 from poa_cm_distributions
124 where organization_id = nvl(p_oper_unit_id, -1)
125 and category_id is null
126 order by criteria_code;
127
128 elsif precedence = 'OU-COMMODITY' then
129
130 l_progress := '009';
131
132 open c_Criteria for
133 select criteria_code, weight, min_score, max_score
134 from poa_cm_distributions
135 where category_id = nvl(p_category_id, -1)
136 and organization_id is null
137 order by criteria_code;
138
139 end if;
140
141 l_progress := '010';
142
143 loop
144
145 fetch c_Criteria into l_criteria_table(l_index);
146
147 exit when c_Criteria%NOTFOUND;
148
149 l_index := l_index + 1;
150
151 end loop;
152
153 l_progress := '011';
154
155 close c_Criteria;
156
157 if (l_index = 0) then
158
159 open c_Criteria for
160 select criteria_code, weight, min_score, max_score
161 from poa_cm_distributions
162 where category_id is null
163 and organization_id is null
164 order by criteria_code;
165
166 l_progress := '012';
167
168 loop
169
170 fetch c_Criteria into l_criteria_table(l_index);
171
172 exit when c_Criteria%NOTFOUND;
173
174 l_index := l_index + 1;
175
176 end loop;
177
178 l_progress := '013';
179
180 close c_Criteria;
181
182 end if;
183
184 end if;
185
186 end if;
187
188 l_progress := '014';
189
190 p_table := l_criteria_table;
191
192 EXCEPTION
193 when others then
194 null;
195 END;
196
197 PROCEDURE PrintCSS IS
198 BEGIN
199
200 htp.p('<STYLE TYPE="text/css">');
201 htp.p('<!--');
202 htp.p('font.pagetitle');
203 htp.p(' {font-family: Arial, sans-serif;');
204 htp.p(' font-style: italic;');
205 htp.p(' font-weight: bold;');
206 htp.p(' color: black;');
207 htp.p(' font-size: 14pt;}');
208 htp.p('font.itemtitle');
209 htp.p(' {font-family: Arial, sans-serif;');
210 htp.p(' font-weight: bold;');
211 htp.p(' color: white;');
212 htp.p(' font-size: 14pt;}');
213 htp.p('font.bartitle');
214 htp.p(' {font-family: Arial, sans-serif;');
215 htp.p(' color: black;');
216 htp.p(' font-weight: bold;');
217 htp.p(' font-size: 8pt;}');
218 htp.p('font.containertitle');
219 htp.p(' {font-family: Arial, sans-serif;');
220 htp.p(' font-style: italic;');
221 htp.p(' font-weight: bold;');
222 htp.p(' color: #cccccc;');
223 htp.p(' font-size: 14pt;}');
224 htp.p('font.graytab');
225 htp.p(' {font-family: Arial, sans-serif;');
226 htp.p(' color: black;');
227 htp.p(' text-decoration: none;');
228 htp.p(' font-size: 10pt;}');
229 htp.p('font.purpletab');
230 htp.p(' {font-family: Arial, sans-serif;');
231 htp.p(' color: white;');
232 htp.p(' text-decoration: none;');
233 htp.p(' font-size: 10pt;}');
234 htp.p('font.promptblack');
235 htp.p(' {font-family: Arial, sans-serif;');
236 htp.p(' color: black;');
237 htp.p(' text-decoration: none;');
238 htp.p(' font-size: 10pt;}');
239 htp.p('font.helptext');
240 htp.p(' {font-family: Arial, sans-serif;');
241 htp.p(' font-style: italic;');
242 htp.p(' color: black;');
243 htp.p(' font-size: 10pt;}');
244 htp.p('font.helptitle ');
245 htp.p(' {font-family: Arial, sans-serif;');
246 htp.p(' font-style: italic;');
247 htp.p(' font-weight: bold;');
248 htp.p(' color: black;');
249 htp.p(' font-size: 14pt;}');
250 htp.p('font.promptwhite');
251 htp.p(' {font-family: sans-serif;');
252 htp.p(' font-face: arial;');
253 htp.p(' color: white;');
254 htp.p(' font-size: 10pt;}');
255 htp.p('font.datablack');
256 htp.p(' {font-family: Arial, sans-serif;');
257 htp.p(' font-weight: bold;');
258 htp.p(' color: black;');
259 htp.p(' font-size: 10pt;}');
260 htp.p('font.fielddata ');
261 htp.p(' {font-family: Arial, sans-serif;');
262 htp.p(' font-weight: bold;');
263 htp.p(' color: black;');
264 htp.p(' font-size: 10pt;}');
265 htp.p('font.tablefielddata ');
266 htp.p(' {font-family: "arial narrow", sans-serif;');
267 htp.p(' font-weight: bold;');
268 htp.p(' color: black;');
269 htp.p(' font-size: 10pt;}');
270 htp.p('font.tabledata ');
271 htp.p(' {font-family: Arial, sans-serif;');
272 htp.p(' color: black;');
273 htp.p(' font-size: 10pt;}');
274 htp.p('font.button');
275 htp.p(' {font-family: Arial, sans-serif;');
276 htp.p(' color: black;');
277 htp.p(' text-decoration: none;');
278 htp.p(' font-size: 10pt;}');
279 htp.p('font.link');
280 htp.p(' {font-family: Arial, sans-serif;');
281 htp.p(' color: blue;');
282 htp.p(' text-decoration: underline;');
283 htp.p(' font-size: 10pt;}');
284 htp.p('font.linkbold');
285 htp.p(' {font-family: Arial, sans-serif;');
286 htp.p(' font-weight: bold;');
287 htp.p(' color: blue;');
288 htp.p(' text-decoration: underline;');
289 htp.p(' font-size: 10pt;}');
290 htp.p('font.dropdownmenu');
291 htp.p(' {font-family: Arial, sans-serif;');
292 htp.p(' color: #003366;');
293 htp.p(' font-style: italic;');
294 htp.p(' font-size: 16pt;}');
295 htp.p('-->');
296 htp.p('</STYLE>');
297
298 END PrintCSS;
299
300 PROCEDURE PrintBottomButtons(p_language IN VARCHAR2, which_one IN NUMBER) IS
301 BEGIN
302
303
304 htp.p('
305 <table width=100% border=0 cellspacing=0 cellpadding=15>
306 <tr>
307 <td>
308 <table width=100% border=0 cellspacing=0 cellpadding=0>
309 <tr>
310 <td width=604> </td>
311 <td rowspan=2 valign=bottom width=12><img src=/OA_MEDIA/bisslghr.gif width=12 height=14></td>
312 </tr>
313 <tr>
314 <td bgcolor=#CCCC99 height=1><img src=/OA_MEDIA/bisspace.gif width=1 height=1></td>
315 </tr>
316 <tr>
317 <td height=5><img src=http:/OA_MEDIA/bisspace.gif width=1 height=1></td>
318 </tr>
319
320 <tr>
321 <td align="right"> <span class="OraALinkText"><span class="OraALinkText"> ');
322
323 if (which_one = 1) then
324 htp.p('
325 <A href=OracleNavigate.Responsibility onMouseOver="window.status=''Cancel'';return true"><img src=/OA_MEDIA/poacancl.gif border="0"></a>
326 <A href="javascript:window.history.back()" onMouseOver="window.status=''Back'';return true"><img src=/OA_MEDIA/poaback.gif border="0"></a>
327 <A href="javascript:submitDoc(''Done'')" onMouseOver="window.status=''Save'';return true"><img src=/OA_MEDIA/poasave.gif border="0"></a> ');
328 end if;
329
330 if (which_one = 3) then
331 htp.p('
332 <A href=OracleNavigate.Responsibility onMouseOver="window.status=''Cancel'';return true"><img src=/OA_MEDIA/poacancl.gif border="0"></a>
333 <A href="javascript:window.history.back()" onMouseOver="window.status=''Back'';return true"><img src=/OA_MEDIA/poaback.gif border="0"></a> ');
334 end if;
335
336 if (which_one = 2) then
337 htp.p('
338 <A href="javascript:window.history.back()" onMouseOver="window.status=''Back'';return true"><img src=/OA_MEDIA/poaback.gif border="0"></a>
339 <a href="javascript:document.POA_CM_EVAL_SCORES_R.submit()" onMouseOver="window.status=''Modify'';return true"><img src=/OA_MEDIA/poamodfy.gif border="0"></a> ');
340 end if;
341
342 htp.p('
343 </span></span></td>
344 </tr>
345 </table>
346 </td>
347 </tr>
348 </table>
349 ');
350
351 END PrintBottomButtons;
352
353 PROCEDURE redirect_page(poa_cm_custom_measure_code IN VARCHAR2 DEFAULT NULL,
354 poa_cm_custom_measure IN VARCHAR2 DEFAULT NULL,
355 poa_cm_period_type IN VARCHAR2 DEFAULT NULL,
356 poa_cm_user_period_type IN VARCHAR2 DEFAULT NULL,
357 poa_cm_period_name IN VARCHAR2 DEFAULT NULL,
358 poa_cm_supplier_id IN VARCHAR2 DEFAULT NULL,
359 poa_cm_supplier IN VARCHAR2 DEFAULT NULL,
360 poa_cm_supplier_site_id IN VARCHAR2 DEFAULT NULL,
361 poa_cm_supplier_site IN VARCHAR2 DEFAULT NULL,
362 poa_cm_category_id IN VARCHAR2 DEFAULT NULL,
363 poa_cm_commodity IN VARCHAR2 DEFAULT NULL,
364 poa_cm_item_id IN VARCHAR2 DEFAULT NULL,
365 poa_cm_item IN VARCHAR2 DEFAULT NULL,
366 poa_cm_comments IN VARCHAR2 DEFAULT NULL,
367 poa_cm_evaluated_by_id IN VARCHAR2 DEFAULT NULL,
368 poa_cm_evaluated_by IN VARCHAR2 DEFAULT NULL,
369 poa_cm_org_id IN VARCHAR2 DEFAULT NULL,
370 poa_cm_oper_unit_id IN VARCHAR2 DEFAULT NULL,
371 poa_cm_operating_unit IN VARCHAR2 DEFAULT NULL,
372 POA_CM_SUBMIT_TYPE IN VARCHAR2 DEFAULT NULL,
373 POA_CM_EVALUATION_ID IN VARCHAR2 DEFAULT NULL
374 ) IS
375
376 x_category_set_id NUMBER;
377 x_structure_id NUMBER;
378 x_organization_id NUMBER;
379
380 l_language VARCHAR2(5);
381 l_script_name VARCHAR2(240);
382
383 l_period_type VARCHAR2(15) := poa_cm_period_type;
384 l_period_name VARCHAR2(15) := poa_cm_period_name;
385 l_supplier_id NUMBER := to_number(poa_cm_supplier_id);
386 l_supplier_site_id NUMBER := to_number(poa_cm_supplier_site_id);
387 l_org_id NUMBER := to_number(poa_cm_org_id);
388 l_category_id NUMBER := to_number(poa_cm_category_id);
389 l_item_id NUMBER := to_number(poa_cm_item_id);
390 l_evaluated_by_id NUMBER := to_number(poa_cm_evaluated_by_id);
391 l_oper_unit_id NUMBER := to_number(poa_cm_oper_unit_id);
392 l_evaluation_id NUMBER := to_number(poa_cm_evaluation_id);
393
394 l_user_period_type VARCHAR2(15) := poa_cm_user_period_type;
395 l_supplier_name PO_VENDORS.VENDOR_NAME%TYPE := poa_cm_supplier;
396 l_site_name VARCHAR2(15) := poa_cm_supplier_site;
397 l_operating_unit hr_all_organization_units.NAME%TYPE := poa_cm_operating_unit;
398 l_commodity VARCHAR2(81) := poa_cm_commodity;
399 l_item VARCHAR2(40) := poa_cm_item;
400 l_evaluated_by VARCHAR2(240):= poa_cm_evaluated_by;
401 l_submit_type VARCHAR2(10) := poa_cm_submit_type;
402
403 temp_var VARCHAR2(1) := null;
404
405 l_progress VARCHAR2(240);
406 l_header t_header_record;
407
408 BEGIN
409
410
411 l_header.custom_measure_code := poa_cm_custom_measure_code;
412 l_header.custom_measure := poa_cm_custom_measure;
413 l_header.period_type := poa_cm_period_type;
414 l_header.user_period_type := poa_cm_user_period_type;
415 l_header.period_name := poa_cm_period_name;
416 l_header.supplier_id := poa_cm_supplier_id;
417 l_header.supplier := poa_cm_supplier;
418 l_header.supplier_site_id := poa_cm_supplier_site_id ;
419 l_header.supplier_site := poa_cm_supplier_site;
420 l_header.category_id := poa_cm_category_id;
421 l_header.commodity := poa_cm_commodity;
422 l_header.item_id := poa_cm_item_id;
423 l_header.item := poa_cm_item;
424 l_header.comments := poa_cm_comments;
425 l_header.evaluated_by_id := poa_cm_evaluated_by_id;
426 l_header.evaluated_by := poa_cm_evaluated_by;
427 l_header.org_id := poa_cm_org_id;
428 l_header.oper_unit_id := poa_cm_oper_unit_id;
429 l_header.operating_unit := poa_cm_operating_unit;
430 l_header.submit_type := poa_cm_submit_type;
431 l_header.evaluation_id := poa_cm_evaluation_id;
432
433
434 -- Set multi-org context
435
436 l_progress := '001';
437
438 fnd_client_info.set_org_context(poa_cm_org_id);
439
440 -- Get Period Type
441
442 begin
443 if l_period_type is null then
444
445 SELECT period_type
446 INTO l_period_type
447 FROM gl_period_types
448 WHERE USER_PERIOD_TYPE = l_user_period_type;
449
450 if l_period_type is null then
451 reload_header(l_header, 'Invalid Period Type');
452 return;
453 end if;
454
455 end if;
456
457 exception
458 when others then
459 reload_header(l_header, 'Invalid Period Type');
460 return;
461 end;
462
463 --Check period name
464
465 begin
466
467 SELECT count(1)
468 INTO temp_var
469 FROM gl_periods
470 WHERE PERIOD_NAME = l_period_name
471 AND PERIOD_TYPE = l_period_type;
472
473 if temp_var = 0 then
474 reload_header(l_header, 'Invalid Period Name');
475 return;
476 end if;
477
478 exception
479 when others then
480 reload_header(l_header, 'Invalid Period Name');
481 return;
482 end;
483
484 -- Get supplier id
485
486 l_progress := '00';
487
488 begin
489
490 if l_supplier_id is null then
491
492 SELECT min(vendor_id)
493 INTO l_supplier_id
494 FROM PO_VENDORS
495 WHERE VENDOR_NAME = l_supplier_name;
496
497 if l_supplier_id is null then
498 reload_header(l_header, 'Invalid Supplier');
499 return;
500 end if;
501
502 end if;
503
504 exception
505 when others then
506 reload_header(l_header, 'Invalid Supplier');
507 return;
508 end;
509
510 -- Get supplier site id
511
512 begin
513 if (l_supplier_site_id is null) AND (l_site_name is not null) then
514
515 SELECT min(vendor_site_id)
516 INTO l_supplier_site_id
517 FROM PO_VENDOR_SITES
518 WHERE VENDOR_SITE_CODE = l_site_name
519 AND VENDOR_ID = nvl(l_supplier_id,-1);
520
521 if l_supplier_site_id is null then
522 reload_header(l_header, 'Invalid Supplier Site');
523 return;
524 end if;
525
526 end if;
527
528 exception
529 when others then
530 reload_header(l_header, 'Invalid Supplier Site');
531 return;
532 end;
533
534 -- Get oper_unit_id
535
536 begin
537 if (l_oper_unit_id is null) and (l_operating_unit is not null) then
538
539 SELECT min(organization_id)
540 INTO l_oper_unit_id
541 FROM HR_OPERATING_UNITS
542 WHERE name = l_operating_unit AND EXISTS (
543 SELECT '1' FROM PO_VENDOR_SITES_ALL WHERE
544 vendor_site_id = nvl(l_supplier_site_id, vendor_site_id));
545
546 if l_oper_unit_id is null then
547 reload_header(l_header, 'Invalid Operating Unit');
548 return;
549 end if;
550
551 end if;
552
553 exception
554 when others then
555 reload_header(l_header, 'Invalid Operating Unit');
556 return;
557 end;
558
559 -- Get Category id
560
561 po_core_s.get_item_category_structure(x_category_set_id, x_structure_id);
562
563 begin
564
565 if (l_category_id is null) and (l_commodity is not null) then
566
567 SELECT min(category_id)
568 INTO l_category_id
569 FROM mtl_categories_kfv
570 WHERE CONCATENATED_SEGMENTS = l_commodity
571 AND STRUCTURE_ID = x_structure_id;
572
573 if l_category_id is null then
574 reload_header(l_header, 'Invalid Category');
575 return;
576 end if;
577
578 end if;
579
580 exception
581 when others then
582 reload_header(l_header, 'Invalid Category');
583 return;
584 end;
585
586 begin
587
588 -- Get organization_id
589
590 SELECT inventory_organization_id
591 INTO x_organization_id
592 FROM financials_system_parameters;
593
594 -- Get item id
595
596 if (l_item_id is null) and (l_item is not null) then
597 SELECT min(msi.inventory_item_id)
598 INTO l_item_id
599 FROM mtl_system_items_kfv msi,
600 mtl_item_categories mic
601 WHERE msi.CONCATENATED_SEGMENTS = l_item
602 AND msi.organization_id = x_organization_id
603 AND msi.inventory_item_id = mic.inventory_item_id
604 AND msi.organization_id = mic.organization_id
605 AND mic.category_set_id = x_category_set_id
606 AND nvl(l_category_id, mic.category_id) = mic.category_id;
607
608 if l_item_id is null then
609 reload_header(l_header, 'Invalid Tom');
610 return;
611 end if;
612
613 end if;
614
615 -- Get Category_id from item if category_id is null;
616
617 if (l_category_id is null) and (l_item_id is not null) then
618
619 SELECT CATEGORY_ID
620 INTO l_category_id
621 FROM mtl_item_categories
622 WHERE organization_id = x_organization_id
623 AND category_set_id = x_category_set_id
624 AND INVENTORY_ITEM_ID = l_item_id;
625
626 end if;
627
628 exception
629 when others then
630 reload_header(l_header, SQLERRM || ',' || x_organization_id || ',' ||
631 x_category_set_id || ',' || l_item_id);
632 return;
633 end;
634
635 -- Get evaluator id
636
637 begin
638
639 if (l_evaluated_by_id is null) and (l_evaluated_by is not null) then
640
641 SELECT orig_system_id
642 INTO l_evaluated_by_id
643 FROM WF_USERS
644 WHERE NAME = l_evaluated_by;
645
646 if l_evaluated_by_id is null then
647 reload_header(l_header, 'Invalid Evaluator');
648 return;
649 end if;
650 end if;
651
652 exception
653 when others then
654 reload_header(l_header, 'Invalid Evaluator');
655 return;
656 end;
657
658
659
660 if (POA_CM_SUBMIT_TYPE = 'Next') then
661 poa_cm_eval_scores_icx.score_entry_page(
662 poa_cm_custom_measure_code ,
663 poa_cm_custom_measure ,
664 l_period_type ,
665 poa_cm_user_period_type ,
666 poa_cm_period_name ,
667 l_supplier_id ,
668 poa_cm_supplier ,
669 l_supplier_site_id ,
670 poa_cm_supplier_site ,
671 l_category_id ,
672 poa_cm_commodity ,
673 l_item_id ,
674 poa_cm_item ,
675 poa_cm_comments ,
676 l_evaluated_by_id ,
677 poa_cm_evaluated_by ,
678 poa_cm_org_id ,
679 l_oper_unit_id ,
680 poa_cm_operating_unit ,
681 'Update' ,
682 POA_CM_EVALUATION_ID );
683 end if;
684
685 if (POA_CM_SUBMIT_TYPE = 'Update') then
686 poa_cm_eval_scores_icx.query_evals(
687 poa_cm_custom_measure_code ,
688 poa_cm_custom_measure ,
689 l_period_type ,
690 poa_cm_user_period_type ,
691 poa_cm_period_name ,
692 l_supplier_id ,
693 poa_cm_supplier ,
694 l_supplier_site_id ,
695 poa_cm_supplier_site ,
696 l_category_id ,
697 poa_cm_commodity ,
698 l_item_id ,
699 poa_cm_item ,
700 poa_cm_comments ,
701 l_evaluated_by_id ,
702 poa_cm_evaluated_by ,
703 poa_cm_org_id ,
704 l_oper_unit_id ,
705 poa_cm_operating_unit ,
706 poa_cm_submit_type ,
707 poa_cm_evaluation_id );
708 end if;
709
710 if (POA_CM_SUBMIT_TYPE is null) then
711 poa_cm_evaluation_icx.header_page();
712 end if;
713
714 END redirect_page;
715
716 PROCEDURE score_entry_page(poa_cm_custom_measure_code IN VARCHAR2 DEFAULT NULL,
717 poa_cm_custom_measure IN VARCHAR2 DEFAULT NULL,
718 poa_cm_period_type IN VARCHAR2 DEFAULT NULL,
719 poa_cm_user_period_type IN VARCHAR2 DEFAULT NULL,
720 poa_cm_period_name IN VARCHAR2 DEFAULT NULL,
721 poa_cm_supplier_id IN VARCHAR2 DEFAULT NULL,
722 poa_cm_supplier IN VARCHAR2 DEFAULT NULL,
723 poa_cm_supplier_site_id IN VARCHAR2 DEFAULT NULL,
724 poa_cm_supplier_site IN VARCHAR2 DEFAULT NULL,
725 poa_cm_category_id IN VARCHAR2 DEFAULT NULL,
726 poa_cm_commodity IN VARCHAR2 DEFAULT NULL,
727 poa_cm_item_id IN VARCHAR2 DEFAULT NULL,
728 poa_cm_item IN VARCHAR2 DEFAULT NULL,
729 poa_cm_comments IN VARCHAR2 DEFAULT NULL,
730 poa_cm_evaluated_by_id IN VARCHAR2 DEFAULT NULL,
731 poa_cm_evaluated_by IN VARCHAR2 DEFAULT NULL,
732 poa_cm_org_id IN VARCHAR2 DEFAULT NULL,
733 poa_cm_oper_unit_id IN VARCHAR2 DEFAULT NULL,
734 poa_cm_operating_unit IN VARCHAR2 DEFAULT NULL,
735 poa_cm_submit_type IN VARCHAR2 DEFAULT NULL,
736 poa_cm_evaluation_id IN VARCHAR2 DEFAULT NULL
737 ) IS
738
739 l_language VARCHAR2(5);
740 l_script_name VARCHAR2(240);
741
742 l_period_type VARCHAR2(15) := poa_cm_period_type;
743 l_period_name VARCHAR2(15) := poa_cm_period_name;
744 l_supplier_id NUMBER := to_number(poa_cm_supplier_id);
745 l_supplier_site_id NUMBER := to_number(poa_cm_supplier_site_id);
746 l_org_id NUMBER := to_number(poa_cm_org_id);
747 l_category_id NUMBER := to_number(poa_cm_category_id);
748 l_item_id NUMBER := to_number(poa_cm_item_id);
749 l_evaluated_by_id NUMBER := to_number(poa_cm_evaluated_by_id);
750 l_oper_unit_id NUMBER := to_number(poa_cm_oper_unit_id);
751 l_evaluation_id NUMBER := to_number(poa_cm_evaluation_id);
752
753 l_user_period_type VARCHAR2(15) := poa_cm_user_period_type;
754 l_supplier_name PO_VENDORS.VENDOR_NAME%TYPE := poa_cm_supplier;
755 l_site_name VARCHAR2(15) := poa_cm_supplier_site;
756 l_operating_unit hr_all_organization_units.NAME%TYPE := poa_cm_operating_unit;
757 l_commodity VARCHAR2(81) := poa_cm_commodity;
758 l_item VARCHAR2(40) := poa_cm_item;
759 l_evaluated_by VARCHAR2(240):= poa_cm_evaluated_by;
760 l_submit_type VARCHAR2(10) := poa_cm_submit_type;
761
762 l_criteria_table t_criteria_table;
763 v_Criteria VARCHAR2(80);
764
765 l_scores_table t_scores_table;
766 l_index NUMBER := 0;
767
768 type t_Scores_Cursor is ref cursor return t_scores_record;
769 c_eval_scores t_Scores_Cursor;
770
771 type t_Criteria_Cursor is ref cursor return t_criteria_record;
772 c_Criteria t_Criteria_Cursor;
773
774 BEGIN
775
776 IF (l_evaluation_id is null) THEN
777
778 Get_Criteria_Info( l_category_id,
779 l_oper_unit_id,
780 l_criteria_table);
781
782 ELSE
783
784 SELECT category_id, oper_unit_id
785 INTO l_category_id, l_oper_unit_id
786 FROM poa_cm_evaluation
787 WHERE evaluation_id = l_evaluation_id;
788
789 open c_Criteria for
790 select criteria_code, weight, min_score, max_score
791 from poa_cm_eval_scores
792 where evaluation_id = l_evaluation_id;
793
794 loop
795 fetch c_Criteria into l_criteria_table(l_index);
796 exit when c_Criteria%NOTFOUND;
797 l_index := l_index + 1;
798 end loop;
799
800 FOR v_counter IN 1..l_criteria_table.count LOOP
801
802 OPEN c_eval_scores FOR
803 SELECT score, comments
804 FROM poa_cm_eval_scores
805 WHERE evaluation_id = l_evaluation_id
806 AND criteria_code = l_criteria_table(v_counter-1).criteria_code;
807
808 FETCH c_eval_scores INTO l_scores_table(v_counter-1).score, l_scores_table(v_counter-1).comments;
809
810 CLOSE c_eval_scores;
811 END LOOP;
812
813 END IF;
814
815
816 IF NOT icx_sec.validatesession THEN
817 RETURN;
818 END IF;
819
820 l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
821 l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
822
823 htp.htmlOpen;
824 htp.title('Survey Response Scores');
825
826 js.scriptOpen;
827
828 htp.p('
829 function weighted_score(linenum)
830 {
831 var f = document.POA_CM_EVAL_SCORES_R;
832
833 if (isNaN(f.SCORE[linenum].value))
834 {
835 alert(''Please enter a valid score.'');
836 f.SCORE[linenum].focus();
837 return;
838 }
839
840 if (f.SCORE[linenum].value * 1 > f.MAX_SCORE[linenum].value * 1)
841 {
842 alert(''Score is out of range.'');
843 f.SCORE[linenum].focus();
844 return;
845 }
846
847 if (f.SCORE[linenum].value * 1 < f.MIN_SCORE[linenum].value * 1)
848 {
849 alert(''Score is out of range.'');
850 f.SCORE[linenum].focus();
851 return;
852 }
853
854 if (f.WEIGHT[linenum].value * 1 == -1)
855 {
856 f.WEIGHTED_SCORE[linenum].value = f.SCORE[linenum].value;
857 }
858 else
859 {
860 f.WEIGHTED_SCORE[linenum].value = roundDecimal(((f.SCORE[linenum].value - f.MIN_SCORE[linenum].value) *
861 f.WEIGHT[linenum].value /
862 (f.MAX_SCORE[linenum].value - f.MIN_SCORE[linenum].value)), 2);
863 }
864
865 var temp = 0;
866
867 for (var i = 0; i < f.WEIGHTED_SCORE.length; i++)
868 temp = temp + f.WEIGHTED_SCORE[i].value * 1;
869
870 f.TOTAL_SCORE.value = roundDecimal(temp, 2);
871 }
872
873 function updateScores()
874 {
875
876 var f = document.POA_CM_EVAL_SCORES_R;
877
878 for (var i = 0; i < (f.WEIGHTED_SCORE.length-1); i++)
879 weighted_score(i);
880 }
881
882 function roundDecimal(expr, digits)
883 {
884 var str= "" + Math.round(eval(expr) * Math.pow(10, digits));
885 while (str.length <= digits)
886 {
887 str= "0"+str;
888 }
889 var decpoint= str.length- digits;
890 return str.substring(0, decpoint) + "." + str.substring(decpoint, str.length);
891 }
892
893
894 function submitDoc(submit_type)
895 {
896 var f = document.POA_CM_EVAL_SCORES_R;
897
898 if (submit_type == "Refresh")
899 f.POA_CM_SUBMIT_TYPE.value = "Refresh";
900 else if (submit_type == "Done")
901 f.POA_CM_SUBMIT_TYPE.value = "Done";
902
903 for (var i = 0; i < f.SCORE.length; i++)
904 {
905 if (isNaN(f.SCORE[i].value))
906 {
907 return;
908 }
909
910 if (f.SCORE[i].value * 1 > f.MAX_SCORE[i].value * 1)
911 {
912 return;
913 }
914
915 if (f.SCORE[i].value * 1 < f.MIN_SCORE[i].value * 1)
916 {
917 return;
918 }
919 }
920
921 document.POA_CM_EVAL_SCORES_R.submit();
922 }
923
924 function cancelAction()
925 {
926 var f = document.POA_CM_EVAL_SCORES_R;
927
928 for (var i = 0; i < f.SCORE.length; i++)
929 {
930 f.SCORE[i].value = "";
931 f.WEIGHTED_SCORE[i].value = "0.00";
932 }
933
934 f.TOTAL_SCORE.value = "0.00";
935
936 }
937
938 ');
939
940 js.scriptClose;
941
942 htp.headOpen;
943 icx_util.copyright;
944
945 PrintCSS;
946
947 htp.p('<LINK REL="stylesheet" HREF="/OA_HTML/bismarli.css">');
948
949 htp.headClose;
950
951 htp.bodyOpen;
952
953
954 htp.p('<BODY bgColor="#ffffff" link="#663300" vlink="#996633" alink="#FF6600" text="#000000" onLoad="javascript:updateScores()">');
955
956
957 htp.p('
958
959 <table border=0 cellspacing=0 cellpadding=0 width=100%>
960 <tr><td rowspan=2 valign=bottom width=371>
961 <table border=0 cellspacing=0 cellpadding=0 width=100%>
962 <tr align=left><td height=30><img src=/OA_MEDIA/bisorcl.gif border=no height=23 width=141></a></td>
963 <tr align=left> <td valign=bottom><img src=/OA_MEDIA/POABRAND.gif border=no></a></td></td></tr>
964 </table>
965 </td><td colspan=2 rowspan=2 valign=bottom align=right>
966 <table border=0 cellpadding=0 align=right cellspacing=4>
967 <tr valign=bottom>
968 <td width=60 align=center><a href=Oraclemypage.home onMouseOver="window.status=''Return to Portal''; return true">
969 <img alt=Return to Portal src=/OA_MEDIA/bisrtrnp.gif width=32 border=0 height=32></a></td>
970 <td width=60 align=center><a href=OracleNavigate.Responsibility onMouseOver="window.status=''Menu''; return true">
971 <img alt=Menu src=/OA_MEDIA/bisnmenu.gif width=32 border=0
972 height=32></a></td>
973 <td width=60 align=center valign=bottom><a href="javascript:help_window()", onMouseOver="window.status=''Help''; return true">
974 <img alt=Help src=/OA_MEDIA/bisnhelp.gif width=32 border=0
975 height=32></a></td>
976 </tr>
977 <tr align=center valign=top>
978 <td width=60><a href=Oraclemypage.home onMouseOver="window.status=''Return to Portal''; return true">
979 <span class="OraGlobalButtonText">Return to Portal</span></a></td>
980 <td width=60><a href=OracleNavigate.Responsibility onMouseOver="window.status=''Menu''; return true">
981 <span class="OraGlobalButtonText">Menu</span></a></td>
982 <td width=60><a href="javascript:help_window()", onMouseOver="window.status=''Help''; return true">
983 <span class="OraGlobalButtonText">Help</span></a></td>
984 </tr></table>
985 </td>
986 </tr></table>
987 </table>
988
989 <table Border=0 cellpadding=0 cellspacing=0 width=100%>
990 <tbody>
991 <tr><td bgcolor=#ffffff colspan=3 height=1><img height=1 src=/OA_MEDIA/bisspace.gif width=1></td>
992 </tr>
993 <tr>
994 <td bgcolor=#31659c colspan=2 height=21><img border=0 height=21 src=/OA_MEDIA/bisspace.gif width=1></td>
995 <td bgcolor=#31659c height=21><font face="Arial, Helvetica, sans-serif" size="4" color="#ffffff"> </font></td>
996 <td background=/OA_MEDIA/bisrhshd.gif height=21 width=5><img border=0 height=1
997 src=/OA_MEDIA/bisspace.gif width=1></td>
998 </tr>
999 <tr>
1000 <td bgcolor=#31659c height=16 width=9><img border=0 height=1 src=/OA_MEDIA/bisspace.gif width=9></td>
1001 <td bgcolor=#31659c height=16 width=5><img border=0 height=1 src=/OA_MEDIA/bisspace.gif width=5></td>
1002 <td background=/OA_MEDIA/bisbot.gif width=1000><img align=top height=16
1003 src=/OA_MEDIA/bistopar.gif width=26></td>
1004 <td align=left valign=top width=5><img height=8 src=/OA_MEDIA/bisrend.gif width=8></td>
1005 </tr>
1006 <tr>
1007 <td align=left background=/OA_MEDIA/bisbot.gif height=8 valign=top width=9><img height=8
1008 src=/OA_MEDIA/bislend.gif width=10></td>
1009 <td background=/OA_MEDIA/bisbot.gif height=8 width=5><img border=0 height=1
1010 src=/OA_MEDIA/bisspace.gif width=1></td>
1011 <td align=left valign=top width=1000><img height=8 src=/OA_MEDIA/bisarchc.gif width=9></td>
1012 <td width=5></td>
1013 </tr>
1014 </tbody>
1015 </table>
1016
1017 <table width=100% border=0 cellspacing=0 cellpadding=15>
1018 <tr><td><table width=100% border=0 cellspacing=0 cellpadding=0>
1019 <tr><td class="OraHeader"><font face="Arial, Helvetica, sans-serif" size="5" color="#336699">Survey Response Scores</font></td></tr>
1020 <tr bgcolor="#CCCC99"><td height=1><img src=/OA_MEDIA/bisspace.gif width=1 height=1></td></tr>
1021 <tr><td><font face="Arial, Helvetica, sans-serif" size="2">Enter the desired scores and then save.</font></td></tr>
1022 </table>
1023 </td></tr>
1024 </table>
1025
1026 ');
1027
1028
1029
1030
1031 htp.p('<table width=100% bgcolor=#FFFFFF cellpadding=10 cellspacing=0 border=0>');
1032 htp.p('<tr><td>');
1033 htp.p('<table ALIGN=center cellpadding=2 cellspacing=1 border=2>');
1034
1035 -- Heading
1036
1037 ak_query_pkg.exec_query(p_parent_region_appl_id=>201,
1038 p_parent_region_code=>'POA_CM_EVAL_SCORES_R',
1039 p_responsibility_id=>icx_sec.getID(icx_sec.PV_RESPONSIBILITY_ID),
1040 p_user_id=>icx_sec.getID(icx_sec.PV_WEB_USER_ID),
1041 p_return_parents=>'F',
1042 p_return_children=>'F');
1043
1044 htp.p('<TR>');
1045
1046 FOR v_counter IN 1..7 LOOP
1047
1048 htp.p('<TH bgcolor=#31659C align=' || ak_query_pkg.g_items_table(v_counter).horizontal_alignment ||
1049 ' valign=bottom><font class=promptwhite>' ||
1050 ak_query_pkg.g_items_table(v_counter).attribute_label_long || '</font></TH>');
1051
1052 END LOOP;
1053
1054 htp.p('</TR>');
1055
1056 htp.p('<FORM NAME="POA_CM_EVAL_SCORES_R" ACTION="' ||l_script_name|| '/POA_CM_ENTER_SCORES_ICX.redirect_page" METHOD="POST">');
1057
1058
1059 FOR v_counter IN 1..l_criteria_table.count LOOP
1060
1061 -- Get Displayed field
1062
1063 SELECT displayed_field
1064 INTO v_Criteria
1065 FROM po_lookup_codes
1066 WHERE lookup_type = 'SATISFACTION CRITERIA'
1067 AND lookup_code = l_criteria_table(v_counter - 1).criteria_code;
1068
1069 -- Criteria
1070
1071 htp.p('<TD ALIGN=left><font class=tabledata><INPUT NAME="CRITERIA_CODE" TYPE="HIDDEN" VALUE="' || l_criteria_table(v_counter - 1).criteria_code || '">');
1072 htp.p(v_Criteria || '</font></TD>');
1073
1074 -- Score
1075
1076 if (l_evaluation_id is null) then
1077 htp.p('<TD><font class=datablack><INPUT NAME="SCORE" TYPE="TEXT" onChange="javascript:weighted_score('|| to_char(v_counter - 1) ||')" VALUE="" SIZE=4 MAXLENGTH=25></font> </TD>');
1078 else
1079 htp.p('<TD><font class=datablack><INPUT NAME="SCORE" TYPE="TEXT" onChange="javascript:weighted_score('|| to_char(v_counter - 1) ||')" VALUE="' || l_scores_table(v_counter-1).score || '" SIZE=4 MAXLENGTH=25></font> </TD>');
1080 end if;
1081
1082 -- Weight
1083
1084 if l_criteria_table(v_counter - 1).weight is null then
1085 l_criteria_table(v_counter - 1).weight := -1;
1086 end if;
1087
1088 htp.p('<TD ALIGN=right><font class=tabledata><INPUT NAME="WEIGHT" TYPE="HIDDEN" VALUE=' || to_char(l_criteria_table(v_counter - 1).weight) || ' SIZE=4 MAXLENGTH=25></font>');
1089
1090 if l_criteria_table(v_counter - 1).weight = -1 then
1091 htp.p('<font class=tabledata>None</font></TD>');
1092 else
1093 htp.p('<font class=tabledata>' || to_char(l_criteria_table(v_counter - 1).weight, '9990D00') || '</font></TD>');
1094 end if;
1095
1096 -- Weighted Score
1097
1098 htp.p('<TD ALIGN=center><font class=datablack><INPUT NAME="WEIGHTED_SCORE" TYPE="TEXT" onfocus="javascript:this.blur()" VALUE="0.00" SIZE=4 MAXLENGTH=25></font></TD>');
1099
1100 -- Min Score
1101
1102 if l_criteria_table(v_counter - 1).min_score is null then
1103 l_criteria_table(v_counter - 1).min_score := 0;
1104 end if;
1105
1106 htp.p('<TD ALIGN=right><font class=tabledata><INPUT NAME="MIN_SCORE" TYPE="HIDDEN" VALUE=' || to_char(l_criteria_table(v_counter - 1).min_score) || ' SIZE=4 MAXLENGTH=25></font>');
1107
1108
1109 htp.p('<font class=tabledata>' || to_char(l_criteria_table(v_counter - 1).min_score, '9990D00') || '</font></TD>');
1110
1111 -- Max Score
1112
1113 if l_criteria_table(v_counter - 1).max_score is null then
1114 l_criteria_table(v_counter - 1).max_score := 100;
1115 end if;
1116
1117 htp.p('<TD ALIGN=right><font class=tabledata><INPUT NAME="MAX_SCORE" TYPE="HIDDEN" VALUE=' || to_char(l_criteria_table(v_counter - 1).max_score) || ' SIZE=4 MAXLENGTH=25></font>');
1118
1119 htp.p('<font class=tabledata>' || to_char(l_criteria_table(v_counter - 1).max_score, '9990D00') || '</font></TD>');
1120
1121 -- Comments
1122
1123 if (l_evaluation_id is null) then
1124
1125 htp.p('<TD ALIGN=LEFT><font class=datablack><INPUT NAME="COMMENTS" TYPE="TEXT" VALUE="" SIZE=15 MAXLENGTH=240></font> </TD>');
1126
1127 else
1128
1129 htp.p('<TD ALIGN=LEFT><font class=datablack><INPUT NAME="COMMENTS" TYPE="TEXT" VALUE="' || l_scores_table(v_counter-1).comments || '" SIZE=15 MAXLENGTH=240></font> </TD>');
1130
1131 end if;
1132
1133 htp.p('</TR>');
1134
1135 END LOOP;
1136
1137 htp.p('<TR>');
1138
1139 htp.p('<INPUT NAME="CRITERIA_CODE" TYPE="HIDDEN" VALUE="">');
1140
1141 htp.p('<INPUT NAME="SCORE" TYPE="HIDDEN" VALUE="">');
1142
1143 htp.p('<INPUT NAME="WEIGHT" TYPE="HIDDEN" VALUE="">');
1144
1145 htp.p('<INPUT NAME="WEIGHTED_SCORE" TYPE="HIDDEN" VALUE="">');
1146
1147 htp.p('<INPUT NAME="MIN_SCORE" TYPE="HIDDEN" VALUE="">');
1148
1149 htp.p('<INPUT NAME="MAX_SCORE" TYPE="HIDDEN" VALUE="">');
1150
1151 htp.p('<INPUT NAME="COMMENTS" TYPE="HIDDEN" VALUE="">');
1152
1153
1154 htp.p('<TD COLSPAN=3 ALIGN=RIGHT><font class=datablack>' || ak_query_pkg.g_items_table(8).attribute_label_long || '</font></TD>');
1155
1156 htp.p('<TD COLSPAN=1 ALIGN=CENTER BGCOLOR=''#31659C''><font class=datablack><INPUT NAME="TOTAL_SCORE" TYPE="TEXT" onfocus="javascript:this.blur()" VALUE="0.00" SIZE=4 MAXLENGTH=25></font></TD>');
1157
1158 htp.p('<TD COLSPAN=3><FONT COLOR=#CCCCCC> </FONT>');
1159
1160 htp.p('<INPUT NAME="poa_cm_custom_measure_code" TYPE="HIDDEN" VALUE="' || poa_cm_custom_measure_code || '">');
1161 htp.p('<INPUT NAME="poa_cm_custom_measure" TYPE="HIDDEN" VALUE="' || poa_cm_custom_measure || '">');
1162 htp.p('<INPUT NAME="poa_cm_period_type" TYPE="HIDDEN" VALUE="' || l_period_type || '">');
1163 htp.p('<INPUT NAME="poa_cm_user_period_type" TYPE="HIDDEN" VALUE="' || poa_cm_user_period_type || '">');
1164 htp.p('<INPUT NAME="poa_cm_period_name" TYPE="HIDDEN" VALUE="' || poa_cm_period_name || '">');
1165 htp.p('<INPUT NAME="poa_cm_supplier_id" TYPE="HIDDEN" VALUE="' || to_char(l_supplier_id) || '">');
1166 htp.p('<INPUT NAME="poa_cm_supplier" TYPE="HIDDEN" VALUE="' || l_supplier_name || '">');
1167 htp.p('<INPUT NAME="poa_cm_supplier_site_id" TYPE="HIDDEN" VALUE="' || to_char(l_supplier_site_id) || '">');
1168 htp.p('<INPUT NAME="poa_cm_supplier_site" TYPE="HIDDEN" VALUE="' || l_site_name || '">');
1169 htp.p('<INPUT NAME="poa_cm_category_id" TYPE="HIDDEN" VALUE="' || to_char(l_category_id) || '">');
1170 htp.p('<INPUT NAME="poa_cm_commodity" TYPE="HIDDEN" VALUE="' || l_commodity || '">');
1171 htp.p('<INPUT NAME="poa_cm_item_id" TYPE="HIDDEN" VALUE="' || to_char(l_item_id) || '">');
1172 htp.p('<INPUT NAME="poa_cm_item" TYPE="HIDDEN" VALUE="' || l_item || '">');
1173 htp.p('<INPUT NAME="poa_cm_comments" TYPE="HIDDEN" VALUE="' || poa_cm_comments || '">');
1174 htp.p('<INPUT NAME="poa_cm_evaluated_by_id" TYPE="HIDDEN" VALUE="' || to_char(l_evaluated_by_id) || '">');
1175 htp.p('<INPUT NAME="poa_cm_evaluated_by" TYPE="HIDDEN" VALUE="' || l_evaluated_by || '">');
1176 htp.p('<INPUT NAME="poa_cm_org_id" TYPE="HIDDEN" VALUE="' || to_char(l_org_id) || '">');
1177 htp.p('<INPUT NAME="poa_cm_oper_unit_id" TYPE="HIDDEN" VALUE="' || to_char(l_oper_unit_id) || '">');
1178 htp.p('<INPUT NAME="poa_cm_operating_unit" TYPE="HIDDEN" VALUE="' || l_operating_unit || '">');
1179 htp.p('<INPUT NAME="POA_CM_SUBMIT_TYPE" TYPE="HIDDEN" VALUE="' || l_submit_type || '">');
1180 htp.p('<INPUT NAME="POA_CM_EVALUATION_ID" TYPE="HIDDEN" VALUE="' || l_evaluation_id || '">');
1181
1182 htp.p('</TD></TR>');
1183
1184 htp.p('</table>');
1185 htp.p('</td></tr></table>');
1186
1187 PrintBottomButtons(l_language, 1);
1188
1189 htp.bodyClose;
1190 htp.htmlClose;
1191
1192 EXCEPTION
1193 when others then
1194 null;
1195
1196 END score_entry_page;
1197
1198 PROCEDURE query_evals( poa_cm_custom_measure_code IN VARCHAR2 DEFAULT NULL,
1199 poa_cm_custom_measure IN VARCHAR2 DEFAULT NULL,
1200 poa_cm_period_type IN VARCHAR2 DEFAULT NULL,
1201 poa_cm_user_period_type IN VARCHAR2 DEFAULT NULL,
1202 poa_cm_period_name IN VARCHAR2 DEFAULT NULL,
1203 poa_cm_supplier_id IN VARCHAR2 DEFAULT NULL,
1204 poa_cm_supplier IN VARCHAR2 DEFAULT NULL,
1205 poa_cm_supplier_site_id IN VARCHAR2 DEFAULT NULL,
1206 poa_cm_supplier_site IN VARCHAR2 DEFAULT NULL,
1207 poa_cm_category_id IN VARCHAR2 DEFAULT NULL,
1208 poa_cm_commodity IN VARCHAR2 DEFAULT NULL,
1209 poa_cm_item_id IN VARCHAR2 DEFAULT NULL,
1210 poa_cm_item IN VARCHAR2 DEFAULT NULL,
1211 poa_cm_comments IN VARCHAR2 DEFAULT NULL,
1212 poa_cm_evaluated_by_id IN VARCHAR2 DEFAULT NULL,
1213 poa_cm_evaluated_by IN VARCHAR2 DEFAULT NULL,
1214 poa_cm_org_id IN VARCHAR2 DEFAULT NULL,
1215 poa_cm_oper_unit_id IN VARCHAR2 DEFAULT NULL,
1216 poa_cm_operating_unit IN VARCHAR2 DEFAULT NULL,
1217 POA_CM_SUBMIT_TYPE IN VARCHAR2 DEFAULT NULL,
1218 POA_CM_EVALUATION_ID IN VARCHAR2 DEFAULT NULL
1219 ) IS
1220
1221 l_language VARCHAR2(5);
1222 l_script_name VARCHAR2(240);
1223
1224 l_period_type VARCHAR2(15) := poa_cm_period_type;
1225 l_period_name VARCHAR2(15) := poa_cm_period_name;
1226 l_supplier_id NUMBER := to_number(poa_cm_supplier_id);
1227 l_supplier_site_id NUMBER := to_number(poa_cm_supplier_site_id);
1228 l_org_id NUMBER := to_number(poa_cm_org_id);
1229 l_category_id NUMBER := to_number(poa_cm_category_id);
1230 l_item_id NUMBER := to_number(poa_cm_item_id);
1231 l_evaluated_by_id NUMBER := to_number(poa_cm_evaluated_by_id);
1232 l_oper_unit_id NUMBER := to_number(poa_cm_oper_unit_id);
1233 l_evaluation_id NUMBER := to_number(poa_cm_evaluation_id);
1234
1235 l_user_period_type VARCHAR2(15) := poa_cm_user_period_type;
1236 l_supplier_name PO_VENDORS.VENDOR_NAME%TYPE := poa_cm_supplier;
1237 l_site_name VARCHAR2(15) := poa_cm_supplier_site;
1238 l_operating_unit hr_all_organization_units.NAME%TYPE := poa_cm_operating_unit;
1239 l_commodity VARCHAR2(81) := poa_cm_commodity;
1240 l_item VARCHAR2(40) := poa_cm_item;
1241 l_evaluated_by VARCHAR2(240):= poa_cm_evaluated_by;
1242 l_submit_type VARCHAR2(10) := poa_cm_submit_type;
1243
1244 v_eval_id NUMBER;
1245 v_supplier_site VARCHAR2(15);
1246 v_oper_unit hr_all_organization_units.NAME%TYPE;
1247 v_commodity VARCHAR2(81);
1248 v_item VARCHAR2(40);
1249 v_evaluator VARCHAR2(100);
1250 v_creation_date DATE;
1251 v_last_update_date DATE;
1252
1253 v_counter NUMBER := 0;
1254
1255 type t_Eval_Cursor is ref cursor return t_eval_record;
1256 c_evaluation t_Eval_Cursor;
1257
1258 BEGIN
1259
1260 IF NOT icx_sec.validatesession THEN
1261 RETURN;
1262 END IF;
1263
1264 l_language := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
1265 l_script_name := owa_util.get_cgi_env('SCRIPT_NAME');
1266
1267 htp.htmlOpen;
1268 htp.title('Survey Response Scores');
1269
1270 js.scriptOpen;
1271
1272 js.scriptClose;
1273
1274 htp.headOpen;
1275
1276 icx_util.copyright;
1277
1278 PrintCSS;
1279
1280 htp.p('<LINK REL="stylesheet" HREF="/OA_HTML/bismarli.css">');
1281
1282 htp.headClose;
1283
1284 htp.bodyOpen;
1285
1286 htp.p('<BODY bgColor="#ffffff" link="#663300" vlink="#996633" alink="#FF6600" text="#000000">');
1287
1288 htp.p('
1289
1290
1291 <table border=0 cellspacing=0 cellpadding=0 width=100%>
1292 <tr><td rowspan=2 valign=bottom width=371>
1293 <table border=0 cellspacing=0 cellpadding=0 width=100%>
1294 <tr align=left><td height=30><img src=/OA_MEDIA/bisorcl.gif border=no height=23 width=141></a></td>
1295 <tr align=left> <td valign=bottom><img src=/OA_MEDIA/POABRAND.gif border=no></a></td></td></tr>
1296 </table>
1297 </td><td colspan=2 rowspan=2 valign=bottom align=right>
1298 <table border=0 cellpadding=0 align=right cellspacing=4>
1299 <tr valign=bottom>
1300 <td width=60 align=center><a href=Oraclemypage.home onMouseOver="window.status=''Return to Portal''; return true">
1301 <img alt=Return to Portal src=/OA_MEDIA/bisrtrnp.gif width=32 border=0 height=32></a></td>
1302 <td width=60 align=center><a href=OracleNavigate.Responsibility onMouseOver="window.status=''Menu''; return true">
1303 <img alt=Menu src=/OA_MEDIA/bisnmenu.gif width=32 border=0
1304 height=32></a></td>
1305 <td width=60 align=center valign=bottom><a href="javascript:help_window()", onMouseOver="window.status=''Help''; return true">
1306 <img alt=Help src=/OA_MEDIA/bisnhelp.gif width=32 border=0
1307 height=32></a></td>
1308 </tr>
1309 <tr align=center valign=top>
1310 <td width=60><a href=Oraclemypage.home onMouseOver="window.status=''Return to Portal''; return true">
1311 <span class="OraGlobalButtonText">Return to Portal</span></a></td>
1312 <td width=60><a href=OracleNavigate.Responsibility onMouseOver="window.status=''Menu''; return true">
1313 <span class="OraGlobalButtonText">Menu</span></a></td>
1314 <td width=60><a href="javascript:help_window()", onMouseOver="window.status=''Help''; return true">
1315 <span class="OraGlobalButtonText">Help</span></a></td>
1316 </tr></table>
1317 </td>
1318 </tr></table>
1319 </table>
1320
1321 <table Border=0 cellpadding=0 cellspacing=0 width=100%>
1322 <tbody>
1323 <tr><td bgcolor=#ffffff colspan=3 height=1><img height=1 src=/OA_MEDIA/bisspace.gif width=1></td>
1324 </tr>
1325 <tr>
1326 <td bgcolor=#31659c colspan=2 height=21><img border=0 height=21 src=/OA_MEDIA/bisspace.gif width=1></td>
1327 <td bgcolor=#31659c height=21><font face="Arial, Helvetica, sans-serif" size="4" color="#ffffff"> </font></td>
1328 <td background=/OA_MEDIA/bisrhshd.gif height=21 width=5><img border=0 height=1
1329 src=/OA_MEDIA/bisspace.gif width=1></td>
1330 </tr>
1331 <tr>
1332 <td bgcolor=#31659c height=16 width=9><img border=0 height=1 src=/OA_MEDIA/bisspace.gif width=9></td>
1333 <td bgcolor=#31659c height=16 width=5><img border=0 height=1 src=/OA_MEDIA/bisspace.gif width=5></td>
1334 <td background=/OA_MEDIA/bisbot.gif width=1000><img align=top height=16
1335 src=/OA_MEDIA/bistopar.gif width=26></td>
1336 <td align=left valign=top width=5><img height=8 src=/OA_MEDIA/bisrend.gif width=8></td>
1337 </tr>
1338 <tr>
1339 <td align=left background=/OA_MEDIA/bisbot.gif height=8 valign=top width=9><img height=8
1340 src=/OA_MEDIA/bislend.gif width=10></td>
1341 <td background=/OA_MEDIA/bisbot.gif height=8 width=5><img border=0 height=1
1342 src=/OA_MEDIA/bisspace.gif width=1></td>
1343 <td align=left valign=top width=1000><img height=8 src=/OA_MEDIA/bisarchc.gif width=9></td>
1344 <td width=5></td>
1345 </tr>
1346 </tbody>
1347 </table>
1348
1349 <table width=100% border=0 cellspacing=0 cellpadding=15>
1350 <tr><td><table width=100% border=0 cellspacing=0 cellpadding=0>
1351 <tr><td class="OraHeader"><font face="Arial, Helvetica, sans-serif" size="5" color="#336699">Survey Response Query Results</font></td></tr>
1352 <tr bgcolor="#CCCC99"><td height=1><img src=/OA_MEDIA/bisspace.gif width=1 height=1></td></tr>
1353 <tr><td><font face="Arial, Helvetica, sans-serif" size="2">Select the survey response that you would like to modify.</font></td></tr>
1354 </table>
1355 </td></tr>
1356 </table>
1357
1358
1359 ');
1360
1361 htp.p('
1362 <table width=100% bgcolor=#FFFFFF cellpadding=15 cellspacing=0 border=0>
1363
1364 <TR><td>
1365 <table width=100% cellpadding=0 cellspacing=0 border=0>
1366 <TR> <td><b>Period Type: ' || l_period_type || '</b></td></tr>
1367 <TR> <td><b>Period Name: ' || l_period_name || '</b></td></tr>
1368 <TR> <td><b>Supplier: ' || l_supplier_name || '</b></td></tr>
1369 </TR>
1370 </table>
1371
1372 <tr><td>
1373 <table ALIGN=center cellpadding=2 cellspacing=1 border=2>
1374 <TH bgcolor=#31659C align=left valign=bottom width=5%><font class=promptwhite> </font></TH>
1375 <TH bgcolor=#31659C align=left valign=bottom width=15%><font class=promptwhite>Operating Unit</font></TH>
1376 <TH bgcolor=#31659C align=left valign=bottom width=15%><font class=promptwhite>Commodity</font></TH>
1377 <TH bgcolor=#31659C align=left valign=bottom width=15%><font class=promptwhite>Item</font></TH>
1378 <TH bgcolor=#31659C align=left valign=bottom width=15%><font class=promptwhite>Supplier Site</font></TH>
1379 <TH bgcolor=#31659C align=left valign=bottom width=15%><font class=promptwhite>Evaluator</font></TH>
1380 <TH bgcolor=#31659C align=left valign=bottom width=10%><font class=promptwhite>Creation Date</font></TH>
1381 <TH bgcolor=#31659C align=left valign=bottom width=10%><font class=promptwhite>Last Update Date</font></TH>
1382 </TR>
1383 <FORM NAME="POA_CM_EVAL_SCORES_R" ACTION="' ||l_script_name|| '/POA_CM_EVAL_SCORES_ICX.score_entry_page" METHOD="POST">
1384
1385 ');
1386
1387 htp.p('<INPUT NAME="poa_cm_custom_measure_code" TYPE="HIDDEN" VALUE="' || poa_cm_custom_measure_code || '">');
1388 htp.p('<INPUT NAME="poa_cm_custom_measure" TYPE="HIDDEN" VALUE="' || poa_cm_custom_measure || '">');
1389 htp.p('<INPUT NAME="poa_cm_period_type" TYPE="HIDDEN" VALUE="' || l_period_type || '">');
1390 htp.p('<INPUT NAME="poa_cm_user_period_type" TYPE="HIDDEN" VALUE="' || poa_cm_user_period_type || '">');
1391 htp.p('<INPUT NAME="poa_cm_period_name" TYPE="HIDDEN" VALUE="' || poa_cm_period_name || '">');
1392 htp.p('<INPUT NAME="poa_cm_supplier_id" TYPE="HIDDEN" VALUE="' || to_char(l_supplier_id) || '">');
1393 htp.p('<INPUT NAME="poa_cm_supplier" TYPE="HIDDEN" VALUE="' || l_supplier_name || '">');
1394 htp.p('<INPUT NAME="poa_cm_supplier_site_id" TYPE="HIDDEN" VALUE="' || to_char(l_supplier_site_id) || '">');
1395 htp.p('<INPUT NAME="poa_cm_supplier_site" TYPE="HIDDEN" VALUE="' || l_site_name || '">');
1396 htp.p('<INPUT NAME="poa_cm_category_id" TYPE="HIDDEN" VALUE="' || to_char(l_category_id) || '">');
1397 htp.p('<INPUT NAME="poa_cm_commodity" TYPE="HIDDEN" VALUE="' || l_commodity || '">');
1398 htp.p('<INPUT NAME="poa_cm_item_id" TYPE="HIDDEN" VALUE="' || to_char(l_item_id) || '">');
1399 htp.p('<INPUT NAME="poa_cm_item" TYPE="HIDDEN" VALUE="' || l_item || '">');
1400 htp.p('<INPUT NAME="poa_cm_comments" TYPE="HIDDEN" VALUE="' || poa_cm_comments || '">');
1401 htp.p('<INPUT NAME="poa_cm_evaluated_by_id" TYPE="HIDDEN" VALUE="' || to_char(l_evaluated_by_id) || '">');
1402 htp.p('<INPUT NAME="poa_cm_evaluated_by" TYPE="HIDDEN" VALUE="' || l_evaluated_by || '">');
1403 htp.p('<INPUT NAME="poa_cm_org_id" TYPE="HIDDEN" VALUE="' || to_char(l_org_id) || '">');
1404 htp.p('<INPUT NAME="poa_cm_oper_unit_id" TYPE="HIDDEN" VALUE="' || to_char(l_oper_unit_id) || '">');
1405 htp.p('<INPUT NAME="poa_cm_operating_unit" TYPE="HIDDEN" VALUE="' || l_operating_unit || '">');
1406 htp.p('<INPUT NAME="POA_CM_SUBMIT_TYPE" TYPE="HIDDEN" VALUE="Refresh">');
1407
1408 if (l_oper_unit_id is not null) and (l_category_id is null) then
1409 OPEN c_evaluation FOR
1410 SELECT pce.evaluation_id,
1411 pvs.vendor_site_code,
1412 hr.name,
1413 cat.concatenated_segments,
1414 item.concatenated_segments,
1415 fu.user_name,
1416 pce.creation_date,
1417 pce.last_update_date
1418 FROM poa_cm_evaluation pce,
1419 hr_operating_units hr,
1420 fnd_user fu,
1421 mtl_categories_kfv cat,
1422 mtl_system_items_kfv item,
1423 po_vendor_sites pvs
1424 WHERE pce.supplier_id = l_supplier_id
1425 AND pce.period_type = l_period_type
1426 AND pce.period_name = l_period_name
1427 AND hr.organization_id (+)= pce.oper_unit_id
1428 AND fu.user_id (+)= pce.evaluated_by
1429 AND cat.category_id (+)= pce.category_id
1430 AND item.inventory_item_id (+)= pce.item_id
1431 AND item.organization_id (+)= pce.org_id
1432 AND pvs.vendor_site_id (+)= pce.supplier_site_id
1433 AND pce.oper_unit_id = l_oper_unit_id
1434 ORDER BY pce.evaluation_id;
1435
1436 elsif (l_oper_unit_id is null) and (l_category_id is not null) then
1437 OPEN c_evaluation FOR
1438 SELECT pce.evaluation_id,
1439 pvs.vendor_site_code,
1440 hr.name,
1441 cat.concatenated_segments,
1442 item.concatenated_segments,
1443 fu.user_name,
1444 pce.creation_date,
1445 pce.last_update_date
1446 FROM poa_cm_evaluation pce,
1447 hr_operating_units hr,
1448 fnd_user fu,
1449 mtl_categories_kfv cat,
1450 mtl_system_items_kfv item,
1451 po_vendor_sites pvs
1452 WHERE pce.supplier_id = l_supplier_id
1453 AND pce.period_type = l_period_type
1454 AND pce.period_name = l_period_name
1455 AND hr.organization_id (+)= pce.oper_unit_id
1456 AND fu.user_id (+)= pce.evaluated_by
1457 AND cat.category_id (+)= pce.category_id
1458 AND item.inventory_item_id (+)= pce.item_id
1459 AND item.organization_id (+)= pce.org_id
1460 AND pvs.vendor_site_id (+)= pce.supplier_site_id
1461 AND pce.category_id = l_category_id
1462 ORDER BY pce.evaluation_id;
1463
1464 elsif (l_oper_unit_id is not null) and (l_category_id is not null) then
1465 OPEN c_evaluation FOR
1466 SELECT pce.evaluation_id,
1467 pvs.vendor_site_code,
1468 hr.name,
1469 cat.concatenated_segments,
1470 item.concatenated_segments,
1471 fu.user_name,
1472 pce.creation_date,
1473 pce.last_update_date
1474 FROM poa_cm_evaluation pce,
1475 hr_operating_units hr,
1476 fnd_user fu,
1477 mtl_categories_kfv cat,
1478 mtl_system_items_kfv item,
1479 po_vendor_sites pvs
1480 WHERE pce.supplier_id = l_supplier_id
1481 AND pce.period_type = l_period_type
1482 AND pce.period_name = l_period_name
1483 AND hr.organization_id (+)= pce.oper_unit_id
1484 AND fu.user_id (+)= pce.evaluated_by
1485 AND cat.category_id (+)= pce.category_id
1486 AND item.inventory_item_id (+)= pce.item_id
1487 AND item.organization_id (+)= pce.org_id
1488 AND pvs.vendor_site_id (+)= pce.supplier_site_id
1489 AND pce.oper_unit_id = l_oper_unit_id
1490 AND pce.category_id = l_category_id
1491 ORDER BY pce.evaluation_id;
1492
1493 else
1494 OPEN c_evaluation FOR
1495 SELECT pce.evaluation_id,
1496 pvs.vendor_site_code,
1497 hr.name,
1498 cat.concatenated_segments,
1499 item.concatenated_segments,
1500 fu.user_name,
1501 pce.creation_date,
1502 pce.last_update_date
1503 FROM poa_cm_evaluation pce,
1504 hr_operating_units hr,
1505 fnd_user fu,
1506 mtl_categories_kfv cat,
1507 mtl_system_items_kfv item,
1508 po_vendor_sites pvs
1509 WHERE pce.supplier_id = l_supplier_id
1510 AND pce.period_type = l_period_type
1511 AND pce.period_name = l_period_name
1512 AND hr.organization_id (+)= pce.oper_unit_id
1513 AND fu.user_id (+)= pce.evaluated_by
1514 AND cat.category_id (+)= pce.category_id
1515 AND item.inventory_item_id (+)= pce.item_id
1516 AND item.organization_id (+)= pce.org_id
1517 AND pvs.vendor_site_id (+)= pce.supplier_site_id
1518 ORDER BY pce.evaluation_id;
1519 end if;
1520
1521 LOOP
1522
1523 FETCH c_evaluation into v_eval_id, v_supplier_site, v_oper_unit, v_commodity, v_item, v_evaluator, v_creation_date, v_last_update_date;
1524 EXIT WHEN c_evaluation%NOTFOUND;
1525
1526 v_counter := v_counter + 1;
1527
1528 if ((v_counter mod 2) = 0) THEN
1529 htp.p('<TR BGCOLOR=''#ffffff'' >');
1530 else
1531 htp.p('<TR BGCOLOR=''#ffffff'' >');
1532 end if;
1533
1534 if (v_counter = 1) THEN
1535
1536 htp.p('<TD ALIGN=CENTER BGCOLOR=''#FFFFFF''><font class=tabledata> <input type="RADIO" name="POA_CM_EVALUATION_ID" value=' || v_eval_id || ' checked></font></td>');
1537 else
1538 htp.p('<TD ALIGN=CENTER BGCOLOR=''#FFFFFF''><font class=tabledata> <input type="RADIO" name="POA_CM_EVALUATION_ID" value=' || v_eval_id || '></font></td>');
1539 end if;
1540
1541 htp.p('
1542 <TD ALIGN=left><font class=tabledata>' || v_oper_unit || ' </font></td>
1543 <TD ALIGN=left><font class=tabledata>' || v_commodity || ' </font></td>
1544 <TD ALIGN=left><font class=tabledata>' || v_item || '</font> </td>
1545 <TD ALIGN=left><font class=tabledata>' || v_supplier_site || ' </font></td>
1546 <TD ALIGN=left><font class=tabledata>' || v_evaluator || ' </font></td>
1547 <TD ALIGN=left><font class=tabledata>' || v_creation_date || ' </font></td>
1548 <TD ALIGN=left><font class=tabledata>' || v_last_update_date || ' </font></td>
1549 </tr>
1550 ');
1551
1552 END LOOP;
1553 CLOSE c_evaluation;
1554
1555 htp.p('</table></td></tr>');
1556
1557 if (v_counter = 0) then
1558 htp.p('<tr><td align=center><b>Your query returned no records.</b></td></tr>');
1559 end if;
1560
1561 htp.p('</table>');
1562
1563 if (v_counter = 0) then
1564 PrintBottomButtons(l_language, 3);
1565 else
1566 PrintBottomButtons(l_language, 2);
1567 end if;
1568
1569 htp.bodyClose;
1570 htp.htmlClose;
1571
1572 END query_evals;
1573
1574 END poa_cm_eval_scores_icx;