[Home] [Help]
PACKAGE BODY: APPS.PV_BATCH_CHG_PRTNR_PVT
Source
1 PACKAGE BODY PV_BATCH_CHG_PRTNR_PVT as
2 /* $Header: pvxvchpb.pls 120.1 2005/09/05 22:40:54 appldev ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- PV_BTCH_Chg_Prtnrs_PVT
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- This Api is generated with Latest version of
14 -- Rosetta, where g_miss indicates NULL and
15 -- NULL indicates missing value. Rosetta Version 1.55
16 -- End of Comments
17 -- ===============================================================
18
19
20 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PV_Batch_Chg_Prtnrs_PVT';
21 G_FILE_NAME CONSTANT VARCHAR2(12) := 'pvxvchpb.pls';
22
23 PV_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
24 PV_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
25 PV_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
26
27 -- G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
28 -- G_LOGIN_ID NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
29 --
30 -- Foreward Procedure Declarations
31 --
32
33 -- Hint: Primary key needs to be returned.
34 -- ==============================================================================
35 -- Start of Comments
36 -- ==============================================================================
37 -- API Name
38 -- Create_Batch_Chg_Partners
39 -- Type
40 -- Private
41 -- Pre-Req
42 --
43 -- Parameters
44 --
45 -- IN
46 -- p_api_version_number IN NUMBER Required
47 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
48 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
49 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
50 -- p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type Required
51 --
52 -- OUT
53 -- x_return_status OUT VARCHAR2
54 -- x_msg_count OUT NUMBER
55 -- x_msg_data OUT VARCHAR2
56 -- Version : Current version 1.0
57 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
58 -- and basic operation, developer must manually add parameters and business logic as necessary.
59 --
60 -- History
61 --
62 -- NOTE
63 --
64 -- End of Comments
65 -- ==============================================================================
66
67 PROCEDURE Create_Batch_Chg_Partners(
68 p_api_version_number IN NUMBER,
69 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
70 p_commit IN VARCHAR2 := FND_API.G_FALSE,
71 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
72
73 x_return_status OUT NOCOPY VARCHAR2,
74 x_msg_count OUT NOCOPY NUMBER,
75 x_msg_data OUT NOCOPY VARCHAR2,
76
77 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type := g_miss_Batch_Chg_Prtnrs_rec,
78 x_partner_id OUT NOCOPY NUMBER
79 )
80
81 IS
82 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Batch_Chg_Partners';
83 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
84 l_return_status_full VARCHAR2(1);
85 l_object_version_number NUMBER := 1;
86 l_org_id NUMBER ;
87 l_partner_id NUMBER;
88 l_dummy NUMBER;
89 l_err_msg VARCHAR2(2000);
90
91 BEGIN
92 -- Standard Start of API savepoint
93 SAVEPOINT Create_Batch_Chg_Partners;
94
95 -- Standard call to Chk for call compatibility.
96 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
97 p_api_version_number,
98 l_api_name,
99 G_PKG_NAME)
100 THEN
101 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
102 END IF;
103
104
105 -- Initialize message list if p_init_msg_list is set to TRUE.
106 IF FND_API.to_Boolean( p_init_msg_list )
107 THEN
108 FND_MSG_PUB.initialize;
109 END IF;
110
111 -- Debug Message
112 IF (PV_DEBUG_HIGH_ON) THEN
113 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
114 END IF;
115
116 -- Initialize API return status to SUCCESS
117 x_return_status := FND_API.G_RET_STS_SUCCESS;
118
119 -- =========================================================================
120 -- Validate Environment
121 -- =========================================================================
122
123 IF FND_GLOBAL.USER_ID IS NULL
124 THEN
125 PVX_UTILITY_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
126 RAISE FND_API.G_EXC_ERROR;
127 END IF;
128
129 -- Local variable initialization
130
131 IF p_batch_chg_prtnrs_rec.partner_id IS NULL OR
132 p_batch_chg_prtnrs_rec.partner_id = FND_API.g_miss_num THEN
133 FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_COLUMN');
134 FND_MESSAGE.set_token('COLUMN', 'PARTNER_ID');
135 FND_MSG_PUB.add;
136 RAISE FND_API.G_EXC_ERROR;
137 ELSE
138 l_partner_id := p_batch_chg_prtnrs_rec.partner_id;
139 END IF;
140
141
142 -- Debug Message
143 IF (PV_DEBUG_HIGH_ON) THEN
144 PVX_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
145 END IF;
146
147 -- Invoke table handler(Pv_BTCH_Chg_Prtnrs_Pkg.Insert_Row)
148 PV_BATCH_CHG_PRTNR_PKG.Insert_Row(
149 px_partner_id => l_partner_id,
150 p_last_update_date => SYSDATE,
151 p_last_update_by => p_batch_chg_prtnrs_rec.last_update_by,
152 p_creation_date => SYSDATE,
153 p_created_by => FND_GLOBAL.USER_ID,
154 p_last_update_login => FND_GLOBAL.conc_login_id,
155 p_object_version_number => p_batch_chg_prtnrs_rec.object_version_number,
156 p_request_id => p_batch_chg_prtnrs_rec.request_id,
157 p_program_application_id => p_batch_chg_prtnrs_rec.program_application_id,
158 p_program_id => p_batch_chg_prtnrs_rec.program_id,
159 p_program_update_date =>p_batch_chg_prtnrs_rec.program_update_date,
160 p_processed_flag =>p_batch_chg_prtnrs_rec.processed_flag,
161 p_vad_partner_id => p_batch_chg_prtnrs_rec.vad_partner_id,
162 x_return_status => x_return_status );
163
164 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
165 RAISE FND_API.G_EXC_ERROR;
166 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
167 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
168 END IF;
169
170 x_partner_id := l_partner_id;
171
172 --
173 -- End of API body
174 --
175
176 -- Standard Chk for p_commit
177 IF FND_API.to_Boolean( p_commit )
178 THEN
179 COMMIT WORK;
180 END IF;
181
182
183 -- Debug Message
184 IF (PV_DEBUG_HIGH_ON) THEN
185 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
186 END IF;
187
188
189 -- Standard call to get message count and if count is 1, get message info.
190 FND_MSG_PUB.Count_And_Get
191 (p_count => x_msg_count,
192 p_data => x_msg_data
193 );
194 EXCEPTION
195
196 WHEN PVX_UTILITY_PVT.resource_locked THEN
197 x_return_status := FND_API.g_ret_sts_error;
198 PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
199
200 WHEN FND_API.G_EXC_ERROR THEN
201 ROLLBACK TO Create_Batch_Chg_Partners;
202 x_return_status := FND_API.G_RET_STS_ERROR;
203
204 -- Standard call to get message count and if count=1, get the message
205 FND_MSG_PUB.Count_And_Get (
206 p_encoded => FND_API.G_FALSE,
207 p_count => x_msg_count,
208 p_data => x_msg_data
209 );
210
211 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
212 ROLLBACK TO Create_Batch_Chg_Partners;
213 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
214
215 -- Standard call to get message count and if count=1, get the message
216 FND_MSG_PUB.Count_And_Get (
217 p_encoded => FND_API.G_FALSE,
218 p_count => x_msg_count,
219 p_data => x_msg_data
220 );
221
222 WHEN OTHERS THEN
223 ROLLBACK TO Create_Batch_Chg_Partners;
224 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
225
226 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
227 THEN
228 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
229 END IF;
230
231 -- Standard call to get message count and if count=1, get the message
232 FND_MSG_PUB.Count_And_Get (
233 p_encoded => FND_API.G_FALSE,
234 p_count => x_msg_count,
235 p_data => x_msg_data
236 );
237 End Create_Batch_Chg_Partners;
238
239
240 -- ==============================================================================
241 -- Start of Comments
242 -- ==============================================================================
243 -- API Name
244 -- Update_Batch_Chg_Partners
245 -- Type
246 -- Private
247 -- Pre-Req
248 --
249 -- Parameters
250 --
251 -- IN
252 -- p_api_version_number IN NUMBER Required
253 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
254 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
255 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
256 -- p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type Required
257 --
258 -- OUT
259 -- x_return_status OUT VARCHAR2
260 -- x_msg_count OUT NUMBER
261 -- x_msg_data OUT VARCHAR2
262 -- Version : Current version 1.0
263 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
264 -- and basic operation, developer must manually add parameters and business logic as necessary.
265 --
266 -- History
267 --
268 -- NOTE
269 --
270 -- End of Comments
271 -- ==============================================================================
272
273 PROCEDURE Update_Batch_Chg_Partners(
274 p_api_version_number IN NUMBER,
275 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
276 p_commit IN VARCHAR2 := FND_API.G_FALSE,
277 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
278
279 x_return_status OUT NOCOPY VARCHAR2,
280 x_msg_count OUT NOCOPY NUMBER,
281 x_msg_data OUT NOCOPY VARCHAR2,
282
283 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_REC_TYPE
284 )
285
286 IS
287
288
289 CURSOR c_get_BTCH_Chg_Prtnrs(partner_id NUMBER) IS
290 SELECT *
291 FROM PV_TAP_BATCH_CHG_PARTNERS
292 WHERE partner_id = p_batch_chg_prtnrs_rec.partner_id;
293
294 -- Hint: Developer need to provide Where clause
295
296
297 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_Batch_Chg_Partners';
298 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
299 -- Local Variables
300 l_object_version_number NUMBER;
301 l_partner_id NUMBER;
302 l_ref_BTCH_Chg_Prtnrs_rec c_get_BTCH_Chg_Prtnrs%ROWTYPE ;
303 l_tar_BTCH_Chg_Prtnrs_rec Batch_Chg_Prtnrs_Rec_Type := p_batch_chg_prtnrs_rec;
304 l_rowid ROWID;
305 l_err_msg VARCHAR2(2000);
306
307 BEGIN
308 -- Standard Start of API savepoint
309 SAVEPOINT update_BTCH_Chg_Prtnrs_pvt;
310
311 -- Standard call to Chk for call compatibility.
312 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
313 p_api_version_number,
314 l_api_name,
315 G_PKG_NAME)
316 THEN
317 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
318 END IF;
319
320
321 -- Initialize message list if p_init_msg_list is set to TRUE.
322 IF FND_API.to_Boolean( p_init_msg_list )
323 THEN
324 FND_MSG_PUB.initialize;
325 END IF;
326
327
328
329 -- Debug Message
330 IF (PV_DEBUG_HIGH_ON) THEN
331 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
332 END IF;
333
334
335
336 -- Initialize API return status to SUCCESS
337 x_return_status := FND_API.G_RET_STS_SUCCESS;
338
339 -- Debug Message
340 IF (PV_DEBUG_HIGH_ON) THEN
341 PVX_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
342 END IF;
343
344 OPEN c_get_BTCH_Chg_Prtnrs( l_tar_BTCH_Chg_Prtnrs_rec.partner_id);
345
346 FETCH c_get_BTCH_Chg_Prtnrs INTO l_ref_BTCH_Chg_Prtnrs_rec ;
347
348 IF ( c_get_BTCH_Chg_Prtnrs%NOTFOUND) THEN
349 PVX_UTILITY_PVT.Error_Message(
350 p_message_name => 'API_MISSING_UPDATE_TARGET',
351 p_token_name => 'INFO',
352 p_token_value => 'PV_TAP_BATCH_CHG_PARTNERS') ;
353 RAISE FND_API.G_EXC_ERROR;
354 END IF;
355
356 -- Debug Message
357 IF (PV_DEBUG_HIGH_ON) THEN
358 PVX_UTILITY_PVT.debug_message('Private API: - Close Cursor');
359 END IF;
360
361 CLOSE c_get_BTCH_Chg_Prtnrs;
362
363
364 If (l_tar_btch_Chg_Prtnrs_rec.object_version_number is NULL or
365 l_tar_btch_Chg_Prtnrs_rec.object_version_number = FND_API.G_MISS_NUM ) Then
366 PVX_UTILITY_PVT.Error_Message(
367 p_message_name => 'API_VERSION_MISSING',
368 p_token_name => 'COLUMN',
369 p_token_value => 'object_version_number') ;
370 raise FND_API.G_EXC_ERROR;
371 End if;
372
373 -- Chk Whether record has been changed by someone else
374 IF (l_tar_BTCH_Chg_Prtnrs_rec.object_version_number <> l_ref_BTCH_Chg_Prtnrs_rec.object_version_number) THEN
375 PVX_UTILITY_PVT.Error_Message(
376 p_message_name => 'API_RECORD_CHANGED',
377 p_token_name => 'INFO',
378 p_token_value => 'BTCH_Chg_Prtnrs') ;
379 raise FND_API.G_EXC_ERROR;
380 END IF;
381
382
383 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
384 THEN
385
386 -- Invoke validation procedures
387 Validate_Batch_Chg_Partners(
388 p_api_version_number => 1.0,
389 p_init_msg_list => FND_API.G_FALSE,
390 p_validation_level => p_validation_level,
391 p_batch_chg_prtnrs_rec => p_batch_chg_prtnrs_rec,
392 p_validation_mode => JTF_PLSQL_API.g_update,
393 x_return_status => x_return_status,
394 x_msg_count => x_msg_count,
395 x_msg_data => x_msg_data);
396
397
398 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
399 RAISE FND_API.G_EXC_ERROR;
400 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
401 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
402 END IF;
403
404 END IF;
405
406 -- Debug Message
410
407 IF (PV_DEBUG_HIGH_ON) THEN
408 PVX_UTILITY_PVT.debug_message('Private API: Calling update table handler');
409 END IF;
411 -- Invoke table handler(Pv_BTCH_Chg_Prtnrs_Pkg.Update_Row)
412 PV_BATCH_CHG_PRTNR_PKG.Update_Row(
413 p_partner_id => p_batch_chg_prtnrs_rec.partner_id,
414 p_last_update_date => SYSDATE,
415 p_last_update_by => p_batch_chg_prtnrs_rec.last_update_by,
416 p_last_update_login => p_batch_chg_prtnrs_rec.last_update_login,
417 p_object_version_number => p_batch_chg_prtnrs_rec.object_version_number,
418 p_request_id => p_batch_chg_prtnrs_rec.request_id,
419 p_program_application_id => p_batch_chg_prtnrs_rec.program_application_id,
420 p_program_id => p_batch_chg_prtnrs_rec.program_id,
421 p_program_update_date => p_batch_chg_prtnrs_rec.program_update_date,
422 p_processed_flag => p_batch_chg_prtnrs_rec.processed_flag,
423 p_vad_partner_id => p_batch_chg_prtnrs_rec.vad_partner_id,
424 x_return_status => x_return_status );
425
426 PVX_UTILITY_PVT.debug_message('+++++++++++++++++++++++++++++++++x_return_status =>'||x_return_status);
427
428 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
429 RAISE FND_API.G_EXC_ERROR;
430 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
431 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
432 END IF;
433
434
435 --
436 -- End of API body.
437 --
438
439 -- Standard Chk for p_commit
440 IF FND_API.to_Boolean( p_commit )
441 THEN
442 COMMIT WORK;
443 END IF;
444
445 -- Debug Message
446 IF (PV_DEBUG_HIGH_ON) THEN
447 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
448 END IF;
449
450 -- Standard call to get message count and if count is 1, get message info.
451 FND_MSG_PUB.Count_And_Get
452 (p_count => x_msg_count,
453 p_data => x_msg_data
454 );
455 EXCEPTION
456
457 WHEN PVX_UTILITY_PVT.resource_locked THEN
458 x_return_status := FND_API.g_ret_sts_error;
459 PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
460
461 WHEN FND_API.G_EXC_ERROR THEN
462 ROLLBACK TO UPDATE_BTCH_Chg_Prtnrs_PVT;
463 x_return_status := FND_API.G_RET_STS_ERROR;
464
465 -- Standard call to get message count and if count=1, get the message
466 FND_MSG_PUB.Count_And_Get (
467 p_encoded => FND_API.G_FALSE,
468 p_count => x_msg_count,
469 p_data => x_msg_data
470 );
471
472 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
473 ROLLBACK TO UPDATE_BTCH_Chg_Prtnrs_PVT;
474 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
475
476 -- Standard call to get message count and if count=1, get the message
477 FND_MSG_PUB.Count_And_Get (
478 p_encoded => FND_API.G_FALSE,
479 p_count => x_msg_count,
480 p_data => x_msg_data
481 );
482
483 WHEN OTHERS THEN
484 ROLLBACK TO UPDATE_BTCH_Chg_Prtnrs_PVT;
485 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
486
487 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
488 THEN
489 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
490 END IF;
491
492 -- Standard call to get message count and if count=1, get the message
493 FND_MSG_PUB.Count_And_Get (
494 p_encoded => FND_API.G_FALSE,
495 p_count => x_msg_count,
496 p_data => x_msg_data
497 );
498 End Update_Batch_Chg_Partners;
499
500
501 -- ==============================================================================
502 -- Start of Comments
503 -- ==============================================================================
504 -- API Name
505 -- Delete_Batch_Chg_Prtnrs
506 -- Type
507 -- Private
508 -- Pre-Req
509 --
510 -- Parameters
511 --
512 -- IN
513 -- p_api_version_number IN NUMBER Required
514 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
515 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
516 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
517 -- p_partner_id IN NUMBER
518 -- p_object_version_number IN NUMBER Optional Default = NULL
519 --
520 -- OUT
521 -- x_return_status OUT VARCHAR2
522 -- x_msg_count OUT NUMBER
523 -- x_msg_data OUT VARCHAR2
524 -- Version : Current version 1.0
525 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
526 -- and basic operation, developer must manually add parameters and business logic as necessary.
527 --
528 -- History
529 --
530 -- NOTE
531 --
532 -- End of Comments
533 -- ==============================================================================
534
535 PROCEDURE Delete_Batch_Chg_Prtnrs(
539 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
536 p_api_version_number IN NUMBER,
537 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
538 p_commit IN VARCHAR2 := FND_API.G_FALSE,
540 x_return_status OUT NOCOPY VARCHAR2,
541 x_msg_count OUT NOCOPY NUMBER,
542 x_msg_data OUT NOCOPY VARCHAR2,
543 p_partner_id IN NUMBER,
544 p_object_version_number IN NUMBER
545 )
546
547 IS
548 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_BTCH_Chg_Prtnrs';
549 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
550 l_object_version_number NUMBER;
551 l_err_msg VARCHAR2(2000);
552
553 BEGIN
554 -- Standard Start of API savepoint
555 SAVEPOINT delete_BTCH_Chg_Prtnrs_pvt;
556
557 -- Standard call to Chk for call compatibility.
558 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
559 p_api_version_number,
560 l_api_name,
561 G_PKG_NAME)
562 THEN
563 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564 END IF;
565
566
567 -- Initialize message list if p_init_msg_list is set to TRUE.
568 IF FND_API.to_Boolean( p_init_msg_list )
569 THEN
570 FND_MSG_PUB.initialize;
571 END IF;
572
573
574
575 -- Debug Message
576 IF (PV_DEBUG_HIGH_ON) THEN
577 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
578 END IF;
579
580 -- Initialize API return status to SUCCESS
581 x_return_status := FND_API.G_RET_STS_SUCCESS;
582
583 --
584 -- Api body
585 --
586
587 -- Debug Message
588 IF (PV_DEBUG_HIGH_ON) THEN
589 PVX_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
590 END IF;
591
592 -- Invoke table handler(Pv_BTCH_Chg_Prtnrs_Pkg.Delete_Row)
593 PV_BATCH_CHG_PRTNR_PKG.Delete_Row(
594 p_partner_id => p_partner_id,
595 p_object_version_number => p_object_version_number ,
596 x_return_status => x_return_status);
597
598 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
599 RAISE FND_API.G_EXC_ERROR;
600 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
601 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
602 END IF;
603
604 --
605 -- End of API body
606 --
607
608 -- Standard Chk for p_commit
609 IF FND_API.to_Boolean( p_commit )
610 THEN
611 COMMIT WORK;
612 END IF;
613
614 -- Debug Message
615 IF (PV_DEBUG_HIGH_ON) THEN
616 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
617 END IF;
618
619 -- Standard call to get message count and if count is 1, get message info.
620 FND_MSG_PUB.Count_And_Get
621 (p_count => x_msg_count,
622 p_data => x_msg_data
623 );
624
625 EXCEPTION
626
627 WHEN PVX_UTILITY_PVT.resource_locked THEN
628 x_return_status := FND_API.g_ret_sts_error;
629 PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
630
631 WHEN FND_API.G_EXC_ERROR THEN
632 ROLLBACK TO DELETE_BTCH_Chg_Prtnrs_PVT;
633 x_return_status := FND_API.G_RET_STS_ERROR;
634
635 -- Standard call to get message count and if count=1, get the message
636 FND_MSG_PUB.Count_And_Get (
637 p_encoded => FND_API.G_FALSE,
638 p_count => x_msg_count,
639 p_data => x_msg_data
640 );
641
642 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
643 ROLLBACK TO DELETE_BTCH_Chg_Prtnrs_PVT;
644 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
645
646 -- Standard call to get message count and if count=1, get the message
647 FND_MSG_PUB.Count_And_Get (
648 p_encoded => FND_API.G_FALSE,
649 p_count => x_msg_count,
650 p_data => x_msg_data
651 );
652
653 WHEN OTHERS THEN
654 ROLLBACK TO DELETE_BTCH_Chg_Prtnrs_PVT;
655 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
656
657 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
658 THEN
659 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
660 END IF;
661
662 -- Standard call to get message count and if count=1, get the message
663 FND_MSG_PUB.Count_And_Get (
664 p_encoded => FND_API.G_FALSE,
665 p_count => x_msg_count,
666 p_data => x_msg_data
667 );
668 End Delete_Batch_Chg_Prtnrs;
669
670
671
672 -- Hint: Primary key needs to be returned.
673 -- ==============================================================================
674 -- Start of Comments
675 -- ==============================================================================
676 -- API Name
680 -- Pre-Req
677 -- Lock_Batch_Chg_Prtnrs
678 -- Type
679 -- Private
681 --
682 -- Parameters
683 --
684 -- IN
685 -- p_api_version_number IN NUMBER Required
686 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
687 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
688 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
689 -- p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type Required
690 --
691 -- OUT
692 -- x_return_status OUT VARCHAR2
693 -- x_msg_count OUT NUMBER
694 -- x_msg_data OUT VARCHAR2
695 -- Version : Current version 1.0
696 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
697 -- and basic operation, developer must manually add parameters and business logic as necessary.
698 --
699 -- History
700 --
701 -- NOTE
702 --
703 -- End of Comments
704 -- ==============================================================================
705
706 PROCEDURE Lock_Batch_Chg_Prtnrs(
707 p_api_version_number IN NUMBER,
708 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
709
710 x_return_status OUT NOCOPY VARCHAR2,
711 x_msg_count OUT NOCOPY NUMBER,
712 x_msg_data OUT NOCOPY VARCHAR2,
713
714 p_partner_id IN NUMBER,
715 p_object_version IN NUMBER
716 )
717
718 IS
719 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_BTCH_Chg_Prtnrs';
720 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
721 L_FULL_NAME CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
722 l_partner_id NUMBER;
723 l_err_msg VARCHAR2(2000);
724
725 BEGIN
726
727 -- Debug Message
728 IF (PV_DEBUG_HIGH_ON) THEN
729 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
730 END IF;
731
732
733 -- Initialize message list if p_init_msg_list is set to TRUE.
734 IF FND_API.to_Boolean( p_init_msg_list )
735 THEN
736 FND_MSG_PUB.initialize;
737 END IF;
738
739
740
741 -- Standard call to Chk for call compatibility.
742 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
743 p_api_version_number,
744 l_api_name,
745 G_PKG_NAME)
746 THEN
747 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
748 END IF;
749
750
751
752 -- Initialize API return status to SUCCESS
753 x_return_status := FND_API.G_RET_STS_SUCCESS;
754
755 PV_BATCH_CHG_PRTNR_PKG.Lock_Row(l_partner_id,p_object_version,x_return_status);
756
757 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
758 RAISE FND_API.G_EXC_ERROR;
759 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
760 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
761 END IF;
762
763 FND_MSG_PUB.count_and_get(
764 p_encoded => FND_API.g_false,
765 p_count => x_msg_count,
766 p_data => x_msg_data);
767
768 -- Debug Message
769 IF (PV_DEBUG_HIGH_ON) THEN
770 PVX_UTILITY_PVT.debug_message(l_full_name ||': end');
771 END IF;
772
773 EXCEPTION
774
775 WHEN PVX_UTILITY_PVT.resource_locked THEN
776 x_return_status := FND_API.g_ret_sts_error;
777 PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
778
779 WHEN FND_API.G_EXC_ERROR THEN
780 ROLLBACK TO LOCK_BTCH_Chg_Prtnrs_PVT;
781 x_return_status := FND_API.G_RET_STS_ERROR;
782
783 -- Standard call to get message count and if count=1, get the message
784 FND_MSG_PUB.Count_And_Get (
785 p_encoded => FND_API.G_FALSE,
786 p_count => x_msg_count,
787 p_data => x_msg_data
788 );
789
790 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
791 ROLLBACK TO LOCK_BTCH_Chg_Prtnrs_PVT;
792 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
793
794 -- Standard call to get message count and if count=1, get the message
795 FND_MSG_PUB.Count_And_Get (
796 p_encoded => FND_API.G_FALSE,
797 p_count => x_msg_count,
798 p_data => x_msg_data
799 );
800
801 WHEN OTHERS THEN
802 ROLLBACK TO LOCK_BTCH_Chg_Prtnrs_PVT;
803 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
804
805 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
806 THEN
807 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
808 END IF;
809
810 -- Standard call to get message count and if count=1, get the message
811 FND_MSG_PUB.Count_And_Get (
812 p_encoded => FND_API.G_FALSE,
813 p_count => x_msg_count,
814 p_data => x_msg_data
815 );
819
816 End Lock_Batch_Chg_Prtnrs;
817
818
820
821 PROCEDURE Chk_BTCH_Chg_Prtnrs_Uk_Items(
822 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type,
823 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
824 x_return_status OUT NOCOPY VARCHAR2)
825 IS
826 l_valid_flag VARCHAR2(1);
827
828 BEGIN
829 x_return_status := FND_API.g_ret_sts_success;
830 IF p_validation_mode = JTF_PLSQL_API.g_create
831 AND p_batch_chg_prtnrs_rec.partner_id IS NOT NULL
832 THEN
833 l_valid_flag := PVX_UTILITY_PVT.Check_uniqueness(
834 'pv_tap_batch_chg_partners',
835 'partner_id = ''' || p_batch_chg_prtnrs_rec.partner_id ||''''
836 );
837 END IF;
838
839 IF l_valid_flag = FND_API.g_false THEN
840 x_return_status := FND_API.g_ret_sts_error;
841 END IF;
842
843 END Chk_BTCH_Chg_Prtnrs_Uk_Items;
844
845
846
847 PROCEDURE Chk_BTCH_Chg_Prtnrs_Req_Items(
848 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type,
849 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
850 x_return_status OUT NOCOPY VARCHAR2
851 )
852 IS
853 BEGIN
854 x_return_status := FND_API.g_ret_sts_success;
855
856
857 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
858
859 -- Check for required column PARTNER_ID
860 IF p_batch_chg_prtnrs_rec.partner_id = FND_API.G_MISS_NUM OR p_batch_chg_prtnrs_rec.partner_id IS NULL THEN
861 PVX_UTILITY_PVT.Error_Message('PV_API_MISSING_REQ_COLUMN', 'COLUMN', 'PARTNER_ID' );
862 x_return_status := FND_API.g_ret_sts_error;
863 END IF;
864
865 ELSE
866
867 -- Check for required column PARTNER_ID
868 IF p_batch_chg_prtnrs_rec.partner_id = FND_API.G_MISS_NUM THEN
869 PVX_UTILITY_PVT.Error_Message('PV_API_MISSING_REQ_COLUMN', 'COLUMN', 'PARTNER_ID' );
870 x_return_status := FND_API.g_ret_sts_error;
871 END IF;
872
873 END IF;
874
875 END Chk_BTCH_Chg_Prtnrs_Req_Items;
876
877 PROCEDURE Chk_BTCH_Chg_Prtnrs_Fk_Items(
878 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type,
879 x_return_status OUT NOCOPY VARCHAR2
880 )
881 IS
882 -- check, the supplied partner in the PV_PARTNER_PROFILES table is ACTIVE and EXISTS.
883 CURSOR l_chk_partner_active_csr(cv_partner_id IN NUMBER) IS
884 SELECT 'Y'
885 FROM pv_partner_profiles
886 WHERE partner_id = cv_partner_id
887 AND status = 'A';
888
889 -- Local variale declaration.
890 l_partner_active VARCHAR2(1) := 'N';
891
892 BEGIN
893 x_return_status := FND_API.g_ret_sts_success;
894
895 -- check, the supplied partner is an ACTIVE partner.
896 OPEN l_chk_partner_active_csr(p_batch_chg_prtnrs_rec.partner_id);
897 FETCH l_chk_partner_active_csr INTO l_partner_active;
898
899 IF l_chk_partner_active_csr%NOTFOUND THEN
900 CLOSE l_chk_partner_active_csr ;
901 PVX_UTILITY_PVT.Error_Message('PV_PARTNER_NOT_ACTIVE');
902 x_return_status := FND_API.g_ret_sts_error;
903 ELSE
904 CLOSE l_chk_partner_active_csr ;
905 END IF;
906
907 END Chk_BTCH_Chg_Prtnrs_Fk_Items;
908
909 PROCEDURE Check_Batch_Chg_Prtnrs_Items (
910 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_REC_TYPE,
911 p_validation_mode IN VARCHAR2,
912 x_return_status OUT NOCOPY VARCHAR2
913 )
914 IS
915 l_return_status VARCHAR2(1);
916 BEGIN
917
918 l_return_status := FND_API.g_ret_sts_success;
919
920 -- Chk Items Uniqueness API calls
921
922 Chk_BTCH_Chg_Prtnrs_Uk_Items(
923 p_batch_chg_prtnrs_rec => p_batch_chg_prtnrs_rec,
924 p_validation_mode => p_validation_mode,
925 x_return_status => x_return_status);
926 IF x_return_status <> FND_API.g_ret_sts_success THEN
927 l_return_status := FND_API.g_ret_sts_error;
928 END IF;
929
930 -- Chk Items Required/NOT NULL API calls
931
932 Chk_BTCH_Chg_Prtnrs_req_items(
933 p_batch_chg_prtnrs_rec => p_batch_chg_prtnrs_rec,
934 p_validation_mode => p_validation_mode,
935 x_return_status => x_return_status);
936 IF x_return_status <> FND_API.g_ret_sts_success THEN
937 l_return_status := FND_API.g_ret_sts_error;
938 END IF;
939 -- Chk Items Foreign Keys API calls
940
941 Chk_BTCH_Chg_Prtnrs_FK_items(
942 p_batch_chg_prtnrs_rec => p_batch_chg_prtnrs_rec,
943 x_return_status => x_return_status);
944 IF x_return_status <> FND_API.g_ret_sts_success THEN
945 l_return_status := FND_API.g_ret_sts_error;
946 END IF;
947
948 x_return_status := l_return_status;
949
950 END Check_Batch_Chg_Prtnrs_Items;
951
952 PROCEDURE Complete_BTCH_Chg_Prtnrs_Rec (
953 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type,
954 x_complete_rec OUT NOCOPY Batch_Chg_Prtnrs_Rec_Type)
955 IS
956 l_return_status VARCHAR2(1);
957
958 CURSOR c_complete IS
959 SELECT *
960 FROM PV_TAP_BATCH_CHG_PARTNERS
961 WHERE partner_id = p_batch_chg_prtnrs_rec.partner_id;
962
966
963 l_btch_chg_prtnrs_rec c_complete%ROWTYPE;
964 BEGIN
965 x_complete_rec := p_batch_chg_prtnrs_rec;
967
968 OPEN c_complete;
969 FETCH c_complete INTO l_btch_chg_prtnrs_rec;
970 CLOSE c_complete;
971
972 -- partner_id
973 IF p_batch_chg_prtnrs_rec.partner_id IS NULL THEN
974 x_complete_rec.partner_id := l_btch_chg_prtnrs_rec.partner_id;
975 END IF;
976
977 -- last_update_date
978 IF p_batch_chg_prtnrs_rec.last_update_date IS NULL THEN
979 x_complete_rec.last_update_date := l_btch_chg_prtnrs_rec.last_update_date;
980 END IF;
981
982 -- last_update_by
983 IF p_batch_chg_prtnrs_rec.last_update_by IS NULL THEN
984 x_complete_rec.last_update_by := l_btch_chg_prtnrs_rec.last_update_by;
985 END IF;
986
987 -- creation_date
988 IF p_batch_chg_prtnrs_rec.creation_date IS NULL THEN
989 x_complete_rec.creation_date := l_btch_chg_prtnrs_rec.creation_date;
990 END IF;
991
992 -- created_by
993 IF p_batch_chg_prtnrs_rec.created_by IS NULL THEN
994 x_complete_rec.created_by := l_btch_chg_prtnrs_rec.created_by;
995 END IF;
996
997 -- last_update_login
998 IF p_batch_chg_prtnrs_rec.last_update_login IS NULL THEN
999 x_complete_rec.last_update_login := l_btch_chg_prtnrs_rec.last_update_login;
1000 END IF;
1001
1002 -- request_id
1003 IF p_batch_chg_prtnrs_rec.request_id IS NULL THEN
1004 x_complete_rec.request_id := l_btch_chg_prtnrs_rec.request_id;
1005 END IF;
1006
1007 -- program_application_id
1008 IF p_batch_chg_prtnrs_rec.program_application_id IS NULL THEN
1009 x_complete_rec.program_application_id := l_btch_chg_prtnrs_rec.program_application_id;
1010 END IF;
1011
1012 -- program_id
1013 IF p_batch_chg_prtnrs_rec.program_id IS NULL THEN
1014 x_complete_rec.program_id := l_btch_chg_prtnrs_rec.program_id;
1015 END IF;
1016
1017 -- program_update_date
1018 IF p_batch_chg_prtnrs_rec.program_update_date IS NULL THEN
1019 x_complete_rec.program_update_date := l_btch_chg_prtnrs_rec.program_update_date;
1020 END IF;
1021
1022 -- processed_flag
1023 IF p_batch_chg_prtnrs_rec.processed_flag IS NULL THEN
1024 x_complete_rec.processed_flag := l_btch_chg_prtnrs_rec.processed_flag;
1025 END IF;
1026
1027 -- processed_flag
1028 IF p_batch_chg_prtnrs_rec.vad_partner_id IS NULL THEN
1029 x_complete_rec.vad_partner_id := l_btch_chg_prtnrs_rec.vad_partner_id;
1030 END IF;
1031
1032 -- Note: Developers need to modify the procedure
1033 -- to handle any business specific requirements.
1034 END Complete_BTCH_Chg_Prtnrs_Rec;
1035
1036 PROCEDURE Default_BTCH_Chg_Prtnrs_Items ( p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type ,
1037 x_btch_chg_prtnrs_rec OUT NOCOPY Batch_Chg_Prtnrs_Rec_Type )
1038 IS
1039 l_btch_chg_prtnrs_rec Batch_Chg_Prtnrs_Rec_Type := p_batch_chg_prtnrs_rec;
1040 BEGIN
1041 IF p_batch_chg_prtnrs_rec.last_update_date IS NULL OR
1042 p_batch_chg_prtnrs_rec.last_update_date = FND_API.G_MISS_DATE THEN
1043
1044 l_btch_chg_prtnrs_rec.last_update_date := sysdate ;
1045
1046 END IF ;
1047
1048 IF p_batch_chg_prtnrs_rec.last_update_by IS NULL OR
1049 p_batch_chg_prtnrs_rec.last_update_by = FND_API.G_MISS_NUM THEN
1050
1051 l_btch_chg_prtnrs_rec.last_update_by := FND_GLOBAL.user_id ;
1052
1053 END IF ;
1054
1055 IF p_batch_chg_prtnrs_rec.creation_date IS NULL OR
1056 p_batch_chg_prtnrs_rec.creation_date = FND_API.G_MISS_DATE THEN
1057
1058 l_btch_chg_prtnrs_rec.creation_date := sysdate ;
1059
1060 END IF ;
1061
1062 IF p_batch_chg_prtnrs_rec.created_by IS NULL OR
1063 p_batch_chg_prtnrs_rec.created_by = FND_API.G_MISS_NUM THEN
1064
1065 l_btch_chg_prtnrs_rec.created_by := FND_GLOBAL.user_id ;
1066
1067 END IF ;
1068
1069 IF p_batch_chg_prtnrs_rec.last_update_login IS NULL OR
1070 p_batch_chg_prtnrs_rec.last_update_login = FND_API.G_MISS_NUM THEN
1071
1072 l_btch_chg_prtnrs_rec.last_update_login := FND_GLOBAL.user_id ;
1073
1074 END IF ;
1075
1076 IF p_batch_chg_prtnrs_rec.processed_flag IS NULL OR
1077 p_batch_chg_prtnrs_rec.processed_flag = FND_API.G_MISS_CHAR THEN
1078 l_btch_Chg_Prtnrs_rec.processed_flag := 'P' ;
1079 END IF ;
1080
1081 x_btch_chg_prtnrs_rec := l_btch_chg_prtnrs_rec;
1082 END;
1083
1084 PROCEDURE Validate_Batch_Chg_Partners(
1085 p_api_version_number IN NUMBER,
1086 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1087 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1088 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type,
1089 p_validation_mode IN VARCHAR2,
1090 x_return_status OUT NOCOPY VARCHAR2,
1091 x_msg_count OUT NOCOPY NUMBER,
1092 x_msg_data OUT NOCOPY VARCHAR2
1093 )
1094 IS
1095 L_API_NAME CONSTANT VARCHAR2(30) := 'Validate_Batch_Chg_Partners';
1096 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1097 l_object_version_number NUMBER;
1101 BEGIN
1098 l_batch_chg_prtnrs_rec Batch_Chg_Prtnrs_Rec_Type ;
1099 ld_batch_chg_prtnrs_rec Batch_Chg_Prtnrs_Rec_Type ;
1100 l_complete_rec Batch_Chg_Prtnrs_Rec_Type;
1102 -- Standard Start of API savepoint
1103 SAVEPOINT validate_BTCH_Chg_Prtnrs_;
1104
1105 -- Standard call to Chk for call compatibility.
1106 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1107 p_api_version_number,
1108 l_api_name,
1109 G_PKG_NAME)
1110 THEN
1111 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1112 END IF;
1113
1114 -- Debug Message
1115 IF (PV_DEBUG_HIGH_ON) THEN
1116 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'Start');
1117 END IF;
1118
1119 -- Initialize message list if p_init_msg_list is set to TRUE.
1120 IF FND_API.to_Boolean( p_init_msg_list )
1121 THEN
1122 FND_MSG_PUB.initialize;
1123 END IF;
1124
1125 -- Initialize API return status to SUCCESS
1126 x_return_status := FND_API.G_RET_STS_SUCCESS;
1127
1128 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1129 Check_Batch_Chg_Prtnrs_Items(
1130 p_batch_chg_prtnrs_rec => p_batch_chg_prtnrs_rec,
1131 p_validation_mode => p_validation_mode,
1132 x_return_status => x_return_status
1133 );
1134
1135 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1136 RAISE FND_API.G_EXC_ERROR;
1137 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1138 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1139 END IF;
1140 END IF;
1141
1142 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
1143 Default_BTCH_Chg_Prtnrs_Items(
1144 p_batch_chg_prtnrs_rec => p_batch_chg_prtnrs_rec,
1145 x_BTCH_Chg_Prtnrs_rec => ld_batch_chg_prtnrs_rec) ;
1146 END IF ;
1147
1148
1149 Complete_BTCH_Chg_Prtnrs_Rec(
1150 p_batch_chg_prtnrs_rec => ld_batch_chg_prtnrs_rec,
1151 x_complete_rec => l_batch_chg_prtnrs_rec
1152 );
1153
1154 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1155 Validate_Batch_Chg_Prtnrs_Rec(
1156 p_api_version_number => 1.0,
1157 p_init_msg_list => FND_API.G_FALSE,
1158 x_return_status => x_return_status,
1159 x_msg_count => x_msg_count,
1160 x_msg_data => x_msg_data,
1161 p_batch_chg_prtnrs_rec => l_batch_chg_prtnrs_rec);
1162
1163 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1164 RAISE FND_API.G_EXC_ERROR;
1165 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1166 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1167 END IF;
1168 END IF;
1169
1170 -- Debug Message
1171 IF (PV_DEBUG_HIGH_ON) THEN
1172 PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1173 END IF;
1174
1175
1176 -- Standard call to get message count and if count is 1, get message info.
1177 FND_MSG_PUB.Count_And_Get
1178 (p_count => x_msg_count,
1179 p_data => x_msg_data
1180 );
1181 EXCEPTION
1182
1183 WHEN PVX_UTILITY_PVT.resource_locked THEN
1184 x_return_status := FND_API.g_ret_sts_error;
1185 PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1186
1187 WHEN FND_API.G_EXC_ERROR THEN
1188 ROLLBACK TO VALIDATE_BTCH_Chg_Prtnrs_;
1189 x_return_status := FND_API.G_RET_STS_ERROR;
1190
1191 -- Standard call to get message count and if count=1, get the message
1192 FND_MSG_PUB.Count_And_Get (
1193 p_encoded => FND_API.G_FALSE,
1194 p_count => x_msg_count,
1195 p_data => x_msg_data
1196 );
1197
1198 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1199 ROLLBACK TO VALIDATE_BTCH_Chg_Prtnrs_;
1200 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1201
1202 -- Standard call to get message count and if count=1, get the message
1203 FND_MSG_PUB.Count_And_Get (
1204 p_encoded => FND_API.G_FALSE,
1205 p_count => x_msg_count,
1206 p_data => x_msg_data
1207 );
1208
1209 WHEN OTHERS THEN
1210 ROLLBACK TO VALIDATE_BTCH_Chg_Prtnrs_;
1211 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1212
1213 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1214 THEN
1215 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1216 END IF;
1217
1218 -- Standard call to get message count and if count=1, get the message
1219 FND_MSG_PUB.Count_And_Get (
1220 p_encoded => FND_API.G_FALSE,
1221 p_count => x_msg_count,
1222 p_data => x_msg_data
1223 );
1224 End Validate_Batch_Chg_Partners;
1225
1226
1227 PROCEDURE Validate_Batch_Chg_Prtnrs_Rec (
1228 p_api_version_number IN NUMBER,
1229 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1233 p_batch_chg_prtnrs_rec IN Batch_Chg_Prtnrs_Rec_Type
1230 x_return_status OUT NOCOPY VARCHAR2,
1231 x_msg_count OUT NOCOPY NUMBER,
1232 x_msg_data OUT NOCOPY VARCHAR2,
1234 )
1235 IS
1236 BEGIN
1237 -- Initialize message list if p_init_msg_list is set to TRUE.
1238 IF FND_API.to_Boolean( p_init_msg_list )
1239 THEN
1240 FND_MSG_PUB.initialize;
1241 END IF;
1242
1243 -- Initialize API return status to SUCCESS
1244 x_return_status := FND_API.G_RET_STS_SUCCESS;
1245
1246 -- Hint: Validate data
1247 -- If data not valid
1248 -- THEN
1249 -- x_return_status := FND_API.G_RET_STS_ERROR;
1250
1251 IF ( NOT( p_batch_chg_prtnrs_rec.processed_flag = 'P' OR
1252 p_batch_chg_prtnrs_rec.processed_flag = 'S')) THEN
1253 PVX_UTILITY_PVT.Error_Message('PV_INVALID_FLAG');
1254 x_return_status := FND_API.G_RET_STS_ERROR;
1255 END IF;
1256
1257 -- Debug Message
1258 IF (PV_DEBUG_HIGH_ON) THEN
1259 PVX_UTILITY_PVT.debug_message('Private API: Validate_dm_model_rec');
1260 END IF;
1261
1262 -- Standard call to get message count and if count is 1, get message info.
1263 FND_MSG_PUB.Count_And_Get
1264 (p_count => x_msg_count,
1265 p_data => x_msg_data
1266 );
1267 END Validate_Batch_Chg_Prtnrs_Rec;
1268
1269 END PV_BATCH_CHG_PRTNR_PVT;