DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSI_T_TXN_RLTNSHPS_GRP

Source


1 PACKAGE BODY csi_t_txn_rltnshps_grp as
2 /*$Header: csigtiib.pls 115.16 2004/01/08 23:54:02 rmamidip ship $*/
3 
4   g_pkg_name    CONSTANT VARCHAR2(30) := 'csi_t_txn_rltnshps_grp';
5   g_file_name   CONSTANT VARCHAR2(12) := 'csigtiib.pls';
6 
7   g_user_id              NUMBER := FND_GLOBAL.User_Id;
8   g_login_id             NUMBER := FND_GLOBAL.Login_Id;
9 
10   PROCEDURE create_txn_ii_rltns_dtls(
11     p_api_version           IN  NUMBER,
12     p_commit                IN  VARCHAR2 := fnd_api.g_false,
13     p_init_msg_list         IN  VARCHAR2 := fnd_api.g_false,
14     p_validation_level      IN  NUMBER   := fnd_api.g_valid_level_full,
15     px_txn_ii_rltns_tbl     IN  OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
16     x_return_status         OUT NOCOPY VARCHAR2,
17     x_msg_count             OUT NOCOPY NUMBER,
18     x_msg_data              OUT NOCOPY VARCHAR2)
19   IS
20 
21     l_api_name            CONSTANT VARCHAR2(30)  := 'create_txn_ii_rltns_dtls';
22     l_api_version         CONSTANT NUMBER        := 1.0;
23     l_debug_level                  NUMBER;
24 
25     l_return_status                VARCHAR2(1)   := FND_API.G_ret_sts_success;
26     l_msg_count                    NUMBER;
27     l_msg_data                     VARCHAR2(512);
28 
29     l_count                        NUMBER;
30 
31     l_txn_ii_rltns_rec  csi_t_datastructures_grp.txn_ii_rltns_rec;
32     l_sub_instance_id             NUMBER ;
33     l_obj_instance_id             NUMBER ;
34     l_sub_tld_id                  NUMBER ;
35     l_obj_tld_id                  NUMBER ;
36 
37   BEGIN
38 
39     -- Standard Start of API savepoint
40     SAVEPOINT create_txn_ii_rltns_dtls;
41 
42     csi_t_gen_utility_pvt.add('API Being Executed     : Create Txn Relationships');
43     csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
44 
45 
46     -- Initialize message list if p_init_msg_list is set to TRUE.
47     IF FND_API.To_Boolean( p_init_msg_list ) THEN
48       FND_MSG_PUB.Initialize;
49     END IF;
50 
51     --  Initialize API return status to success
52     x_return_status := FND_API.G_RET_STS_SUCCESS;
53 
54     -- Standard call to check for call compatibility.
55     IF NOT
56 
57        FND_API.Compatible_API_Call (
58          p_current_version_number => l_api_version,
59          p_caller_version_number  => p_api_version,
60          p_api_name               => l_api_name,
61          p_pkg_name               => g_pkg_name) THEN
62 
63       RAISE FND_API.G_Exc_Unexpected_Error;
64 
65     END IF;
66 
67     /**** Commented for Bug 3304439
68     -- Check for the profile option and enable trace
69     IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
70       dbms_session.set_sql_trace(TRUE);
71     END IF;
72     ****/
73 
74     -- main code starts here
75     --
76     -- This procedure check if the installed base is active, If not active
77     -- populates the error message in the message queue and raises the
78     -- fnd_api.g_exc_error exception
79     --
80 
81     csi_utility_grp.check_ib_active;
82 
83     IF px_txn_ii_rltns_tbl.COUNT > 0 THEN
84 
85       -- loop thru instance relationship table
86       FOR l_ind IN px_txn_ii_rltns_tbl.FIRST..px_txn_ii_rltns_tbl.LAST
87       LOOP
88         -- initialize record type variable
89         l_txn_ii_rltns_rec := px_txn_ii_rltns_tbl(l_ind);
90 
91         -- call api to create intance relationship records
92         csi_t_txn_rltnshps_pvt.create_txn_ii_rltns_dtls(
93           p_api_version        => p_api_version,
94           p_commit             => p_commit,
95           p_init_msg_list      => p_init_msg_list,
96           p_validation_level   => p_validation_level,
97           p_txn_ii_rltns_rec   => l_txn_ii_rltns_rec,
98           x_return_status      => l_return_status,
99           x_msg_count          => l_msg_count,
100           x_msg_data           => l_msg_data);
101 
102         IF l_return_status <> fnd_api.g_ret_sts_success THEN
103           raise fnd_api.g_exc_error;
104         END IF;
105 
106         px_txn_ii_rltns_tbl(l_ind) := l_txn_ii_rltns_rec;
107 
108       END LOOP;
109 
110     END IF;
111 
112 
113     -- Standard check of p_commit.
114     IF FND_API.To_Boolean( p_commit ) THEN
115       COMMIT WORK;
116     END IF;
117 
118     /**** Commented for Bug 3304439
119     -- Check for the profile option and disable the trace
120     IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
121       dbms_session.set_sql_trace(false);
122     END IF;
123     ****/
124 
125     -- Standard call to get message count and if count is  get message info.
126     FND_MSG_PUB.Count_And_Get(
127       p_count  =>  x_msg_count,
128       p_data   =>  x_msg_data);
129 
130     csi_t_gen_utility_pvt.add('API Successfully Executed         : Create Txn Relationships');
131     csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
132 
133     csi_t_gen_utility_pvt.set_debug_off;
134 
135   EXCEPTION
136     WHEN FND_API.G_EXC_ERROR THEN
137 
138       ROLLBACK TO create_txn_ii_rltns_dtls;
139       x_return_status := FND_API.G_RET_STS_ERROR ;
140       FND_MSG_PUB.Count_And_Get (
141         p_count  => x_msg_count,
142         p_data   => x_msg_data);
143 
144     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
145 
146       ROLLBACK TO create_txn_ii_rltns_dtls;
147       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
148 
149       FND_MSG_PUB.Count_And_Get(
150         p_count  => x_msg_count,
151         p_data   => x_msg_data);
152 
153     WHEN OTHERS THEN
154 
155       ROLLBACK TO create_txn_ii_rltns_dtls;
156       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
157 
158       IF FND_MSG_PUB.Check_Msg_Level(
159            p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
160 
161         FND_MSG_PUB.Add_Exc_Msg(
162           p_pkg_name       => G_PKG_NAME,
163           p_procedure_name => l_api_name);
164 
165       END IF;
166 
167       FND_MSG_PUB.Count_And_Get(
168         p_count  => x_msg_count,
169         p_data   => x_msg_data);
170 
171   END create_txn_ii_rltns_dtls;
172 
173 
174   /*
175   */
176   PROCEDURE update_txn_ii_rltns_dtls (
177      p_api_version            IN  NUMBER
178     ,p_commit                 IN  VARCHAR2 := fnd_api.g_false
179     ,p_init_msg_list          IN  VARCHAR2 := fnd_api.g_false
180     ,p_validation_level       IN  NUMBER   := fnd_api.g_valid_level_full
181     ,p_txn_ii_rltns_tbl       IN  csi_t_datastructures_grp.txn_ii_rltns_tbl
182     ,x_return_status          OUT NOCOPY VARCHAR2
183     ,x_msg_count              OUT NOCOPY NUMBER
184     ,x_msg_data               OUT NOCOPY VARCHAR2)
185 
186   IS
187 
188     l_api_name       CONSTANT VARCHAR2(30)  := 'update_txn_ii_rltns_dtls';
189     l_api_version    CONSTANT NUMBER        := 1.0;
190     l_debug_level             NUMBER;
191 
192     l_return_status                VARCHAR2(1)   := FND_API.G_ret_sts_success;
193     l_msg_count                    NUMBER;
194     l_msg_data                     VARCHAR2(512);
195 
196   BEGIN
197 
198     -- Standard Start of API savepoint
199     SAVEPOINT update_txn_ii_rltns_dtls;
200 
201     csi_t_gen_utility_pvt.add('API Being Executed     : Update Txn Relationships');
202     csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
203 
204 
205     -- Initialize message list if p_init_msg_list is set to TRUE.
206     IF FND_API.to_Boolean( p_init_msg_list ) THEN
207       FND_MSG_PUB.initialize;
208     END IF;
209 
210     --  Initialize API return status to success
211     x_return_status := FND_API.G_RET_STS_SUCCESS;
212 
213     -- Standard call to check for call compatibility.
214     IF NOT
215 
216        FND_API.Compatible_API_Call (
217          p_current_version_number => l_api_version,
218          p_caller_version_number  => p_api_version,
219          p_api_name               => l_api_name,
220          p_pkg_name               => G_PKG_NAME) THEN
221 
222       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
223 
224     END IF;
225 
226     /**** Commented for Bug 3304439
227     -- Check for the profile option and enable trace
228     IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
229       dbms_session.set_sql_trace(TRUE);
230     END IF;
231     ****/
232 
233     -- Main API code
234     --
235     -- This procedure check if the installed base is active, If not active
236     -- populates the error message in the message queue and raises the
237     -- fnd_api.g_exc_error exception
238     --
239 
240     csi_utility_grp.check_ib_active;
241 
242     csi_t_txn_rltnshps_pvt.update_txn_ii_rltns_dtls (
243       p_api_version      => p_api_version,
244       p_commit           => p_commit,
245       p_init_msg_list    => p_init_msg_list,
246       p_validation_level => p_validation_level,
247       p_txn_ii_rltns_tbl => p_txn_ii_rltns_tbl,
248       x_return_status    => l_return_status,
249       x_msg_count        => l_msg_count,
250       x_msg_data         => l_msg_data);
251 
252     IF l_return_status <> fnd_api.g_ret_sts_success THEN
253       RAISE fnd_api.g_exc_error;
254     END IF;
255 
256     -- Standard check of p_commit.
257     IF FND_API.To_Boolean( p_commit ) THEN
258       COMMIT WORK;
259     END IF;
260 
261     /**** Commented for Bug 3304439
262     -- Check for the profile option and disable the trace
263     IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
264       dbms_session.set_sql_trace(false);
265     END IF;
266     ****/
267     -- Standard call to get message count and if count is  get message info.
268     FND_MSG_PUB.Count_And_Get(
269       p_count  =>  x_msg_count,
270       p_data   =>  x_msg_data);
271 
272     csi_t_gen_utility_pvt.add('API Successfully Executed         : Update Txn Relationships ');
273     csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
274 
275     csi_t_gen_utility_pvt.set_debug_off;
276 
277   EXCEPTION
278     WHEN FND_API.G_EXC_ERROR THEN
279 
280       ROLLBACK TO update_txn_ii_rltns_dtls;
281       x_return_status := FND_API.G_RET_STS_ERROR ;
282       FND_MSG_PUB.Count_And_Get (
283         p_count  => x_msg_count,
284         p_data   => x_msg_data);
285 
286     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
287 
288       ROLLBACK TO update_txn_ii_rltns_dtls;
289       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
290 
291       FND_MSG_PUB.Count_And_Get(
292         p_count  => x_msg_count,
293         p_data   => x_msg_data);
294 
295     WHEN OTHERS THEN
296 
297       ROLLBACK TO update_txn_ii_rltns_dtls;
298       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
299 
300       IF FND_MSG_PUB.Check_Msg_Level(
301            p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
302 
303         FND_MSG_PUB.Add_Exc_Msg(
304           p_pkg_name       => G_PKG_NAME,
305           p_procedure_name => l_api_name);
306 
307       END IF;
308 
309       FND_MSG_PUB.Count_And_Get(
310         p_count  => x_msg_count,
311         p_data   => x_msg_data);
312 
313   END update_txn_ii_rltns_dtls;
314 
315   /*
316   */
317   PROCEDURE delete_txn_ii_rltns_dtls(
318      p_api_version            IN  NUMBER
319     ,p_commit                 IN  VARCHAR2 := fnd_api.g_false
320     ,p_init_msg_list          IN  VARCHAR2 := fnd_api.g_false
321     ,p_validation_level       IN  NUMBER   := fnd_api.g_valid_level_full
322     ,p_txn_ii_rltns_ids_tbl   IN  csi_t_datastructures_grp.txn_ii_rltns_ids_tbl
323     ,x_return_status          OUT NOCOPY VARCHAR2
324     ,x_msg_count              OUT NOCOPY NUMBER
325     ,x_msg_data               OUT NOCOPY VARCHAR2)
326 
327   IS
328 
329     l_api_name       CONSTANT VARCHAR2(30)  := 'delete_txn_ii_rltns_dtls';
330     l_api_version    CONSTANT NUMBER        := 1.0;
331     l_debug_level             NUMBER;
332 
333     l_return_status           VARCHAR2(1);
334     l_msg_count               NUMBER;
335     l_msg_data                VARCHAR2(2000);
336 
337   BEGIN
338 
339     -- Standard Start of API savepoint
340     SAVEPOINT Delete_Inst_Reltship_Dtls;
341 
342     csi_t_gen_utility_pvt.add('API Being Executed     : Delete Txn Relationships');
343     csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
344 
345 
346     -- Initialize message list if p_init_msg_list is set to TRUE.
347     IF FND_API.to_Boolean( p_init_msg_list ) THEN
348       FND_MSG_PUB.initialize;
349     END IF;
350 
351     --  Initialize API return status to success
352     x_return_status := FND_API.G_RET_STS_SUCCESS;
353 
354     -- Standard call to check for call compatibility.
355     IF NOT
356 
357        FND_API.Compatible_API_Call (
358          p_current_version_number => l_api_version,
359          p_caller_version_number  => p_api_version,
360          p_api_name               => l_api_name,
361          p_pkg_name               => G_PKG_NAME) THEN
362 
363       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
364 
365     END IF;
366 
367     /**** Commented for Bug 3304439
368     -- Check for the profile option and enable trace
369     IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
370       dbms_session.set_sql_trace(TRUE);
371     END IF;
372     ****/
373 
374     -- Main API code
375     --
376     -- This procedure check if the installed base is active, If not active
377     -- populates the error message in the message queue and raises the
378     -- fnd_api.g_exc_error exception
379     --
380 
381     csi_utility_grp.check_ib_active;
382 
383     csi_t_txn_rltnshps_pvt.delete_txn_ii_rltns_dtls(
384       p_api_version          => p_api_version,
385       p_commit               => p_commit,
386       p_init_msg_list        => p_init_msg_list,
387       p_validation_level     => p_validation_level,
388       p_txn_ii_rltns_ids_tbl => p_txn_ii_rltns_ids_tbl,
389       x_return_status        => l_return_status,
390       x_msg_count            => l_msg_count,
391       x_msg_data             => l_msg_data);
392 
393     IF l_return_status <> fnd_api.g_ret_sts_success THEN
394       RAISE fnd_api.g_exc_error;
395     END IF;
396 
397     -- Standard check of p_commit.
398     IF FND_API.To_Boolean( p_commit ) THEN
399       COMMIT WORK;
400     END IF;
401 
402     /**** Commented for Bug 3304439
403     -- Check for the profile option and disable the trace
404     IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
405       dbms_session.set_sql_trace(false);
406     END IF;
407     ****/
408 
409     -- Standard call to get message count and if count is  get message info.
410     FND_MSG_PUB.Count_And_Get(
411       p_count  =>  x_msg_count,
412       p_data   =>  x_msg_data);
413 
414     csi_t_gen_utility_pvt.add('API Successfully Executed         : Delete Txn Relationships');
415     csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
416 
417     csi_t_gen_utility_pvt.set_debug_off;
418 
419   EXCEPTION
420     WHEN FND_API.G_EXC_ERROR THEN
421 
422       ROLLBACK TO Delete_Inst_Reltship_Dtls;
423       x_return_status := FND_API.G_RET_STS_ERROR ;
424       FND_MSG_PUB.Count_And_Get (
425         p_count  => x_msg_count,
426         p_data   => x_msg_data);
427 
428     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
429 
430       ROLLBACK TO Delete_Inst_Reltship_Dtls;
431       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
432 
433       FND_MSG_PUB.Count_And_Get(
434         p_count  => x_msg_count,
435         p_data   => x_msg_data);
436 
437     WHEN OTHERS THEN
438 
439       ROLLBACK TO Delete_Inst_Reltship_Dtls;
440       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
441 
442       IF FND_MSG_PUB.Check_Msg_Level(
443            p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
444 
445         FND_MSG_PUB.Add_Exc_Msg(
446           p_pkg_name       => G_PKG_NAME,
447           p_procedure_name => l_api_name);
448 
449       END IF;
450 
451       FND_MSG_PUB.Count_And_Get(
452         p_count  => x_msg_count,
453         p_data   => x_msg_data);
454 
455   END delete_txn_ii_rltns_dtls;
456 
457 END csi_t_txn_rltnshps_grp;