48: -- Parameters
49: --
50: -- IN
51: -- p_api_version_number IN NUMBER Required
52: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
53: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
54: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
55: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
56: --
49: --
50: -- IN
51: -- p_api_version_number IN NUMBER Required
52: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
53: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
54: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
55: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
56: --
57: -- OUT
50: -- IN
51: -- p_api_version_number IN NUMBER Required
52: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
53: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
54: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
55: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
56: --
57: -- OUT
58: -- x_return_status OUT VARCHAR2
74: PV_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
75:
76: PROCEDURE Create_Ge_Notif_Rules(
77: p_api_version_number IN NUMBER,
78: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
79: p_commit IN VARCHAR2 := FND_API.G_FALSE,
80: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
81:
82: x_return_status OUT NOCOPY VARCHAR2,
75:
76: PROCEDURE Create_Ge_Notif_Rules(
77: p_api_version_number IN NUMBER,
78: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
79: p_commit IN VARCHAR2 := FND_API.G_FALSE,
80: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
81:
82: x_return_status OUT NOCOPY VARCHAR2,
83: x_msg_count OUT NOCOPY NUMBER,
76: PROCEDURE Create_Ge_Notif_Rules(
77: p_api_version_number IN NUMBER,
78: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
79: p_commit IN VARCHAR2 := FND_API.G_FALSE,
80: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
81:
82: x_return_status OUT NOCOPY VARCHAR2,
83: x_msg_count OUT NOCOPY NUMBER,
84: x_msg_data OUT NOCOPY VARCHAR2,
91: L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Ge_Notif_Rules';
92: L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
93: l_return_status_full VARCHAR2(1);
94: l_object_version_number NUMBER := 1;
95: l_org_id NUMBER := FND_API.G_MISS_NUM;
96: l_notif_rule_id NUMBER;
97: l_dummy NUMBER;
98: -- anubhav added
99: l_ge_notif_rules_rec ge_notif_rules_rec_type := p_ge_notif_rules_rec;
111: -- Standard Start of API savepoint
112: SAVEPOINT create_ge_notif_rules_pvt;
113:
114: -- Standard call to check for call compatibility.
115: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
116: p_api_version_number,
117: l_api_name,
118: G_PKG_NAME)
119: THEN
116: p_api_version_number,
117: l_api_name,
118: G_PKG_NAME)
119: THEN
120: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
121: END IF;
122:
123:
124: -- Initialize message list if p_init_msg_list is set to TRUE.
121: END IF;
122:
123:
124: -- Initialize message list if p_init_msg_list is set to TRUE.
125: IF FND_API.to_Boolean( p_init_msg_list )
126: THEN
127: FND_MSG_PUB.initialize;
128: END IF;
129:
137:
138:
139:
140: -- Initialize API return status to SUCCESS
141: x_return_status := FND_API.G_RET_STS_SUCCESS;
142:
143: -- Local variable initialization
144:
145: IF p_ge_notif_rules_rec.notif_rule_id IS NULL OR p_ge_notif_rules_rec.notif_rule_id = FND_API.g_miss_num THEN
141: x_return_status := FND_API.G_RET_STS_SUCCESS;
142:
143: -- Local variable initialization
144:
145: IF p_ge_notif_rules_rec.notif_rule_id IS NULL OR p_ge_notif_rules_rec.notif_rule_id = FND_API.g_miss_num THEN
146: LOOP
147: l_dummy := NULL;
148: OPEN c_id;
149: --FETCH c_id INTO l_notif_rule_id;
170:
171: IF FND_GLOBAL.USER_ID IS NULL
172: THEN
173: PVX_UTILITY_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
174: RAISE FND_API.G_EXC_ERROR;
175: END IF;
176:
177:
178:
175: END IF;
176:
177:
178:
179: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
180: THEN
181: -- Debug message
182: IF (PV_DEBUG_HIGH_ON) THEN
183:
198:
199: -- Invoke validation procedures
200: Validate_ge_notif_rules(
201: p_api_version_number => 1.0,
202: p_init_msg_list => FND_API.G_FALSE,
203: p_validation_level => p_validation_level,
204: p_validation_mode => JTF_PLSQL_API.g_create,
205: --p_ge_notif_rules_rec => p_ge_notif_rules_rec,
206: --Anubhav added
210: x_msg_count => x_msg_count,
211: x_msg_data => x_msg_data);
212: END IF;
213:
214: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
215: RAISE FND_API.G_EXC_ERROR;
216: END IF;
217:
218:
211: x_msg_data => x_msg_data);
212: END IF;
213:
214: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
215: RAISE FND_API.G_EXC_ERROR;
216: END IF;
217:
218:
219:
253: p_notif_desc => p_ge_notif_rules_rec.notif_desc
254: );
255:
256: x_notif_rule_id := l_notif_rule_id;
257: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
258: RAISE FND_API.G_EXC_ERROR;
259: END IF;
260: --
261: -- End of API body
254: );
255:
256: x_notif_rule_id := l_notif_rule_id;
257: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
258: RAISE FND_API.G_EXC_ERROR;
259: END IF;
260: --
261: -- End of API body
262: --
261: -- End of API body
262: --
263:
264: -- Standard check for p_commit
265: IF FND_API.to_Boolean( p_commit )
266: THEN
267: COMMIT WORK;
268: END IF;
269:
282: );
283: EXCEPTION
284:
285: WHEN PVX_UTILITY_PVT.resource_locked THEN
286: x_return_status := FND_API.g_ret_sts_error;
287: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
288:
289: WHEN FND_API.G_EXC_ERROR THEN
290: ROLLBACK TO CREATE_Ge_Notif_Rules_PVT;
285: WHEN PVX_UTILITY_PVT.resource_locked THEN
286: x_return_status := FND_API.g_ret_sts_error;
287: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
288:
289: WHEN FND_API.G_EXC_ERROR THEN
290: ROLLBACK TO CREATE_Ge_Notif_Rules_PVT;
291: x_return_status := FND_API.G_RET_STS_ERROR;
292: -- Standard call to get message count and if count=1, get the message
293: FND_MSG_PUB.Count_And_Get (
287: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
288:
289: WHEN FND_API.G_EXC_ERROR THEN
290: ROLLBACK TO CREATE_Ge_Notif_Rules_PVT;
291: x_return_status := FND_API.G_RET_STS_ERROR;
292: -- Standard call to get message count and if count=1, get the message
293: FND_MSG_PUB.Count_And_Get (
294: p_encoded => FND_API.G_FALSE,
295: p_count => x_msg_count,
290: ROLLBACK TO CREATE_Ge_Notif_Rules_PVT;
291: x_return_status := FND_API.G_RET_STS_ERROR;
292: -- Standard call to get message count and if count=1, get the message
293: FND_MSG_PUB.Count_And_Get (
294: p_encoded => FND_API.G_FALSE,
295: p_count => x_msg_count,
296: p_data => x_msg_data
297: );
298:
295: p_count => x_msg_count,
296: p_data => x_msg_data
297: );
298:
299: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
300: ROLLBACK TO CREATE_Ge_Notif_Rules_PVT;
301: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
302: -- Standard call to get message count and if count=1, get the message
303: FND_MSG_PUB.Count_And_Get (
297: );
298:
299: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
300: ROLLBACK TO CREATE_Ge_Notif_Rules_PVT;
301: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
302: -- Standard call to get message count and if count=1, get the message
303: FND_MSG_PUB.Count_And_Get (
304: p_encoded => FND_API.G_FALSE,
305: p_count => x_msg_count,
300: ROLLBACK TO CREATE_Ge_Notif_Rules_PVT;
301: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
302: -- Standard call to get message count and if count=1, get the message
303: FND_MSG_PUB.Count_And_Get (
304: p_encoded => FND_API.G_FALSE,
305: p_count => x_msg_count,
306: p_data => x_msg_data
307: );
308:
307: );
308:
309: WHEN OTHERS THEN
310: ROLLBACK TO CREATE_Ge_Notif_Rules_PVT;
311: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
312: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
313: THEN
314: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
315: END IF;
314: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
315: END IF;
316: -- Standard call to get message count and if count=1, get the message
317: FND_MSG_PUB.Count_And_Get (
318: p_encoded => FND_API.G_FALSE,
319: p_count => x_msg_count,
320: p_data => x_msg_data
321: );
322: End Create_Ge_Notif_Rules;
332: *********************/
333: PROCEDURE Copy_Row
334: (
335: p_api_version_number IN NUMBER
336: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
337: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
338: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
339: ,x_return_status OUT NOCOPY VARCHAR2
340: ,x_msg_count OUT NOCOPY NUMBER
333: PROCEDURE Copy_Row
334: (
335: p_api_version_number IN NUMBER
336: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
337: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
338: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
339: ,x_return_status OUT NOCOPY VARCHAR2
340: ,x_msg_count OUT NOCOPY NUMBER
341: ,x_msg_data OUT NOCOPY VARCHAR2
334: (
335: p_api_version_number IN NUMBER
336: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
337: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
338: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
339: ,x_return_status OUT NOCOPY VARCHAR2
340: ,x_msg_count OUT NOCOPY NUMBER
341: ,x_msg_data OUT NOCOPY VARCHAR2
342: ,p_src_object_id IN NUMBER
403: -- Standard Start of API savepoint
404: SAVEPOINT Copy_Row;
405:
406: -- Standard call to check for call compatibility.
407: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
408: p_api_version_number,
409: l_api_name,
410: G_PKG_NAME)
411: THEN
408: p_api_version_number,
409: l_api_name,
410: G_PKG_NAME)
411: THEN
412: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
413: END IF;
414:
415:
416: -- Initialize message list if p_init_msg_list is set to TRUE.
413: END IF;
414:
415:
416: -- Initialize message list if p_init_msg_list is set to TRUE.
417: IF FND_API.to_Boolean( p_init_msg_list )
418: THEN
419: FND_MSG_PUB.initialize;
420: END IF;
421:
425: END IF;
426:
427:
428: -- Initialize API return status to SUCCESS
429: x_return_status := FND_API.G_RET_STS_SUCCESS;
430:
431:
432: OPEN c_get_notif_rules_id(p_tar_object_id);
433: FETCH c_get_notif_rules_id bulk collect into notif_rule_id_array
510: END LOOP;
511: close c_get_notif_rules_tl_rec;
512:
513: -- Check for commit
514: IF FND_API.to_boolean(p_commit) THEN
515: COMMIT;
516: END IF;
517:
518: FND_MSG_PUB.count_and_get(
515: COMMIT;
516: END IF;
517:
518: FND_MSG_PUB.count_and_get(
519: p_encoded => FND_API.g_false
520: ,p_count => x_msg_count
521: ,p_data => x_msg_data
522: );
523:
523:
524: EXCEPTION
525:
526: WHEN PVX_Utility_PVT.resource_locked THEN
527: x_return_status := FND_API.g_ret_sts_error;
528: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
529:
530: WHEN FND_API.G_EXC_ERROR THEN
531: ROLLBACK TO Copy_Row;
526: WHEN PVX_Utility_PVT.resource_locked THEN
527: x_return_status := FND_API.g_ret_sts_error;
528: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
529:
530: WHEN FND_API.G_EXC_ERROR THEN
531: ROLLBACK TO Copy_Row;
532: x_return_status := FND_API.G_RET_STS_ERROR;
533: -- Standard call to get message count and if count=1, get the message
534: FND_MSG_PUB.Count_And_Get (
528: PVX_Utility_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
529:
530: WHEN FND_API.G_EXC_ERROR THEN
531: ROLLBACK TO Copy_Row;
532: x_return_status := FND_API.G_RET_STS_ERROR;
533: -- Standard call to get message count and if count=1, get the message
534: FND_MSG_PUB.Count_And_Get (
535: p_encoded => FND_API.G_FALSE,
536: p_count => x_msg_count,
531: ROLLBACK TO Copy_Row;
532: x_return_status := FND_API.G_RET_STS_ERROR;
533: -- Standard call to get message count and if count=1, get the message
534: FND_MSG_PUB.Count_And_Get (
535: p_encoded => FND_API.G_FALSE,
536: p_count => x_msg_count,
537: p_data => x_msg_data
538: );
539:
536: p_count => x_msg_count,
537: p_data => x_msg_data
538: );
539:
540: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
541: ROLLBACK TO Copy_Row;
542: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
543: -- Standard call to get message count and if count=1, get the message
544: FND_MSG_PUB.Count_And_Get (
538: );
539:
540: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
541: ROLLBACK TO Copy_Row;
542: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
543: -- Standard call to get message count and if count=1, get the message
544: FND_MSG_PUB.Count_And_Get (
545: p_encoded => FND_API.G_FALSE,
546: p_count => x_msg_count,
541: ROLLBACK TO Copy_Row;
542: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
543: -- Standard call to get message count and if count=1, get the message
544: FND_MSG_PUB.Count_And_Get (
545: p_encoded => FND_API.G_FALSE,
546: p_count => x_msg_count,
547: p_data => x_msg_data
548: );
549:
548: );
549:
550: WHEN OTHERS THEN
551: ROLLBACK TO Copy_Row;
552: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
553: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
554: THEN
555: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
556: END IF;
555: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
556: END IF;
557: -- Standard call to get message count and if count=1, get the message
558: FND_MSG_PUB.Count_And_Get (
559: p_encoded => FND_API.G_FALSE,
560: p_count => x_msg_count,
561: p_data => x_msg_data
562: );
563:
576: -- Parameters
577: --
578: -- IN
579: -- p_api_version_number IN NUMBER Required
580: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
581: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
582: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
583: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
584: --
577: --
578: -- IN
579: -- p_api_version_number IN NUMBER Required
580: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
581: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
582: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
583: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
584: --
585: -- OUT
578: -- IN
579: -- p_api_version_number IN NUMBER Required
580: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
581: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
582: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
583: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
584: --
585: -- OUT
586: -- x_return_status OUT VARCHAR2
598: -- ==============================================================================
599:
600: PROCEDURE Update_Ge_Notif_Rules(
601: p_api_version_number IN NUMBER,
602: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
603: p_commit IN VARCHAR2 := FND_API.G_FALSE,
604: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
605:
606: x_return_status OUT NOCOPY VARCHAR2,
599:
600: PROCEDURE Update_Ge_Notif_Rules(
601: p_api_version_number IN NUMBER,
602: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
603: p_commit IN VARCHAR2 := FND_API.G_FALSE,
604: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
605:
606: x_return_status OUT NOCOPY VARCHAR2,
607: x_msg_count OUT NOCOPY NUMBER,
600: PROCEDURE Update_Ge_Notif_Rules(
601: p_api_version_number IN NUMBER,
602: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
603: p_commit IN VARCHAR2 := FND_API.G_FALSE,
604: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
605:
606: x_return_status OUT NOCOPY VARCHAR2,
607: x_msg_count OUT NOCOPY NUMBER,
608: x_msg_data OUT NOCOPY VARCHAR2,
633: -- Standard Start of API savepoint
634: SAVEPOINT update_ge_notif_rules_pvt;
635:
636: -- Standard call to check for call compatibility.
637: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
638: p_api_version_number,
639: l_api_name,
640: G_PKG_NAME)
641: THEN
638: p_api_version_number,
639: l_api_name,
640: G_PKG_NAME)
641: THEN
642: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
643: END IF;
644:
645:
646: -- Initialize message list if p_init_msg_list is set to TRUE.
643: END IF;
644:
645:
646: -- Initialize message list if p_init_msg_list is set to TRUE.
647: IF FND_API.to_Boolean( p_init_msg_list )
648: THEN
649: FND_MSG_PUB.initialize;
650: END IF;
651:
659:
660:
661:
662: -- Initialize API return status to SUCCESS
663: x_return_status := FND_API.G_RET_STS_SUCCESS;
664:
665: -- Debug Message
666: IF (PV_DEBUG_HIGH_ON) THEN
667:
675: If ( c_get_Ge_Notif_Rules%NOTFOUND) THEN
676: PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
677: p_token_name => 'INFO',
678: p_token_value => 'Ge_Notif_Rules') ;
679: RAISE FND_API.G_EXC_ERROR;
680: END IF;
681: -- Debug Message
682: IF (PV_DEBUG_HIGH_ON) THEN
683:
686: CLOSE c_get_Ge_Notif_Rules;
687:
688:
689: If (l_tar_ge_notif_rules_rec.object_version_number is NULL or
690: l_tar_ge_notif_rules_rec.object_version_number = FND_API.G_MISS_NUM ) Then
691: PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
692: p_token_name => 'COLUMN',
693: p_token_value => 'Last_Update_Date') ;
694: raise FND_API.G_EXC_ERROR;
690: l_tar_ge_notif_rules_rec.object_version_number = FND_API.G_MISS_NUM ) Then
691: PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
692: p_token_name => 'COLUMN',
693: p_token_value => 'Last_Update_Date') ;
694: raise FND_API.G_EXC_ERROR;
695: End if;
696: -- Check Whether record has been changed by someone else
697: If (l_tar_ge_notif_rules_rec.object_version_number <> l_ref_ge_notif_rules_rec.object_version_number) Then
698: PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
697: If (l_tar_ge_notif_rules_rec.object_version_number <> l_ref_ge_notif_rules_rec.object_version_number) Then
698: PVX_UTILITY_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
699: p_token_name => 'INFO',
700: p_token_value => 'Ge_Notif_Rules') ;
701: raise FND_API.G_EXC_ERROR;
702: End if;
703:
704:
705: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
701: raise FND_API.G_EXC_ERROR;
702: End if;
703:
704:
705: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
706: THEN
707: -- Debug message
708: IF (PV_DEBUG_HIGH_ON) THEN
709:
712:
713: -- Invoke validation procedures
714: Validate_ge_notif_rules(
715: p_api_version_number => 1.0,
716: p_init_msg_list => FND_API.G_FALSE,
717: p_validation_level => p_validation_level,
718: p_validation_mode => JTF_PLSQL_API.g_update,
719: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
720: x_return_status => x_return_status,
721: x_msg_count => x_msg_count,
722: x_msg_data => x_msg_data);
723: END IF;
724:
725: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
726: RAISE FND_API.G_EXC_ERROR;
727: END IF;
728:
729:
722: x_msg_data => x_msg_data);
723: END IF;
724:
725: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
726: RAISE FND_API.G_EXC_ERROR;
727: END IF;
728:
729:
730: -- Debug Message
758: -- End of API body.
759: --
760:
761: -- Standard check for p_commit
762: IF FND_API.to_Boolean( p_commit )
763: THEN
764: COMMIT WORK;
765: END IF;
766:
779: );
780: EXCEPTION
781:
782: WHEN PVX_UTILITY_PVT.resource_locked THEN
783: x_return_status := FND_API.g_ret_sts_error;
784: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
785:
786: WHEN FND_API.G_EXC_ERROR THEN
787: ROLLBACK TO UPDATE_Ge_Notif_Rules_PVT;
782: WHEN PVX_UTILITY_PVT.resource_locked THEN
783: x_return_status := FND_API.g_ret_sts_error;
784: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
785:
786: WHEN FND_API.G_EXC_ERROR THEN
787: ROLLBACK TO UPDATE_Ge_Notif_Rules_PVT;
788: x_return_status := FND_API.G_RET_STS_ERROR;
789: -- Standard call to get message count and if count=1, get the message
790: FND_MSG_PUB.Count_And_Get (
784: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
785:
786: WHEN FND_API.G_EXC_ERROR THEN
787: ROLLBACK TO UPDATE_Ge_Notif_Rules_PVT;
788: x_return_status := FND_API.G_RET_STS_ERROR;
789: -- Standard call to get message count and if count=1, get the message
790: FND_MSG_PUB.Count_And_Get (
791: p_encoded => FND_API.G_FALSE,
792: p_count => x_msg_count,
787: ROLLBACK TO UPDATE_Ge_Notif_Rules_PVT;
788: x_return_status := FND_API.G_RET_STS_ERROR;
789: -- Standard call to get message count and if count=1, get the message
790: FND_MSG_PUB.Count_And_Get (
791: p_encoded => FND_API.G_FALSE,
792: p_count => x_msg_count,
793: p_data => x_msg_data
794: );
795:
792: p_count => x_msg_count,
793: p_data => x_msg_data
794: );
795:
796: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
797: ROLLBACK TO UPDATE_Ge_Notif_Rules_PVT;
798: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
799: -- Standard call to get message count and if count=1, get the message
800: FND_MSG_PUB.Count_And_Get (
794: );
795:
796: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
797: ROLLBACK TO UPDATE_Ge_Notif_Rules_PVT;
798: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
799: -- Standard call to get message count and if count=1, get the message
800: FND_MSG_PUB.Count_And_Get (
801: p_encoded => FND_API.G_FALSE,
802: p_count => x_msg_count,
797: ROLLBACK TO UPDATE_Ge_Notif_Rules_PVT;
798: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
799: -- Standard call to get message count and if count=1, get the message
800: FND_MSG_PUB.Count_And_Get (
801: p_encoded => FND_API.G_FALSE,
802: p_count => x_msg_count,
803: p_data => x_msg_data
804: );
805:
804: );
805:
806: WHEN OTHERS THEN
807: ROLLBACK TO UPDATE_Ge_Notif_Rules_PVT;
808: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
809: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
810: THEN
811: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
812: END IF;
811: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
812: END IF;
813: -- Standard call to get message count and if count=1, get the message
814: FND_MSG_PUB.Count_And_Get (
815: p_encoded => FND_API.G_FALSE,
816: p_count => x_msg_count,
817: p_data => x_msg_data
818: );
819: End Update_Ge_Notif_Rules;
831: -- Parameters
832: --
833: -- IN
834: -- p_api_version_number IN NUMBER Required
835: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
836: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
837: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
838: -- p_notif_rule_id IN NUMBER
839: -- p_object_version_number IN NUMBER Optional Default = NULL
832: --
833: -- IN
834: -- p_api_version_number IN NUMBER Required
835: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
836: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
837: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
838: -- p_notif_rule_id IN NUMBER
839: -- p_object_version_number IN NUMBER Optional Default = NULL
840: --
833: -- IN
834: -- p_api_version_number IN NUMBER Required
835: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
836: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
837: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
838: -- p_notif_rule_id IN NUMBER
839: -- p_object_version_number IN NUMBER Optional Default = NULL
840: --
841: -- OUT
854: -- ==============================================================================
855:
856: PROCEDURE Delete_Ge_Notif_Rules(
857: p_api_version_number IN NUMBER,
858: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
859: p_commit IN VARCHAR2 := FND_API.G_FALSE,
860: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
861: x_return_status OUT NOCOPY VARCHAR2,
862: x_msg_count OUT NOCOPY NUMBER,
855:
856: PROCEDURE Delete_Ge_Notif_Rules(
857: p_api_version_number IN NUMBER,
858: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
859: p_commit IN VARCHAR2 := FND_API.G_FALSE,
860: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
861: x_return_status OUT NOCOPY VARCHAR2,
862: x_msg_count OUT NOCOPY NUMBER,
863: x_msg_data OUT NOCOPY VARCHAR2,
856: PROCEDURE Delete_Ge_Notif_Rules(
857: p_api_version_number IN NUMBER,
858: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
859: p_commit IN VARCHAR2 := FND_API.G_FALSE,
860: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
861: x_return_status OUT NOCOPY VARCHAR2,
862: x_msg_count OUT NOCOPY NUMBER,
863: x_msg_data OUT NOCOPY VARCHAR2,
864: p_notif_rule_id IN NUMBER,
874: -- Standard Start of API savepoint
875: SAVEPOINT delete_ge_notif_rules_pvt;
876:
877: -- Standard call to check for call compatibility.
878: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
879: p_api_version_number,
880: l_api_name,
881: G_PKG_NAME)
882: THEN
879: p_api_version_number,
880: l_api_name,
881: G_PKG_NAME)
882: THEN
883: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
884: END IF;
885:
886:
887: -- Initialize message list if p_init_msg_list is set to TRUE.
884: END IF;
885:
886:
887: -- Initialize message list if p_init_msg_list is set to TRUE.
888: IF FND_API.to_Boolean( p_init_msg_list )
889: THEN
890: FND_MSG_PUB.initialize;
891: END IF;
892:
900:
901:
902:
903: -- Initialize API return status to SUCCESS
904: x_return_status := FND_API.G_RET_STS_SUCCESS;
905:
906: --
907: -- Api body
908: --
920: -- End of API body
921: --
922:
923: -- Standard check for p_commit
924: IF FND_API.to_Boolean( p_commit )
925: THEN
926: COMMIT WORK;
927: END IF;
928:
941: );
942: EXCEPTION
943:
944: WHEN PVX_UTILITY_PVT.resource_locked THEN
945: x_return_status := FND_API.g_ret_sts_error;
946: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
947:
948: WHEN FND_API.G_EXC_ERROR THEN
949: ROLLBACK TO DELETE_Ge_Notif_Rules_PVT;
944: WHEN PVX_UTILITY_PVT.resource_locked THEN
945: x_return_status := FND_API.g_ret_sts_error;
946: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
947:
948: WHEN FND_API.G_EXC_ERROR THEN
949: ROLLBACK TO DELETE_Ge_Notif_Rules_PVT;
950: x_return_status := FND_API.G_RET_STS_ERROR;
951: -- Standard call to get message count and if count=1, get the message
952: FND_MSG_PUB.Count_And_Get (
946: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
947:
948: WHEN FND_API.G_EXC_ERROR THEN
949: ROLLBACK TO DELETE_Ge_Notif_Rules_PVT;
950: x_return_status := FND_API.G_RET_STS_ERROR;
951: -- Standard call to get message count and if count=1, get the message
952: FND_MSG_PUB.Count_And_Get (
953: p_encoded => FND_API.G_FALSE,
954: p_count => x_msg_count,
949: ROLLBACK TO DELETE_Ge_Notif_Rules_PVT;
950: x_return_status := FND_API.G_RET_STS_ERROR;
951: -- Standard call to get message count and if count=1, get the message
952: FND_MSG_PUB.Count_And_Get (
953: p_encoded => FND_API.G_FALSE,
954: p_count => x_msg_count,
955: p_data => x_msg_data
956: );
957:
954: p_count => x_msg_count,
955: p_data => x_msg_data
956: );
957:
958: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
959: ROLLBACK TO DELETE_Ge_Notif_Rules_PVT;
960: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
961: -- Standard call to get message count and if count=1, get the message
962: FND_MSG_PUB.Count_And_Get (
956: );
957:
958: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
959: ROLLBACK TO DELETE_Ge_Notif_Rules_PVT;
960: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
961: -- Standard call to get message count and if count=1, get the message
962: FND_MSG_PUB.Count_And_Get (
963: p_encoded => FND_API.G_FALSE,
964: p_count => x_msg_count,
959: ROLLBACK TO DELETE_Ge_Notif_Rules_PVT;
960: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
961: -- Standard call to get message count and if count=1, get the message
962: FND_MSG_PUB.Count_And_Get (
963: p_encoded => FND_API.G_FALSE,
964: p_count => x_msg_count,
965: p_data => x_msg_data
966: );
967:
966: );
967:
968: WHEN OTHERS THEN
969: ROLLBACK TO DELETE_Ge_Notif_Rules_PVT;
970: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
971: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
972: THEN
973: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
974: END IF;
973: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
974: END IF;
975: -- Standard call to get message count and if count=1, get the message
976: FND_MSG_PUB.Count_And_Get (
977: p_encoded => FND_API.G_FALSE,
978: p_count => x_msg_count,
979: p_data => x_msg_data
980: );
981: End Delete_Ge_Notif_Rules;
995: -- Parameters
996: --
997: -- IN
998: -- p_api_version_number IN NUMBER Required
999: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1000: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1001: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
1002: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
1003: --
996: --
997: -- IN
998: -- p_api_version_number IN NUMBER Required
999: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1000: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1001: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
1002: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
1003: --
1004: -- OUT
997: -- IN
998: -- p_api_version_number IN NUMBER Required
999: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1000: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1001: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
1002: -- p_ge_notif_rules_rec IN ge_notif_rules_rec_type Required
1003: --
1004: -- OUT
1005: -- x_return_status OUT VARCHAR2
1017: -- ==============================================================================
1018:
1019: PROCEDURE Lock_Ge_Notif_Rules(
1020: p_api_version_number IN NUMBER,
1021: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1022:
1023: x_return_status OUT NOCOPY VARCHAR2,
1024: x_msg_count OUT NOCOPY NUMBER,
1025: x_msg_data OUT NOCOPY VARCHAR2,
1043: END IF;
1044:
1045:
1046: -- Initialize message list if p_init_msg_list is set to TRUE.
1047: IF FND_API.to_Boolean( p_init_msg_list )
1048: THEN
1049: FND_MSG_PUB.initialize;
1050: END IF;
1051:
1051:
1052:
1053:
1054: -- Standard call to check for call compatibility.
1055: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1056: p_api_version_number,
1057: l_api_name,
1058: G_PKG_NAME)
1059: THEN
1056: p_api_version_number,
1057: l_api_name,
1058: G_PKG_NAME)
1059: THEN
1060: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1061: END IF;
1062:
1063:
1064:
1062:
1063:
1064:
1065: -- Initialize API return status to SUCCESS
1066: x_return_status := FND_API.G_RET_STS_SUCCESS;
1067:
1068:
1069: ------------------------ lock -------------------------
1070: Pv_Ge_Notif_Rules_Pkg.Lock_Row(l_notif_rule_id,p_object_version);
1071:
1072:
1073: -------------------- finish --------------------------
1074: FND_MSG_PUB.count_and_get(
1075: p_encoded => FND_API.g_false,
1076: p_count => x_msg_count,
1077: p_data => x_msg_data);
1078: IF (PV_DEBUG_HIGH_ON) THEN
1079:
1081: END IF;
1082: EXCEPTION
1083:
1084: WHEN PVX_UTILITY_PVT.resource_locked THEN
1085: x_return_status := FND_API.g_ret_sts_error;
1086: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1087:
1088: WHEN FND_API.G_EXC_ERROR THEN
1089: ROLLBACK TO LOCK_Ge_Notif_Rules_PVT;
1084: WHEN PVX_UTILITY_PVT.resource_locked THEN
1085: x_return_status := FND_API.g_ret_sts_error;
1086: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1087:
1088: WHEN FND_API.G_EXC_ERROR THEN
1089: ROLLBACK TO LOCK_Ge_Notif_Rules_PVT;
1090: x_return_status := FND_API.G_RET_STS_ERROR;
1091: -- Standard call to get message count and if count=1, get the message
1092: FND_MSG_PUB.Count_And_Get (
1086: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1087:
1088: WHEN FND_API.G_EXC_ERROR THEN
1089: ROLLBACK TO LOCK_Ge_Notif_Rules_PVT;
1090: x_return_status := FND_API.G_RET_STS_ERROR;
1091: -- Standard call to get message count and if count=1, get the message
1092: FND_MSG_PUB.Count_And_Get (
1093: p_encoded => FND_API.G_FALSE,
1094: p_count => x_msg_count,
1089: ROLLBACK TO LOCK_Ge_Notif_Rules_PVT;
1090: x_return_status := FND_API.G_RET_STS_ERROR;
1091: -- Standard call to get message count and if count=1, get the message
1092: FND_MSG_PUB.Count_And_Get (
1093: p_encoded => FND_API.G_FALSE,
1094: p_count => x_msg_count,
1095: p_data => x_msg_data
1096: );
1097:
1094: p_count => x_msg_count,
1095: p_data => x_msg_data
1096: );
1097:
1098: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1099: ROLLBACK TO LOCK_Ge_Notif_Rules_PVT;
1100: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1101: -- Standard call to get message count and if count=1, get the message
1102: FND_MSG_PUB.Count_And_Get (
1096: );
1097:
1098: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1099: ROLLBACK TO LOCK_Ge_Notif_Rules_PVT;
1100: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1101: -- Standard call to get message count and if count=1, get the message
1102: FND_MSG_PUB.Count_And_Get (
1103: p_encoded => FND_API.G_FALSE,
1104: p_count => x_msg_count,
1099: ROLLBACK TO LOCK_Ge_Notif_Rules_PVT;
1100: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1101: -- Standard call to get message count and if count=1, get the message
1102: FND_MSG_PUB.Count_And_Get (
1103: p_encoded => FND_API.G_FALSE,
1104: p_count => x_msg_count,
1105: p_data => x_msg_data
1106: );
1107:
1106: );
1107:
1108: WHEN OTHERS THEN
1109: ROLLBACK TO LOCK_Ge_Notif_Rules_PVT;
1110: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1111: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1112: THEN
1113: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1114: END IF;
1113: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1114: END IF;
1115: -- Standard call to get message count and if count=1, get the message
1116: FND_MSG_PUB.Count_And_Get (
1117: p_encoded => FND_API.G_FALSE,
1118: p_count => x_msg_count,
1119: p_data => x_msg_data
1120: );
1121: End Lock_Ge_Notif_Rules;
1130: IS
1131: l_valid_flag VARCHAR2(1);
1132:
1133: BEGIN
1134: x_return_status := FND_API.g_ret_sts_success;
1135: IF p_validation_mode = JTF_PLSQL_API.g_create
1136: AND p_ge_notif_rules_rec.notif_rule_id IS NOT NULL
1137: THEN
1138: l_valid_flag := PVX_UTILITY_PVT.check_uniqueness(
1140: 'notif_rule_id = ''' || p_ge_notif_rules_rec.notif_rule_id ||''''
1141: );
1142: END IF;
1143:
1144: IF l_valid_flag = FND_API.g_false THEN
1145: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_notif_rule_id_DUPLICATE');
1146: x_return_status := FND_API.g_ret_sts_error;
1147: END IF;
1148:
1142: END IF;
1143:
1144: IF l_valid_flag = FND_API.g_false THEN
1145: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_notif_rule_id_DUPLICATE');
1146: x_return_status := FND_API.g_ret_sts_error;
1147: END IF;
1148:
1149: END check_Ge_Notif_Rules_Uk_Items;
1150:
1156: x_return_status OUT NOCOPY VARCHAR2
1157: )
1158: IS
1159: BEGIN
1160: x_return_status := FND_API.g_ret_sts_success;
1161:
1162: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
1163:
1164:
1161:
1162: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
1163:
1164:
1165: IF p_ge_notif_rules_rec.notif_rule_id = FND_API.G_MISS_NUM OR p_ge_notif_rules_rec.notif_rule_id IS NULL THEN
1166: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_RULE_ID' );
1167: x_return_status := FND_API.g_ret_sts_error;
1168: END IF;
1169:
1163:
1164:
1165: IF p_ge_notif_rules_rec.notif_rule_id = FND_API.G_MISS_NUM OR p_ge_notif_rules_rec.notif_rule_id IS NULL THEN
1166: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_RULE_ID' );
1167: x_return_status := FND_API.g_ret_sts_error;
1168: END IF;
1169:
1170:
1171: IF p_ge_notif_rules_rec.object_version_number = FND_API.G_MISS_NUM OR p_ge_notif_rules_rec.object_version_number IS NULL THEN
1167: x_return_status := FND_API.g_ret_sts_error;
1168: END IF;
1169:
1170:
1171: IF p_ge_notif_rules_rec.object_version_number = FND_API.G_MISS_NUM OR p_ge_notif_rules_rec.object_version_number IS NULL THEN
1172: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'OBJECT_VERSION_NUMBER' );
1173: x_return_status := FND_API.g_ret_sts_error;
1174: END IF;
1175:
1169:
1170:
1171: IF p_ge_notif_rules_rec.object_version_number = FND_API.G_MISS_NUM OR p_ge_notif_rules_rec.object_version_number IS NULL THEN
1172: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'OBJECT_VERSION_NUMBER' );
1173: x_return_status := FND_API.g_ret_sts_error;
1174: END IF;
1175:
1176:
1177: IF p_ge_notif_rules_rec.arc_notif_for_entity_code = FND_API.g_miss_char OR p_ge_notif_rules_rec.arc_notif_for_entity_code IS NULL THEN
1173: x_return_status := FND_API.g_ret_sts_error;
1174: END IF;
1175:
1176:
1177: IF p_ge_notif_rules_rec.arc_notif_for_entity_code = FND_API.g_miss_char OR p_ge_notif_rules_rec.arc_notif_for_entity_code IS NULL THEN
1178: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'ARC_NOTIF_FOR_ENTITY_CODE' );
1179: x_return_status := FND_API.g_ret_sts_error;
1180: END IF;
1181:
1175:
1176:
1177: IF p_ge_notif_rules_rec.arc_notif_for_entity_code = FND_API.g_miss_char OR p_ge_notif_rules_rec.arc_notif_for_entity_code IS NULL THEN
1178: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'ARC_NOTIF_FOR_ENTITY_CODE' );
1179: x_return_status := FND_API.g_ret_sts_error;
1180: END IF;
1181:
1182:
1183: IF p_ge_notif_rules_rec.notif_for_entity_id = FND_API.G_MISS_NUM OR p_ge_notif_rules_rec.notif_for_entity_id IS NULL THEN
1179: x_return_status := FND_API.g_ret_sts_error;
1180: END IF;
1181:
1182:
1183: IF p_ge_notif_rules_rec.notif_for_entity_id = FND_API.G_MISS_NUM OR p_ge_notif_rules_rec.notif_for_entity_id IS NULL THEN
1184: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_FOR_ENTITY_ID' );
1185: x_return_status := FND_API.g_ret_sts_error;
1186: END IF;
1187:
1181:
1182:
1183: IF p_ge_notif_rules_rec.notif_for_entity_id = FND_API.G_MISS_NUM OR p_ge_notif_rules_rec.notif_for_entity_id IS NULL THEN
1184: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_FOR_ENTITY_ID' );
1185: x_return_status := FND_API.g_ret_sts_error;
1186: END IF;
1187:
1188:
1189: IF p_ge_notif_rules_rec.notif_type_code = FND_API.g_miss_char OR p_ge_notif_rules_rec.notif_type_code IS NULL THEN
1185: x_return_status := FND_API.g_ret_sts_error;
1186: END IF;
1187:
1188:
1189: IF p_ge_notif_rules_rec.notif_type_code = FND_API.g_miss_char OR p_ge_notif_rules_rec.notif_type_code IS NULL THEN
1190: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_TYPE_CODE' );
1191: x_return_status := FND_API.g_ret_sts_error;
1192: END IF;
1193:
1187:
1188:
1189: IF p_ge_notif_rules_rec.notif_type_code = FND_API.g_miss_char OR p_ge_notif_rules_rec.notif_type_code IS NULL THEN
1190: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_TYPE_CODE' );
1191: x_return_status := FND_API.g_ret_sts_error;
1192: END IF;
1193:
1194:
1195: IF p_ge_notif_rules_rec.active_flag = FND_API.g_miss_char OR p_ge_notif_rules_rec.active_flag IS NULL THEN
1191: x_return_status := FND_API.g_ret_sts_error;
1192: END IF;
1193:
1194:
1195: IF p_ge_notif_rules_rec.active_flag = FND_API.g_miss_char OR p_ge_notif_rules_rec.active_flag IS NULL THEN
1196: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'ACTIVE_FLAG' );
1197: x_return_status := FND_API.g_ret_sts_error;
1198: END IF;
1199:
1193:
1194:
1195: IF p_ge_notif_rules_rec.active_flag = FND_API.g_miss_char OR p_ge_notif_rules_rec.active_flag IS NULL THEN
1196: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'ACTIVE_FLAG' );
1197: x_return_status := FND_API.g_ret_sts_error;
1198: END IF;
1199:
1200:
1201: ELSE
1200:
1201: ELSE
1202:
1203:
1204: IF p_ge_notif_rules_rec.notif_rule_id = FND_API.G_MISS_NUM THEN
1205: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_RULE_ID' );
1206: x_return_status := FND_API.g_ret_sts_error;
1207: END IF;
1208:
1202:
1203:
1204: IF p_ge_notif_rules_rec.notif_rule_id = FND_API.G_MISS_NUM THEN
1205: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_RULE_ID' );
1206: x_return_status := FND_API.g_ret_sts_error;
1207: END IF;
1208:
1209:
1210: IF p_ge_notif_rules_rec.object_version_number = FND_API.G_MISS_NUM THEN
1206: x_return_status := FND_API.g_ret_sts_error;
1207: END IF;
1208:
1209:
1210: IF p_ge_notif_rules_rec.object_version_number = FND_API.G_MISS_NUM THEN
1211: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'OBJECT_VERSION_NUMBER' );
1212: x_return_status := FND_API.g_ret_sts_error;
1213: END IF;
1214:
1208:
1209:
1210: IF p_ge_notif_rules_rec.object_version_number = FND_API.G_MISS_NUM THEN
1211: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'OBJECT_VERSION_NUMBER' );
1212: x_return_status := FND_API.g_ret_sts_error;
1213: END IF;
1214:
1215:
1216: IF p_ge_notif_rules_rec.arc_notif_for_entity_code = FND_API.g_miss_char THEN
1212: x_return_status := FND_API.g_ret_sts_error;
1213: END IF;
1214:
1215:
1216: IF p_ge_notif_rules_rec.arc_notif_for_entity_code = FND_API.g_miss_char THEN
1217: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'ARC_NOTIF_FOR_ENTITY_CODE' );
1218: x_return_status := FND_API.g_ret_sts_error;
1219: END IF;
1220:
1214:
1215:
1216: IF p_ge_notif_rules_rec.arc_notif_for_entity_code = FND_API.g_miss_char THEN
1217: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'ARC_NOTIF_FOR_ENTITY_CODE' );
1218: x_return_status := FND_API.g_ret_sts_error;
1219: END IF;
1220:
1221:
1222: IF p_ge_notif_rules_rec.notif_for_entity_id = FND_API.G_MISS_NUM THEN
1218: x_return_status := FND_API.g_ret_sts_error;
1219: END IF;
1220:
1221:
1222: IF p_ge_notif_rules_rec.notif_for_entity_id = FND_API.G_MISS_NUM THEN
1223: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_FOR_ENTITY_ID' );
1224: x_return_status := FND_API.g_ret_sts_error;
1225: END IF;
1226:
1220:
1221:
1222: IF p_ge_notif_rules_rec.notif_for_entity_id = FND_API.G_MISS_NUM THEN
1223: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_FOR_ENTITY_ID' );
1224: x_return_status := FND_API.g_ret_sts_error;
1225: END IF;
1226:
1227:
1228: IF p_ge_notif_rules_rec.notif_type_code = FND_API.g_miss_char THEN
1224: x_return_status := FND_API.g_ret_sts_error;
1225: END IF;
1226:
1227:
1228: IF p_ge_notif_rules_rec.notif_type_code = FND_API.g_miss_char THEN
1229: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_TYPE_CODE' );
1230: x_return_status := FND_API.g_ret_sts_error;
1231: END IF;
1232:
1226:
1227:
1228: IF p_ge_notif_rules_rec.notif_type_code = FND_API.g_miss_char THEN
1229: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'NOTIF_TYPE_CODE' );
1230: x_return_status := FND_API.g_ret_sts_error;
1231: END IF;
1232:
1233:
1234: IF p_ge_notif_rules_rec.active_flag = FND_API.g_miss_char THEN
1230: x_return_status := FND_API.g_ret_sts_error;
1231: END IF;
1232:
1233:
1234: IF p_ge_notif_rules_rec.active_flag = FND_API.g_miss_char THEN
1235: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'ACTIVE_FLAG' );
1236: x_return_status := FND_API.g_ret_sts_error;
1237: END IF;
1238: END IF;
1232:
1233:
1234: IF p_ge_notif_rules_rec.active_flag = FND_API.g_miss_char THEN
1235: PVX_UTILITY_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'ACTIVE_FLAG' );
1236: x_return_status := FND_API.g_ret_sts_error;
1237: END IF;
1238: END IF;
1239:
1240: END check_Ge_Notif_Rules_Req_Items;
1246: x_return_status OUT NOCOPY VARCHAR2
1247: )
1248: IS
1249: BEGIN
1250: x_return_status := FND_API.g_ret_sts_success;
1251:
1252: -- Enter custom code here
1253:
1254: END check_Ge_Notif_Rules_Fk_Items;
1260: x_return_status OUT NOCOPY VARCHAR2
1261: )
1262: IS
1263: BEGIN
1264: x_return_status := FND_API.g_ret_sts_success;
1265:
1266: -- Enter custom code here
1267:
1268: END check_Ge_Notif_Rules_Lkup_Item;
1277: IS
1278: l_return_status VARCHAR2(1);
1279: BEGIN
1280:
1281: l_return_status := FND_API.g_ret_sts_success;
1282: -- Check Items Uniqueness API calls
1283:
1284: check_Ge_notif_rules_Uk_Items(
1285: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1284: check_Ge_notif_rules_Uk_Items(
1285: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1286: p_validation_mode => p_validation_mode,
1287: x_return_status => x_return_status);
1288: IF x_return_status <> FND_API.g_ret_sts_success THEN
1289: l_return_status := FND_API.g_ret_sts_error;
1290: END IF;
1291:
1292: -- Check Items Required/NOT NULL API calls
1285: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1286: p_validation_mode => p_validation_mode,
1287: x_return_status => x_return_status);
1288: IF x_return_status <> FND_API.g_ret_sts_success THEN
1289: l_return_status := FND_API.g_ret_sts_error;
1290: END IF;
1291:
1292: -- Check Items Required/NOT NULL API calls
1293:
1294: check_ge_notif_rules_req_items(
1295: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1296: p_validation_mode => p_validation_mode,
1297: x_return_status => x_return_status);
1298: IF x_return_status <> FND_API.g_ret_sts_success THEN
1299: l_return_status := FND_API.g_ret_sts_error;
1300: END IF;
1301: -- Check Items Foreign Keys API calls
1302:
1295: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1296: p_validation_mode => p_validation_mode,
1297: x_return_status => x_return_status);
1298: IF x_return_status <> FND_API.g_ret_sts_success THEN
1299: l_return_status := FND_API.g_ret_sts_error;
1300: END IF;
1301: -- Check Items Foreign Keys API calls
1302:
1303: check_ge_notif_rules_FK_items(
1302:
1303: check_ge_notif_rules_FK_items(
1304: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1305: x_return_status => x_return_status);
1306: IF x_return_status <> FND_API.g_ret_sts_success THEN
1307: l_return_status := FND_API.g_ret_sts_error;
1308: END IF;
1309: -- Check Items Lookups
1310:
1303: check_ge_notif_rules_FK_items(
1304: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1305: x_return_status => x_return_status);
1306: IF x_return_status <> FND_API.g_ret_sts_success THEN
1307: l_return_status := FND_API.g_ret_sts_error;
1308: END IF;
1309: -- Check Items Lookups
1310:
1311: check_Ge_Notif_Rules_Lkup_Item(
1310:
1311: check_Ge_Notif_Rules_Lkup_Item(
1312: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1313: x_return_status => x_return_status);
1314: IF x_return_status <> FND_API.g_ret_sts_success THEN
1315: l_return_status := FND_API.g_ret_sts_error;
1316: END IF;
1317:
1318: x_return_status := l_return_status;
1311: check_Ge_Notif_Rules_Lkup_Item(
1312: p_ge_notif_rules_rec => p_ge_notif_rules_rec,
1313: x_return_status => x_return_status);
1314: IF x_return_status <> FND_API.g_ret_sts_success THEN
1315: l_return_status := FND_API.g_ret_sts_error;
1316: END IF;
1317:
1318: x_return_status := l_return_status;
1319:
1454: l_ge_notif_rules_rec ge_notif_rules_rec_type := p_ge_notif_rules_rec;
1455: BEGIN
1456: -- Developers should put their code to default the record type
1457: -- e.g. IF p_campaign_rec.status_code IS NULL
1458: -- OR p_campaign_rec.status_code = FND_API.G_MISS_CHAR THEN
1459: -- l_campaign_rec.status_code := 'NEW' ;
1460: -- END IF ;
1461: --
1462: NULL ;
1466:
1467:
1468: PROCEDURE Validate_Ge_Notif_Rules(
1469: p_api_version_number IN NUMBER,
1470: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1471: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1472: p_ge_notif_rules_rec IN ge_notif_rules_rec_type,
1473: p_validation_mode IN VARCHAR2,
1474: x_return_status OUT NOCOPY VARCHAR2,
1467:
1468: PROCEDURE Validate_Ge_Notif_Rules(
1469: p_api_version_number IN NUMBER,
1470: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1471: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1472: p_ge_notif_rules_rec IN ge_notif_rules_rec_type,
1473: p_validation_mode IN VARCHAR2,
1474: x_return_status OUT NOCOPY VARCHAR2,
1475: x_msg_count OUT NOCOPY NUMBER,
1486: -- Standard Start of API savepoint
1487: SAVEPOINT validate_ge_notif_rules_;
1488:
1489: -- Standard call to check for call compatibility.
1490: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1491: p_api_version_number,
1492: l_api_name,
1493: G_PKG_NAME)
1494: THEN
1491: p_api_version_number,
1492: l_api_name,
1493: G_PKG_NAME)
1494: THEN
1495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1496: END IF;
1497:
1498:
1499: -- Initialize message list if p_init_msg_list is set to TRUE.
1496: END IF;
1497:
1498:
1499: -- Initialize message list if p_init_msg_list is set to TRUE.
1500: IF FND_API.to_Boolean( p_init_msg_list )
1501: THEN
1502: FND_MSG_PUB.initialize;
1503: END IF;
1504:
1509: p_validation_mode => p_validation_mode,
1510: x_return_status => x_return_status
1511: );
1512:
1513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1514: RAISE FND_API.G_EXC_ERROR;
1515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1517: END IF;
1510: x_return_status => x_return_status
1511: );
1512:
1513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1514: RAISE FND_API.G_EXC_ERROR;
1515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1517: END IF;
1518: END IF;
1511: );
1512:
1513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1514: RAISE FND_API.G_EXC_ERROR;
1515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1517: END IF;
1518: END IF;
1519:
1512:
1513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1514: RAISE FND_API.G_EXC_ERROR;
1515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1517: END IF;
1518: END IF;
1519:
1520: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
1532:
1533: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1534: Validate_ge_notif_rules_Rec(
1535: p_api_version_number => 1.0,
1536: p_init_msg_list => FND_API.G_FALSE,
1537: x_return_status => x_return_status,
1538: x_msg_count => x_msg_count,
1539: x_msg_data => x_msg_data,
1540: p_ge_notif_rules_rec => l_ge_notif_rules_rec);
1538: x_msg_count => x_msg_count,
1539: x_msg_data => x_msg_data,
1540: p_ge_notif_rules_rec => l_ge_notif_rules_rec);
1541:
1542: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1543: RAISE FND_API.G_EXC_ERROR;
1544: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1545: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1546: END IF;
1539: x_msg_data => x_msg_data,
1540: p_ge_notif_rules_rec => l_ge_notif_rules_rec);
1541:
1542: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1543: RAISE FND_API.G_EXC_ERROR;
1544: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1545: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1546: END IF;
1547: END IF;
1540: p_ge_notif_rules_rec => l_ge_notif_rules_rec);
1541:
1542: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1543: RAISE FND_API.G_EXC_ERROR;
1544: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1545: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1546: END IF;
1547: END IF;
1548:
1541:
1542: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1543: RAISE FND_API.G_EXC_ERROR;
1544: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1545: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1546: END IF;
1547: END IF;
1548:
1549:
1555:
1556:
1557:
1558: -- Initialize API return status to SUCCESS
1559: x_return_status := FND_API.G_RET_STS_SUCCESS;
1560:
1561:
1562: -- Debug Message
1563: IF (PV_DEBUG_HIGH_ON) THEN
1573: );
1574: EXCEPTION
1575:
1576: WHEN PVX_UTILITY_PVT.resource_locked THEN
1577: x_return_status := FND_API.g_ret_sts_error;
1578: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1579:
1580: WHEN FND_API.G_EXC_ERROR THEN
1581: ROLLBACK TO VALIDATE_Ge_Notif_Rules_;
1576: WHEN PVX_UTILITY_PVT.resource_locked THEN
1577: x_return_status := FND_API.g_ret_sts_error;
1578: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1579:
1580: WHEN FND_API.G_EXC_ERROR THEN
1581: ROLLBACK TO VALIDATE_Ge_Notif_Rules_;
1582: x_return_status := FND_API.G_RET_STS_ERROR;
1583: -- Standard call to get message count and if count=1, get the message
1584: FND_MSG_PUB.Count_And_Get (
1578: PVX_UTILITY_PVT.Error_Message(p_message_name => 'PV_API_RESOURCE_LOCKED');
1579:
1580: WHEN FND_API.G_EXC_ERROR THEN
1581: ROLLBACK TO VALIDATE_Ge_Notif_Rules_;
1582: x_return_status := FND_API.G_RET_STS_ERROR;
1583: -- Standard call to get message count and if count=1, get the message
1584: FND_MSG_PUB.Count_And_Get (
1585: p_encoded => FND_API.G_FALSE,
1586: p_count => x_msg_count,
1581: ROLLBACK TO VALIDATE_Ge_Notif_Rules_;
1582: x_return_status := FND_API.G_RET_STS_ERROR;
1583: -- Standard call to get message count and if count=1, get the message
1584: FND_MSG_PUB.Count_And_Get (
1585: p_encoded => FND_API.G_FALSE,
1586: p_count => x_msg_count,
1587: p_data => x_msg_data
1588: );
1589:
1586: p_count => x_msg_count,
1587: p_data => x_msg_data
1588: );
1589:
1590: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1591: ROLLBACK TO VALIDATE_Ge_Notif_Rules_;
1592: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1593: -- Standard call to get message count and if count=1, get the message
1594: FND_MSG_PUB.Count_And_Get (
1588: );
1589:
1590: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1591: ROLLBACK TO VALIDATE_Ge_Notif_Rules_;
1592: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1593: -- Standard call to get message count and if count=1, get the message
1594: FND_MSG_PUB.Count_And_Get (
1595: p_encoded => FND_API.G_FALSE,
1596: p_count => x_msg_count,
1591: ROLLBACK TO VALIDATE_Ge_Notif_Rules_;
1592: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1593: -- Standard call to get message count and if count=1, get the message
1594: FND_MSG_PUB.Count_And_Get (
1595: p_encoded => FND_API.G_FALSE,
1596: p_count => x_msg_count,
1597: p_data => x_msg_data
1598: );
1599:
1598: );
1599:
1600: WHEN OTHERS THEN
1601: ROLLBACK TO VALIDATE_Ge_Notif_Rules_;
1602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1603: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1604: THEN
1605: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1606: END IF;
1605: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1606: END IF;
1607: -- Standard call to get message count and if count=1, get the message
1608: FND_MSG_PUB.Count_And_Get (
1609: p_encoded => FND_API.G_FALSE,
1610: p_count => x_msg_count,
1611: p_data => x_msg_data
1612: );
1613: End Validate_Ge_Notif_Rules;
1614:
1615:
1616: PROCEDURE Validate_Ge_Notif_Rules_Rec (
1617: p_api_version_number IN NUMBER,
1618: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1619: x_return_status OUT NOCOPY VARCHAR2,
1620: x_msg_count OUT NOCOPY NUMBER,
1621: x_msg_data OUT NOCOPY VARCHAR2,
1622: p_ge_notif_rules_rec IN ge_notif_rules_rec_type
1623: )
1624: IS
1625: BEGIN
1626: -- Initialize message list if p_init_msg_list is set to TRUE.
1627: IF FND_API.to_Boolean( p_init_msg_list )
1628: THEN
1629: FND_MSG_PUB.initialize;
1630: END IF;
1631:
1631:
1632:
1633:
1634: -- Initialize API return status to SUCCESS
1635: x_return_status := FND_API.G_RET_STS_SUCCESS;
1636:
1637: -- Hint: Validate data
1638: -- If data not valid
1639: -- THEN
1636:
1637: -- Hint: Validate data
1638: -- If data not valid
1639: -- THEN
1640: -- x_return_status := FND_API.G_RET_STS_ERROR;
1641:
1642: -- Debug Message
1643: IF (PV_DEBUG_HIGH_ON) THEN
1644:
1653:
1654:
1655: PROCEDURE Create_Ge_Notif_Rules_Rec(
1656: p_api_version_number IN NUMBER,
1657: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1658: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1659: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1660:
1661: x_return_status OUT NOCOPY VARCHAR2,
1654:
1655: PROCEDURE Create_Ge_Notif_Rules_Rec(
1656: p_api_version_number IN NUMBER,
1657: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1658: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1659: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1660:
1661: x_return_status OUT NOCOPY VARCHAR2,
1662: x_msg_count OUT NOCOPY NUMBER,
1655: PROCEDURE Create_Ge_Notif_Rules_Rec(
1656: p_api_version_number IN NUMBER,
1657: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1658: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1659: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1660:
1661: x_return_status OUT NOCOPY VARCHAR2,
1662: x_msg_count OUT NOCOPY NUMBER,
1663: x_msg_data OUT NOCOPY VARCHAR2,
1671: BEGIN
1672:
1673:
1674: -- Initialize message list if p_init_msg_list is set to TRUE.
1675: IF FND_API.to_Boolean( p_init_msg_list )
1676: THEN
1677: FND_MSG_PUB.initialize;
1678: END IF;
1679:
1677: FND_MSG_PUB.initialize;
1678: END IF;
1679:
1680: -- Initialize API return status to SUCCESS
1681: x_return_status := FND_API.G_RET_STS_SUCCESS;
1682:
1683:
1684: l_ge_notif_rules_rec.arc_notif_for_entity_code := 'PRGM';
1685: l_ge_notif_rules_rec.notif_for_entity_id := p_programId;