12: -- Pre-reqs : None.
13: -- Parameters :
14: -- IN : p_api_version IN NUMBER Required
15: -- p_init_msg_list IN VARCHAR2 Optional
16: -- Default = FND_API.G_FALSE
17: -- p_commit IN VARCHAR2 Optional
18: -- Default = FND_API.G_FALSE
19: -- p_validation_level IN NUMBER Optional
20: -- Default = FND_API.G_VALID_LEVEL_FULL
14: -- IN : p_api_version IN NUMBER Required
15: -- p_init_msg_list IN VARCHAR2 Optional
16: -- Default = FND_API.G_FALSE
17: -- p_commit IN VARCHAR2 Optional
18: -- Default = FND_API.G_FALSE
19: -- p_validation_level IN NUMBER Optional
20: -- Default = FND_API.G_VALID_LEVEL_FULL
21: -- p_seas_schedules_tbl_type IN seas_schedules_tbl_type
22: -- OUT : x_return_status OUT VARCHAR2(1)
16: -- Default = FND_API.G_FALSE
17: -- p_commit IN VARCHAR2 Optional
18: -- Default = FND_API.G_FALSE
19: -- p_validation_level IN NUMBER Optional
20: -- Default = FND_API.G_VALID_LEVEL_FULL
21: -- p_seas_schedules_tbl_type IN seas_schedules_tbl_type
22: -- OUT : x_return_status OUT VARCHAR2(1)
23: -- x_msg_count OUT NUMBER
24: -- x_msg_data OUT VARCHAR2(2000)
35:
36:
37: PROCEDURE Create_Seas_Schedule
38: ( p_api_version IN NUMBER ,
39: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
40: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
41: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
42: p_seas_schedules_rec_type IN seas_schedules_rec_type,
43: x_seas_schedule_id OUT NOCOPY NUMBER,
36:
37: PROCEDURE Create_Seas_Schedule
38: ( p_api_version IN NUMBER ,
39: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
40: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
41: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
42: p_seas_schedules_rec_type IN seas_schedules_rec_type,
43: x_seas_schedule_id OUT NOCOPY NUMBER,
44: x_return_status OUT NOCOPY VARCHAR2 ,
37: PROCEDURE Create_Seas_Schedule
38: ( p_api_version IN NUMBER ,
39: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
40: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
41: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
42: p_seas_schedules_rec_type IN seas_schedules_rec_type,
43: x_seas_schedule_id OUT NOCOPY NUMBER,
44: x_return_status OUT NOCOPY VARCHAR2 ,
45: x_msg_count OUT NOCOPY NUMBER ,
64: --DBMS_OUTPUT.PUT_LINE('Starting Create_Seas_Schedule ...');
65: -- Standard Start of API savepoint
66: SAVEPOINT Create_Seas_Schedule;
67: -- Standard call to check for call compatibility.
68: IF NOT FND_API.compatible_api_call
69: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
70: THEN
71: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
72: END IF;
67: -- Standard call to check for call compatibility.
68: IF NOT FND_API.compatible_api_call
69: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
70: THEN
71: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
72: END IF;
73:
74: -- Initialize message list if p_init_msg_list is set to TRUE.
75: IF FND_API.to_Boolean( p_init_msg_list ) THEN
71: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
72: END IF;
73:
74: -- Initialize message list if p_init_msg_list is set to TRUE.
75: IF FND_API.to_Boolean( p_init_msg_list ) THEN
76: FND_MSG_PUB.initialize;
77: END IF;
78:
79: -- Initialize API return status to success
76: FND_MSG_PUB.initialize;
77: END IF;
78:
79: -- Initialize API return status to success
80: x_return_status := FND_API.G_RET_STS_SUCCESS;
81: -- API body
82:
83: -- ***********************
84: -- VALIDATIONS
87: -- Check if the inputs are valid.
88:
89: -- Check the SEASONALITY SCHEDULE NAME
90: IF ( p_seas_schedules_rec_type.name is NULL ) OR
91: ( p_seas_schedules_rec_type.name = fnd_api.g_miss_char )
92: THEN
93: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
94: FND_MESSAGE.SET_NAME ('CN' , 'CN_REQ_PAR_MISSING');
95: FND_MSG_PUB.Add;
93: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
94: FND_MESSAGE.SET_NAME ('CN' , 'CN_REQ_PAR_MISSING');
95: FND_MSG_PUB.Add;
96: END IF;
97: RAISE FND_API.G_EXC_ERROR ;
98: END IF;
99:
100: -- Check the SEASONALITY SCHEDULE DESCRIPTION
101: IF ( p_seas_schedules_rec_type.DESCRIPTION is NULL ) OR
98: END IF;
99:
100: -- Check the SEASONALITY SCHEDULE DESCRIPTION
101: IF ( p_seas_schedules_rec_type.DESCRIPTION is NULL ) OR
102: ( p_seas_schedules_rec_type.DESCRIPTION = fnd_api.g_miss_char )
103: THEN
104: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
105: FND_MESSAGE.SET_NAME ('CN' , 'CN_REQ_PAR_MISSING');
106: FND_MSG_PUB.Add;
104: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
105: FND_MESSAGE.SET_NAME ('CN' , 'CN_REQ_PAR_MISSING');
106: FND_MSG_PUB.Add;
107: END IF;
108: RAISE FND_API.G_EXC_ERROR ;
109: END IF;
110:
111: -- Check already if this seas_schedule_name exists
112: SELECT COUNT(*) INTO l_count FROM CN_SEAS_SCHEDULES WHERE UPPER(NAME) LIKE UPPER(p_seas_schedules_rec_type.name);
115: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
116: FND_MESSAGE.SET_NAME ('CN' , 'CN_SEAS_NAME_EXISTS');
117: FND_MSG_PUB.Add;
118: END IF;
119: RAISE FND_API.G_EXC_ERROR ;
120: END IF;
121:
122: -- INSERT TO BEGIN TO CN_SEAS_SCHEDULES
123: -- Get the Max Date of End Date and Min of Start Date for this period Year.
156: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
157: FND_MESSAGE.SET_NAME ('CN' , 'CN_SEAS_INTTYPE_NOTEXIST');
158: FND_MSG_PUB.Add;
159: END IF;
160: RAISE FND_API.G_EXC_ERROR ;
161: END IF;
162:
163:
164: -- Create a CURSOR OF VALUES FOR the Period and use table handler
179: << end_Create_Seas_Schedule >>
180: NULL;
181:
182: -- Standard check of p_commit.
183: IF FND_API.To_Boolean( p_commit ) THEN
184: COMMIT WORK;
185: END IF;
186: -- Standard call to get message count and if count is 1, get message info.
187: FND_MSG_PUB.Count_And_Get
187: FND_MSG_PUB.Count_And_Get
188: (
189: p_count => x_msg_count ,
190: p_data => x_msg_data ,
191: p_encoded => FND_API.G_FALSE
192: );
193:
194: EXCEPTION
195: WHEN FND_API.G_EXC_ERROR THEN
191: p_encoded => FND_API.G_FALSE
192: );
193:
194: EXCEPTION
195: WHEN FND_API.G_EXC_ERROR THEN
196: ROLLBACK TO Create_Seas_Schedule ;
197: x_return_status := FND_API.G_RET_STS_ERROR ;
198: FND_MSG_PUB.Count_And_Get
199: (
193:
194: EXCEPTION
195: WHEN FND_API.G_EXC_ERROR THEN
196: ROLLBACK TO Create_Seas_Schedule ;
197: x_return_status := FND_API.G_RET_STS_ERROR ;
198: FND_MSG_PUB.Count_And_Get
199: (
200: p_count => x_msg_count ,
201: p_data => x_msg_data ,
198: FND_MSG_PUB.Count_And_Get
199: (
200: p_count => x_msg_count ,
201: p_data => x_msg_data ,
202: p_encoded => FND_API.G_FALSE
203: );
204:
205: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
206: ROLLBACK TO Create_Seas_Schedule ;
201: p_data => x_msg_data ,
202: p_encoded => FND_API.G_FALSE
203: );
204:
205: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
206: ROLLBACK TO Create_Seas_Schedule ;
207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
208: FND_MSG_PUB.Count_And_Get
209: (
203: );
204:
205: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
206: ROLLBACK TO Create_Seas_Schedule ;
207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
208: FND_MSG_PUB.Count_And_Get
209: (
210: p_count => x_msg_count ,
211: p_data => x_msg_data ,
208: FND_MSG_PUB.Count_And_Get
209: (
210: p_count => x_msg_count ,
211: p_data => x_msg_data ,
212: p_encoded => FND_API.G_FALSE
213: );
214: WHEN OTHERS THEN
215: ROLLBACK TO Create_Seas_Schedule ;
216: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
212: p_encoded => FND_API.G_FALSE
213: );
214: WHEN OTHERS THEN
215: ROLLBACK TO Create_Seas_Schedule ;
216: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
217: l_error_code := SQLCODE;
218: IF l_error_code = -54 THEN
219: x_return_status := FND_API.G_RET_STS_ERROR ;
220: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
215: ROLLBACK TO Create_Seas_Schedule ;
216: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
217: l_error_code := SQLCODE;
218: IF l_error_code = -54 THEN
219: x_return_status := FND_API.G_RET_STS_ERROR ;
220: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
221: THEN
222: FND_MESSAGE.SET_NAME ('CN' , 'CN_LOCK_FAIL');
223: FND_MSG_PUB.Add;
231: FND_MSG_PUB.Count_And_Get
232: (
233: p_count => x_msg_count ,
234: p_data => x_msg_data ,
235: p_encoded => FND_API.G_FALSE
236: );
237: END Create_Seas_Schedule;
238:
239:
244: -- Pre-reqs : None.
245: -- Parameters :
246: -- IN : p_api_version IN NUMBER Required
247: -- p_init_msg_list IN VARCHAR2 Optional
248: -- Default = FND_API.G_FALSE
249: -- p_commit IN VARCHAR2 Optional
250: -- Default = FND_API.G_FALSE
251: -- p_validation_level IN NUMBER Optional
252: -- Default = FND_API.G_VALID_LEVEL_FULL
246: -- IN : p_api_version IN NUMBER Required
247: -- p_init_msg_list IN VARCHAR2 Optional
248: -- Default = FND_API.G_FALSE
249: -- p_commit IN VARCHAR2 Optional
250: -- Default = FND_API.G_FALSE
251: -- p_validation_level IN NUMBER Optional
252: -- Default = FND_API.G_VALID_LEVEL_FULL
253: -- p_seas_schedules_tbl_type IN seas_schedules_tbl_type
254: -- OUT : x_return_status OUT VARCHAR2(1)
248: -- Default = FND_API.G_FALSE
249: -- p_commit IN VARCHAR2 Optional
250: -- Default = FND_API.G_FALSE
251: -- p_validation_level IN NUMBER Optional
252: -- Default = FND_API.G_VALID_LEVEL_FULL
253: -- p_seas_schedules_tbl_type IN seas_schedules_tbl_type
254: -- OUT : x_return_status OUT VARCHAR2(1)
255: -- x_msg_count OUT NUMBER
256: -- x_msg_data OUT VARCHAR2(2000)
265: -- End of comments
266:
267: PROCEDURE Update_Seas_Schedule
268: ( p_api_version IN NUMBER ,
269: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
270: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
271: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
272: p_seas_schedules_rec_type IN seas_schedules_rec_type,
273: x_return_status OUT NOCOPY VARCHAR2 ,
266:
267: PROCEDURE Update_Seas_Schedule
268: ( p_api_version IN NUMBER ,
269: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
270: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
271: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
272: p_seas_schedules_rec_type IN seas_schedules_rec_type,
273: x_return_status OUT NOCOPY VARCHAR2 ,
274: x_msg_count OUT NOCOPY NUMBER ,
267: PROCEDURE Update_Seas_Schedule
268: ( p_api_version IN NUMBER ,
269: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
270: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
271: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
272: p_seas_schedules_rec_type IN seas_schedules_rec_type,
273: x_return_status OUT NOCOPY VARCHAR2 ,
274: x_msg_count OUT NOCOPY NUMBER ,
275: x_msg_data OUT NOCOPY VARCHAR2
287: --DBMS_OUTPUT.PUT_LINE('Update in progress');
288: -- Standard Start of API savepoint
289: SAVEPOINT Update_Seas_Schedule;
290: -- Standard call to check for call compatibility.
291: IF NOT FND_API.compatible_api_call
292: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
293: THEN
294: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
295: END IF;
290: -- Standard call to check for call compatibility.
291: IF NOT FND_API.compatible_api_call
292: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
293: THEN
294: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
295: END IF;
296:
297: -- Initialize message list if p_init_msg_list is set to TRUE.
298: IF FND_API.to_Boolean( p_init_msg_list ) THEN
294: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
295: END IF;
296:
297: -- Initialize message list if p_init_msg_list is set to TRUE.
298: IF FND_API.to_Boolean( p_init_msg_list ) THEN
299: FND_MSG_PUB.initialize;
300: END IF;
301: -- Initialize API return status to success
302: x_return_status := FND_API.G_RET_STS_SUCCESS;
298: IF FND_API.to_Boolean( p_init_msg_list ) THEN
299: FND_MSG_PUB.initialize;
300: END IF;
301: -- Initialize API return status to success
302: x_return_status := FND_API.G_RET_STS_SUCCESS;
303: -- API body
304:
305: select COUNT(*) INTO l_srp_count from cn_srp_role_dtls t1,cn_role_quota_cates t2,cn_srp_roles t3
306: where t1.srp_role_id = t3.srp_role_id
313: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
314: FND_MESSAGE.SET_NAME ('CN' , 'CN_SEASONALITY_IN_USE');
315: FND_MSG_PUB.Add;
316: END IF;
317: RAISE FND_API.G_EXC_ERROR ;
318: END IF;
319:
320: -- ****************************
321: -- VALIDATIONS/CHECK FOR NULLS
321: -- VALIDATIONS/CHECK FOR NULLS
322: -- ****************************
323: -- Check the SEASONALITY SCHEDULE NAME
324: IF ( p_seas_schedules_rec_type.name is NULL ) OR
325: ( p_seas_schedules_rec_type.name = fnd_api.g_miss_char )
326: THEN
327: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
328: FND_MESSAGE.SET_NAME ('CN' , 'CN_REQ_PAR_MISSING');
329: FND_MSG_PUB.Add;
327: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
328: FND_MESSAGE.SET_NAME ('CN' , 'CN_REQ_PAR_MISSING');
329: FND_MSG_PUB.Add;
330: END IF;
331: RAISE FND_API.G_EXC_ERROR ;
332: END IF;
333:
334: -- Check the SEASONALITY SCHEDULE DESCRIPTION
335: IF ( p_seas_schedules_rec_type.DESCRIPTION is NULL ) OR
332: END IF;
333:
334: -- Check the SEASONALITY SCHEDULE DESCRIPTION
335: IF ( p_seas_schedules_rec_type.DESCRIPTION is NULL ) OR
336: ( p_seas_schedules_rec_type.DESCRIPTION = fnd_api.g_miss_char )
337: THEN
338: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
339: FND_MESSAGE.SET_NAME ('CN' , 'CN_REQ_PAR_MISSING');
340: FND_MSG_PUB.Add;
338: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
339: FND_MESSAGE.SET_NAME ('CN' , 'CN_REQ_PAR_MISSING');
340: FND_MSG_PUB.Add;
341: END IF;
342: RAISE FND_API.G_EXC_ERROR ;
343: END IF;
344:
345: -- Check already if this seas_schedule_name exists
346: SELECT COUNT(*) INTO l_count FROM CN_SEAS_SCHEDULES WHERE UPPER(NAME) LIKE UPPER(p_seas_schedules_rec_type.name) AND SEAS_SCHEDULE_ID <> p_seas_schedules_rec_type.seas_schedule_id;
349: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
350: FND_MESSAGE.SET_NAME ('CN' , 'CN_SEAS_NAME_EXISTS');
351: FND_MSG_PUB.Add;
352: END IF;
353: RAISE FND_API.G_EXC_ERROR ;
354: END IF;
355: --DBMS_OUTPUT.PUT_LINE('Update Validations done.');
356: -- CALL THE UPDATE API
357: -- l_validation_status := FND_API.G_MISS_CHAR;
353: RAISE FND_API.G_EXC_ERROR ;
354: END IF;
355: --DBMS_OUTPUT.PUT_LINE('Update Validations done.');
356: -- CALL THE UPDATE API
357: -- l_validation_status := FND_API.G_MISS_CHAR;
358: l_validation_status := p_seas_schedules_rec_type.validation_status;
359: if ((l_validation_status <> 'VALID') AND (l_validation_status <> 'INVALID')) THEN
360: l_validation_status := FND_API.G_MISS_CHAR;
361: END IF;
356: -- CALL THE UPDATE API
357: -- l_validation_status := FND_API.G_MISS_CHAR;
358: l_validation_status := p_seas_schedules_rec_type.validation_status;
359: if ((l_validation_status <> 'VALID') AND (l_validation_status <> 'INVALID')) THEN
360: l_validation_status := FND_API.G_MISS_CHAR;
361: END IF;
362:
363: l_start_date := FND_API.G_MISS_DATE;
364: l_end_date := FND_API.G_MISS_DATE;
359: if ((l_validation_status <> 'VALID') AND (l_validation_status <> 'INVALID')) THEN
360: l_validation_status := FND_API.G_MISS_CHAR;
361: END IF;
362:
363: l_start_date := FND_API.G_MISS_DATE;
364: l_end_date := FND_API.G_MISS_DATE;
365:
366: --DBMS_OUTPUT.PUT_LINE('SEAS ID : ' || p_seas_schedules_rec_type.seas_schedule_id);
367: --DBMS_OUTPUT.PUT_LINE('NAME : ' || p_seas_schedules_rec_type.name);
360: l_validation_status := FND_API.G_MISS_CHAR;
361: END IF;
362:
363: l_start_date := FND_API.G_MISS_DATE;
364: l_end_date := FND_API.G_MISS_DATE;
365:
366: --DBMS_OUTPUT.PUT_LINE('SEAS ID : ' || p_seas_schedules_rec_type.seas_schedule_id);
367: --DBMS_OUTPUT.PUT_LINE('NAME : ' || p_seas_schedules_rec_type.name);
368: --DBMS_OUTPUT.PUT_LINE('DESCRIPTION : ' || p_seas_schedules_rec_type.description);
389: << end_Update_Seas_Schedule >>
390: NULL;
391:
392: -- Standard check of p_commit.
393: IF FND_API.To_Boolean( p_commit ) THEN
394: COMMIT WORK;
395: END IF;
396: -- Standard call to get message count and if count is 1, get message info.
397: FND_MSG_PUB.Count_And_Get
397: FND_MSG_PUB.Count_And_Get
398: (
399: p_count => x_msg_count ,
400: p_data => x_msg_data ,
401: p_encoded => FND_API.G_FALSE
402: );
403:
404: EXCEPTION
405: WHEN FND_API.G_EXC_ERROR THEN
401: p_encoded => FND_API.G_FALSE
402: );
403:
404: EXCEPTION
405: WHEN FND_API.G_EXC_ERROR THEN
406: ROLLBACK TO Update_Seas_Schedule ;
407: x_return_status := FND_API.G_RET_STS_ERROR ;
408: FND_MSG_PUB.Count_And_Get
409: (
403:
404: EXCEPTION
405: WHEN FND_API.G_EXC_ERROR THEN
406: ROLLBACK TO Update_Seas_Schedule ;
407: x_return_status := FND_API.G_RET_STS_ERROR ;
408: FND_MSG_PUB.Count_And_Get
409: (
410: p_count => x_msg_count ,
411: p_data => x_msg_data ,
408: FND_MSG_PUB.Count_And_Get
409: (
410: p_count => x_msg_count ,
411: p_data => x_msg_data ,
412: p_encoded => FND_API.G_FALSE
413: );
414:
415: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
416: ROLLBACK TO Update_Seas_Schedule ;
411: p_data => x_msg_data ,
412: p_encoded => FND_API.G_FALSE
413: );
414:
415: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
416: ROLLBACK TO Update_Seas_Schedule ;
417: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
418: FND_MSG_PUB.Count_And_Get
419: (
413: );
414:
415: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
416: ROLLBACK TO Update_Seas_Schedule ;
417: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
418: FND_MSG_PUB.Count_And_Get
419: (
420: p_count => x_msg_count ,
421: p_data => x_msg_data ,
418: FND_MSG_PUB.Count_And_Get
419: (
420: p_count => x_msg_count ,
421: p_data => x_msg_data ,
422: p_encoded => FND_API.G_FALSE
423: );
424: WHEN OTHERS THEN
425: ROLLBACK TO Update_Seas_Schedule ;
426: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
422: p_encoded => FND_API.G_FALSE
423: );
424: WHEN OTHERS THEN
425: ROLLBACK TO Update_Seas_Schedule ;
426: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
427: l_error_code := SQLCODE;
428: IF l_error_code = -54 THEN
429: x_return_status := FND_API.G_RET_STS_ERROR ;
430: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
425: ROLLBACK TO Update_Seas_Schedule ;
426: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
427: l_error_code := SQLCODE;
428: IF l_error_code = -54 THEN
429: x_return_status := FND_API.G_RET_STS_ERROR ;
430: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
431: THEN
432: FND_MESSAGE.SET_NAME ('CN' , 'CN_LOCK_FAIL');
433: FND_MSG_PUB.Add;
441: FND_MSG_PUB.Count_And_Get
442: (
443: p_count => x_msg_count ,
444: p_data => x_msg_data ,
445: p_encoded => FND_API.G_FALSE
446: );
447: END Update_Seas_Schedule;
448:
449:
454: -- Pre-reqs : None.
455: -- Parameters :
456: -- IN : p_api_version IN NUMBER Required
457: -- p_init_msg_list IN VARCHAR2 Optional
458: -- Default = FND_API.G_FALSE
459: -- p_commit IN VARCHAR2 Optional
460: -- Default = FND_API.G_FALSE
461: -- p_validation_level IN NUMBER Optional
462: -- Default = FND_API.G_VALID_LEVEL_FULL
456: -- IN : p_api_version IN NUMBER Required
457: -- p_init_msg_list IN VARCHAR2 Optional
458: -- Default = FND_API.G_FALSE
459: -- p_commit IN VARCHAR2 Optional
460: -- Default = FND_API.G_FALSE
461: -- p_validation_level IN NUMBER Optional
462: -- Default = FND_API.G_VALID_LEVEL_FULL
463: -- P_SEAS_SCHEDULE_ID IN NUMBER Required
464: --
458: -- Default = FND_API.G_FALSE
459: -- p_commit IN VARCHAR2 Optional
460: -- Default = FND_API.G_FALSE
461: -- p_validation_level IN NUMBER Optional
462: -- Default = FND_API.G_VALID_LEVEL_FULL
463: -- P_SEAS_SCHEDULE_ID IN NUMBER Required
464: --
465: -- OUT : x_return_status OUT VARCHAR2(1)
466: -- x_msg_count OUT NUMBER
478: -- End of comments
479:
480: PROCEDURE Delete_Seas_Schedule
481: ( p_api_version IN NUMBER ,
482: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
483: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
484: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
485: P_SEAS_SCHEDULE_ID IN cn_seas_schedules.seas_schedule_id%TYPE,
486: x_return_status OUT NOCOPY VARCHAR2 ,
479:
480: PROCEDURE Delete_Seas_Schedule
481: ( p_api_version IN NUMBER ,
482: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
483: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
484: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
485: P_SEAS_SCHEDULE_ID IN cn_seas_schedules.seas_schedule_id%TYPE,
486: x_return_status OUT NOCOPY VARCHAR2 ,
487: x_msg_count OUT NOCOPY NUMBER ,
480: PROCEDURE Delete_Seas_Schedule
481: ( p_api_version IN NUMBER ,
482: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
483: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
484: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
485: P_SEAS_SCHEDULE_ID IN cn_seas_schedules.seas_schedule_id%TYPE,
486: x_return_status OUT NOCOPY VARCHAR2 ,
487: x_msg_count OUT NOCOPY NUMBER ,
488: x_msg_data OUT NOCOPY VARCHAR2
496: --DBMS_OUTPUT.PUT_LINE('Delete in progress');
497: -- Standard Start of API savepoint
498: SAVEPOINT Delete_Seas_Schedule;
499: -- Standard call to check for call compatibility.
500: IF NOT FND_API.compatible_api_call
501: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
502: THEN
503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
504: END IF;
499: -- Standard call to check for call compatibility.
500: IF NOT FND_API.compatible_api_call
501: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
502: THEN
503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
504: END IF;
505:
506: -- Initialize message list if p_init_msg_list is set to TRUE.
507: IF FND_API.to_Boolean( p_init_msg_list ) THEN
503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
504: END IF;
505:
506: -- Initialize message list if p_init_msg_list is set to TRUE.
507: IF FND_API.to_Boolean( p_init_msg_list ) THEN
508: FND_MSG_PUB.initialize;
509: END IF;
510: -- Initialize API return status to success
511: x_return_status := FND_API.G_RET_STS_SUCCESS;
507: IF FND_API.to_Boolean( p_init_msg_list ) THEN
508: FND_MSG_PUB.initialize;
509: END IF;
510: -- Initialize API return status to success
511: x_return_status := FND_API.G_RET_STS_SUCCESS;
512:
513: -- API body
514: l_seas_sch_id := P_SEAS_SCHEDULE_ID;
515: -- ********************
523: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
524: FND_MESSAGE.SET_NAME ('CN' , 'CN_SEAS_DEL_FAILED');
525: FND_MSG_PUB.Add;
526: END IF;
527: RAISE FND_API.G_EXC_ERROR ;
528: END IF;
529:
530: -- Delete entries from CN_SEAS_SCHEDULES
531: CN_SEAS_SCHEDULES_pkg.delete_row (P_SEAS_SCHEDULE_ID => l_seas_sch_id);
537: << end_Delete_Seas_Schedule >>
538: NULL;
539:
540: -- Standard check of p_commit.
541: IF FND_API.To_Boolean( p_commit ) THEN
542: COMMIT WORK;
543: END IF;
544: -- Standard call to get message count and if count is 1, get message info.
545: FND_MSG_PUB.Count_And_Get
545: FND_MSG_PUB.Count_And_Get
546: (
547: p_count => x_msg_count ,
548: p_data => x_msg_data ,
549: p_encoded => FND_API.G_FALSE
550: );
551:
552: EXCEPTION
553: WHEN FND_API.G_EXC_ERROR THEN
549: p_encoded => FND_API.G_FALSE
550: );
551:
552: EXCEPTION
553: WHEN FND_API.G_EXC_ERROR THEN
554: ROLLBACK TO Delete_Seas_Schedule ;
555: x_return_status := FND_API.G_RET_STS_ERROR ;
556: FND_MSG_PUB.Count_And_Get
557: (
551:
552: EXCEPTION
553: WHEN FND_API.G_EXC_ERROR THEN
554: ROLLBACK TO Delete_Seas_Schedule ;
555: x_return_status := FND_API.G_RET_STS_ERROR ;
556: FND_MSG_PUB.Count_And_Get
557: (
558: p_count => x_msg_count ,
559: p_data => x_msg_data ,
556: FND_MSG_PUB.Count_And_Get
557: (
558: p_count => x_msg_count ,
559: p_data => x_msg_data ,
560: p_encoded => FND_API.G_FALSE
561: );
562:
563: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
564: ROLLBACK TO Delete_Seas_Schedule ;
559: p_data => x_msg_data ,
560: p_encoded => FND_API.G_FALSE
561: );
562:
563: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
564: ROLLBACK TO Delete_Seas_Schedule ;
565: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
566: FND_MSG_PUB.Count_And_Get
567: (
561: );
562:
563: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
564: ROLLBACK TO Delete_Seas_Schedule ;
565: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
566: FND_MSG_PUB.Count_And_Get
567: (
568: p_count => x_msg_count ,
569: p_data => x_msg_data ,
566: FND_MSG_PUB.Count_And_Get
567: (
568: p_count => x_msg_count ,
569: p_data => x_msg_data ,
570: p_encoded => FND_API.G_FALSE
571: );
572: WHEN OTHERS THEN
573: ROLLBACK TO Delete_Seas_Schedule ;
574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
570: p_encoded => FND_API.G_FALSE
571: );
572: WHEN OTHERS THEN
573: ROLLBACK TO Delete_Seas_Schedule ;
574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
575: l_error_code := SQLCODE;
576: IF l_error_code = -54 THEN
577: x_return_status := FND_API.G_RET_STS_ERROR ;
578: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
573: ROLLBACK TO Delete_Seas_Schedule ;
574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
575: l_error_code := SQLCODE;
576: IF l_error_code = -54 THEN
577: x_return_status := FND_API.G_RET_STS_ERROR ;
578: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
579: THEN
580: FND_MESSAGE.SET_NAME ('CN' , 'CN_LOCK_FAIL');
581: FND_MSG_PUB.Add;
589: FND_MSG_PUB.Count_And_Get
590: (
591: p_count => x_msg_count ,
592: p_data => x_msg_data ,
593: p_encoded => FND_API.G_FALSE
594: );
595: END Delete_Seas_Schedule;
596:
597: -- Start of comments
601: -- Pre-reqs : None.
602: -- Parameters :
603: -- IN : p_api_version IN NUMBER Required
604: -- p_init_msg_list IN VARCHAR2 Optional
605: -- Default = FND_API.G_FALSE
606: -- p_commit IN VARCHAR2 Optional
607: -- Default = FND_API.G_FALSE
608: -- p_validation_level IN NUMBER Optional
609: -- Default = FND_API.G_VALID_LEVEL_FULL
603: -- IN : p_api_version IN NUMBER Required
604: -- p_init_msg_list IN VARCHAR2 Optional
605: -- Default = FND_API.G_FALSE
606: -- p_commit IN VARCHAR2 Optional
607: -- Default = FND_API.G_FALSE
608: -- p_validation_level IN NUMBER Optional
609: -- Default = FND_API.G_VALID_LEVEL_FULL
610: -- P_SEAS_SCHEDULE_ID IN NUMBER Required
611: --
605: -- Default = FND_API.G_FALSE
606: -- p_commit IN VARCHAR2 Optional
607: -- Default = FND_API.G_FALSE
608: -- p_validation_level IN NUMBER Optional
609: -- Default = FND_API.G_VALID_LEVEL_FULL
610: -- P_SEAS_SCHEDULE_ID IN NUMBER Required
611: --
612: -- OUT : x_seas_schedule_sum OUT NUMBER,
613: -- x_return_status OUT VARCHAR2(1)
623: -- End of comments
624:
625: PROCEDURE Sum_Seas_Schedule
626: ( p_api_version IN NUMBER ,
627: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
628: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
629: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
630: p_seas_schedules_id IN NUMBER,
631: x_seas_schedule_sum OUT NOCOPY NUMBER,
624:
625: PROCEDURE Sum_Seas_Schedule
626: ( p_api_version IN NUMBER ,
627: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
628: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
629: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
630: p_seas_schedules_id IN NUMBER,
631: x_seas_schedule_sum OUT NOCOPY NUMBER,
632: x_return_status OUT NOCOPY VARCHAR2 ,
625: PROCEDURE Sum_Seas_Schedule
626: ( p_api_version IN NUMBER ,
627: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
628: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
629: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
630: p_seas_schedules_id IN NUMBER,
631: x_seas_schedule_sum OUT NOCOPY NUMBER,
632: x_return_status OUT NOCOPY VARCHAR2 ,
633: x_msg_count OUT NOCOPY NUMBER ,
642: BEGIN
643: -- Standard Start of API savepoint
644: SAVEPOINT Sum_Seas_Schedule;
645: -- Standard call to check for call compatibility.
646: IF NOT FND_API.compatible_api_call
647: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
648: THEN
649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
650: END IF;
645: -- Standard call to check for call compatibility.
646: IF NOT FND_API.compatible_api_call
647: ( l_api_version ,p_api_version ,l_api_name ,G_PKG_NAME )
648: THEN
649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
650: END IF;
651:
652: -- Initialize message list if p_init_msg_list is set to TRUE.
653: IF FND_API.to_Boolean( p_init_msg_list ) THEN
649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
650: END IF;
651:
652: -- Initialize message list if p_init_msg_list is set to TRUE.
653: IF FND_API.to_Boolean( p_init_msg_list ) THEN
654: FND_MSG_PUB.initialize;
655: END IF;
656: -- Initialize API return status to success
657: x_return_status := FND_API.G_RET_STS_SUCCESS;
653: IF FND_API.to_Boolean( p_init_msg_list ) THEN
654: FND_MSG_PUB.initialize;
655: END IF;
656: -- Initialize API return status to success
657: x_return_status := FND_API.G_RET_STS_SUCCESS;
658:
659: -- API body
660: select seas_schedule_id,sum(pct_seasonality) into l_seas_schedule_id,l_pct_seasonality
661: from cn_seasonalities
667: << end_Delete_Seas_Schedule >>
668: NULL;
669:
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 Sum_Seas_Schedule ;
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 Sum_Seas_Schedule ;
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:
693: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
694: ROLLBACK TO Sum_Seas_Schedule ;
689: p_data => x_msg_data ,
690: p_encoded => FND_API.G_FALSE
691: );
692:
693: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
694: ROLLBACK TO Sum_Seas_Schedule ;
695: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
696: FND_MSG_PUB.Count_And_Get
697: (
691: );
692:
693: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
694: ROLLBACK TO Sum_Seas_Schedule ;
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 Sum_Seas_Schedule ;
704: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
700: p_encoded => FND_API.G_FALSE
701: );
702: WHEN OTHERS THEN
703: ROLLBACK TO Sum_Seas_Schedule ;
704: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
705: l_error_code := SQLCODE;
706: IF l_error_code = -54 THEN
707: x_return_status := FND_API.G_RET_STS_ERROR ;
708: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
703: ROLLBACK TO Sum_Seas_Schedule ;
704: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
705: l_error_code := SQLCODE;
706: IF l_error_code = -54 THEN
707: x_return_status := FND_API.G_RET_STS_ERROR ;
708: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
709: THEN
710: FND_MESSAGE.SET_NAME ('CN' , 'CN_LOCK_FAIL');
711: FND_MSG_PUB.Add;
719: FND_MSG_PUB.Count_And_Get
720: (
721: p_count => x_msg_count ,
722: p_data => x_msg_data ,
723: p_encoded => FND_API.G_FALSE
724: );
725: END Sum_Seas_Schedule;
726:
727: END cn_seas_schedules_pvt;