[Home] [Help]
PACKAGE BODY: APPS.AMS_METRIC_PUB
Source
1 PACKAGE BODY AMS_Metric_PUB AS
2 /* $Header: amspmtcb.pls 120.0 2005/05/31 18:07:37 appldev noship $ */
3
4
5 g_pkg_name CONSTANT VARCHAR2(30):='AMS_Metric_PUB';
6
7
8 ---------------------------------------------------------------------
9 -- PROCEDURE
10 -- Create_Metric
11 --
12 -- PURPOSE
13 -- Creates a metric in AMS_METRICS_ALL_B given the
14 -- record for the metrics.
15 --
16 -- HISTORY
17 -- 10/14/99 ptendulk Created.
18 ---------------------------------------------------------------------
19 AMS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
20 AMS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
21 AMS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
22
23 PROCEDURE Create_Metric(
24 p_api_version IN NUMBER,
25 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
26 p_commit IN VARCHAR2 := FND_API.g_false,
27 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
28
29 x_return_status OUT NOCOPY VARCHAR2,
30 x_msg_count OUT NOCOPY NUMBER,
31 x_msg_data OUT NOCOPY VARCHAR2,
32
33 p_metric_rec IN AMS_METRIC_PVT.metric_rec_type,
34 x_metric_id OUT NOCOPY NUMBER
35 )
36 IS
37
38 l_api_name CONSTANT VARCHAR2(30) := 'Create_Metric';
39 l_return_status VARCHAR2(1);
40 l_metric_rec AMS_Metric_PVT.metric_rec_type := p_metric_rec;
41
42 BEGIN
43
44 SAVEPOINT create_metric_pub;
45
46 -- initialize the message list;
47 -- won't do it again when calling private API
48 IF FND_API.to_boolean(p_init_msg_list) THEN
49 FND_MSG_PUB.initialize;
50 END IF;
51
52 -- call business API
53 AMS_Metric_PVT.Create_Metric(
54 p_api_version => p_api_version,
55 p_init_msg_list => FND_API.g_false, --has done before
56 p_commit => FND_API.g_false, -- will do after
57 p_validation_level => p_validation_level,
58
59 x_return_status => l_return_status,
60 x_msg_count => x_msg_count,
61 x_msg_data => x_msg_data,
62
63 p_metric_rec => l_metric_rec,
64 x_metric_id => x_metric_id
65 );
66
67 IF l_return_status = FND_API.g_ret_sts_error THEN
68 RAISE FND_API.g_exc_error;
69 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
70 RAISE FND_API.g_exc_unexpected_error;
71 END IF;
72
73
74 IF FND_API.to_boolean(p_commit) THEN
75 COMMIT;
76 END IF;
77 x_return_status := FND_API.g_ret_sts_success;
78 FND_MSG_PUB.count_and_get(
79 p_encoded => FND_API.g_false,
80 p_count => x_msg_count,
81 p_data => x_msg_data
82 );
83
84 EXCEPTION
85
86 WHEN FND_API.g_exc_error THEN
87 ROLLBACK TO create_metric_pub;
88 x_return_status := FND_API.g_ret_sts_error;
89 FND_MSG_PUB.count_and_get(
90 p_encoded => FND_API.g_false,
91 p_count => x_msg_count,
92 p_data => x_msg_data
93 );
94
95 WHEN FND_API.g_exc_unexpected_error THEN
96 ROLLBACK TO create_metric_pub;
97 x_return_status := FND_API.g_ret_sts_unexp_error ;
98 FND_MSG_PUB.count_and_get(
99 p_encoded => FND_API.g_false,
100 p_count => x_msg_count,
101 p_data => x_msg_data
102 );
103
104
105 WHEN OTHERS THEN
106 ROLLBACK TO create_metric_pub;
107 x_return_status := FND_API.g_ret_sts_unexp_error ;
108
109 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
110 THEN
111 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
112 END IF;
113
114 FND_MSG_PUB.count_and_get(
115 p_encoded => FND_API.g_false,
116 p_count => x_msg_count,
117 p_data => x_msg_data
118 );
119
120 END Create_Metric;
121
122
123 ---------------------------------------------------------------------
124 -- PROCEDURE
125 -- Delete_Metric
126 --
127 -- PURPOSE
128 -- Deletes a metric in AMS_METRICS_ALL_B given the
129 -- key identifier for the metric.
130 --
131 -- HISTORY
132 -- 10/14/99 ptendulk Created.
133 ---------------------------------------------------------------------
134 PROCEDURE Delete_Metric(
135 p_api_version IN NUMBER,
136 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
137 p_commit IN VARCHAR2 := FND_API.g_false,
138
139 x_return_status OUT NOCOPY VARCHAR2,
140 x_msg_count OUT NOCOPY NUMBER,
141 x_msg_data OUT NOCOPY VARCHAR2,
142
143 p_metric_id IN NUMBER,
144 p_object_version IN NUMBER
145 )
146 IS
147
148 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Metric';
149 l_return_status VARCHAR2(1);
150 l_metric_id NUMBER := p_metric_id;
151 l_object_version NUMBER := p_object_version;
152
153 BEGIN
154
155 SAVEPOINT delete_metric_pub;
156
157 -- initialize the message list;
158 -- won't do it again when calling private API
159 IF FND_API.to_boolean(p_init_msg_list) THEN
160 FND_MSG_PUB.initialize;
161 END IF;
162
163 -- call business API
164 AMS_Metric_PVT.Delete_Metric(
165 p_api_version => p_api_version,
166 p_init_msg_list => FND_API.g_false, --has done before
167 p_commit => FND_API.g_false, -- will do after
168
169 x_return_status => l_return_status,
170 x_msg_count => x_msg_count,
171 x_msg_data => x_msg_data,
172
173 p_metric_id => l_metric_id,
174 p_object_version_number => l_object_version
175 );
176
177 IF l_return_status = FND_API.g_ret_sts_error THEN
178 RAISE FND_API.g_exc_error;
179 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
180 RAISE FND_API.g_exc_unexpected_error;
181 END IF;
182
183
184 IF FND_API.to_boolean(p_commit) THEN
185 COMMIT;
186 END IF;
187 x_return_status := FND_API.g_ret_sts_success;
188 FND_MSG_PUB.count_and_get(
189 p_encoded => FND_API.g_false,
190 p_count => x_msg_count,
191 p_data => x_msg_data
192 );
193
194
195 EXCEPTION
196
197 WHEN FND_API.g_exc_error THEN
198 ROLLBACK TO delete_metric_pub;
199 x_return_status := FND_API.g_ret_sts_error;
200 FND_MSG_PUB.count_and_get(
201 p_encoded => FND_API.g_false,
202 p_count => x_msg_count,
203 p_data => x_msg_data
204 );
205
206 WHEN FND_API.g_exc_unexpected_error THEN
207 ROLLBACK TO delete_metric_pub;
208 x_return_status := FND_API.g_ret_sts_unexp_error ;
209 FND_MSG_PUB.count_and_get(
210 p_encoded => FND_API.g_false,
211 p_count => x_msg_count,
212 p_data => x_msg_data
213 );
214
215
216 WHEN OTHERS THEN
217 ROLLBACK TO delete_metric_pub;
218 x_return_status := FND_API.g_ret_sts_unexp_error ;
219
220 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
221 THEN
222 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
223 END IF;
224
225 FND_MSG_PUB.count_and_get(
226 p_encoded => FND_API.g_false,
227 p_count => x_msg_count,
228 p_data => x_msg_data
229 );
230
231 END Delete_Metric;
232
233
234 ---------------------------------------------------------------------
235 -- PROCEDURE
236 -- Lock_Metric
237 --
238 -- PURPOSE
239 -- Perform a row lock of the metrics identified in the
240 -- given row.
241 -- HISTORY
242 --
243 -- 10/14/99 ptendulk Created.
244 ---------------------------------------------------------------------
245 PROCEDURE Lock_Metric(
246 p_api_version IN NUMBER,
247 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
248
249 x_return_status OUT NOCOPY VARCHAR2,
250 x_msg_count OUT NOCOPY NUMBER,
251 x_msg_data OUT NOCOPY VARCHAR2,
252
253 p_metric_id IN NUMBER,
254 p_object_version IN NUMBER
255 )
256 IS
257
258 l_api_name CONSTANT VARCHAR2(30) := 'Lock_Metric';
259 l_return_status VARCHAR2(1);
260 l_metric_id NUMBER := p_metric_id;
261 l_object_version NUMBER := p_object_version;
262
263 BEGIN
264
265 SAVEPOINT lock_metric_pub;
266
267 -- initialize the message list;
268 -- won't do it again when calling private API
269 IF FND_API.to_boolean(p_init_msg_list) THEN
270 FND_MSG_PUB.initialize;
271 END IF;
272
273 -- call business API
274 AMS_Metric_PVT.Lock_Metric(
275 p_api_version => p_api_version,
276 p_init_msg_list => FND_API.g_false, --has done before
277
278 x_return_status => l_return_status,
279 x_msg_count => x_msg_count,
280 x_msg_data => x_msg_data,
281
282 p_metric_id => l_metric_id,
283 p_object_version_number => l_object_version
284 );
285
286 IF l_return_status = FND_API.g_ret_sts_error THEN
287 RAISE FND_API.g_exc_error;
288 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
289 RAISE FND_API.g_exc_unexpected_error;
290 END IF;
291
292 x_return_status := FND_API.g_ret_sts_success;
293 FND_MSG_PUB.count_and_get(
294 p_encoded => FND_API.g_false,
295 p_count => x_msg_count,
296 p_data => x_msg_data
297 );
298
299 EXCEPTION
300
301 WHEN FND_API.g_exc_error THEN
302 ROLLBACK TO lock_metric_pub;
303 x_return_status := FND_API.g_ret_sts_error;
304 FND_MSG_PUB.count_and_get(
305 p_encoded => FND_API.g_false,
306 p_count => x_msg_count,
307 p_data => x_msg_data
308 );
309
310 WHEN FND_API.g_exc_unexpected_error THEN
311 ROLLBACK TO lock_metric_pub;
312 x_return_status := FND_API.g_ret_sts_unexp_error ;
313 FND_MSG_PUB.count_and_get(
314 p_encoded => FND_API.g_false,
315 p_count => x_msg_count,
316 p_data => x_msg_data
317 );
318
319
320 WHEN OTHERS THEN
321 ROLLBACK TO lock_metric_pub;
322 x_return_status := FND_API.g_ret_sts_unexp_error ;
323
324 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
325 THEN
326 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
327 END IF;
328
329 FND_MSG_PUB.count_and_get(
330 p_encoded => FND_API.g_false,
331 p_count => x_msg_count,
332 p_data => x_msg_data
333 );
334
335 END Lock_Metric;
336
337
338 ---------------------------------------------------------------------
339 -- PROCEDURE
340 -- Update_Metric
341 --
342 -- PURPOSE
343 -- Updates a metric in AMS_METRICS_ALL_B given the
344 -- record for the metrics.
345 --
346 -- HISTORY
347 -- 10/14/99 ptendulk created.
348 ---------------------------------------------------------------------
349 PROCEDURE Update_Metric(
350 p_api_version IN NUMBER,
351 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
352 p_commit IN VARCHAR2 := FND_API.g_false,
353 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
354
355 x_return_status OUT NOCOPY VARCHAR2,
356 x_msg_count OUT NOCOPY NUMBER,
357 x_msg_data OUT NOCOPY VARCHAR2,
358
359 p_metric_rec IN AMS_Metric_PVT.metric_rec_type
360 )
361 IS
362
363 l_api_name CONSTANT VARCHAR2(30) := 'Update_Metric';
364 l_return_status VARCHAR2(1);
365 l_metric_rec AMS_Metric_PVT.metric_rec_type := p_metric_rec;
366
367 BEGIN
368
369 SAVEPOINT update_metric_pub;
370
371 -- initialize the message list;
372 -- won't do it again when calling private API
373 IF FND_API.to_boolean(p_init_msg_list) THEN
374 FND_MSG_PUB.initialize;
375 END IF;
376
377 -- call business API
378 AMS_Metric_PVT.Update_Metric(
379 p_api_version => p_api_version,
380 p_init_msg_list => FND_API.g_false, --has done before
381 p_commit => FND_API.g_false, -- will do after
382 p_validation_level => p_validation_level,
383
384 x_return_status => l_return_status,
385 x_msg_count => x_msg_count,
386 x_msg_data => x_msg_data,
387
388 p_metric_rec => l_metric_rec
389 );
390
391 IF l_return_status = FND_API.g_ret_sts_error THEN
392 RAISE FND_API.g_exc_error;
393 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
394 RAISE FND_API.g_exc_unexpected_error;
395 END IF;
396
397
398 IF FND_API.to_boolean(p_commit) THEN
399 COMMIT;
400 END IF;
401 x_return_status := FND_API.g_ret_sts_success;
402 FND_MSG_PUB.count_and_get(
403 p_encoded => FND_API.g_false,
404 p_count => x_msg_count,
405 p_data => x_msg_data
406 );
407
408 EXCEPTION
409
410 WHEN FND_API.g_exc_error THEN
411 ROLLBACK TO update_metric_pub;
412 x_return_status := FND_API.g_ret_sts_error;
413 FND_MSG_PUB.count_and_get(
414 p_encoded => FND_API.g_false,
415 p_count => x_msg_count,
416 p_data => x_msg_data
417 );
418
419 WHEN FND_API.g_exc_unexpected_error THEN
420 ROLLBACK TO update_metric_pub;
421 x_return_status := FND_API.g_ret_sts_unexp_error ;
422 FND_MSG_PUB.count_and_get(
423 p_encoded => FND_API.g_false,
424 p_count => x_msg_count,
425 p_data => x_msg_data
426 );
427
428
429 WHEN OTHERS THEN
430 ROLLBACK TO update_metric_pub;
431 x_return_status := FND_API.g_ret_sts_unexp_error ;
432
433 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
434 THEN
435 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
436 END IF;
437
438 FND_MSG_PUB.count_and_get(
439 p_encoded => FND_API.g_false,
440 p_count => x_msg_count,
441 p_data => x_msg_data
442 );
443
444 END Update_Metric;
445
446
447 ---------------------------------------------------------------------
448 -- PROCEDURE
449 -- Validate_Metric
450 --
451 -- PURPOSE
452 -- Validation API for metrics.
453 --
454 --
455 -- HISTORY
456 -- 10/01/99 ptendulk validated.
457 ---------------------------------------------------------------------
458 PROCEDURE Validate_Metric(
459 p_api_version IN NUMBER,
460 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
461 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
462
463 x_return_status OUT NOCOPY VARCHAR2,
464 x_msg_count OUT NOCOPY NUMBER,
465 x_msg_data OUT NOCOPY VARCHAR2,
466
467 p_metric_rec IN AMS_Metric_PVT.metric_rec_type
468 )
472 l_return_status VARCHAR2(1);
469 IS
470
471 l_api_name CONSTANT VARCHAR2(30) := 'Validate_Metric';
473 l_metric_rec AMS_Metric_PVT.metric_rec_type := p_metric_rec;
474
475 BEGIN
476
477 SAVEPOINT validate_metric_pub;
478
479 -- initialize the message list;
480 -- won't do it again when calling private API
481 IF FND_API.to_boolean(p_init_msg_list) THEN
482 FND_MSG_PUB.initialize;
483 END IF;
484
485 -- call business API
486 AMS_Metric_PVT.Validate_Metric(
487 p_api_version => p_api_version,
488 p_init_msg_list => FND_API.g_false, --has done before
489 p_validation_level => p_validation_level,
490
491 x_return_status => l_return_status,
492 x_msg_count => x_msg_count,
493 x_msg_data => x_msg_data,
494
495 p_metric_rec => l_metric_rec
496 );
497
498 IF l_return_status = FND_API.g_ret_sts_error THEN
499 RAISE FND_API.g_exc_error;
500 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
501 RAISE FND_API.g_exc_unexpected_error;
502 END IF;
503
504 x_return_status := FND_API.g_ret_sts_success;
505 FND_MSG_PUB.count_and_get(
506 p_encoded => FND_API.g_false,
507 p_count => x_msg_count,
508 p_data => x_msg_data
509 );
510
511 EXCEPTION
512
513 WHEN FND_API.g_exc_error THEN
514 ROLLBACK TO validate_metric_pub;
515 x_return_status := FND_API.g_ret_sts_error;
516 FND_MSG_PUB.count_and_get(
517 p_encoded => FND_API.g_false,
518 p_count => x_msg_count,
519 p_data => x_msg_data
520 );
521
522 WHEN FND_API.g_exc_unexpected_error THEN
523 ROLLBACK TO validate_metric_pub;
524 x_return_status := FND_API.g_ret_sts_unexp_error ;
525 FND_MSG_PUB.count_and_get(
526 p_encoded => FND_API.g_false,
527 p_count => x_msg_count,
528 p_data => x_msg_data
529 );
530
531
532 WHEN OTHERS THEN
533 ROLLBACK TO validate_metric_pub;
534 x_return_status := FND_API.g_ret_sts_unexp_error ;
535
536 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
537 THEN
538 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
539 END IF;
540
541 FND_MSG_PUB.count_and_get(
542 p_encoded => FND_API.g_false,
543 p_count => x_msg_count,
544 p_data => x_msg_data
545 );
546
547 END Validate_Metric;
548
549
550 END AMS_Metric_PUB;