33:
34: l_temp_count NUMBER;
35: BEGIN
36: -- Initialize API return status to success
37: x_return_status := FND_API.G_RET_STS_SUCCESS;
38: x_loading_status := p_loading_status;
39: -- API body
40: -- Check if Comp Plan does assign to the sales role
41: BEGIN
49: FND_MESSAGE.SET_NAME ('CN' , 'CN_ROLE_PLAN_ID_NOT_EXIST');
50: FND_MSG_PUB.Add;
51: END IF;
52: x_loading_status := 'CN_ROLE_PLAN_ID_NOT_EXIST';
53: RAISE FND_API.G_EXC_ERROR ;
54: END;
55: x_srp_plan_assigns_row.role_plan_id := p_role_plan_id;
56: x_srp_plan_assigns_row.comp_plan_id := l_role_plans_row.comp_plan_id;
57: x_srp_plan_assigns_row.org_id := l_role_plans_row.org_id; --MOAC
70: FND_MESSAGE.SET_NAME ('CN' , 'CN_SRP_ROLE_ID_NOT_EXIST');
71: FND_MSG_PUB.Add;
72: END IF;
73: x_loading_status := 'CN_SRP_ROLE_ID_NOT_EXIST';
74: RAISE FND_API.G_EXC_ERROR ;
75: END;
76: x_srp_plan_assigns_row.srp_role_id := p_srp_role_id;
77: x_srp_plan_assigns_row.salesrep_id := l_srp_roles_row.salesrep_id;
78: x_srp_plan_assigns_row.role_id := l_srp_roles_row.role_id;
84: FND_MESSAGE.SET_NAME ('CN' , 'CN_SPA_ROLE_ID_NOT_SAME');
85: FND_MSG_PUB.Add;
86: END IF;
87: x_loading_status := 'CN_SPA_ROLE_ID_NOT_SAME';
88: RAISE FND_API.G_EXC_ERROR ;
89: END IF;
90: x_role_id := l_role_plans_row.role_id;
91:
92: -- Get correct start date/end date
131: FND_MESSAGE.SET_TOKEN('PAY_GROUP_ID', l_pay_group_id);
132: FND_MSG_PUB.Add;
133: END IF;
134: x_loading_status := 'CN_PAY_GROUP_NOT_FOUND';
135: RAISE FND_API.G_EXC_ERROR ;
136: END;
137: ELSE
138: --l_srp_pay_grp_sd := l_role_plans_row.start_date;
139: --l_srp_pay_grp_ed := l_role_plans_row.end_date;
194: FND_MESSAGE.Set_Name('CN', 'SRP_PLAN_ASSIGNED');
195: FND_MSG_PUB.Add;
196: END IF;
197: x_loading_status := 'SRP_PLAN_ASSIGNED';
198: RAISE FND_API.G_EXC_ERROR ;
199: END;
200: << end_of_valid_srp_plan_assign >>
201: NULL;
202: -- End of API body.
200: << end_of_valid_srp_plan_assign >>
201: NULL;
202: -- End of API body.
203: EXCEPTION
204: WHEN FND_API.G_EXC_ERROR THEN
205: x_return_status := FND_API.G_RET_STS_ERROR ;
206: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
208: x_loading_status := 'UNEXPECTED_ERR';
201: NULL;
202: -- End of API body.
203: EXCEPTION
204: WHEN FND_API.G_EXC_ERROR THEN
205: x_return_status := FND_API.G_RET_STS_ERROR ;
206: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
208: x_loading_status := 'UNEXPECTED_ERR';
209: WHEN OTHERS THEN
202: -- End of API body.
203: EXCEPTION
204: WHEN FND_API.G_EXC_ERROR THEN
205: x_return_status := FND_API.G_RET_STS_ERROR ;
206: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
208: x_loading_status := 'UNEXPECTED_ERR';
209: WHEN OTHERS THEN
210: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
203: EXCEPTION
204: WHEN FND_API.G_EXC_ERROR THEN
205: x_return_status := FND_API.G_RET_STS_ERROR ;
206: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
208: x_loading_status := 'UNEXPECTED_ERR';
209: WHEN OTHERS THEN
210: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
211: x_loading_status := 'UNEXPECTED_ERR';
206: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
208: x_loading_status := 'UNEXPECTED_ERR';
209: WHEN OTHERS THEN
210: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
211: x_loading_status := 'UNEXPECTED_ERR';
212: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
213: THEN
214: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
261: --| Desc : Procedure to create a new comp plan assignment to an salesrep
262: --| -----------------------------------------------------------------------+
263: PROCEDURE Create_Srp_Plan_Assigns
264: (p_api_version IN NUMBER,
265: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
266: p_commit IN VARCHAR2 := FND_API.G_FALSE,
267: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
268: x_return_status OUT NOCOPY VARCHAR2,
269: x_msg_count OUT NOCOPY NUMBER,
262: --| -----------------------------------------------------------------------+
263: PROCEDURE Create_Srp_Plan_Assigns
264: (p_api_version IN NUMBER,
265: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
266: p_commit IN VARCHAR2 := FND_API.G_FALSE,
267: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
268: x_return_status OUT NOCOPY VARCHAR2,
269: x_msg_count OUT NOCOPY NUMBER,
270: x_msg_data OUT NOCOPY VARCHAR2,
263: PROCEDURE Create_Srp_Plan_Assigns
264: (p_api_version IN NUMBER,
265: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
266: p_commit IN VARCHAR2 := FND_API.G_FALSE,
267: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
268: x_return_status OUT NOCOPY VARCHAR2,
269: x_msg_count OUT NOCOPY NUMBER,
270: x_msg_data OUT NOCOPY VARCHAR2,
271: p_srp_role_id IN NUMBER,
297: BEGIN
298: -- Standard Start of API savepoint
299: SAVEPOINT Create_Srp_Plan_Assigns;
300: -- Standard call to check for call compatibility.
301: IF NOT FND_API.compatible_api_call
302: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
303: THEN
304: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305: END IF;
300: -- Standard call to check for call compatibility.
301: IF NOT FND_API.compatible_api_call
302: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
303: THEN
304: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305: END IF;
306: -- Initialize message list if p_init_msg_list is set to TRUE.
307: IF FND_API.to_Boolean( p_init_msg_list ) THEN
308: FND_MSG_PUB.initialize;
303: THEN
304: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305: END IF;
306: -- Initialize message list if p_init_msg_list is set to TRUE.
307: IF FND_API.to_Boolean( p_init_msg_list ) THEN
308: FND_MSG_PUB.initialize;
309: END IF;
310: -- Initialize API return status to success
311: x_return_status := FND_API.G_RET_STS_SUCCESS;
307: IF FND_API.to_Boolean( p_init_msg_list ) THEN
308: FND_MSG_PUB.initialize;
309: END IF;
310: -- Initialize API return status to success
311: x_return_status := FND_API.G_RET_STS_SUCCESS;
312: x_loading_status := 'CN_INSERTED';
313: -- API body
314: --
315: -- Valid compensation plan assignment
325: p_loading_status => x_loading_status,
326: x_loading_status => x_loading_status
327: );
328:
329: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
330: RAISE FND_API.G_EXC_ERROR ;
331: ELSIF x_loading_status = 'CN_SPA_NO_INTERSECT_DATE' THEN
332: x_loading_status := 'CN_INSERTED';
333: GOTO end_of_create_srp_plan_assigns;
326: x_loading_status => x_loading_status
327: );
328:
329: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
330: RAISE FND_API.G_EXC_ERROR ;
331: ELSIF x_loading_status = 'CN_SPA_NO_INTERSECT_DATE' THEN
332: x_loading_status := 'CN_INSERTED';
333: GOTO end_of_create_srp_plan_assigns;
334: ELSE
409: x_loading_status => x_loading_status
410: );
411:
412:
413: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
414: RAISE FND_API.G_EXC_ERROR ;
415: END IF;
416: END IF;
417: END LOOP;
410: );
411:
412:
413: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
414: RAISE FND_API.G_EXC_ERROR ;
415: END IF;
416: END IF;
417: END LOOP;
418:
425: -- End of API body.
426: << end_of_create_srp_plan_assigns >>
427: NULL;
428: -- Standard check of p_commit.
429: IF FND_API.To_Boolean( p_commit ) THEN
430: COMMIT WORK;
431: END IF;
432: -- Standard call to get message count and if count is 1, get message info.
433: FND_MSG_PUB.Count_And_Get
433: FND_MSG_PUB.Count_And_Get
434: (
435: p_count => x_msg_count ,
436: p_data => x_msg_data ,
437: p_encoded => FND_API.G_FALSE
438: );
439:
440: EXCEPTION
441: WHEN FND_API.G_EXC_ERROR THEN
437: p_encoded => FND_API.G_FALSE
438: );
439:
440: EXCEPTION
441: WHEN FND_API.G_EXC_ERROR THEN
442: ROLLBACK TO Create_Srp_Plan_Assigns;
443: x_return_status := FND_API.G_RET_STS_ERROR ;
444: FND_MSG_PUB.Count_And_Get
445: (
439:
440: EXCEPTION
441: WHEN FND_API.G_EXC_ERROR THEN
442: ROLLBACK TO Create_Srp_Plan_Assigns;
443: x_return_status := FND_API.G_RET_STS_ERROR ;
444: FND_MSG_PUB.Count_And_Get
445: (
446: p_count => x_msg_count ,
447: p_data => x_msg_data ,
444: FND_MSG_PUB.Count_And_Get
445: (
446: p_count => x_msg_count ,
447: p_data => x_msg_data ,
448: p_encoded => FND_API.G_FALSE
449: );
450: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
451: ROLLBACK TO Create_Srp_Plan_Assigns;
452: x_loading_status := 'UNEXPECTED_ERR';
446: p_count => x_msg_count ,
447: p_data => x_msg_data ,
448: p_encoded => FND_API.G_FALSE
449: );
450: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
451: ROLLBACK TO Create_Srp_Plan_Assigns;
452: x_loading_status := 'UNEXPECTED_ERR';
453: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
454: FND_MSG_PUB.Count_And_Get
449: );
450: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
451: ROLLBACK TO Create_Srp_Plan_Assigns;
452: x_loading_status := 'UNEXPECTED_ERR';
453: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
454: FND_MSG_PUB.Count_And_Get
455: (
456: p_count => x_msg_count ,
457: p_data => x_msg_data ,
454: FND_MSG_PUB.Count_And_Get
455: (
456: p_count => x_msg_count ,
457: p_data => x_msg_data ,
458: p_encoded => FND_API.G_FALSE
459: );
460: WHEN OTHERS THEN
461: ROLLBACK TO Create_Srp_Plan_Assigns;
462: x_loading_status := 'UNEXPECTED_ERR';
459: );
460: WHEN OTHERS THEN
461: ROLLBACK TO Create_Srp_Plan_Assigns;
462: x_loading_status := 'UNEXPECTED_ERR';
463: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
464: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
465: THEN
466: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
467: END IF;
468: FND_MSG_PUB.Count_And_Get
469: (
470: p_count => x_msg_count ,
471: p_data => x_msg_data ,
472: p_encoded => FND_API.G_FALSE
473: );
474: END Create_Srp_Plan_Assigns;
475:
476: --| ----------------------------------------------------------------------+
480:
481: PROCEDURE Update_Srp_Plan_Assigns
482: (
483: p_api_version IN NUMBER,
484: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
485: p_commit IN VARCHAR2 := FND_API.G_FALSE,
486: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
487: x_return_status OUT NOCOPY VARCHAR2,
488: x_msg_count OUT NOCOPY NUMBER,
481: PROCEDURE Update_Srp_Plan_Assigns
482: (
483: p_api_version IN NUMBER,
484: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
485: p_commit IN VARCHAR2 := FND_API.G_FALSE,
486: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
487: x_return_status OUT NOCOPY VARCHAR2,
488: x_msg_count OUT NOCOPY NUMBER,
489: x_msg_data OUT NOCOPY VARCHAR2,
482: (
483: p_api_version IN NUMBER,
484: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
485: p_commit IN VARCHAR2 := FND_API.G_FALSE,
486: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
487: x_return_status OUT NOCOPY VARCHAR2,
488: x_msg_count OUT NOCOPY NUMBER,
489: x_msg_data OUT NOCOPY VARCHAR2,
490: p_srp_role_id IN NUMBER,
516: BEGIN
517: -- Standard Start of API savepoint
518: SAVEPOINT Update_Srp_Plan_Assigns;
519: -- Standard call to check for call compatibility.
520: IF NOT FND_API.compatible_api_call
521: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
522: THEN
523: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
524: END IF;
519: -- Standard call to check for call compatibility.
520: IF NOT FND_API.compatible_api_call
521: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
522: THEN
523: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
524: END IF;
525: -- Initialize message list if p_init_msg_list is set to TRUE.
526: IF FND_API.to_Boolean( p_init_msg_list ) THEN
527: FND_MSG_PUB.initialize;
522: THEN
523: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
524: END IF;
525: -- Initialize message list if p_init_msg_list is set to TRUE.
526: IF FND_API.to_Boolean( p_init_msg_list ) THEN
527: FND_MSG_PUB.initialize;
528: END IF;
529: -- Initialize API return status to success
530: x_return_status := FND_API.G_RET_STS_SUCCESS;
526: IF FND_API.to_Boolean( p_init_msg_list ) THEN
527: FND_MSG_PUB.initialize;
528: END IF;
529: -- Initialize API return status to success
530: x_return_status := FND_API.G_RET_STS_SUCCESS;
531: x_loading_status := 'CN_UPDATED';
532: -- API body
533: -- Check old rec exist in cn_srp_plan_assigns
534: BEGIN
548: p_role_plan_id => p_role_plan_id,
549: x_srp_plan_assign_id => l_srp_plan_assigns_id,
550: x_loading_status => x_loading_status
551: );
552: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
553: RAISE FND_API.G_EXC_ERROR ;
554: ELSE
555: GOTO end_of_update_srp_plan_assigns;
556: END IF;
549: x_srp_plan_assign_id => l_srp_plan_assigns_id,
550: x_loading_status => x_loading_status
551: );
552: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
553: RAISE FND_API.G_EXC_ERROR ;
554: ELSE
555: GOTO end_of_update_srp_plan_assigns;
556: END IF;
557: END;
570: x_role_id => l_role_id,
571: p_loading_status => x_loading_status,
572: x_loading_status => x_loading_status
573: );
574: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
575: RAISE FND_API.G_EXC_ERROR ;
576: ELSIF x_loading_status = 'CN_SPA_NO_INTERSECT_DATE' THEN
577: -- Delete entry in cn_srp_plan_assigns
578: Delete_Srp_Plan_Assigns
571: p_loading_status => x_loading_status,
572: x_loading_status => x_loading_status
573: );
574: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
575: RAISE FND_API.G_EXC_ERROR ;
576: ELSIF x_loading_status = 'CN_SPA_NO_INTERSECT_DATE' THEN
577: -- Delete entry in cn_srp_plan_assigns
578: Delete_Srp_Plan_Assigns
579: (p_api_version => 1.0,
583: p_srp_role_id => p_srp_role_id,
584: p_role_plan_id => p_role_plan_id,
585: x_loading_status => x_loading_status
586: );
587: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
588: RAISE FND_API.G_EXC_ERROR ;
589: ELSE
590: x_loading_status := 'CN_UPDATED';
591: END IF;
584: p_role_plan_id => p_role_plan_id,
585: x_loading_status => x_loading_status
586: );
587: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
588: RAISE FND_API.G_EXC_ERROR ;
589: ELSE
590: x_loading_status := 'CN_UPDATED';
591: END IF;
592: ELSE
602: ,x_end_date => l_spa_row.end_date
603: ,x_last_update_date => sysdate
604: ,x_last_updated_by => fnd_global.user_id
605: ,x_last_update_login => fnd_global.login_id
606: ,x_attribute_category => NVL(p_attribute_rec.attribute_category,fnd_api.g_miss_char)
607: ,x_attribute1 => NVL(p_attribute_rec.attribute1,fnd_api.g_miss_char)
608: ,x_attribute2 => NVL(p_attribute_rec.attribute2,fnd_api.g_miss_char)
609: ,x_attribute3 => NVL(p_attribute_rec.attribute3 ,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
603: ,x_last_update_date => sysdate
604: ,x_last_updated_by => fnd_global.user_id
605: ,x_last_update_login => fnd_global.login_id
606: ,x_attribute_category => NVL(p_attribute_rec.attribute_category,fnd_api.g_miss_char)
607: ,x_attribute1 => NVL(p_attribute_rec.attribute1,fnd_api.g_miss_char)
608: ,x_attribute2 => NVL(p_attribute_rec.attribute2,fnd_api.g_miss_char)
609: ,x_attribute3 => NVL(p_attribute_rec.attribute3 ,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
604: ,x_last_updated_by => fnd_global.user_id
605: ,x_last_update_login => fnd_global.login_id
606: ,x_attribute_category => NVL(p_attribute_rec.attribute_category,fnd_api.g_miss_char)
607: ,x_attribute1 => NVL(p_attribute_rec.attribute1,fnd_api.g_miss_char)
608: ,x_attribute2 => NVL(p_attribute_rec.attribute2,fnd_api.g_miss_char)
609: ,x_attribute3 => NVL(p_attribute_rec.attribute3 ,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
605: ,x_last_update_login => fnd_global.login_id
606: ,x_attribute_category => NVL(p_attribute_rec.attribute_category,fnd_api.g_miss_char)
607: ,x_attribute1 => NVL(p_attribute_rec.attribute1,fnd_api.g_miss_char)
608: ,x_attribute2 => NVL(p_attribute_rec.attribute2,fnd_api.g_miss_char)
609: ,x_attribute3 => NVL(p_attribute_rec.attribute3 ,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
606: ,x_attribute_category => NVL(p_attribute_rec.attribute_category,fnd_api.g_miss_char)
607: ,x_attribute1 => NVL(p_attribute_rec.attribute1,fnd_api.g_miss_char)
608: ,x_attribute2 => NVL(p_attribute_rec.attribute2,fnd_api.g_miss_char)
609: ,x_attribute3 => NVL(p_attribute_rec.attribute3 ,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
607: ,x_attribute1 => NVL(p_attribute_rec.attribute1,fnd_api.g_miss_char)
608: ,x_attribute2 => NVL(p_attribute_rec.attribute2,fnd_api.g_miss_char)
609: ,x_attribute3 => NVL(p_attribute_rec.attribute3 ,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
608: ,x_attribute2 => NVL(p_attribute_rec.attribute2,fnd_api.g_miss_char)
609: ,x_attribute3 => NVL(p_attribute_rec.attribute3 ,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
609: ,x_attribute3 => NVL(p_attribute_rec.attribute3 ,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
610: ,x_attribute4 => NVL(p_attribute_rec.attribute4,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
618: ,x_attribute12 => NVL(p_attribute_rec.attribute12,fnd_api.g_miss_char)
611: ,x_attribute5 => NVL(p_attribute_rec.attribute5,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
618: ,x_attribute12 => NVL(p_attribute_rec.attribute12,fnd_api.g_miss_char)
619: ,x_attribute13 => NVL(p_attribute_rec.attribute13,fnd_api.g_miss_char)
612: ,x_attribute6 => NVL(p_attribute_rec.attribute6,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
618: ,x_attribute12 => NVL(p_attribute_rec.attribute12,fnd_api.g_miss_char)
619: ,x_attribute13 => NVL(p_attribute_rec.attribute13,fnd_api.g_miss_char)
620: ,x_attribute14 => NVL(p_attribute_rec.attribute14,fnd_api.g_miss_char)
613: ,x_attribute7 => NVL(p_attribute_rec.attribute7,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
618: ,x_attribute12 => NVL(p_attribute_rec.attribute12,fnd_api.g_miss_char)
619: ,x_attribute13 => NVL(p_attribute_rec.attribute13,fnd_api.g_miss_char)
620: ,x_attribute14 => NVL(p_attribute_rec.attribute14,fnd_api.g_miss_char)
621: ,x_attribute15 => NVL(p_attribute_rec.attribute15,fnd_api.g_miss_char)
614: ,x_attribute8 => NVL(p_attribute_rec.attribute8,fnd_api.g_miss_char)
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
618: ,x_attribute12 => NVL(p_attribute_rec.attribute12,fnd_api.g_miss_char)
619: ,x_attribute13 => NVL(p_attribute_rec.attribute13,fnd_api.g_miss_char)
620: ,x_attribute14 => NVL(p_attribute_rec.attribute14,fnd_api.g_miss_char)
621: ,x_attribute15 => NVL(p_attribute_rec.attribute15,fnd_api.g_miss_char)
622: );
615: ,x_attribute9 => NVL(p_attribute_rec.attribute9,fnd_api.g_miss_char)
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
618: ,x_attribute12 => NVL(p_attribute_rec.attribute12,fnd_api.g_miss_char)
619: ,x_attribute13 => NVL(p_attribute_rec.attribute13,fnd_api.g_miss_char)
620: ,x_attribute14 => NVL(p_attribute_rec.attribute14,fnd_api.g_miss_char)
621: ,x_attribute15 => NVL(p_attribute_rec.attribute15,fnd_api.g_miss_char)
622: );
623: -- Create new entry into cn_srp_periods if extend date range
616: ,x_attribute10 => NVL(p_attribute_rec.attribute10,fnd_api.g_miss_char)
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
618: ,x_attribute12 => NVL(p_attribute_rec.attribute12,fnd_api.g_miss_char)
619: ,x_attribute13 => NVL(p_attribute_rec.attribute13,fnd_api.g_miss_char)
620: ,x_attribute14 => NVL(p_attribute_rec.attribute14,fnd_api.g_miss_char)
621: ,x_attribute15 => NVL(p_attribute_rec.attribute15,fnd_api.g_miss_char)
622: );
623: -- Create new entry into cn_srp_periods if extend date range
624: IF (l_spa_row.start_date < l_old_start_date) OR
617: ,x_attribute11 => NVL(p_attribute_rec.attribute11,fnd_api.g_miss_char)
618: ,x_attribute12 => NVL(p_attribute_rec.attribute12,fnd_api.g_miss_char)
619: ,x_attribute13 => NVL(p_attribute_rec.attribute13,fnd_api.g_miss_char)
620: ,x_attribute14 => NVL(p_attribute_rec.attribute14,fnd_api.g_miss_char)
621: ,x_attribute15 => NVL(p_attribute_rec.attribute15,fnd_api.g_miss_char)
622: );
623: -- Create new entry into cn_srp_periods if extend date range
624: IF (l_spa_row.start_date < l_old_start_date) OR
625: ( (Nvl(l_old_end_date,FND_API.G_MISS_DATE) <>
621: ,x_attribute15 => NVL(p_attribute_rec.attribute15,fnd_api.g_miss_char)
622: );
623: -- Create new entry into cn_srp_periods if extend date range
624: IF (l_spa_row.start_date < l_old_start_date) OR
625: ( (Nvl(l_old_end_date,FND_API.G_MISS_DATE) <>
626: Nvl(l_spa_row.end_date,FND_API.G_MISS_DATE)) AND
627: ( (l_spa_row.end_date IS NULL) OR
628: ((l_spa_row.end_date IS NOT NULL) AND (l_old_end_date IS NOT NULL)
629: AND (l_old_end_date < l_spa_row.end_date)) )
622: );
623: -- Create new entry into cn_srp_periods if extend date range
624: IF (l_spa_row.start_date < l_old_start_date) OR
625: ( (Nvl(l_old_end_date,FND_API.G_MISS_DATE) <>
626: Nvl(l_spa_row.end_date,FND_API.G_MISS_DATE)) AND
627: ( (l_spa_row.end_date IS NULL) OR
628: ((l_spa_row.end_date IS NOT NULL) AND (l_old_end_date IS NOT NULL)
629: AND (l_old_end_date < l_spa_row.end_date)) )
630: ) THEN
656: p_start_date => l_temp_start_date,
657: p_end_date => l_temp_end_date,
658: x_loading_status => x_loading_status
659: );
660: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
661: RAISE FND_API.G_EXC_ERROR ;
662: END IF;
663: END IF;
664: END LOOP;
657: p_end_date => l_temp_end_date,
658: x_loading_status => x_loading_status
659: );
660: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
661: RAISE FND_API.G_EXC_ERROR ;
662: END IF;
663: END IF;
664: END LOOP;
665: END IF;
667: -- End of API body.
668: << end_of_update_srp_plan_assigns >>
669: NULL;
670: -- Standard check of p_commit.
671: IF FND_API.To_Boolean( p_commit ) THEN
672: COMMIT WORK;
673: END IF;
674: -- Standard call to get message count and if count is 1, get message info.
675: FND_MSG_PUB.Count_And_Get
675: FND_MSG_PUB.Count_And_Get
676: (
677: p_count => x_msg_count ,
678: p_data => x_msg_data ,
679: p_encoded => FND_API.G_FALSE
680: );
681:
682: EXCEPTION
683: WHEN FND_API.G_EXC_ERROR THEN
679: p_encoded => FND_API.G_FALSE
680: );
681:
682: EXCEPTION
683: WHEN FND_API.G_EXC_ERROR THEN
684: ROLLBACK TO Update_Srp_Plan_Assigns;
685: x_return_status := FND_API.G_RET_STS_ERROR ;
686: FND_MSG_PUB.Count_And_Get
687: (
681:
682: EXCEPTION
683: WHEN FND_API.G_EXC_ERROR THEN
684: ROLLBACK TO Update_Srp_Plan_Assigns;
685: x_return_status := FND_API.G_RET_STS_ERROR ;
686: FND_MSG_PUB.Count_And_Get
687: (
688: p_count => x_msg_count ,
689: p_data => x_msg_data ,
686: FND_MSG_PUB.Count_And_Get
687: (
688: p_count => x_msg_count ,
689: p_data => x_msg_data ,
690: p_encoded => FND_API.G_FALSE
691: );
692: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
693: ROLLBACK TO Update_Srp_Plan_Assigns;
694: x_loading_status := 'UNEXPECTED_ERR';
688: p_count => x_msg_count ,
689: p_data => x_msg_data ,
690: p_encoded => FND_API.G_FALSE
691: );
692: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
693: ROLLBACK TO Update_Srp_Plan_Assigns;
694: x_loading_status := 'UNEXPECTED_ERR';
695: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
696: FND_MSG_PUB.Count_And_Get
691: );
692: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
693: ROLLBACK TO Update_Srp_Plan_Assigns;
694: x_loading_status := 'UNEXPECTED_ERR';
695: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
696: FND_MSG_PUB.Count_And_Get
697: (
698: p_count => x_msg_count ,
699: p_data => x_msg_data ,
696: FND_MSG_PUB.Count_And_Get
697: (
698: p_count => x_msg_count ,
699: p_data => x_msg_data ,
700: p_encoded => FND_API.G_FALSE
701: );
702: WHEN OTHERS THEN
703: ROLLBACK TO Update_Srp_Plan_Assigns;
704: x_loading_status := 'UNEXPECTED_ERR';
701: );
702: WHEN OTHERS THEN
703: ROLLBACK TO Update_Srp_Plan_Assigns;
704: x_loading_status := 'UNEXPECTED_ERR';
705: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
706: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
707: THEN
708: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
709: END IF;
710: FND_MSG_PUB.Count_And_Get
711: (
712: p_count => x_msg_count ,
713: p_data => x_msg_data ,
714: p_encoded => FND_API.G_FALSE
715: );
716: END Update_Srp_Plan_Assigns;
717:
718: --| -----------------------------------------------------------------------+
722:
723: PROCEDURE Delete_Srp_Plan_Assigns
724: (
725: p_api_version IN NUMBER,
726: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
727: p_commit IN VARCHAR2 := FND_API.G_FALSE,
728: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
729: x_return_status OUT NOCOPY VARCHAR2,
730: x_msg_count OUT NOCOPY NUMBER,
723: PROCEDURE Delete_Srp_Plan_Assigns
724: (
725: p_api_version IN NUMBER,
726: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
727: p_commit IN VARCHAR2 := FND_API.G_FALSE,
728: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
729: x_return_status OUT NOCOPY VARCHAR2,
730: x_msg_count OUT NOCOPY NUMBER,
731: x_msg_data OUT NOCOPY VARCHAR2,
724: (
725: p_api_version IN NUMBER,
726: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
727: p_commit IN VARCHAR2 := FND_API.G_FALSE,
728: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
729: x_return_status OUT NOCOPY VARCHAR2,
730: x_msg_count OUT NOCOPY NUMBER,
731: x_msg_data OUT NOCOPY VARCHAR2,
732: p_srp_role_id IN NUMBER,
741: BEGIN
742: -- Standard Start of API savepoint
743: SAVEPOINT Delete_Srp_Plan_Assigns;
744: -- Standard call to check for call compatibility.
745: IF NOT FND_API.compatible_api_call
746: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
747: THEN
748: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
749: END IF;
744: -- Standard call to check for call compatibility.
745: IF NOT FND_API.compatible_api_call
746: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
747: THEN
748: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
749: END IF;
750: -- Initialize message list if p_init_msg_list is set to TRUE.
751: IF FND_API.to_Boolean( p_init_msg_list ) THEN
752: FND_MSG_PUB.initialize;
747: THEN
748: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
749: END IF;
750: -- Initialize message list if p_init_msg_list is set to TRUE.
751: IF FND_API.to_Boolean( p_init_msg_list ) THEN
752: FND_MSG_PUB.initialize;
753: END IF;
754: -- Initialize API return status to success
755: x_return_status := FND_API.G_RET_STS_SUCCESS;
751: IF FND_API.to_Boolean( p_init_msg_list ) THEN
752: FND_MSG_PUB.initialize;
753: END IF;
754: -- Initialize API return status to success
755: x_return_status := FND_API.G_RET_STS_SUCCESS;
756: x_loading_status := 'CN_DELETED';
757: -- API body
758: -- Check if record exist in db
759: BEGIN
767: -- FND_MESSAGE.Set_Name('CN', 'CN_SRP_PLAN_ASSIGNS_NOT_EXIST');
768: -- FND_MSG_PUB.Add;
769: -- END IF;
770: -- x_loading_status := 'CN_SRP_PLAN_ASSIGNS_NOT_EXIST';
771: -- RAISE FND_API.G_EXC_ERROR ;
772:
773: -- CN_SRP_PLAN_ASSIGNS_NOT_EXIST, nothing to delete, exit api
774: GOTO end_of_delete_srp_plan_assigns;
775: END;
784: -- End of API body.
785: << end_of_delete_srp_plan_assigns >>
786: NULL;
787: -- Standard check of p_commit.
788: IF FND_API.To_Boolean( p_commit ) THEN
789: COMMIT WORK;
790: END IF;
791: -- Standard call to get message count and if count is 1, get message info.
792: FND_MSG_PUB.Count_And_Get
792: FND_MSG_PUB.Count_And_Get
793: (
794: p_count => x_msg_count ,
795: p_data => x_msg_data ,
796: p_encoded => FND_API.G_FALSE
797: );
798:
799: EXCEPTION
800: WHEN FND_API.G_EXC_ERROR THEN
796: p_encoded => FND_API.G_FALSE
797: );
798:
799: EXCEPTION
800: WHEN FND_API.G_EXC_ERROR THEN
801: ROLLBACK TO Delete_Srp_Plan_Assigns;
802: x_return_status := FND_API.G_RET_STS_ERROR ;
803: FND_MSG_PUB.Count_And_Get
804: (
798:
799: EXCEPTION
800: WHEN FND_API.G_EXC_ERROR THEN
801: ROLLBACK TO Delete_Srp_Plan_Assigns;
802: x_return_status := FND_API.G_RET_STS_ERROR ;
803: FND_MSG_PUB.Count_And_Get
804: (
805: p_count => x_msg_count ,
806: p_data => x_msg_data ,
803: FND_MSG_PUB.Count_And_Get
804: (
805: p_count => x_msg_count ,
806: p_data => x_msg_data ,
807: p_encoded => FND_API.G_FALSE
808: );
809: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
810: ROLLBACK TO Delete_Srp_Plan_Assigns;
811: x_loading_status := 'UNEXPECTED_ERR';
805: p_count => x_msg_count ,
806: p_data => x_msg_data ,
807: p_encoded => FND_API.G_FALSE
808: );
809: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
810: ROLLBACK TO Delete_Srp_Plan_Assigns;
811: x_loading_status := 'UNEXPECTED_ERR';
812: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
813: FND_MSG_PUB.Count_And_Get
808: );
809: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
810: ROLLBACK TO Delete_Srp_Plan_Assigns;
811: x_loading_status := 'UNEXPECTED_ERR';
812: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
813: FND_MSG_PUB.Count_And_Get
814: (
815: p_count => x_msg_count ,
816: p_data => x_msg_data ,
813: FND_MSG_PUB.Count_And_Get
814: (
815: p_count => x_msg_count ,
816: p_data => x_msg_data ,
817: p_encoded => FND_API.G_FALSE
818: );
819: WHEN OTHERS THEN
820: ROLLBACK TO Delete_Srp_Plan_Assigns;
821: x_loading_status := 'UNEXPECTED_ERR';
818: );
819: WHEN OTHERS THEN
820: ROLLBACK TO Delete_Srp_Plan_Assigns;
821: x_loading_status := 'UNEXPECTED_ERR';
822: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
823: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
824: THEN
825: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
826: END IF;
827: FND_MSG_PUB.Count_And_Get
828: (
829: p_count => x_msg_count ,
830: p_data => x_msg_data ,
831: p_encoded => FND_API.G_FALSE
832: );
833: END Delete_Srp_Plan_Assigns;
834:
835: END CN_SRP_PLAN_ASSIGNS_PVT ;