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