[Home] [Help]
PACKAGE BODY: APPS.POA_CM_ENTER_SCORES_ICX
Source
1 PACKAGE BODY poa_cm_enter_scores_icx AS
2 /* $Header: POACMINB.pls 120.0 2005/06/01 21:18:00 appldev noship $ */
3
4 PROCEDURE redirect_page(criteria_code IN t_text_table,
5 score IN t_text_table,
6 weight IN t_text_table,
7 weighted_score IN t_text_table,
8 min_score IN t_text_table,
9 max_score IN t_text_table,
10 comments IN t_text_table,
11 total_score IN VARCHAR2,
12 poa_cm_custom_measure_code IN VARCHAR2 DEFAULT NULL,
13 poa_cm_custom_measure IN VARCHAR2 DEFAULT NULL,
14 poa_cm_period_type IN VARCHAR2 DEFAULT NULL,
15 poa_cm_user_period_type IN VARCHAR2 DEFAULT NULL,
16 poa_cm_period_name IN VARCHAR2 DEFAULT NULL,
17 poa_cm_supplier_id IN VARCHAR2 DEFAULT NULL,
18 poa_cm_supplier IN VARCHAR2 DEFAULT NULL,
19 poa_cm_supplier_site_id IN VARCHAR2 DEFAULT NULL,
20 poa_cm_supplier_site IN VARCHAR2 DEFAULT NULL,
21 poa_cm_category_id IN VARCHAR2 DEFAULT NULL,
22 poa_cm_commodity IN VARCHAR2 DEFAULT NULL,
23 poa_cm_item_id IN VARCHAR2 DEFAULT NULL,
24 poa_cm_item IN VARCHAR2 DEFAULT NULL,
25 poa_cm_comments IN VARCHAR2 DEFAULT NULL,
26 poa_cm_evaluated_by_id IN VARCHAR2 DEFAULT NULL,
27 poa_cm_evaluated_by IN VARCHAR2 DEFAULT NULL,
28 poa_cm_org_id IN VARCHAR2 DEFAULT NULL,
29 poa_cm_oper_unit_id IN VARCHAR2 DEFAULT NULL,
30 poa_cm_operating_unit IN VARCHAR2 DEFAULT NULL,
31 POA_CM_SUBMIT_TYPE IN VARCHAR2 DEFAULT NULL,
32 POA_CM_EVALUATION_ID IN VARCHAR2 DEFAULT NULL
33 ) IS
34
35 BEGIN
36
37 if (POA_CM_SUBMIT_TYPE = 'Refresh') then
38 poa_cm_eval_scores_icx.score_entry_page(
39 poa_cm_custom_measure_code ,
40 poa_cm_custom_measure ,
41 poa_cm_period_type ,
42 poa_cm_user_period_type ,
43 poa_cm_period_name ,
44 poa_cm_supplier_id ,
45 poa_cm_supplier ,
46 poa_cm_supplier_site_id ,
47 poa_cm_supplier_site ,
48 poa_cm_category_id ,
49 poa_cm_commodity ,
50 poa_cm_item_id ,
51 poa_cm_item ,
52 poa_cm_comments ,
53 poa_cm_evaluated_by_id ,
54 poa_cm_evaluated_by ,
55 poa_cm_org_id ,
56 poa_cm_oper_unit_id ,
57 poa_cm_operating_unit ,
58 'Update' ,
59 POA_CM_EVALUATION_ID );
60 end if;
61
62 if (POA_CM_SUBMIT_TYPE = 'Done') then
63 poa_cm_enter_scores_icx.insert_scores(
64 criteria_code ,
65 score ,
66 weight ,
67 weighted_score ,
68 min_score ,
69 max_score ,
70 comments ,
71 total_score ,
72 poa_cm_custom_measure_code ,
73 poa_cm_custom_measure ,
74 poa_cm_period_type ,
75 poa_cm_user_period_type ,
76 poa_cm_period_name ,
77 poa_cm_supplier_id ,
78 poa_cm_supplier ,
79 poa_cm_supplier_site_id ,
80 poa_cm_supplier_site ,
81 poa_cm_category_id ,
82 poa_cm_commodity ,
83 poa_cm_item_id ,
84 poa_cm_item ,
85 poa_cm_comments ,
86 poa_cm_evaluated_by_id ,
87 poa_cm_evaluated_by ,
88 poa_cm_org_id ,
89 poa_cm_oper_unit_id ,
90 poa_cm_operating_unit ,
91 poa_cm_submit_type ,
92 poa_cm_evaluation_id );
93 end if;
94
95 END redirect_page;
96
97 PROCEDURE insert_scores(criteria_code IN t_text_table,
98 score IN t_text_table,
99 weight IN t_text_table,
100 weighted_score IN t_text_table,
101 min_score IN t_text_table,
102 max_score IN t_text_table,
103 comments IN t_text_table,
104 total_score IN VARCHAR2,
105 poa_cm_custom_measure_code IN VARCHAR2 DEFAULT NULL,
106 poa_cm_custom_measure IN VARCHAR2 DEFAULT NULL,
107 poa_cm_period_type IN VARCHAR2 DEFAULT NULL,
108 poa_cm_user_period_type IN VARCHAR2 DEFAULT NULL,
109 poa_cm_period_name IN VARCHAR2 DEFAULT NULL,
110 poa_cm_supplier_id IN VARCHAR2 DEFAULT NULL,
111 poa_cm_supplier IN VARCHAR2 DEFAULT NULL,
112 poa_cm_supplier_site_id IN VARCHAR2 DEFAULT NULL,
113 poa_cm_supplier_site IN VARCHAR2 DEFAULT NULL,
114 poa_cm_category_id IN VARCHAR2 DEFAULT NULL,
115 poa_cm_commodity IN VARCHAR2 DEFAULT NULL,
116 poa_cm_item_id IN VARCHAR2 DEFAULT NULL,
117 poa_cm_item IN VARCHAR2 DEFAULT NULL,
118 poa_cm_comments IN VARCHAR2 DEFAULT NULL,
119 poa_cm_evaluated_by_id IN VARCHAR2 DEFAULT NULL,
120 poa_cm_evaluated_by IN VARCHAR2 DEFAULT NULL,
121 poa_cm_org_id IN VARCHAR2 DEFAULT NULL,
122 poa_cm_oper_unit_id IN VARCHAR2 DEFAULT NULL,
123 poa_cm_operating_unit IN VARCHAR2 DEFAULT NULL,
124 poa_cm_submit_type IN VARCHAR2 DEFAULT NULL,
125 POA_CM_EVALUATION_ID IN VARCHAR2 DEFAULT NULL
126 ) IS
127 X_evaluation_id number;
128 X_evaluation_score_id number;
129
130 l_progress varchar2(240);
131 l_evaluation_id NUMBER := to_number(POA_CM_EVALUATION_ID);
132 l_criteria_code VARCHAR2(30);
133 l_score NUMBER;
134 l_comments VARCHAR2(240);
135
136 BEGIN
137
138 begin
139
140 l_progress := '001';
141
142 if (l_evaluation_id is null) then
143
144 SELECT poa_cm_evaluation_s.nextval
145 INTO X_evaluation_id
146 FROM sys.dual;
147
148 else
149 X_evaluation_id := l_evaluation_id;
150 end if;
151
152 l_progress := '001.5';
153
154 if (l_evaluation_id is null) then
155
156 insert into poa_cm_evaluation
157 ( EVALUATION_ID,
158 CUSTOM_MEASURE_CODE,
159 PERIOD_TYPE,
160 PERIOD_NAME,
161 SUPPLIER_ID,
162 OPER_UNIT_ID,
163 ORG_ID,
164 SUPPLIER_SITE_ID,
165 CATEGORY_ID,
166 ITEM_ID,
167 EVALUATED_BY,
168 COMMENTS,
169 CREATED_BY,
170 CREATION_DATE,
171 LAST_UPDATED_BY,
172 LAST_UPDATE_DATE,
173 LAST_UPDATE_LOGIN,
174 REQUEST_ID,
175 PROGRAM_APPLICATION_ID,
176 PROGRAM_ID,
177 PROGRAM_UPDATE_DATE,
178 ATTRIBUTE_CATEGORY,
179 ATTRIBUTE1,
180 ATTRIBUTE2,
181 ATTRIBUTE3,
182 ATTRIBUTE4,
183 ATTRIBUTE5,
184 ATTRIBUTE6,
185 ATTRIBUTE7,
186 ATTRIBUTE8,
187 ATTRIBUTE9,
188 ATTRIBUTE10,
189 ATTRIBUTE11,
190 ATTRIBUTE12,
191 ATTRIBUTE13,
192 ATTRIBUTE14,
193 ATTRIBUTE15
194 ) VALUES
195 ( X_evaluation_id,
196 poa_cm_custom_measure_code,
197 poa_cm_period_type,
198 poa_cm_period_name,
199 to_number(poa_cm_supplier_id),
200 to_number(poa_cm_oper_unit_id),
201 to_number(poa_cm_org_id),
202 to_number(poa_cm_supplier_site_id),
203 to_number(poa_cm_category_id),
204 to_number(poa_cm_item_id),
205 to_number(poa_cm_evaluated_by_id),
206 poa_cm_comments,
207 fnd_global.user_id,
208 SYSDATE,
209 fnd_global.user_id,
210 SYSDATE,
211 fnd_global.login_id,
212 fnd_global.conc_request_id,
213 fnd_global.prog_appl_id,
214 fnd_global.conc_program_id,
215 SYSDATE,
216 NULL,
217 NULL,
218 NULL,
219 NULL,
220 NULL,
221 NULL,
222 NULL,
223 NULL,
224 NULL,
225 NULL,
226 NULL,
227 NULL,
228 NULL,
229 NULL,
230 NULL,
231 NULL);
232 end if;
233
234 l_progress := '002';
235
236 FOR v_counter IN 1..criteria_code.count - 1 LOOP
237
238 l_progress := '003' || to_char(v_counter);
239
240 l_criteria_code := criteria_code(v_counter);
241
242 if (l_evaluation_id is null) then
243
244 SELECT poa_cm_eval_scores_s.nextval
245 INTO X_evaluation_score_id
246 FROM sys.dual;
247 else
248 SELECT pes.evaluation_score_id
249 INTO X_evaluation_score_id
250 FROM poa_cm_eval_scores pes
251 WHERE pes.criteria_code = l_criteria_code
252 AND pes.evaluation_id = X_evaluation_id;
253
254 end if;
255
256 l_score := to_number(score(v_counter));
257 l_comments := comments(v_counter);
258
259 if (l_evaluation_id is null) then
260
261 insert into poa_cm_eval_scores
262 (
263 EVALUATION_SCORE_ID,
264 CRITERIA_CODE,
265 SCORE,
266 WEIGHT,
267 MIN_SCORE,
268 MAX_SCORE,
269 COMMENTS,
270 EVALUATION_ID,
271 CREATED_BY,
272 CREATION_DATE,
273 LAST_UPDATED_BY,
274 LAST_UPDATE_DATE,
275 LAST_UPDATE_LOGIN,
276 REQUEST_ID,
277 PROGRAM_APPLICATION_ID,
278 PROGRAM_ID,
279 PROGRAM_UPDATE_DATE,
280 ATTRIBUTE_CATEGORY,
281 ATTRIBUTE1,
282 ATTRIBUTE2,
283 ATTRIBUTE3,
284 ATTRIBUTE4,
285 ATTRIBUTE5,
286 ATTRIBUTE6,
287 ATTRIBUTE7,
288 ATTRIBUTE8,
289 ATTRIBUTE9,
290 ATTRIBUTE10,
291 ATTRIBUTE11,
292 ATTRIBUTE12,
293 ATTRIBUTE13,
294 ATTRIBUTE14,
295 ATTRIBUTE15
296 ) values (
297 X_evaluation_score_id,
298 criteria_code(v_counter),
299 to_number(score(v_counter)),
300 to_number(weight(v_counter)),
301 to_number(min_score(v_counter)),
302 to_number(max_score(v_counter)),
303 comments(v_counter),
304 X_evaluation_id,
305 fnd_global.user_id,
306 SYSDATE,
307 fnd_global.user_id,
308 SYSDATE,
309 fnd_global.login_id,
310 fnd_global.conc_request_id,
311 fnd_global.prog_appl_id,
312 fnd_global.conc_program_id,
313 SYSDATE,
314 NULL,
315 NULL,
316 NULL,
317 NULL,
318 NULL,
319 NULL,
320 NULL,
321 NULL,
322 NULL,
323 NULL,
324 NULL,
325 NULL,
326 NULL,
327 NULL,
328 NULL,
329 NULL);
330 else
331 update poa_cm_eval_scores pes
332 set pes.score = l_score,
333 pes.comments = l_comments,
334 pes.last_update_date = SYSDATE
335 where evaluation_score_id = X_evaluation_score_id;
336
337 update poa_cm_evaluation pce
338 set pce.last_update_date = SYSDATE
339 where evaluation_id = X_evaluation_id;
340 end if;
341
342 l_progress := '004' || to_char(v_counter);
343
344 END LOOP;
345
346 l_progress := '005';
347 exception
348 when others then
349 htp.p('POA_CM_ENTER_SCORES_ICX.INSERT_SCORE: Progress ' || l_progress || ' ' || sqlerrm);
350 return;
351 end;
352
353 l_progress := '006';
354
355 poa_cm_evaluation_icx.header_page();
356
357 l_progress := '007';
358
359 END insert_scores;
360
361 END poa_cm_enter_scores_icx;