DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSF_TASK_DEPENDENCY_PUB

Source


1 PACKAGE BODY CSF_TASK_DEPENDENCY_PUB as
2 /* $Header: CSFPTKDB.pls 120.0 2005/05/25 11:21:18 appldev noship $ */
3 
4 -- Start of Comments
5 
6 -- Package name     : CSF_TASK_DEPENDENCY_PUB
7 -- Purpose          : This package is related to the task dependency.
8 -- History          : Created by sseshaiy on 26-aug-2004
9 -- NOTE             : This package do the operations on jtf_task_depends table
10 
11 -- End of Comments
12 
13     g_pkg_name    CONSTANT VARCHAR2(30) := 'CSF_TASK_DEPENDENCY_PUB';
14 
15     PROCEDURE CREATE_TASK_DEPENDENCY_NV (
16           p_api_version                IN           NUMBER
17         , p_init_msg_list              IN           VARCHAR2  DEFAULT NULL
18         , p_commit                     IN           VARCHAR2  DEFAULT NULL
19         , p_validation_level           IN           VARCHAR2  DEFAULT NULL
20         , p_task_id                    IN           NUMBER
21         , p_dependent_on_task_id       IN           NUMBER
22         , p_dependency_type_code       IN           VARCHAR2
23         , x_dependency_id              OUT NOCOPY   NUMBER
24         , x_return_status              OUT NOCOPY   VARCHAR2
25         , x_msg_count                  OUT NOCOPY   NUMBER
26         , x_msg_data                   OUT NOCOPY   VARCHAR2
27         , p_attribute1                 IN           VARCHAR2 DEFAULT NULL
28         , p_attribute2                 IN           VARCHAR2 DEFAULT NULL
29         , p_attribute3                 IN           VARCHAR2 DEFAULT NULL
30         , p_attribute4                 IN           VARCHAR2 DEFAULT NULL
31         , p_attribute5                 IN           VARCHAR2 DEFAULT NULL
32         , p_attribute6                 IN           VARCHAR2 DEFAULT NULL
33         , p_attribute7                 IN           VARCHAR2 DEFAULT NULL
34         , p_attribute8                 IN           VARCHAR2 DEFAULT NULL
35         , p_attribute9                 IN           VARCHAR2 DEFAULT NULL
36         , p_attribute10                IN           VARCHAR2 DEFAULT NULL
37         , p_attribute11                IN           VARCHAR2 DEFAULT NULL
38         , p_attribute12                IN           VARCHAR2 DEFAULT NULL
39         , p_attribute13                IN           VARCHAR2 DEFAULT NULL
40         , p_attribute14                IN           VARCHAR2 DEFAULT NULL
41         , p_attribute15                IN           VARCHAR2 DEFAULT NULL
42         , p_attribute_category         IN           VARCHAR2 DEFAULT NULL
43     )
44     IS
45         l_api_version        CONSTANT NUMBER              := 1.0;
46         l_api_name           CONSTANT VARCHAR2(30)        := 'CREATE_TASK_DEPENDENCY_NV';
47     BEGIN
48         -- Standard start of API savepoint
49         SAVEPOINT csf_create_task_dependency_pub;
50 
51         -- Standard call to check for call compatibility
52         IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
53         THEN
54             RAISE fnd_api.g_exc_unexpected_error;
55         END IF;
56 
57         -- Initialize message list if p_init_msg_list is set to TRUE
58         IF fnd_api.to_boolean (p_init_msg_list)
59         THEN
60             fnd_msg_pub.initialize;
61         END IF;
62 
63         -- Initialize API return status to success
64         x_return_status := fnd_api.g_ret_sts_success;
65 
66         -- Calling jtf api to create dependency and validate flag will be set 'N' always
67         jtf_task_dependency_pub.create_task_dependency (
68              p_api_version              => p_api_version
69            , p_init_msg_list            => p_init_msg_list
70            , p_commit                   => p_commit
71            , p_validation_level         => p_validation_level
72            , p_task_id                  => p_task_id
73            , p_dependent_on_task_id     => p_dependent_on_task_id
74            , p_dependency_type_code     => p_dependency_type_code
75            , p_validated_flag           => 'N'
76            , p_template_flag            => 'N'
77            , p_adjustment_time          => NULL
78            , p_adjustment_time_uom      => NULL
79            , x_dependency_id            => x_dependency_id
80            , x_return_status            => x_return_status
81            , x_msg_data                 => x_msg_data
82            , x_msg_count                => x_msg_count
83            , p_attribute1               => p_attribute1
84            , p_attribute2               => p_attribute2
85            , p_attribute3               => p_attribute3
86            , p_attribute4               => p_attribute4
87            , p_attribute5               => p_attribute5
88            , p_attribute6               => p_attribute6
89            , p_attribute7               => p_attribute7
90            , p_attribute8               => p_attribute8
91            , p_attribute9               => p_attribute9
92            , p_attribute10              => p_attribute10
93            , p_attribute11              => p_attribute11
94            , p_attribute12              => p_attribute12
95            , p_attribute13              => p_attribute13
96            , p_attribute14              => p_attribute14
97            , p_attribute15              => p_attribute15
98            , p_attribute_category       => p_attribute_category
99         );
100 
101         -- check return status
102         IF NOT (x_return_status = fnd_api.g_ret_sts_success)
103         THEN
104             RAISE fnd_api.g_exc_unexpected_error;
105         END IF;
106 
107         -- Standard check of p_commit
108         IF fnd_api.to_boolean (p_commit)
109         THEN
110 
111             COMMIT WORK;
112         END IF;
113 
114         -- Standard call to get message count and if count is 1, get message info
115         fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
116     EXCEPTION
117         WHEN fnd_api.g_exc_unexpected_error
118         THEN
119             ROLLBACK TO csf_create_task_dependency_pub;
120             x_return_status := fnd_api.g_ret_sts_unexp_error;
121             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
122         WHEN OTHERS
123         THEN
124             ROLLBACK TO csf_create_task_dependency_pub;
125             fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
126             fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
127             x_return_status := fnd_api.g_ret_sts_unexp_error;
128             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
129     END CREATE_TASK_DEPENDENCY_NV;
130 
131    PROCEDURE LOCK_TASK_DEPENDENCY (
132         p_api_version             IN            NUMBER
133       , p_init_msg_list           IN            VARCHAR2 DEFAULT NULL
134       , p_commit                  IN            VARCHAR2 DEFAULT NULL
135       , p_dependency_id           IN            NUMBER
136       , p_object_version_number   IN            NUMBER
137       , x_return_status           OUT NOCOPY    VARCHAR2
138       , x_msg_data                OUT NOCOPY    VARCHAR2
139       , x_msg_count               OUT NOCOPY    NUMBER
140    )
141    IS
142         l_api_version        CONSTANT NUMBER              := 1.0;
143         l_api_name           CONSTANT VARCHAR2(30)        := 'LOCK_TASK_DEPENDENCY';
144    BEGIN
145         -- Standard start of API savepoint
146         SAVEPOINT csf_lock_task_depends_pub;
147 
148         -- Standard call to check for call compatibility
149         IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
150         THEN
151             RAISE fnd_api.g_exc_unexpected_error;
152         END IF;
153 
154         -- Initialize message list if p_init_msg_list is set to TRUE
155         IF fnd_api.to_boolean (p_init_msg_list)
156         THEN
157             fnd_msg_pub.initialize;
158         END IF;
159 
160         -- Initialize API return status to success
161         x_return_status := fnd_api.g_ret_sts_success;
162 
163         -- Calling jtf api to lock the row
164         jtf_task_dependency_pub.lock_task_dependency(
165               p_api_version            => p_api_version
166             , p_init_msg_list          => p_init_msg_list
167             , p_commit                 => p_commit
168             , p_dependency_id          => p_dependency_id
169             , p_object_version_number  => p_object_version_number
170             , x_return_status          => x_return_status
171             , x_msg_data               => x_msg_data
172             , x_msg_count              => x_msg_count
173           );
174 
175         -- check return status
176         IF NOT (x_return_status = fnd_api.g_ret_sts_success)
177         THEN
178             RAISE fnd_api.g_exc_unexpected_error;
179         END IF;
180 
181         -- Standard call to get message count and if count is 1, get message info
182         fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
183     EXCEPTION
184         WHEN fnd_api.g_exc_unexpected_error
185         THEN
186             ROLLBACK TO csf_lock_task_depends_pub;
187             x_return_status := fnd_api.g_ret_sts_unexp_error;
188             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
189         WHEN OTHERS
190         THEN
191             ROLLBACK TO csf_lock_task_depends_pub;
192             fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
193             fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
194             x_return_status := fnd_api.g_ret_sts_unexp_error;
195             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
196     END LOCK_TASK_DEPENDENCY;
197 
198     PROCEDURE  UPDATE_TASK_DEPENDENCY (
199           p_api_version                IN                 NUMBER
200         , p_init_msg_list              IN                 VARCHAR2 DEFAULT NULL
201         , p_commit                     IN                 VARCHAR2 DEFAULT NULL
202         , p_object_version_number      IN  OUT NOCOPY     NUMBER
203         , p_dependency_id              IN                 NUMBER
204         , p_task_id                    IN                 NUMBER   DEFAULT NULL
205         , p_dependent_on_task_id       IN                 NUMBER   DEFAULT NULL
206         , p_dependency_type_code       IN                 VARCHAR2 DEFAULT NULL
207         , x_return_status              OUT     NOCOPY     VARCHAR2
208         , x_msg_count                  OUT     NOCOPY     NUMBER
209         , x_msg_data                   OUT     NOCOPY     VARCHAR2
210         , p_attribute1                 IN                 VARCHAR2 DEFAULT NULL
211         , p_attribute2                 IN                 VARCHAR2 DEFAULT NULL
212         , p_attribute3                 IN                 VARCHAR2 DEFAULT NULL
213         , p_attribute4                 IN                 VARCHAR2 DEFAULT NULL
214         , p_attribute5                 IN                 VARCHAR2 DEFAULT NULL
215         , p_attribute6                 IN                 VARCHAR2 DEFAULT NULL
216         , p_attribute7                 IN                 VARCHAR2 DEFAULT NULL
217         , p_attribute8                 IN                 VARCHAR2 DEFAULT NULL
218         , p_attribute9                 IN                 VARCHAR2 DEFAULT NULL
219         , p_attribute10                IN                 VARCHAR2 DEFAULT NULL
220         , p_attribute11                IN                 VARCHAR2 DEFAULT NULL
221         , p_attribute12                IN                 VARCHAR2 DEFAULT NULL
222         , p_attribute13                IN                 VARCHAR2 DEFAULT NULL
223         , p_attribute14                IN                 VARCHAR2 DEFAULT NULL
224         , p_attribute15                IN                 VARCHAR2 DEFAULT NULL
225         , p_attribute_category         IN                 VARCHAR2 DEFAULT NULL
226     )
227     IS
228         l_api_version        CONSTANT NUMBER              := 1.0;
229         l_api_name           CONSTANT VARCHAR2(30)        := 'UPDATE_TASK_DEPENDENCY';
230     BEGIN
231         -- Standard start of API savepoint
232         SAVEPOINT csf_update_task_dependency_pub;
233 
234         -- Standard call to check for call compatibility
235         IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
236         THEN
237             RAISE fnd_api.g_exc_unexpected_error;
238         END IF;
239 
240         -- Initialize message list if p_init_msg_list is set to TRUE
241         IF fnd_api.to_boolean (p_init_msg_list)
242         THEN
243             fnd_msg_pub.initialize;
244         END IF;
245 
246         -- Initialize API return status to success
247         x_return_status := fnd_api.g_ret_sts_success;
248 
249         -- Calling jtf api to update dependency and validate flag will be set 'N' always
250         jtf_task_dependency_pub.update_task_dependency (
251               p_api_version              => p_api_version
252             , p_init_msg_list            => p_init_msg_list
253             , p_commit                   => p_commit
254             , p_object_version_number    => p_object_version_number
255             , p_dependency_id            => p_dependency_id
256             , p_task_id                  => p_task_id
257             , p_dependent_on_task_id     => p_dependent_on_task_id
258             , p_dependency_type_code     => p_dependency_type_code
259             , p_validated_flag           => 'N'
260             , p_adjustment_time          => NULL
261             , p_adjustment_time_uom      => NULL
262             , x_return_status            => x_return_status
263             , x_msg_data                 => x_msg_data
264             , x_msg_count                => x_msg_count
265             , p_attribute1               => p_attribute1
266             , p_attribute2               => p_attribute2
267             , p_attribute3               => p_attribute3
268             , p_attribute4               => p_attribute4
269             , p_attribute5               => p_attribute5
270             , p_attribute6               => p_attribute6
271             , p_attribute7               => p_attribute7
272             , p_attribute8               => p_attribute8
273             , p_attribute9               => p_attribute9
274             , p_attribute10              => p_attribute10
275             , p_attribute11              => p_attribute11
276             , p_attribute12              => p_attribute12
277             , p_attribute13              => p_attribute13
278             , p_attribute14              => p_attribute14
279             , p_attribute15              => p_attribute15
280             , p_attribute_category       => p_attribute_category
281         );
282 
283         -- check return status
284         IF NOT (x_return_status = fnd_api.g_ret_sts_success)
285         THEN
286             RAISE fnd_api.g_exc_unexpected_error;
287         END IF;
288 
289           -- Standard check of p_commit
290         IF fnd_api.to_boolean (p_commit)
291         THEN
292             COMMIT WORK;
293         END IF;
294 
295         -- Standard call to get message count and if count is 1, get message info
296         fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
297     EXCEPTION
298         WHEN fnd_api.g_exc_unexpected_error
299         THEN
300             ROLLBACK TO csf_update_task_dependency_pub;
301             x_return_status := fnd_api.g_ret_sts_unexp_error;
302             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
303         WHEN OTHERS
304         THEN
305             ROLLBACK TO csf_update_task_dependency_pub;
306             fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
307             fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
308             x_return_status := fnd_api.g_ret_sts_unexp_error;
309             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
310     END UPDATE_TASK_DEPENDENCY;
311 
312     PROCEDURE DELETE_TASK_DEPENDENCY (
313           p_api_version             IN              NUMBER
314         , p_init_msg_list           IN              VARCHAR2 DEFAULT NULL
315         , p_commit                  IN              VARCHAR2 DEFAULT NULL
316         , p_object_version_number   IN              NUMBER
317         , p_dependency_id           IN              NUMBER
318         , x_return_status           OUT NOCOPY      VARCHAR2
319         , x_msg_count               OUT NOCOPY      NUMBER
320         , x_msg_data                OUT NOCOPY      VARCHAR2
321     )
322     IS
323         l_api_version        CONSTANT NUMBER              := 1.0;
324         l_api_name           CONSTANT VARCHAR2(30)        := 'DELETE_TASK_DEPENDENCY';
325     BEGIN
326         -- Standard start of API savepoint
327         SAVEPOINT csf_delete_task_dependency_pub;
328 
329         -- Standard call to check for call compatibility
330         IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
331         THEN
332             RAISE fnd_api.g_exc_unexpected_error;
333         END IF;
334 
335         -- Initialize message list if p_init_msg_list is set to TRUE
336         IF fnd_api.to_boolean (p_init_msg_list)
337         THEN
341         -- Initialize API return status to success
338             fnd_msg_pub.initialize;
339         END IF;
340 
342         x_return_status := fnd_api.g_ret_sts_success;
343 
344         -- Calling jtf api to delete dependency
345         jtf_task_dependency_pub.delete_task_dependency (
346                   p_api_version           => p_api_version
347                 , p_init_msg_list         => p_init_msg_list
348                 , p_commit                => p_commit
349                 , p_object_version_number => p_object_version_number
350                 , p_dependency_id         => p_dependency_id
351                 , x_return_status         => x_return_status
352                 , x_msg_count             => x_msg_count
353                 , x_msg_data              => x_msg_data
354             );
355 
356         -- check return status
357         IF NOT (x_return_status = fnd_api.g_ret_sts_success)
358         THEN
359             RAISE fnd_api.g_exc_unexpected_error;
360         END IF;
361 
362           -- Standard check of p_commit
363         IF fnd_api.to_boolean (p_commit)
364         THEN
365             COMMIT WORK;
366         END IF;
367 
368         -- Standard call to get message count and if count is 1, get message info
369         fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
370     EXCEPTION
371         WHEN fnd_api.g_exc_unexpected_error
372         THEN
373             ROLLBACK TO csf_delete_task_dependency_pub;
374             x_return_status := fnd_api.g_ret_sts_unexp_error;
375             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
376         WHEN OTHERS
377         THEN
378             ROLLBACK TO csf_delete_task_dependency_pub;
379             fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
380             fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
381             x_return_status := fnd_api.g_ret_sts_unexp_error;
382             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
383     END  DELETE_TASK_DEPENDENCY;
384 
385     PROCEDURE CLEAR_TASK_DEPENDENCIES (
386           p_api_version             IN              NUMBER
387         , p_init_msg_list           IN              VARCHAR2 DEFAULT NULL
388         , p_commit                  IN              VARCHAR2 DEFAULT NULL
389         , p_task_id                 IN              NUMBER
390         , x_return_status           OUT NOCOPY      VARCHAR2
391         , x_msg_count               OUT NOCOPY      NUMBER
392         , x_msg_data                OUT NOCOPY      VARCHAR2
393     )
394     IS
395         l_api_version        CONSTANT NUMBER              := 1.0;
396         l_api_name           CONSTANT VARCHAR2(30)        := 'CLEAR_TASK_DEPENDENCIES';
397 
398         CURSOR c_all_depends (p_task_id NUMBER)
399         IS
400             SELECT  dependency_id
401                   , object_version_number
402             FROM    jtf_task_depends
403             WHERE   task_id = p_task_id
404             UNION
405             SELECT  dependency_id
406                   , object_version_number
407             FROM    jtf_task_depends
408             WHERE   dependent_on_task_id = p_task_id;
409 
410          l_dependency_id                NUMBER;
411          l_object_version_number        NUMBER;
412 
413     BEGIN
414         -- Standard start of API savepoint
415         SAVEPOINT csf_clear_task_dependency_pub;
416 
417         -- Standard call to check for call compatibility
418         IF NOT fnd_api.compatible_api_call (l_api_version, p_api_version, l_api_name, g_pkg_name)
419         THEN
420             RAISE fnd_api.g_exc_unexpected_error;
421         END IF;
422 
423         -- Initialize message list if p_init_msg_list is set to TRUE
424         IF fnd_api.to_boolean (p_init_msg_list)
425         THEN
426             fnd_msg_pub.initialize;
427         END IF;
428 
429         -- Initialize API return status to success
430         x_return_status := fnd_api.g_ret_sts_success;
431 
432         OPEN c_all_depends (p_task_id);
433         LOOP
434             FETCH c_all_depends INTO l_dependency_id, l_object_version_number;
435             EXIT WHEN c_all_depends%NOTFOUND;
436 
437             DELETE_TASK_DEPENDENCY(
438                    p_api_version             => 1.0
439                  , p_init_msg_list           => p_init_msg_list
440                  , p_commit                  => p_commit
441                  , p_object_version_number   => l_object_version_number
442                  , p_dependency_id           => l_dependency_id
443                  , x_return_status           => x_return_status
444                  , x_msg_count               => x_msg_count
445                  , x_msg_data                => x_msg_data
446               );
447 
448         END LOOP;
449         CLOSE c_all_depends;
450 
451         -- check return status
452         IF NOT (x_return_status = fnd_api.g_ret_sts_success)
453         THEN
454             RAISE fnd_api.g_exc_unexpected_error;
455         END IF;
456 
457           -- Standard check of p_commit
458         IF fnd_api.to_boolean (p_commit)
459         THEN
460             COMMIT WORK;
461         END IF;
462 
463         -- Standard call to get message count and if count is 1, get message info
464         fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
465     EXCEPTION
466         WHEN fnd_api.g_exc_unexpected_error
467         THEN
468             ROLLBACK TO csf_clear_task_dependency_pub;
469             x_return_status := fnd_api.g_ret_sts_unexp_error;
470             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
471         WHEN OTHERS
472         THEN
473             ROLLBACK TO csf_clear_task_dependency_pub;
474             fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
475             fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
476             x_return_status := fnd_api.g_ret_sts_unexp_error;
477             fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
478     END  CLEAR_TASK_DEPENDENCIES;
479 
480 END CSF_TASK_DEPENDENCY_PUB;
481