[Home] [Help]
PACKAGE BODY: APPS.CSI_T_TXN_PARTIES_GRP
Source
1 PACKAGE BODY csi_t_txn_parties_grp as
2 /*$Header: csigtpab.pls 120.2 2006/01/04 17:55:21 shegde noship $*/
3
4 g_pkg_name CONSTANT VARCHAR2(30) := 'csi_t_txn_parties_grp';
5 g_file_name CONSTANT VARCHAR2(12) := 'csigtpab.pls';
6
7 g_user_id NUMBER := FND_GLOBAL.User_Id;
8 g_login_id NUMBER := FND_GLOBAL.Login_Id;
9
10
11 PROCEDURE create_txn_party_dtls(
12 p_api_version IN NUMBER,
13 p_commit IN VARCHAR2 := fnd_api.g_false,
14 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
15 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
16 px_txn_party_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
17 px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
18 x_return_status OUT NOCOPY VARCHAR2,
19 x_msg_count OUT NOCOPY NUMBER,
20 x_msg_data OUT NOCOPY VARCHAR2)
21
22 IS
23
24 l_api_name CONSTANT VARCHAR2(30) := 'create_txn_party_dtls';
25 l_api_version CONSTANT NUMBER := 1.0;
26 l_debug_level NUMBER;
27
28 l_return_status VARCHAR2(1) := FND_API.G_ret_sts_success;
29 l_msg_count NUMBER;
30 l_msg_data VARCHAR2(512);
31
32 l_txn_party_rec csi_t_datastructures_grp.txn_party_detail_rec;
33 l_txn_party_accts_tbl csi_t_datastructures_grp.txn_pty_acct_detail_tbl;
34
35 l_count NUMBER;
36 --contact party id variables
37 l_tmp_party_dtl_tbl csi_t_datastructures_grp.txn_party_detail_tbl;
38 l_contact_party_id number;
39 l_contact_party_index varchar2(1);
40 BEGIN
41
42 -- Standard Start of API savepoint
43 SAVEPOINT create_txn_party_dtls;
44
45 csi_t_gen_utility_pvt.add('API Being Executed : Create Txn Party AND Accounts');
46 csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
47
48
49 -- Initialize message list if p_init_msg_list is set to TRUE.
50 IF FND_API.To_Boolean( p_init_msg_list ) THEN
51 FND_MSG_PUB.Initialize;
52 END IF;
53
54 -- Initialize API return status to success
55 x_return_status := FND_API.G_RET_STS_SUCCESS;
56
57 -- Standard call to check for call compatibility.
58 IF NOT
59
60 FND_API.Compatible_API_Call (
61 p_current_version_number => l_api_version,
62 p_caller_version_number => p_api_version,
63 p_api_name => l_api_name,
64 p_pkg_name => g_pkg_name) THEN
65
66 RAISE FND_API.G_Exc_Unexpected_Error;
67
68 END IF;
69
70 /**** Commented for Bug 3304439
71 -- Check for the profile option and enable trace
72 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
73 dbms_session.set_sql_trace(TRUE);
74 END IF;
75 ****/
76
77 -- Main API code starts here
78 --
79 -- This procedure check if the installed base is active, If not active
80 -- populates the error message in the message queue and raises the
81 -- fnd_api.g_exc_error exception
82 --
83
84 csi_utility_grp.check_ib_active;
85
86 IF px_txn_party_detail_tbl.count > 0 THEN
87
88 -- new attribute, R12 Mass Update API call, due to the API call from EO, UI is unable to correctly identify
89 -- and collect and pass the correct indexes.. need a additional attribute for update_transaction_dtls
90 -- first loop through and identify this new attribute is passed by caller or not...
91 l_contact_party_index := 'N';
92 FOR l_ind in px_txn_party_detail_tbl.FIRST..px_txn_party_detail_tbl.LAST
93 LOOP
94
95 IF l_contact_party_index = 'N' THEN
96 IF nvl(px_txn_party_detail_tbl(l_ind).txn_contact_party_index, fnd_api.g_miss_num) <>
97 fnd_api.g_miss_num
98 THEN
99 l_contact_party_index := 'Y';
100 END IF;
101 END IF;
102 --initialize row variable
103 l_txn_party_rec := px_txn_party_detail_tbl(l_ind);
104 l_txn_party_accts_tbl := px_txn_pty_acct_detail_tbl; -- added for self - bug
105 -- call api to create party detail records
106 csi_t_txn_parties_pvt.create_txn_party_dtls(
107 p_api_version => p_api_version,
108 p_commit => p_commit,
109 p_init_msg_list => p_init_msg_list,
110 p_validation_level => p_validation_level,
111 -- p_txn_party_dtl_index => fnd_api.g_miss_num,
112 p_txn_party_dtl_index => l_ind, -- added for self bug
113 p_txn_party_detail_rec => l_txn_party_rec,
114 px_txn_pty_acct_detail_tbl => l_txn_party_accts_tbl,
115 x_return_status => l_return_status,
116 x_msg_count => l_msg_count,
117 x_msg_data => l_msg_data);
118
119 IF l_return_status <> fnd_api.g_ret_sts_success THEN
120 RAISE fnd_api.g_exc_error;
121 END IF;
122
123 px_txn_party_detail_tbl(l_ind) := l_txn_party_rec;
124 END LOOP;
125
126 l_tmp_party_dtl_tbl := px_txn_party_detail_tbl;
127 px_txn_pty_acct_detail_tbl := l_txn_party_accts_tbl;
128
129 /* process the contact party id */
130 FOR cont_ind IN px_txn_party_detail_tbl.FIRST .. px_txn_party_detail_tbl.LAST
131 LOOP
132 IF nvl(px_txn_party_detail_tbl(cont_ind).contact_party_id, fnd_api.g_miss_num) <>
133 fnd_api.g_miss_num AND nvl(px_txn_party_detail_tbl(cont_ind).contact_flag, 'N') = 'Y'
134 THEN
135 IF nvl(l_contact_party_index, 'N') = 'Y' THEN
136 l_contact_party_id := null;
137 FOR p_ind IN l_tmp_party_dtl_tbl.FIRST .. l_tmp_party_dtl_tbl.LAST
138 LOOP
139 IF ( l_tmp_party_dtl_tbl(p_ind).txn_contact_party_index is not null
140 AND l_tmp_party_dtl_tbl(p_ind).txn_contact_party_index <> fnd_api.g_miss_num )
141 THEN
142 IF l_tmp_party_dtl_tbl(p_ind).txn_contact_party_index = px_txn_party_detail_tbl(cont_ind).contact_party_id
143 AND ( nvl(l_tmp_party_dtl_tbl(p_ind).contact_flag,fnd_api.g_miss_char) = fnd_api.g_miss_char
144 OR nvl(l_tmp_party_dtl_tbl(p_ind).contact_flag,'N') = 'N')
145 THEN
146 l_contact_party_id := l_tmp_party_dtl_tbl(p_ind).txn_party_detail_id;
147 exit;
148 END IF;
149 ELSIF l_tmp_party_dtl_tbl(p_ind).txn_party_detail_id = px_txn_party_detail_tbl(cont_ind).contact_party_id
150 AND ( nvl(l_tmp_party_dtl_tbl(p_ind).contact_flag,fnd_api.g_miss_char) = fnd_api.g_miss_char
151 OR nvl(l_tmp_party_dtl_tbl(p_ind).contact_flag,'N') = 'N')
152 THEN
153 l_contact_party_id := l_tmp_party_dtl_tbl(p_ind).txn_party_detail_id;
154 exit;
155 END IF;
156 END LOOP;
157 ELSE
158 l_contact_party_id := null;
159 FOR p_ind IN l_tmp_party_dtl_tbl.FIRST .. l_tmp_party_dtl_tbl.LAST
160 LOOP
161 IF p_ind = px_txn_party_detail_tbl(cont_ind).contact_party_id
162 AND ( nvl(l_tmp_party_dtl_tbl(p_ind).contact_flag,fnd_api.g_miss_char) = fnd_api.g_miss_char
163 OR nvl(l_tmp_party_dtl_tbl(p_ind).contact_flag,'N') = 'N' )
164 THEN
165 l_contact_party_id := l_tmp_party_dtl_tbl(p_ind).txn_party_detail_id;
166 exit;
167 ELSIF l_tmp_party_dtl_tbl(p_ind).txn_party_detail_id = px_txn_party_detail_tbl(cont_ind).contact_party_id
168 AND ( nvl(l_tmp_party_dtl_tbl(p_ind).contact_flag,fnd_api.g_miss_char) = fnd_api.g_miss_char
169 OR nvl(l_tmp_party_dtl_tbl(p_ind).contact_flag,'N') = 'N' )
170 THEN
171 l_contact_party_id := l_tmp_party_dtl_tbl(p_ind).txn_party_detail_id;
172 exit;
173 END IF;
174 END LOOP;
175 END IF;
176
177 IF l_contact_party_id is not null THEN
178 update csi_t_party_details
179 set contact_party_id = l_contact_party_id
180 where txn_party_detail_id = px_txn_party_detail_tbl(cont_ind).txn_party_detail_id;
181 END IF;
182
183 END IF;
184 END LOOP;
185 END IF;
186
187 -- Standard check of p_commit.
188 IF FND_API.To_Boolean( p_commit ) THEN
189 COMMIT WORK;
190 END IF;
191
192 /**** Commented for Bug 3304439
193 -- Check for the profile option and disable the trace
194 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
195 dbms_session.set_sql_trace(false);
196 END IF;
197 ****/
198
199 -- Standard call to get message count and if count is get message info.
200 FND_MSG_PUB.Count_And_Get(
201 p_count => x_msg_count,
202 p_data => x_msg_data);
203
204 csi_t_gen_utility_pvt.add('API Successfully Executed : Create Txn Party And Accounts');
205 csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
206
207 csi_t_gen_utility_pvt.set_debug_off;
208
209 EXCEPTION
210 WHEN FND_API.G_EXC_ERROR THEN
211
212 ROLLBACK TO create_txn_party_dtls;
213 x_return_status := FND_API.G_RET_STS_ERROR ;
214 FND_MSG_PUB.Count_And_Get (
215 p_count => x_msg_count,
216 p_data => x_msg_data);
217
218 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
219
220 ROLLBACK TO create_txn_party_dtls;
221 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
222
223 FND_MSG_PUB.Count_And_Get(
224 p_count => x_msg_count,
225 p_data => x_msg_data);
226
227 WHEN OTHERS THEN
228
229 ROLLBACK TO create_txn_party_dtls;
230 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
231
232 IF FND_MSG_PUB.Check_Msg_Level(
233 p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
234
235 FND_MSG_PUB.Add_Exc_Msg(
236 p_pkg_name => G_PKG_NAME,
237 p_procedure_name => l_api_name);
238
239 END IF;
240
241 FND_MSG_PUB.Count_And_Get(
242 p_count => x_msg_count,
243 p_data => x_msg_data);
244
245 END create_txn_party_dtls;
246
247 PROCEDURE create_txn_pty_acct_dtls(
248 p_api_version IN NUMBER,
249 p_commit IN VARCHAR2 := fnd_api.g_false,
250 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
251 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
252 px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
253 x_return_status OUT NOCOPY VARCHAR2,
254 x_msg_count OUT NOCOPY NUMBER,
255 x_msg_data OUT NOCOPY VARCHAR2)
256 IS
257
258 l_api_name CONSTANT VARCHAR2(30) := 'create_txn_pty_acct_dtls';
259 l_api_version CONSTANT NUMBER := 1.0;
260 l_debug_level NUMBER;
261
262 l_return_status VARCHAR2(1) := FND_API.G_ret_sts_success;
263 l_msg_count NUMBER;
264 l_msg_data VARCHAR2(512);
265
266 l_count NUMBER;
267 l_pty_acct_rec csi_t_datastructures_grp.txn_pty_acct_detail_rec;
268
269 BEGIN
270
271 -- Standard Start of API savepoint
272 SAVEPOINT create_txn_pty_acct_dtls;
273
274 csi_t_gen_utility_pvt.add('API Being Executed : Create Txn Party Accounts');
275 csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
276
277
278 -- Initialize message list if p_init_msg_list is set to TRUE.
279 IF FND_API.To_Boolean( p_init_msg_list ) THEN
280 FND_MSG_PUB.Initialize;
281 END IF;
282
283 -- Initialize API return status to success
284 x_return_status := FND_API.G_RET_STS_SUCCESS;
285
286 -- Standard call to check for call compatibility.
287 IF NOT
288
289 FND_API.Compatible_API_Call (
290 p_current_version_number => l_api_version,
291 p_caller_version_number => p_api_version,
292 p_api_name => l_api_name,
293 p_pkg_name => g_pkg_name) THEN
294
295 RAISE FND_API.G_Exc_Unexpected_Error;
296
297 END IF;
298
299 /**** Commented for Bug 3304439
300 -- Check for the profile option and enable trace
301 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
302 dbms_session.set_sql_trace(TRUE);
303 END IF;
304 ****/
305
306 -- Main API code starts here
307 --
308 -- This procedure check if the installed base is active, If not active
309 -- populates the error message in the message queue and raises the
310 -- fnd_api.g_exc_error exception
311 --
312
313 csi_utility_grp.check_ib_active;
314
315 IF px_txn_pty_acct_detail_tbl.count > 0 THEN
316
317 FOR l_ind IN px_txn_pty_acct_detail_tbl.FIRST..
318 px_txn_pty_acct_detail_tbl.LAST
319 LOOP
320
321 -- assign values to the record type variable
322
323 l_pty_acct_rec := px_txn_pty_acct_detail_tbl(l_ind);
324
325 -- call api to create txn_party_account details
326 csi_t_txn_parties_pvt.create_txn_pty_acct_dtls(
327 p_api_version => p_api_version,
328 p_commit => p_commit,
329 p_init_msg_list => p_init_msg_list,
330 p_validation_level => p_validation_level,
331 p_txn_pty_acct_detail_rec => l_pty_acct_rec,
332 x_return_status => l_return_status,
333 x_msg_count => l_msg_count,
334 x_msg_data => l_msg_data);
335
336 IF l_return_status <> fnd_api.g_ret_sts_success THEN
337 RAISE fnd_api.g_exc_error;
338 END IF;
339
340 END LOOP;
341
342 END IF;
343 -- Standard check of p_commit.
344 IF FND_API.To_Boolean( p_commit ) THEN
345 COMMIT WORK;
346 END IF;
347
348 /**** Commented for Bug 3304439
349 -- Check for the profile option and disable the trace
350 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
351 dbms_session.set_sql_trace(false);
352 END IF;
353 ****/
354
355 -- Standard call to get message count and if count is get message info.
356 FND_MSG_PUB.Count_And_Get(
357 p_count => x_msg_count,
358 p_data => x_msg_data);
359
360 csi_t_gen_utility_pvt.add('API Successfully Executed : Create Txn Party Accounts');
361 csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
362
363 csi_t_gen_utility_pvt.set_debug_off;
364
365 EXCEPTION
366 WHEN FND_API.G_EXC_ERROR THEN
367
368 ROLLBACK TO create_txn_pty_acct_dtls;
369 x_return_status := FND_API.G_RET_STS_ERROR ;
370 FND_MSG_PUB.Count_And_Get (
371 p_count => x_msg_count,
372 p_data => x_msg_data);
373
374 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
375
376 ROLLBACK TO create_txn_pty_acct_dtls;
377 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
378
379 FND_MSG_PUB.Count_And_Get(
380 p_count => x_msg_count,
381 p_data => x_msg_data);
382
383 WHEN OTHERS THEN
384
385 ROLLBACK TO create_txn_pty_acct_dtls;
386 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
387
388 IF FND_MSG_PUB.Check_Msg_Level(
389 p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
390
391 FND_MSG_PUB.Add_Exc_Msg(
392 p_pkg_name => G_PKG_NAME,
393 p_procedure_name => l_api_name);
394
395 END IF;
396
397 FND_MSG_PUB.Count_And_Get(
398 p_count => x_msg_count,
399 p_data => x_msg_data);
400
401 END create_txn_pty_acct_dtls;
402
403 PROCEDURE update_txn_party_dtls(
404 p_api_version IN NUMBER
405 ,p_commit IN VARCHAR2 := fnd_api.g_false
406 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
407 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
408 ,p_txn_party_detail_tbl IN csi_t_datastructures_grp.txn_party_detail_tbl
409 ,px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl
410 ,x_return_status OUT NOCOPY VARCHAR2
411 ,x_msg_count OUT NOCOPY NUMBER
412 ,x_msg_data OUT NOCOPY VARCHAR2)
413
414 IS
415
416 l_api_name CONSTANT VARCHAR2(30) := 'Update_Txn_Party_Dtls';
417 l_api_version CONSTANT NUMBER := 1.0;
418 l_debug_level NUMBER;
419
420 l_return_status VARCHAR2(1) := FND_API.G_ret_sts_success;
421 l_msg_count NUMBER;
422 l_msg_data VARCHAR2(512);
423
424 BEGIN
425
426 -- Standard Start of API savepoint
427 SAVEPOINT Update_Txn_Party_Dtls;
428
429 csi_t_gen_utility_pvt.add('API Being Executed : Update Txn Party And Accounts');
430 csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
431
432
433 -- Initialize message list if p_init_msg_list is set to TRUE.
434 IF FND_API.to_Boolean( p_init_msg_list ) THEN
435 FND_MSG_PUB.initialize;
436 END IF;
437
438 -- Initialize API return status to success
439 x_return_status := FND_API.G_RET_STS_SUCCESS;
440
441 -- Standard call to check for call compatibility.
442 IF NOT
443
444 FND_API.Compatible_API_Call (
445 p_current_version_number => l_api_version,
446 p_caller_version_number => p_api_version,
447 p_api_name => l_api_name,
448 p_pkg_name => G_PKG_NAME) THEN
449
450 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
451
452 END IF;
453
454 /**** Commented for Bug 3304439
455 -- Check for the profile option and enable trace
456 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
457 dbms_session.set_sql_trace(TRUE);
458 END IF;
459 ****/
460
461 -- Main API code
462 --
463 -- This procedure check if the installed base is active, If not active
464 -- populates the error message in the message queue and raises the
465 -- fnd_api.g_exc_error exception
466 --
467
468 csi_utility_grp.check_ib_active;
469
470 csi_t_txn_parties_pvt.update_txn_party_dtls(
471 p_api_version => p_api_version,
472 p_commit => fnd_api.g_false,
473 p_init_msg_list => p_init_msg_list,
474 p_validation_level => p_validation_level,
475 p_txn_party_detail_tbl => p_txn_party_detail_tbl,
476 px_txn_pty_acct_detail_tbl => px_txn_pty_acct_detail_tbl,
477 x_return_status => l_return_status,
478 x_msg_count => l_msg_count,
479 x_msg_data => l_msg_data);
480
481 IF l_return_status <> fnd_api.g_ret_sts_success THEN
482 raise fnd_api.g_exc_error;
483 END IF;
484
485 -- Standard check of p_commit.
486 IF FND_API.To_Boolean( p_commit ) THEN
487 COMMIT WORK;
488 END IF;
489
490 /**** Commented for Bug 3304439
491 -- Check for the profile option and disable the trace
492 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
493 dbms_session.set_sql_trace(false);
494 END IF;
495 ****/
496
497 -- Standard call to get message count and if count is get message info.
498 FND_MSG_PUB.Count_And_Get(
499 p_count => x_msg_count,
500 p_data => x_msg_data);
501
502 csi_t_gen_utility_pvt.add('API Successfully Executed : Update Txn Party And Accounts');
503 csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
504
505 csi_t_gen_utility_pvt.set_debug_off;
506
507 EXCEPTION
508 WHEN FND_API.G_EXC_ERROR THEN
509
510 ROLLBACK TO Update_Txn_Party_Dtls;
511 x_return_status := FND_API.G_RET_STS_ERROR ;
512 FND_MSG_PUB.Count_And_Get (
513 p_count => x_msg_count,
514 p_data => x_msg_data);
515
516 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
517
518 ROLLBACK TO Update_Txn_Party_Dtls;
519 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
520
521 FND_MSG_PUB.Count_And_Get(
522 p_count => x_msg_count,
523 p_data => x_msg_data);
524
525 WHEN OTHERS THEN
526
527 ROLLBACK TO Update_Txn_Party_Dtls;
528 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
529
530 IF FND_MSG_PUB.Check_Msg_Level(
531 p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
532
533 FND_MSG_PUB.Add_Exc_Msg(
534 p_pkg_name => G_PKG_NAME,
535 p_procedure_name => l_api_name);
536
537 END IF;
538
539 FND_MSG_PUB.Count_And_Get(
540 p_count => x_msg_count,
541 p_data => x_msg_data);
542
543 END update_txn_party_dtls;
544
545 /*
546 */
547 PROCEDURE update_txn_pty_acct_dtls
548 (
549 p_api_version IN NUMBER
550 ,p_commit IN VARCHAR2 := fnd_api.g_false
551 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
552 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
553 ,p_txn_pty_acct_detail_tbl IN csi_t_datastructures_grp.txn_pty_acct_detail_tbl
554 ,x_return_status OUT NOCOPY VARCHAR2
555 ,x_msg_count OUT NOCOPY NUMBER
556 ,x_msg_data OUT NOCOPY VARCHAR2
557 )
558
559 IS
560
561 l_api_name CONSTANT VARCHAR2(30) := 'Update_Txn_Party_acct_Dtls';
562 l_api_version CONSTANT NUMBER := 1.0;
563 l_debug_level NUMBER;
564
565 l_return_status VARCHAR2(1) := FND_API.G_ret_sts_success;
566 l_msg_count NUMBER;
567 l_msg_data VARCHAR2(512);
568
569 BEGIN
570
571 -- Standard Start of API savepoint
572 SAVEPOINT Update_Txn_Party_acct_Dtls;
573
574 csi_t_gen_utility_pvt.add('API Being Executed : Update Txn Party Accounts');
575 csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
576
577
578 -- Initialize message list if p_init_msg_list is set to TRUE.
579 IF FND_API.to_Boolean( p_init_msg_list ) THEN
580 FND_MSG_PUB.initialize;
581 END IF;
582
583 -- Initialize API return status to success
584 x_return_status := FND_API.G_RET_STS_SUCCESS;
585
586 -- Standard call to check for call compatibility.
587 IF NOT
588
589 FND_API.Compatible_API_Call (
590 p_current_version_number => l_api_version,
591 p_caller_version_number => p_api_version,
592 p_api_name => l_api_name,
593 p_pkg_name => G_PKG_NAME) THEN
594
595 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
596
597 END IF;
598
599 /**** Commented for Bug 3304439
600 -- Check for the profile option and enable trace
601 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
602 dbms_session.set_sql_trace(TRUE);
603 END IF;
604 ****/
605
606 -- Main API code
607 --
608 -- This procedure check if the installed base is active, If not active
609 -- populates the error message in the message queue and raises the
610 -- fnd_api.g_exc_error exception
611 --
612
613 csi_utility_grp.check_ib_active;
614
615 csi_t_txn_parties_pvt.update_txn_pty_acct_dtls(
616 p_api_version => p_api_version,
617 p_commit => p_commit,
618 p_init_msg_list => p_init_msg_list,
619 p_validation_level => p_validation_level,
620 p_txn_pty_acct_detail_tbl => p_txn_pty_acct_detail_tbl,
621 x_return_status => l_return_status,
622 x_msg_count => l_msg_count,
623 x_msg_data => l_msg_data);
624
625 IF l_return_status <> fnd_api.g_ret_sts_success THEN
626 RAISE fnd_api.g_exc_error;
627 END IF;
628
629 -- Standard check of p_commit.
630 IF FND_API.To_Boolean( p_commit ) THEN
631 COMMIT WORK;
632 END IF;
633
634 /**** Commented for Bug 3304439
635 -- Check for the profile option and disable the trace
636 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
637 dbms_session.set_sql_trace(false);
638 END IF;
639 ****/
640
641 -- Standard call to get message count and if count is get message info.
642 FND_MSG_PUB.Count_And_Get(
643 p_count => x_msg_count,
644 p_data => x_msg_data);
645
646 csi_t_gen_utility_pvt.add('API Successfully Executed : Update Txn Party Accounts');
647 csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
648
649 csi_t_gen_utility_pvt.set_debug_off;
650
651 EXCEPTION
652 WHEN FND_API.G_EXC_ERROR THEN
653
654 ROLLBACK TO update_txn_party_acct_Dtls;
655 x_return_status := FND_API.G_RET_STS_ERROR ;
656 FND_MSG_PUB.Count_And_Get (
657 p_count => x_msg_count,
658 p_data => x_msg_data);
659
660 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
661
662 ROLLBACK TO Update_Txn_Party_acct_Dtls;
663 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
664
665 FND_MSG_PUB.Count_And_Get(
666 p_count => x_msg_count,
667 p_data => x_msg_data);
668
669 WHEN OTHERS THEN
670
671 ROLLBACK TO Update_Txn_Party_acct_Dtls;
672 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
673
674 IF FND_MSG_PUB.Check_Msg_Level(
675 p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
676
677 FND_MSG_PUB.Add_Exc_Msg(
678 p_pkg_name => G_PKG_NAME,
679 p_procedure_name => l_api_name);
680
681 END IF;
682
683 FND_MSG_PUB.Count_And_Get(
684 p_count => x_msg_count,
685 p_data => x_msg_data);
686 END update_txn_pty_acct_dtls;
687
688 /* deletes the party entity for the given party detail id */
689 PROCEDURE delete_txn_party_dtls(
690 p_api_version IN NUMBER
691 ,p_commit IN VARCHAR2 := fnd_api.g_false
692 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
693 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
694 ,p_txn_party_ids_tbl IN csi_t_datastructures_grp.txn_party_ids_tbl
695 ,x_txn_pty_acct_ids_tbl OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_ids_tbl
696 ,x_return_status OUT NOCOPY VARCHAR2
697 ,x_msg_count OUT NOCOPY NUMBER
698 ,x_msg_data OUT NOCOPY VARCHAR2)
699 IS
700
701 l_api_name CONSTANT VARCHAR2(30) := 'delete_txn_party_dtls';
702 l_api_version CONSTANT NUMBER := 1.0;
703 l_debug_level NUMBER;
704
705 l_return_status VARCHAR2(1);
706 l_msg_count NUMBER;
707 l_msg_data VARCHAR2(2000);
708
709 BEGIN
710
711 -- Standard Start of API savepoint
712 SAVEPOINT delete_txn_party_dtls;
713
714 csi_t_gen_utility_pvt.add('API Being Executed : Delete Txn Party and acounts');
715 csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
716
717
718 -- Initialize message list if p_init_msg_list is set to TRUE.
719 IF FND_API.to_Boolean( p_init_msg_list ) THEN
720 FND_MSG_PUB.initialize;
721 END IF;
722
723 -- Initialize API return status to success
724 x_return_status := FND_API.G_RET_STS_SUCCESS;
725
726 -- Standard call to check for call compatibility.
727 IF NOT
728
729 FND_API.Compatible_API_Call (
730 p_current_version_number => l_api_version,
731 p_caller_version_number => p_api_version,
732 p_api_name => l_api_name,
733 p_pkg_name => G_PKG_NAME) THEN
734
735 RAISE fnd_api.g_exc_unexpected_error;
736
737 END IF;
738
739 /**** Commented for Bug 3304439
740 -- Check for the profile option and enable trace
741 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
742 dbms_session.set_sql_trace(TRUE);
743 END IF;
744 ****/
745
746 -- Main API code
747 --
748 -- This procedure check if the installed base is active, If not active
749 -- populates the error message in the message queue and raises the
750 -- fnd_api.g_exc_error exception
751 --
752
753 csi_utility_grp.check_ib_active;
754
755 csi_t_txn_parties_pvt.delete_txn_party_dtls(
756 p_api_version => p_api_version,
757 p_commit => p_commit,
758 p_init_msg_list => p_init_msg_list,
759 p_validation_level => p_validation_level,
760 p_txn_party_ids_tbl => p_txn_party_ids_tbl,
761 x_txn_pty_acct_ids_tbl => x_txn_pty_acct_ids_tbl,
762 x_return_status => l_return_status,
763 x_msg_count => l_msg_count,
764 x_msg_data => l_msg_data);
765
766 IF l_return_status <> fnd_api.g_ret_sts_success THEN
767 RAISE fnd_api.g_exc_error;
768 END IF;
769
770 -- Standard check of p_commit.
771 IF FND_API.To_Boolean( p_commit ) THEN
772 COMMIT WORK;
773 END IF;
774
775 /**** Commented for Bug 3304439
776 -- Check for the profile option and disable the trace
777 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
778 dbms_session.set_sql_trace(false);
779 END IF;
780 ****/
781
782 -- Standard call to get message count and if count is get message info.
783 FND_MSG_PUB.Count_And_Get(
784 p_count => x_msg_count,
785 p_data => x_msg_data);
786
787 csi_t_gen_utility_pvt.add('API Successfully Executed : Delete Txn Party and Accounts');
788 csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
789
790 csi_t_gen_utility_pvt.set_debug_off;
791
792 EXCEPTION
793 WHEN FND_API.G_EXC_ERROR THEN
794
795 ROLLBACK TO delete_txn_party_dtls;
796 x_return_status := FND_API.G_RET_STS_ERROR ;
797 FND_MSG_PUB.Count_And_Get (
798 p_count => x_msg_count,
799 p_data => x_msg_data);
800
801 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
802
803 ROLLBACK TO delete_txn_party_dtls;
804 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
805
806 FND_MSG_PUB.Count_And_Get(
807 p_count => x_msg_count,
808 p_data => x_msg_data);
809
810 WHEN OTHERS THEN
811
812 ROLLBACK TO delete_txn_party_dtls;
813 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
814
815 IF FND_MSG_PUB.Check_Msg_Level(
816 p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
817
818 FND_MSG_PUB.Add_Exc_Msg(
819 p_pkg_name => G_PKG_NAME,
820 p_procedure_name => l_api_name);
821
822 END IF;
823
824 FND_MSG_PUB.Count_And_Get(
825 p_count => x_msg_count,
826 p_data => x_msg_data);
827
828 END delete_txn_party_dtls;
829
830 /* deletes the party accounts entity based on the party account id */
831 PROCEDURE delete_txn_pty_acct_dtls (
832 p_api_version IN NUMBER
833 ,p_commit IN VARCHAR2 := fnd_api.g_false
834 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
835 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
836 ,p_txn_pty_acct_ids_tbl IN csi_t_datastructures_grp.txn_pty_acct_ids_tbl
837 ,x_return_status OUT NOCOPY VARCHAR2
838 ,x_msg_count OUT NOCOPY NUMBER
839 ,x_msg_data OUT NOCOPY VARCHAR2)
840 IS
841
842 l_api_name CONSTANT VARCHAR2(30) := 'delete_txn_party_acct_dtls';
843 l_api_version CONSTANT NUMBER := 1.0;
844 l_debug_level NUMBER;
845
846 l_return_status VARCHAR2(1);
847 l_msg_count NUMBER;
848 l_msg_data VARCHAR2(2000);
849
850 BEGIN
851
852 -- Standard Start of API savepoint
853 SAVEPOINT delete_txn_party_acct_dtls;
854
855 csi_t_gen_utility_pvt.add('API Being Executed : delete Txn Party Accounts');
856 csi_t_gen_utility_pvt.add('Transaction Start Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
857
858
859 -- Initialize message list if p_init_msg_list is set to TRUE.
860 IF FND_API.to_Boolean( p_init_msg_list ) THEN
861 FND_MSG_PUB.initialize;
862 END IF;
863
864 -- Initialize API return status to success
865 x_return_status := FND_API.G_RET_STS_SUCCESS;
866
867 -- Standard call to check for call compatibility.
868 IF NOT
869
870 FND_API.Compatible_API_Call (
871 p_current_version_number => l_api_version,
872 p_caller_version_number => p_api_version,
873 p_api_name => l_api_name,
874 p_pkg_name => G_PKG_NAME) THEN
875
876 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
877
878 END IF;
879
880 /**** Commented for Bug 3304439
881 -- Check for the profile option and enable trace
882 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
883 dbms_session.set_sql_trace(TRUE);
884 END IF;
885 ****/
886
887 -- Main API code
888 --
889 -- This procedure check if the installed base is active, If not active
890 -- populates the error message in the message queue and raises the
891 -- fnd_api.g_exc_error exception
892 --
893
894 csi_utility_grp.check_ib_active;
895
896 csi_t_txn_parties_pvt.delete_txn_pty_acct_dtls(
897 p_api_version => p_api_version,
898 p_commit => p_commit,
899 p_init_msg_list => p_init_msg_list,
900 p_validation_level => p_validation_level,
901 p_txn_pty_acct_ids_tbl => p_txn_pty_acct_ids_tbl,
902 x_return_status => l_return_status,
903 x_msg_count => l_msg_count,
904 x_msg_data => l_msg_data);
905
906 IF l_return_status <> fnd_api.g_ret_sts_success THEN
907 RAISE fnd_api.g_exc_error;
908 END IF;
909
910 -- Standard check of p_commit.
911 IF FND_API.To_Boolean( p_commit ) THEN
912 COMMIT WORK;
913 END IF;
914
915 /**** Commented for Bug 3304439
916 -- Check for the profile option and disable the trace
917 IF (fnd_profile.value('CSI_ENABLE_SQL_TRACE') = 'Y') THEN
918 dbms_session.set_sql_trace(false);
919 END IF;
920 ****/
921
922 -- Standard call to get message count and if count is get message info.
923 FND_MSG_PUB.Count_And_Get(
924 p_count => x_msg_count,
925 p_data => x_msg_data);
926
927 csi_t_gen_utility_pvt.add('API Successfully Executed : Delete Txn Party Accounts');
928 csi_t_gen_utility_pvt.add('Transaction End Time :'||to_char(sysdate, 'MM/DD/YY HH24:MI:SS'));
929
930 csi_t_gen_utility_pvt.set_debug_off;
931
932 EXCEPTION
933 WHEN FND_API.G_EXC_ERROR THEN
934
935 ROLLBACK TO delete_txn_party_acct_dtls;
936 x_return_status := FND_API.G_RET_STS_ERROR ;
937 FND_MSG_PUB.Count_And_Get (
938 p_count => x_msg_count,
939 p_data => x_msg_data);
940
941 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
942
943 ROLLBACK TO delete_txn_party_acct_dtls;
944 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
945
946 FND_MSG_PUB.Count_And_Get(
947 p_count => x_msg_count,
948 p_data => x_msg_data);
949
950 WHEN OTHERS THEN
951
952 ROLLBACK TO delete_txn_party_acct_dtls;
953 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
954
955 IF FND_MSG_PUB.Check_Msg_Level(
956 p_message_level => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
957
958 FND_MSG_PUB.Add_Exc_Msg(
959 p_pkg_name => G_PKG_NAME,
960 p_procedure_name => l_api_name);
961
962 END IF;
963
964 FND_MSG_PUB.Count_And_Get(
965 p_count => x_msg_count,
966 p_data => x_msg_data);
967
968 END delete_txn_pty_acct_dtls;
969
970 END csi_t_txn_parties_grp;