22: AMS_DEBUG_MEDIUM_ON constant boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
23:
24: PROCEDURE Create_Rule_Group(
25: p_api_version_number IN NUMBER,
26: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
27: p_commit IN VARCHAR2 := FND_API.G_FALSE,
28: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
29:
30: x_return_status OUT NOCOPY VARCHAR2,
23:
24: PROCEDURE Create_Rule_Group(
25: p_api_version_number IN NUMBER,
26: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
27: p_commit IN VARCHAR2 := FND_API.G_FALSE,
28: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
29:
30: x_return_status OUT NOCOPY VARCHAR2,
31: x_msg_count OUT NOCOPY NUMBER,
24: PROCEDURE Create_Rule_Group(
25: p_api_version_number IN NUMBER,
26: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
27: p_commit IN VARCHAR2 := FND_API.G_FALSE,
28: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
29:
30: x_return_status OUT NOCOPY VARCHAR2,
31: x_msg_count OUT NOCOPY NUMBER,
32: x_msg_data OUT NOCOPY VARCHAR2,
61: -- Standard Start of API savepoint
62: SAVEPOINT CREATE_Rule_Group_PVT;
63:
64: -- Standard call to check for call compatibility.
65: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
66: p_api_version_number,
67: l_api_name,
68: G_PKG_NAME)
69: THEN
66: p_api_version_number,
67: l_api_name,
68: G_PKG_NAME)
69: THEN
70: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
71: END IF;
72:
73: -- Initialize message list if p_init_msg_list is set to TRUE.
74: IF FND_API.to_Boolean( p_init_msg_list )
70: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
71: END IF;
72:
73: -- Initialize message list if p_init_msg_list is set to TRUE.
74: IF FND_API.to_Boolean( p_init_msg_list )
75: THEN
76: FND_MSG_PUB.initialize;
77: END IF;
78:
83: END IF;
84:
85:
86: -- Initialize API return status to SUCCESS
87: x_return_status := FND_API.G_RET_STS_SUCCESS;
88:
89: -- Local variable initialization
90:
91: IF p_rule_group_rec.RULEGROUP_ID IS NULL OR p_rule_group_rec.RULEGROUP_ID = FND_API.g_miss_num THEN
87: x_return_status := FND_API.G_RET_STS_SUCCESS;
88:
89: -- Local variable initialization
90:
91: IF p_rule_group_rec.RULEGROUP_ID IS NULL OR p_rule_group_rec.RULEGROUP_ID = FND_API.g_miss_num THEN
92: LOOP
93: l_dummy := NULL;
94: OPEN c_id;
95: FETCH c_id INTO l_RULEGROUP_ID;
121: THEN
122: FND_MESSAGE.set_name('AMS','AMS_POST_RULE_PRIOR_NOT_UNIQUE');
123: FND_MSG_PUB.add;
124: END IF;
125: RAISE FND_API.g_exc_error;
126: END IF;
127:
128:
129: IF FND_GLOBAL.User_Id IS NULL
128:
129: IF FND_GLOBAL.User_Id IS NULL
130: THEN
131: AMS_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
132: RAISE FND_API.G_EXC_ERROR;
133: END IF;
134:
135: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
136: THEN
131: AMS_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
132: RAISE FND_API.G_EXC_ERROR;
133: END IF;
134:
135: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
136: THEN
137: -- Debug message
138: IF (AMS_DEBUG_HIGH_ON) THEN
139:
142:
143: -- Invoke validation procedures
144: Validate_rule_group(
145: p_api_version_number => 1.0,
146: p_init_msg_list => FND_API.G_FALSE,
147: p_validation_level => p_validation_level,
148: p_rule_group_rec => p_rule_group_rec,
149: x_return_status => x_return_status,
150: x_msg_count => x_msg_count,
150: x_msg_count => x_msg_count,
151: x_msg_data => x_msg_data);
152: END IF;
153:
154: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
155: RAISE FND_API.G_EXC_ERROR;
156: END IF;
157: /*
158: -- Debug Message
151: x_msg_data => x_msg_data);
152: END IF;
153:
154: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
155: RAISE FND_API.G_EXC_ERROR;
156: END IF;
157: /*
158: -- Debug Message
159: IF (AMS_DEBUG_HIGH_ON) THEN
209: x_msg_data => x_msg_data,
210: p_ps_rules_rec => l_ps_rules_rec,
211: x_rule_id => l_rule_ID);
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: -- Debug Message
210: p_ps_rules_rec => l_ps_rules_rec,
211: x_rule_id => l_rule_ID);
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: -- Debug Message
218: IF (AMS_DEBUG_HIGH_ON) THEN
241: px_object_version_number => l_object_version_number,
242: p_rule_name => p_rule_group_rec.rule_name,
243: p_rule_description => p_rule_group_rec.rule_description);
244:
245: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
246: RAISE FND_API.G_EXC_ERROR;
247: END IF;
248: --
249: -- End of API body
242: p_rule_name => p_rule_group_rec.rule_name,
243: p_rule_description => p_rule_group_rec.rule_description);
244:
245: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
246: RAISE FND_API.G_EXC_ERROR;
247: END IF;
248: --
249: -- End of API body
250: --
303: x_msg_data => x_msg_data,
304: p_ps_rules_rec => l_ps_rules_rec,
305: x_rule_id => l_rule_ID);
306:
307: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
308: RAISE FND_API.G_EXC_ERROR;
309: END IF;
310:
311: -- Debug Message
304: p_ps_rules_rec => l_ps_rules_rec,
305: x_rule_id => l_rule_ID);
306:
307: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
308: RAISE FND_API.G_EXC_ERROR;
309: END IF;
310:
311: -- Debug Message
312: IF (AMS_DEBUG_HIGH_ON) THEN
314: AMS_UTILITY_PVT.debug_message( 'Private API: Created Rule');
315: END IF;
316:
317: -- Standard check for p_commit
318: IF FND_API.to_Boolean( p_commit )
319: THEN
320: COMMIT WORK;
321: END IF;
322:
336:
337: EXCEPTION
338:
339: WHEN AMS_Utility_PVT.resource_locked THEN
340: x_return_status := FND_API.g_ret_sts_error;
341: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
342:
343: WHEN FND_API.G_EXC_ERROR THEN
344: ROLLBACK TO CREATE_Rule_Group_PVT;
339: WHEN AMS_Utility_PVT.resource_locked THEN
340: x_return_status := FND_API.g_ret_sts_error;
341: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
342:
343: WHEN FND_API.G_EXC_ERROR THEN
344: ROLLBACK TO CREATE_Rule_Group_PVT;
345: x_return_status := FND_API.G_RET_STS_ERROR;
346: -- Standard call to get message count and if count=1, get the message
347: FND_MSG_PUB.Count_And_Get (
341: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
342:
343: WHEN FND_API.G_EXC_ERROR THEN
344: ROLLBACK TO CREATE_Rule_Group_PVT;
345: x_return_status := FND_API.G_RET_STS_ERROR;
346: -- Standard call to get message count and if count=1, get the message
347: FND_MSG_PUB.Count_And_Get (
348: p_encoded => FND_API.G_FALSE,
349: p_count => x_msg_count,
344: ROLLBACK TO CREATE_Rule_Group_PVT;
345: x_return_status := FND_API.G_RET_STS_ERROR;
346: -- Standard call to get message count and if count=1, get the message
347: FND_MSG_PUB.Count_And_Get (
348: p_encoded => FND_API.G_FALSE,
349: p_count => x_msg_count,
350: p_data => x_msg_data
351: );
352:
349: p_count => x_msg_count,
350: p_data => x_msg_data
351: );
352:
353: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
354: ROLLBACK TO CREATE_Rule_Group_PVT;
355: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356: -- Standard call to get message count and if count=1, get the message
357: FND_MSG_PUB.Count_And_Get (
351: );
352:
353: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
354: ROLLBACK TO CREATE_Rule_Group_PVT;
355: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356: -- Standard call to get message count and if count=1, get the message
357: FND_MSG_PUB.Count_And_Get (
358: p_encoded => FND_API.G_FALSE,
359: p_count => x_msg_count,
354: ROLLBACK TO CREATE_Rule_Group_PVT;
355: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356: -- Standard call to get message count and if count=1, get the message
357: FND_MSG_PUB.Count_And_Get (
358: p_encoded => FND_API.G_FALSE,
359: p_count => x_msg_count,
360: p_data => x_msg_data
361: );
362:
361: );
362:
363: WHEN OTHERS THEN
364: ROLLBACK TO CREATE_Rule_Group_PVT;
365: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
366: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
367: THEN
368: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
369: END IF;
368: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
369: END IF;
370: -- Standard call to get message count and if count=1, get the message
371: FND_MSG_PUB.Count_And_Get (
372: p_encoded => FND_API.G_FALSE,
373: p_count => x_msg_count,
374: p_data => x_msg_data
375: );
376: End Create_Rule_Group;
377:
378:
379: PROCEDURE Update_Rule_Group(
380: p_api_version_number IN NUMBER,
381: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
382: p_commit IN VARCHAR2 := FND_API.G_FALSE,
383: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
384: x_return_status OUT NOCOPY VARCHAR2,
385: x_msg_count OUT NOCOPY NUMBER,
378:
379: PROCEDURE Update_Rule_Group(
380: p_api_version_number IN NUMBER,
381: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
382: p_commit IN VARCHAR2 := FND_API.G_FALSE,
383: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
384: x_return_status OUT NOCOPY VARCHAR2,
385: x_msg_count OUT NOCOPY NUMBER,
386: x_msg_data OUT NOCOPY VARCHAR2,
379: PROCEDURE Update_Rule_Group(
380: p_api_version_number IN NUMBER,
381: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
382: p_commit IN VARCHAR2 := FND_API.G_FALSE,
383: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
384: x_return_status OUT NOCOPY VARCHAR2,
385: x_msg_count OUT NOCOPY NUMBER,
386: x_msg_data OUT NOCOPY VARCHAR2,
387: p_rule_group_rec IN rule_group_rec_type,
411: -- Standard Start of API savepoint
412: SAVEPOINT UPDATE_Rule_Group_PVT;
413:
414: -- Standard call to check for call compatibility.
415: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
416: p_api_version_number,
417: l_api_name,
418: G_PKG_NAME)
419: THEN
416: p_api_version_number,
417: l_api_name,
418: G_PKG_NAME)
419: THEN
420: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
421: END IF;
422:
423: -- Initialize message list if p_init_msg_list is set to TRUE.
424: IF FND_API.to_Boolean( p_init_msg_list )
420: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
421: END IF;
422:
423: -- Initialize message list if p_init_msg_list is set to TRUE.
424: IF FND_API.to_Boolean( p_init_msg_list )
425: THEN
426: FND_MSG_PUB.initialize;
427: END IF;
428:
433: END IF;
434:
435:
436: -- Initialize API return status to SUCCESS
437: x_return_status := FND_API.G_RET_STS_SUCCESS;
438:
439: BEGIN
440: select count(1) into l_no from AMS_IBA_PS_RULEGRPS_B ps_rulegrp
441: where
452: THEN
453: FND_MESSAGE.set_name('AMS','AMS_POST_RULE_PRIOR_NOT_UNIQUE');
454: FND_MSG_PUB.add;
455: END IF;
456: RAISE FND_API.g_exc_error;
457: END IF;
458:
459: -- Debug Message
460: IF (AMS_DEBUG_HIGH_ON) THEN
469: If ( c_object_version%NOTFOUND) THEN
470: AMS_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
471: p_token_name => 'INFO',
472: p_token_value => 'Rulegroup') ;
473: RAISE FND_API.G_EXC_ERROR;
474: END IF;
475: -- Debug Message
476: IF (AMS_DEBUG_HIGH_ON) THEN
477:
479: END IF;
480: CLOSE c_object_version;
481:
482: IF (p_rule_group_rec.object_version_number is NULL or
483: p_rule_group_rec.object_version_number = FND_API.G_MISS_NUM ) THEN
484: AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
485: p_token_name => 'COLUMN',
486: p_token_value => 'object_version_number') ;
487: raise FND_API.G_EXC_ERROR;
483: p_rule_group_rec.object_version_number = FND_API.G_MISS_NUM ) THEN
484: AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
485: p_token_name => 'COLUMN',
486: p_token_value => 'object_version_number') ;
487: raise FND_API.G_EXC_ERROR;
488: END IF;
489:
490: -- Check Whether record has been changed by someone else
491: IF (p_rule_group_rec.object_version_number <> l_object_version) THEN
491: IF (p_rule_group_rec.object_version_number <> l_object_version) THEN
492: AMS_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
493: p_token_name => 'INFO',
494: p_token_value => 'Rulegroup') ;
495: raise FND_API.G_EXC_ERROR;
496: END IF;
497:
498: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
499: THEN
494: p_token_value => 'Rulegroup') ;
495: raise FND_API.G_EXC_ERROR;
496: END IF;
497:
498: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
499: THEN
500: -- Debug message
501: IF (AMS_DEBUG_HIGH_ON) THEN
502:
505:
506: -- Invoke validation procedures
507: Validate_rule_group(
508: p_api_version_number => 1.0,
509: p_init_msg_list => FND_API.G_FALSE,
510: p_validation_level => p_validation_level,
511: p_rule_group_rec => p_rule_group_rec,
512: x_return_status => x_return_status,
513: x_msg_count => x_msg_count,
513: x_msg_count => x_msg_count,
514: x_msg_data => x_msg_data);
515: END IF;
516:
517: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
518: RAISE FND_API.G_EXC_ERROR;
519: END IF;
520:
521:
514: x_msg_data => x_msg_data);
515: END IF;
516:
517: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
518: RAISE FND_API.G_EXC_ERROR;
519: END IF;
520:
521:
522: -- Debug Message
540: If ( c_strategy_type%NOTFOUND) THEN
541: AMS_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
542: p_token_name => 'INFO',
543: p_token_value => 'Rulegroup') ;
544: RAISE FND_API.G_EXC_ERROR;
545: END IF;
546: IF (AMS_DEBUG_HIGH_ON) THEN
547:
548: AMS_UTILITY_PVT.debug_message('Private API: - Close Cursor');
576: END IF;
577:
578: Update AMS_IBA_PS_RULEGRPS_B
579: SET
580: strategy_type = DECODE( p_rule_group_rec.strategy_type, FND_API.g_miss_char, strategy_type, p_rule_group_rec.strategy_type),
581: exec_priority = DECODE( p_rule_group_rec.exec_priority, FND_API.g_miss_num, exec_priority, p_rule_group_rec.exec_priority),
582: last_updated_by = FND_GLOBAL.user_id,
583: last_update_date = SYSDATE,
584: last_update_login = FND_GLOBAL.conc_login_id,
577:
578: Update AMS_IBA_PS_RULEGRPS_B
579: SET
580: strategy_type = DECODE( p_rule_group_rec.strategy_type, FND_API.g_miss_char, strategy_type, p_rule_group_rec.strategy_type),
581: exec_priority = DECODE( p_rule_group_rec.exec_priority, FND_API.g_miss_num, exec_priority, p_rule_group_rec.exec_priority),
582: last_updated_by = FND_GLOBAL.user_id,
583: last_update_date = SYSDATE,
584: last_update_login = FND_GLOBAL.conc_login_id,
585: object_version_number = p_rule_group_rec.object_version_number+1
586: WHERE RULEGROUP_ID = p_rule_group_rec.rulegroup_id
587: AND object_version_number = p_rule_group_rec.object_version_number;
588:
589: IF (SQL%NOTFOUND) THEN
590: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
591: END IF;
592:
593: --added the following update statement to update ams_iba_ps_rules table ::anchaudh 2003/01/27.
594:
597: last_updated_by = FND_GLOBAL.user_id,
598: last_update_date = SYSDATE,
599: last_update_login = FND_GLOBAL.conc_login_id,
600: object_version_number = p_rule_group_rec.object_version_number+1,
601: exec_priority = DECODE(p_rule_group_rec.exec_priority,FND_API.g_miss_num,exec_priority,p_rule_group_rec.exec_priority)
602: --strategy_id = DECODE( p_rule_group_rec.strategy_id, FND_API.g_miss_num,strategy_id, p_rule_group_rec.strategy_id),
603: --bus_priority_code = DECODE( p_rule_group_rec.bus_priority_code, FND_API.g_miss_char, bus_priority_code, p_rule_group_rec.bus_priority_code),
604: --bus_priority_disp_order = DECODE(p_rule_group_rec.bus_priority_disp_order, FND_API.g_miss_char, bus_priority_disp_order, p_rule_group_rec.bus_priority_disp_order),
605:
598: last_update_date = SYSDATE,
599: last_update_login = FND_GLOBAL.conc_login_id,
600: object_version_number = p_rule_group_rec.object_version_number+1,
601: exec_priority = DECODE(p_rule_group_rec.exec_priority,FND_API.g_miss_num,exec_priority,p_rule_group_rec.exec_priority)
602: --strategy_id = DECODE( p_rule_group_rec.strategy_id, FND_API.g_miss_num,strategy_id, p_rule_group_rec.strategy_id),
603: --bus_priority_code = DECODE( p_rule_group_rec.bus_priority_code, FND_API.g_miss_char, bus_priority_code, p_rule_group_rec.bus_priority_code),
604: --bus_priority_disp_order = DECODE(p_rule_group_rec.bus_priority_disp_order, FND_API.g_miss_char, bus_priority_disp_order, p_rule_group_rec.bus_priority_disp_order),
605:
606: WHERE RULEGROUP_ID = p_rule_group_rec.RULEGROUP_ID;
599: last_update_login = FND_GLOBAL.conc_login_id,
600: object_version_number = p_rule_group_rec.object_version_number+1,
601: exec_priority = DECODE(p_rule_group_rec.exec_priority,FND_API.g_miss_num,exec_priority,p_rule_group_rec.exec_priority)
602: --strategy_id = DECODE( p_rule_group_rec.strategy_id, FND_API.g_miss_num,strategy_id, p_rule_group_rec.strategy_id),
603: --bus_priority_code = DECODE( p_rule_group_rec.bus_priority_code, FND_API.g_miss_char, bus_priority_code, p_rule_group_rec.bus_priority_code),
604: --bus_priority_disp_order = DECODE(p_rule_group_rec.bus_priority_disp_order, FND_API.g_miss_char, bus_priority_disp_order, p_rule_group_rec.bus_priority_disp_order),
605:
606: WHERE RULEGROUP_ID = p_rule_group_rec.RULEGROUP_ID;
607:
600: object_version_number = p_rule_group_rec.object_version_number+1,
601: exec_priority = DECODE(p_rule_group_rec.exec_priority,FND_API.g_miss_num,exec_priority,p_rule_group_rec.exec_priority)
602: --strategy_id = DECODE( p_rule_group_rec.strategy_id, FND_API.g_miss_num,strategy_id, p_rule_group_rec.strategy_id),
603: --bus_priority_code = DECODE( p_rule_group_rec.bus_priority_code, FND_API.g_miss_char, bus_priority_code, p_rule_group_rec.bus_priority_code),
604: --bus_priority_disp_order = DECODE(p_rule_group_rec.bus_priority_disp_order, FND_API.g_miss_char, bus_priority_disp_order, p_rule_group_rec.bus_priority_disp_order),
605:
606: WHERE RULEGROUP_ID = p_rule_group_rec.RULEGROUP_ID;
607:
608: IF (SQL%NOTFOUND) THEN
605:
606: WHERE RULEGROUP_ID = p_rule_group_rec.RULEGROUP_ID;
607:
608: IF (SQL%NOTFOUND) THEN
609: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
610: END IF;
611:
612:
613: IF (AMS_DEBUG_HIGH_ON) THEN
618: END IF;
619:
620: UPDATE AMS_IBA_PS_RULEGRPS_TL
621: SET
622: rulegroup_name = decode( p_rule_group_rec.rule_name, FND_API.G_MISS_CHAR, rulegroup_name, p_rule_group_rec.rule_name),
623: rulegroup_description = decode( p_rule_group_rec.rule_description, FND_API.G_MISS_CHAR, rulegroup_description, p_rule_group_rec.rule_description),
624: last_update_date = SYSDATE,
625: last_updated_by = FND_GLOBAL.user_id,
626: last_update_login = FND_GLOBAL.conc_login_id,
619:
620: UPDATE AMS_IBA_PS_RULEGRPS_TL
621: SET
622: rulegroup_name = decode( p_rule_group_rec.rule_name, FND_API.G_MISS_CHAR, rulegroup_name, p_rule_group_rec.rule_name),
623: rulegroup_description = decode( p_rule_group_rec.rule_description, FND_API.G_MISS_CHAR, rulegroup_description, p_rule_group_rec.rule_description),
624: last_update_date = SYSDATE,
625: last_updated_by = FND_GLOBAL.user_id,
626: last_update_login = FND_GLOBAL.conc_login_id,
627: source_lang = USERENV('LANG')
632: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
633: FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
634: FND_MSG_PUB.add;
635: END IF;
636: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
637: END IF;
638:
639: IF (AMS_DEBUG_HIGH_ON) THEN
640:
648: -- End of API body.
649: --
650:
651: -- Standard check for p_commit
652: IF FND_API.to_Boolean( p_commit )
653: THEN
654: COMMIT WORK;
655: END IF;
656:
668: );
669: EXCEPTION
670:
671: WHEN AMS_Utility_PVT.resource_locked THEN
672: x_return_status := FND_API.g_ret_sts_error;
673: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
674:
675: WHEN FND_API.G_EXC_ERROR THEN
676: ROLLBACK TO UPDATE_Rule_Group_PVT;
671: WHEN AMS_Utility_PVT.resource_locked THEN
672: x_return_status := FND_API.g_ret_sts_error;
673: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
674:
675: WHEN FND_API.G_EXC_ERROR THEN
676: ROLLBACK TO UPDATE_Rule_Group_PVT;
677: x_return_status := FND_API.G_RET_STS_ERROR;
678: -- Standard call to get message count and if count=1, get the message
679: FND_MSG_PUB.Count_And_Get (
673: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
674:
675: WHEN FND_API.G_EXC_ERROR THEN
676: ROLLBACK TO UPDATE_Rule_Group_PVT;
677: x_return_status := FND_API.G_RET_STS_ERROR;
678: -- Standard call to get message count and if count=1, get the message
679: FND_MSG_PUB.Count_And_Get (
680: p_encoded => FND_API.G_FALSE,
681: p_count => x_msg_count,
676: ROLLBACK TO UPDATE_Rule_Group_PVT;
677: x_return_status := FND_API.G_RET_STS_ERROR;
678: -- Standard call to get message count and if count=1, get the message
679: FND_MSG_PUB.Count_And_Get (
680: p_encoded => FND_API.G_FALSE,
681: p_count => x_msg_count,
682: p_data => x_msg_data
683: );
684:
681: p_count => x_msg_count,
682: p_data => x_msg_data
683: );
684:
685: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
686: ROLLBACK TO UPDATE_Rule_Group_PVT;
687: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
688: -- Standard call to get message count and if count=1, get the message
689: FND_MSG_PUB.Count_And_Get (
683: );
684:
685: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
686: ROLLBACK TO UPDATE_Rule_Group_PVT;
687: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
688: -- Standard call to get message count and if count=1, get the message
689: FND_MSG_PUB.Count_And_Get (
690: p_encoded => FND_API.G_FALSE,
691: p_count => x_msg_count,
686: ROLLBACK TO UPDATE_Rule_Group_PVT;
687: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
688: -- Standard call to get message count and if count=1, get the message
689: FND_MSG_PUB.Count_And_Get (
690: p_encoded => FND_API.G_FALSE,
691: p_count => x_msg_count,
692: p_data => x_msg_data
693: );
694:
693: );
694:
695: WHEN OTHERS THEN
696: ROLLBACK TO UPDATE_Rule_Group_PVT;
697: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
698: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
699: THEN
700: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
701: END IF;
700: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
701: END IF;
702: -- Standard call to get message count and if count=1, get the message
703: FND_MSG_PUB.Count_And_Get (
704: p_encoded => FND_API.G_FALSE,
705: p_count => x_msg_count,
706: p_data => x_msg_data
707: );
708: End Update_Rule_Group;
709:
710:
711: PROCEDURE Delete_Rule_Group(
712: p_api_version_number IN NUMBER,
713: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
714: p_commit IN VARCHAR2 := FND_API.G_FALSE,
715: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
716: x_return_status OUT NOCOPY VARCHAR2,
717: x_msg_count OUT NOCOPY NUMBER,
710:
711: PROCEDURE Delete_Rule_Group(
712: p_api_version_number IN NUMBER,
713: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
714: p_commit IN VARCHAR2 := FND_API.G_FALSE,
715: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
716: x_return_status OUT NOCOPY VARCHAR2,
717: x_msg_count OUT NOCOPY NUMBER,
718: x_msg_data OUT NOCOPY VARCHAR2,
711: PROCEDURE Delete_Rule_Group(
712: p_api_version_number IN NUMBER,
713: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
714: p_commit IN VARCHAR2 := FND_API.G_FALSE,
715: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
716: x_return_status OUT NOCOPY VARCHAR2,
717: x_msg_count OUT NOCOPY NUMBER,
718: x_msg_data OUT NOCOPY VARCHAR2,
719: p_rulegroup_id IN NUMBER,
729: -- Standard Start of API savepoint
730: SAVEPOINT DELETE_Rule_Group_PVT;
731:
732: -- Standard call to check for call compatibility.
733: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
734: p_api_version_number,
735: l_api_name,
736: G_PKG_NAME)
737: THEN
734: p_api_version_number,
735: l_api_name,
736: G_PKG_NAME)
737: THEN
738: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
739: END IF;
740:
741: -- Initialize message list if p_init_msg_list is set to TRUE.
742: IF FND_API.to_Boolean( p_init_msg_list )
738: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
739: END IF;
740:
741: -- Initialize message list if p_init_msg_list is set to TRUE.
742: IF FND_API.to_Boolean( p_init_msg_list )
743: THEN
744: FND_MSG_PUB.initialize;
745: END IF;
746:
751: END IF;
752:
753:
754: -- Initialize API return status to SUCCESS
755: x_return_status := FND_API.G_RET_STS_SUCCESS;
756:
757: --
758: -- Api body
759: --
770: -- End of API body
771: --
772:
773: -- Standard check for p_commit
774: IF FND_API.to_Boolean( p_commit )
775: THEN
776: COMMIT WORK;
777: END IF;
778:
790: );
791: EXCEPTION
792:
793: WHEN AMS_Utility_PVT.resource_locked THEN
794: x_return_status := FND_API.g_ret_sts_error;
795: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
796:
797: WHEN FND_API.G_EXC_ERROR THEN
798: ROLLBACK TO DELETE_Rule_Group_PVT;
793: WHEN AMS_Utility_PVT.resource_locked THEN
794: x_return_status := FND_API.g_ret_sts_error;
795: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
796:
797: WHEN FND_API.G_EXC_ERROR THEN
798: ROLLBACK TO DELETE_Rule_Group_PVT;
799: x_return_status := FND_API.G_RET_STS_ERROR;
800: -- Standard call to get message count and if count=1, get the message
801: FND_MSG_PUB.Count_And_Get (
795: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
796:
797: WHEN FND_API.G_EXC_ERROR THEN
798: ROLLBACK TO DELETE_Rule_Group_PVT;
799: x_return_status := FND_API.G_RET_STS_ERROR;
800: -- Standard call to get message count and if count=1, get the message
801: FND_MSG_PUB.Count_And_Get (
802: p_encoded => FND_API.G_FALSE,
803: p_count => x_msg_count,
798: ROLLBACK TO DELETE_Rule_Group_PVT;
799: x_return_status := FND_API.G_RET_STS_ERROR;
800: -- Standard call to get message count and if count=1, get the message
801: FND_MSG_PUB.Count_And_Get (
802: p_encoded => FND_API.G_FALSE,
803: p_count => x_msg_count,
804: p_data => x_msg_data
805: );
806:
803: p_count => x_msg_count,
804: p_data => x_msg_data
805: );
806:
807: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
808: ROLLBACK TO DELETE_Rule_Group_PVT;
809: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
810: -- Standard call to get message count and if count=1, get the message
811: FND_MSG_PUB.Count_And_Get (
805: );
806:
807: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
808: ROLLBACK TO DELETE_Rule_Group_PVT;
809: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
810: -- Standard call to get message count and if count=1, get the message
811: FND_MSG_PUB.Count_And_Get (
812: p_encoded => FND_API.G_FALSE,
813: p_count => x_msg_count,
808: ROLLBACK TO DELETE_Rule_Group_PVT;
809: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
810: -- Standard call to get message count and if count=1, get the message
811: FND_MSG_PUB.Count_And_Get (
812: p_encoded => FND_API.G_FALSE,
813: p_count => x_msg_count,
814: p_data => x_msg_data
815: );
816:
815: );
816:
817: WHEN OTHERS THEN
818: ROLLBACK TO DELETE_Rule_Group_PVT;
819: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
820: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
821: THEN
822: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
823: END IF;
822: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
823: END IF;
824: -- Standard call to get message count and if count=1, get the message
825: FND_MSG_PUB.Count_And_Get (
826: p_encoded => FND_API.G_FALSE,
827: p_count => x_msg_count,
828: p_data => x_msg_data
829: );
830: End Delete_Rule_Group;
833:
834: -- Hint: Primary key needs to be returned.
835: PROCEDURE Lock_Rule_Group(
836: p_api_version_number IN NUMBER,
837: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
838:
839: x_return_status OUT NOCOPY VARCHAR2,
840: x_msg_count OUT NOCOPY NUMBER,
841: x_msg_data OUT NOCOPY VARCHAR2,
865: AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
866: END IF;
867:
868: -- Initialize message list if p_init_msg_list is set to TRUE.
869: IF FND_API.to_Boolean( p_init_msg_list )
870: THEN
871: FND_MSG_PUB.initialize;
872: END IF;
873:
871: FND_MSG_PUB.initialize;
872: END IF;
873:
874: -- Standard call to check for call compatibility.
875: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
876: p_api_version_number,
877: l_api_name,
878: G_PKG_NAME)
879: THEN
876: p_api_version_number,
877: l_api_name,
878: G_PKG_NAME)
879: THEN
880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
881: END IF;
882:
883:
884: -- Initialize API return status to SUCCESS
881: END IF;
882:
883:
884: -- Initialize API return status to SUCCESS
885: x_return_status := FND_API.G_RET_STS_SUCCESS;
886:
887:
888: ------------------------ lock -------------------------
889:
903: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
904: FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
905: FND_MSG_PUB.add;
906: END IF;
907: RAISE FND_API.g_exc_error;
908: END IF;
909:
910: CLOSE c_Rule_Group;
911:
910: CLOSE c_Rule_Group;
911:
912: -------------------- finish --------------------------
913: FND_MSG_PUB.count_and_get(
914: p_encoded => FND_API.g_false,
915: p_count => x_msg_count,
916: p_data => x_msg_data);
917: IF (AMS_DEBUG_HIGH_ON) THEN
918:
920: END IF;
921: EXCEPTION
922:
923: WHEN AMS_Utility_PVT.resource_locked THEN
924: x_return_status := FND_API.g_ret_sts_error;
925: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
926:
927: WHEN FND_API.G_EXC_ERROR THEN
928: ROLLBACK TO LOCK_Rule_Group_PVT;
923: WHEN AMS_Utility_PVT.resource_locked THEN
924: x_return_status := FND_API.g_ret_sts_error;
925: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
926:
927: WHEN FND_API.G_EXC_ERROR THEN
928: ROLLBACK TO LOCK_Rule_Group_PVT;
929: x_return_status := FND_API.G_RET_STS_ERROR;
930: -- Standard call to get message count and if count=1, get the message
931: FND_MSG_PUB.Count_And_Get (
925: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
926:
927: WHEN FND_API.G_EXC_ERROR THEN
928: ROLLBACK TO LOCK_Rule_Group_PVT;
929: x_return_status := FND_API.G_RET_STS_ERROR;
930: -- Standard call to get message count and if count=1, get the message
931: FND_MSG_PUB.Count_And_Get (
932: p_encoded => FND_API.G_FALSE,
933: p_count => x_msg_count,
928: ROLLBACK TO LOCK_Rule_Group_PVT;
929: x_return_status := FND_API.G_RET_STS_ERROR;
930: -- Standard call to get message count and if count=1, get the message
931: FND_MSG_PUB.Count_And_Get (
932: p_encoded => FND_API.G_FALSE,
933: p_count => x_msg_count,
934: p_data => x_msg_data
935: );
936:
933: p_count => x_msg_count,
934: p_data => x_msg_data
935: );
936:
937: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
938: ROLLBACK TO LOCK_Rule_Group_PVT;
939: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
940: -- Standard call to get message count and if count=1, get the message
941: FND_MSG_PUB.Count_And_Get (
935: );
936:
937: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
938: ROLLBACK TO LOCK_Rule_Group_PVT;
939: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
940: -- Standard call to get message count and if count=1, get the message
941: FND_MSG_PUB.Count_And_Get (
942: p_encoded => FND_API.G_FALSE,
943: p_count => x_msg_count,
938: ROLLBACK TO LOCK_Rule_Group_PVT;
939: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
940: -- Standard call to get message count and if count=1, get the message
941: FND_MSG_PUB.Count_And_Get (
942: p_encoded => FND_API.G_FALSE,
943: p_count => x_msg_count,
944: p_data => x_msg_data
945: );
946:
945: );
946:
947: WHEN OTHERS THEN
948: ROLLBACK TO LOCK_Rule_Group_PVT;
949: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
950: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
951: THEN
952: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
953: END IF;
952: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
953: END IF;
954: -- Standard call to get message count and if count=1, get the message
955: FND_MSG_PUB.Count_And_Get (
956: p_encoded => FND_API.G_FALSE,
957: p_count => x_msg_count,
958: p_data => x_msg_data
959: );
960: End Lock_Rule_Group;
966: x_return_status OUT NOCOPY VARCHAR2
967: )
968: IS
969: BEGIN
970: x_return_status := FND_API.g_ret_sts_success;
971:
972: END check_rule_group_req_items;
973:
974: PROCEDURE check_rule_group_FK_items(
976: x_return_status OUT NOCOPY VARCHAR2
977: )
978: IS
979: BEGIN
980: x_return_status := FND_API.g_ret_sts_success;
981:
982: -- Enter custom code here
983:
984: END check_rule_group_FK_items;
997: check_rule_group_req_items(
998: p_rule_group_rec => p_rule_group_rec,
999: p_validation_mode => p_validation_mode,
1000: x_return_status => x_return_status);
1001: IF x_return_status <> FND_API.g_ret_sts_success THEN
1002: RETURN;
1003: END IF;
1004: -- Check Items Foreign Keys API calls
1005:
1005:
1006: check_rule_group_FK_items(
1007: p_rule_group_rec => p_rule_group_rec,
1008: x_return_status => x_return_status);
1009: IF x_return_status <> FND_API.g_ret_sts_success THEN
1010: RETURN;
1011: END IF;
1012: -- Check Items Lookups
1013:
1033: FETCH c_complete INTO l_rule_group_rec;
1034: CLOSE c_complete;
1035:
1036: -- rulegroup_id
1037: IF p_rule_group_rec.rulegroup_id = FND_API.g_miss_num THEN
1038: x_complete_rec.rulegroup_id := l_rule_group_rec.rulegroup_id;
1039: END IF;
1040:
1041: -- strategy_type
1038: x_complete_rec.rulegroup_id := l_rule_group_rec.rulegroup_id;
1039: END IF;
1040:
1041: -- strategy_type
1042: IF p_rule_group_rec.strategy_type = FND_API.g_miss_char THEN
1043: x_complete_rec.strategy_type := l_rule_group_rec.strategy_type;
1044: END IF;
1045:
1046: -- posting_id
1043: x_complete_rec.strategy_type := l_rule_group_rec.strategy_type;
1044: END IF;
1045:
1046: -- posting_id
1047: IF p_rule_group_rec.posting_id = FND_API.g_miss_num THEN
1048: x_complete_rec.posting_id := l_rule_group_rec.posting_id;
1049: END IF;
1050:
1051: -- exec_priority
1048: x_complete_rec.posting_id := l_rule_group_rec.posting_id;
1049: END IF;
1050:
1051: -- exec_priority
1052: IF p_rule_group_rec.exec_priority = FND_API.g_miss_num THEN
1053: x_complete_rec.exec_priority := l_rule_group_rec.exec_priority;
1054: END IF;
1055:
1056: -- last_update_date
1053: x_complete_rec.exec_priority := l_rule_group_rec.exec_priority;
1054: END IF;
1055:
1056: -- last_update_date
1057: IF p_rule_group_rec.last_update_date = FND_API.g_miss_date THEN
1058: x_complete_rec.last_update_date := l_rule_group_rec.last_update_date;
1059: END IF;
1060:
1061: -- last_update_login
1058: x_complete_rec.last_update_date := l_rule_group_rec.last_update_date;
1059: END IF;
1060:
1061: -- last_update_login
1062: IF p_rule_group_rec.last_update_login = FND_API.g_miss_num THEN
1063: x_complete_rec.last_update_login := l_rule_group_rec.last_update_login;
1064: END IF;
1065:
1066: -- created_by
1063: x_complete_rec.last_update_login := l_rule_group_rec.last_update_login;
1064: END IF;
1065:
1066: -- created_by
1067: IF p_rule_group_rec.created_by = FND_API.g_miss_num THEN
1068: x_complete_rec.created_by := l_rule_group_rec.created_by;
1069: END IF;
1070:
1071: -- creation_date
1068: x_complete_rec.created_by := l_rule_group_rec.created_by;
1069: END IF;
1070:
1071: -- creation_date
1072: IF p_rule_group_rec.creation_date = FND_API.g_miss_date THEN
1073: x_complete_rec.creation_date := l_rule_group_rec.creation_date;
1074: END IF;
1075:
1076: -- last_updated_by
1073: x_complete_rec.creation_date := l_rule_group_rec.creation_date;
1074: END IF;
1075:
1076: -- last_updated_by
1077: IF p_rule_group_rec.last_updated_by = FND_API.g_miss_num THEN
1078: x_complete_rec.last_updated_by := l_rule_group_rec.last_updated_by;
1079: END IF;
1080:
1081: -- object_version_number
1078: x_complete_rec.last_updated_by := l_rule_group_rec.last_updated_by;
1079: END IF;
1080:
1081: -- object_version_number
1082: IF p_rule_group_rec.object_version_number = FND_API.g_miss_num THEN
1083: x_complete_rec.object_version_number := l_rule_group_rec.object_version_number;
1084: END IF;
1085: -- Note: Developers need to modify the procedure
1086: -- to handle any business specific requirements.
1087: END Complete_rule_group_Rec;
1088:
1089: PROCEDURE Validate_rule_group(
1090: p_api_version_number IN NUMBER,
1091: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1092: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1093: p_rule_group_rec IN rule_group_rec_type,
1094: x_return_status OUT NOCOPY VARCHAR2,
1095: x_msg_count OUT NOCOPY NUMBER,
1088:
1089: PROCEDURE Validate_rule_group(
1090: p_api_version_number IN NUMBER,
1091: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1092: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1093: p_rule_group_rec IN rule_group_rec_type,
1094: x_return_status OUT NOCOPY VARCHAR2,
1095: x_msg_count OUT NOCOPY NUMBER,
1096: x_msg_data OUT NOCOPY VARCHAR2
1105: -- Standard Start of API savepoint
1106: SAVEPOINT VALIDATE_Rule_Group_;
1107:
1108: -- Standard call to check for call compatibility.
1109: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1110: p_api_version_number,
1111: l_api_name,
1112: G_PKG_NAME)
1113: THEN
1110: p_api_version_number,
1111: l_api_name,
1112: G_PKG_NAME)
1113: THEN
1114: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1115: END IF;
1116:
1117: -- Initialize message list if p_init_msg_list is set to TRUE.
1118: IF FND_API.to_Boolean( p_init_msg_list )
1114: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1115: END IF;
1116:
1117: -- Initialize message list if p_init_msg_list is set to TRUE.
1118: IF FND_API.to_Boolean( p_init_msg_list )
1119: THEN
1120: FND_MSG_PUB.initialize;
1121: END IF;
1122: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1125: p_validation_mode => JTF_PLSQL_API.g_update,
1126: x_return_status => x_return_status
1127: );
1128:
1129: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1130: RAISE FND_API.G_EXC_ERROR;
1131: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1133: END IF;
1126: x_return_status => x_return_status
1127: );
1128:
1129: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1130: RAISE FND_API.G_EXC_ERROR;
1131: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1133: END IF;
1134: END IF;
1127: );
1128:
1129: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1130: RAISE FND_API.G_EXC_ERROR;
1131: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1133: END IF;
1134: END IF;
1135:
1128:
1129: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1130: RAISE FND_API.G_EXC_ERROR;
1131: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1133: END IF;
1134: END IF;
1135:
1136:
1141: END IF;
1142:
1143:
1144: -- Initialize API return status to SUCCESS
1145: x_return_status := FND_API.G_RET_STS_SUCCESS;
1146:
1147:
1148: -- Debug Message
1149: IF (AMS_DEBUG_HIGH_ON) THEN
1158: );
1159: EXCEPTION
1160:
1161: WHEN AMS_Utility_PVT.resource_locked THEN
1162: x_return_status := FND_API.g_ret_sts_error;
1163: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1164:
1165: WHEN FND_API.G_EXC_ERROR THEN
1166: ROLLBACK TO VALIDATE_Rule_Group_;
1161: WHEN AMS_Utility_PVT.resource_locked THEN
1162: x_return_status := FND_API.g_ret_sts_error;
1163: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1164:
1165: WHEN FND_API.G_EXC_ERROR THEN
1166: ROLLBACK TO VALIDATE_Rule_Group_;
1167: x_return_status := FND_API.G_RET_STS_ERROR;
1168: -- Standard call to get message count and if count=1, get the message
1169: FND_MSG_PUB.Count_And_Get (
1163: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1164:
1165: WHEN FND_API.G_EXC_ERROR THEN
1166: ROLLBACK TO VALIDATE_Rule_Group_;
1167: x_return_status := FND_API.G_RET_STS_ERROR;
1168: -- Standard call to get message count and if count=1, get the message
1169: FND_MSG_PUB.Count_And_Get (
1170: p_encoded => FND_API.G_FALSE,
1171: p_count => x_msg_count,
1166: ROLLBACK TO VALIDATE_Rule_Group_;
1167: x_return_status := FND_API.G_RET_STS_ERROR;
1168: -- Standard call to get message count and if count=1, get the message
1169: FND_MSG_PUB.Count_And_Get (
1170: p_encoded => FND_API.G_FALSE,
1171: p_count => x_msg_count,
1172: p_data => x_msg_data
1173: );
1174:
1171: p_count => x_msg_count,
1172: p_data => x_msg_data
1173: );
1174:
1175: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1176: ROLLBACK TO VALIDATE_Rule_Group_;
1177: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1178: -- Standard call to get message count and if count=1, get the message
1179: FND_MSG_PUB.Count_And_Get (
1173: );
1174:
1175: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1176: ROLLBACK TO VALIDATE_Rule_Group_;
1177: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1178: -- Standard call to get message count and if count=1, get the message
1179: FND_MSG_PUB.Count_And_Get (
1180: p_encoded => FND_API.G_FALSE,
1181: p_count => x_msg_count,
1176: ROLLBACK TO VALIDATE_Rule_Group_;
1177: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1178: -- Standard call to get message count and if count=1, get the message
1179: FND_MSG_PUB.Count_And_Get (
1180: p_encoded => FND_API.G_FALSE,
1181: p_count => x_msg_count,
1182: p_data => x_msg_data
1183: );
1184:
1183: );
1184:
1185: WHEN OTHERS THEN
1186: ROLLBACK TO VALIDATE_Rule_Group_;
1187: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1188: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1189: THEN
1190: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1191: END IF;
1190: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1191: END IF;
1192: -- Standard call to get message count and if count=1, get the message
1193: FND_MSG_PUB.Count_And_Get (
1194: p_encoded => FND_API.G_FALSE,
1195: p_count => x_msg_count,
1196: p_data => x_msg_data
1197: );
1198: End Validate_Rule_Group;
1199:
1200:
1201: PROCEDURE Validate_rule_group_rec(
1202: p_api_version_number IN NUMBER,
1203: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1204: x_return_status OUT NOCOPY VARCHAR2,
1205: x_msg_count OUT NOCOPY NUMBER,
1206: x_msg_data OUT NOCOPY VARCHAR2,
1207: p_rule_group_rec IN rule_group_rec_type
1208: )
1209: IS
1210: BEGIN
1211: -- Initialize message list if p_init_msg_list is set to TRUE.
1212: IF FND_API.to_Boolean( p_init_msg_list )
1213: THEN
1214: FND_MSG_PUB.initialize;
1215: END IF;
1216:
1214: FND_MSG_PUB.initialize;
1215: END IF;
1216:
1217: -- Initialize API return status to SUCCESS
1218: x_return_status := FND_API.G_RET_STS_SUCCESS;
1219:
1220: -- Hint: Validate data
1221: -- If data not valid
1222: -- THEN
1219:
1220: -- Hint: Validate data
1221: -- If data not valid
1222: -- THEN
1223: -- x_return_status := FND_API.G_RET_STS_ERROR;
1224:
1225: -- Debug Message
1226: IF (AMS_DEBUG_HIGH_ON) THEN
1227: