DBA Data[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;