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