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