66:
67: -- Primary key validation check
68: x_mini_site_section_item_id := p_mini_site_section_item_id;
69: IF ((x_mini_site_section_item_id IS NULL) OR
70: (x_mini_site_section_item_id = FND_API.G_MISS_NUM))
71: THEN
72: OPEN c2;
73: FETCH c2 INTO x_mini_site_section_item_id;
74: CLOSE c2;
95: p_object_version_number,
96: p_mini_site_id,
97: p_section_item_id,
98: p_start_date_active,
99: decode(p_end_date_active, FND_API.G_MISS_DATE, NULL, p_end_date_active),
100: decode(p_creation_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
101: p_creation_date),
102: decode(p_created_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
103: NULL, FND_GLOBAL.user_id, p_created_by),
96: p_mini_site_id,
97: p_section_item_id,
98: p_start_date_active,
99: decode(p_end_date_active, FND_API.G_MISS_DATE, NULL, p_end_date_active),
100: decode(p_creation_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
101: p_creation_date),
102: decode(p_created_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
103: NULL, FND_GLOBAL.user_id, p_created_by),
104: decode(p_last_update_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
98: p_start_date_active,
99: decode(p_end_date_active, FND_API.G_MISS_DATE, NULL, p_end_date_active),
100: decode(p_creation_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
101: p_creation_date),
102: decode(p_created_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
103: NULL, FND_GLOBAL.user_id, p_created_by),
104: decode(p_last_update_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
105: p_last_update_date),
106: decode(p_last_updated_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
100: decode(p_creation_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
101: p_creation_date),
102: decode(p_created_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
103: NULL, FND_GLOBAL.user_id, p_created_by),
104: decode(p_last_update_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
105: p_last_update_date),
106: decode(p_last_updated_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
107: NULL, FND_GLOBAL.user_id, p_last_updated_by),
108: decode(p_last_update_login, FND_API.G_MISS_NUM, FND_GLOBAL.login_id,
102: decode(p_created_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
103: NULL, FND_GLOBAL.user_id, p_created_by),
104: decode(p_last_update_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
105: p_last_update_date),
106: decode(p_last_updated_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
107: NULL, FND_GLOBAL.user_id, p_last_updated_by),
108: decode(p_last_update_login, FND_API.G_MISS_NUM, FND_GLOBAL.login_id,
109: NULL, FND_GLOBAL.login_id, p_last_update_login)
110: );
104: decode(p_last_update_date, FND_API.G_MISS_DATE, sysdate, NULL, sysdate,
105: p_last_update_date),
106: decode(p_last_updated_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
107: NULL, FND_GLOBAL.user_id, p_last_updated_by),
108: decode(p_last_update_login, FND_API.G_MISS_NUM, FND_GLOBAL.login_id,
109: NULL, FND_GLOBAL.login_id, p_last_update_login)
110: );
111:
112: OPEN c;
126:
127: PROCEDURE update_row
128: (
129: p_mini_site_section_item_id IN NUMBER,
130: p_object_version_number IN NUMBER := FND_API.G_MISS_NUM,
131: p_start_date_active IN DATE,
132: p_end_date_active IN DATE,
133: p_last_update_date IN DATE,
134: p_last_updated_by IN NUMBER,
139:
140: -- update base
141: UPDATE jtf_dsp_msite_sct_items SET
142: object_version_number = object_version_number + 1,
143: start_date_active = decode(p_start_date_active, FND_API.G_MISS_DATE,
144: start_date_active, p_start_date_active),
145: end_date_active = decode(p_end_date_active, FND_API.G_MISS_DATE,
146: end_date_active, p_end_date_active),
147: last_update_date = decode(p_last_update_date, FND_API.G_MISS_DATE,
141: UPDATE jtf_dsp_msite_sct_items SET
142: object_version_number = object_version_number + 1,
143: start_date_active = decode(p_start_date_active, FND_API.G_MISS_DATE,
144: start_date_active, p_start_date_active),
145: end_date_active = decode(p_end_date_active, FND_API.G_MISS_DATE,
146: end_date_active, p_end_date_active),
147: last_update_date = decode(p_last_update_date, FND_API.G_MISS_DATE,
148: sysdate, NULL, sysdate, p_last_update_date),
149: last_updated_by = decode(p_last_updated_by, FND_API.G_MISS_NUM,
143: start_date_active = decode(p_start_date_active, FND_API.G_MISS_DATE,
144: start_date_active, p_start_date_active),
145: end_date_active = decode(p_end_date_active, FND_API.G_MISS_DATE,
146: end_date_active, p_end_date_active),
147: last_update_date = decode(p_last_update_date, FND_API.G_MISS_DATE,
148: sysdate, NULL, sysdate, p_last_update_date),
149: last_updated_by = decode(p_last_updated_by, FND_API.G_MISS_NUM,
150: FND_GLOBAL.user_id, NULL, FND_GLOBAL.user_id,
151: p_last_updated_by),
145: end_date_active = decode(p_end_date_active, FND_API.G_MISS_DATE,
146: end_date_active, p_end_date_active),
147: last_update_date = decode(p_last_update_date, FND_API.G_MISS_DATE,
148: sysdate, NULL, sysdate, p_last_update_date),
149: last_updated_by = decode(p_last_updated_by, FND_API.G_MISS_NUM,
150: FND_GLOBAL.user_id, NULL, FND_GLOBAL.user_id,
151: p_last_updated_by),
152: last_update_login = decode(p_last_update_login, FND_API.G_MISS_NUM,
153: FND_GLOBAL.login_id, NULL,
148: sysdate, NULL, sysdate, p_last_update_date),
149: last_updated_by = decode(p_last_updated_by, FND_API.G_MISS_NUM,
150: FND_GLOBAL.user_id, NULL, FND_GLOBAL.user_id,
151: p_last_updated_by),
152: last_update_login = decode(p_last_update_login, FND_API.G_MISS_NUM,
153: FND_GLOBAL.login_id, NULL,
154: FND_GLOBAL.login_id, p_last_update_login)
155: WHERE mini_site_section_item_id = p_mini_site_section_item_id
156: AND object_version_number = decode(p_object_version_number,
153: FND_GLOBAL.login_id, NULL,
154: FND_GLOBAL.login_id, p_last_update_login)
155: WHERE mini_site_section_item_id = p_mini_site_section_item_id
156: AND object_version_number = decode(p_object_version_number,
157: FND_API.G_MISS_NUM,
158: object_version_number,
159: p_object_version_number);
160:
161: IF (sql%NOTFOUND) THEN
203: -- PROCEDURE Check_Duplicate_Entry()
204: --*****************************************************************************
205:
206: --
207: -- x_return_status = FND_API.G_RET_STS_SUCCESS, if the section is duplicate
208: -- x_return_status = FND_API.G_RET_STS_ERROR, if the section is not duplicate
209: --
210: --
211: PROCEDURE Check_Duplicate_Entry
204: --*****************************************************************************
205:
206: --
207: -- x_return_status = FND_API.G_RET_STS_SUCCESS, if the section is duplicate
208: -- x_return_status = FND_API.G_RET_STS_ERROR, if the section is not duplicate
209: --
210: --
211: PROCEDURE Check_Duplicate_Entry
212: (
209: --
210: --
211: PROCEDURE Check_Duplicate_Entry
212: (
213: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
214: p_mini_site_id IN NUMBER,
215: p_section_item_id IN NUMBER,
216: x_return_status OUT VARCHAR2,
217: x_msg_count OUT NUMBER,
224: l_tmp_msite_sct_item_id NUMBER;
225: BEGIN
226:
227: -- Initialize message list if p_init_msg_list is set to TRUE.
228: IF FND_API.to_Boolean(p_init_msg_list) THEN
229: FND_MSG_PUB.initialize;
230: END IF;
231:
232: -- Initialize API return status to error, i.e, its not duplicate
229: FND_MSG_PUB.initialize;
230: END IF;
231:
232: -- Initialize API return status to error, i.e, its not duplicate
233: x_return_status := FND_API.G_RET_STS_ERROR;
234:
235: -- Check duplicate entry
236: BEGIN
237:
247: -- do nothing
248: NULL;
249:
250: WHEN OTHERS THEN
251: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
252:
253: END;
254:
255: IF (l_tmp_msite_sct_item_id IS NOT NULL) THEN
253: END;
254:
255: IF (l_tmp_msite_sct_item_id IS NOT NULL) THEN
256: -- found duplicate
257: RAISE FND_API.G_EXC_ERROR;
258: END IF;
259:
260: EXCEPTION
261:
258: END IF;
259:
260: EXCEPTION
261:
262: WHEN FND_API.G_EXC_ERROR THEN
263: x_return_status := FND_API.G_RET_STS_SUCCESS; -- found duplicate
264: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
265: p_data => x_msg_data,
266: p_encoded => 'F');
259:
260: EXCEPTION
261:
262: WHEN FND_API.G_EXC_ERROR THEN
263: x_return_status := FND_API.G_RET_STS_SUCCESS; -- found duplicate
264: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
265: p_data => x_msg_data,
266: p_encoded => 'F');
267:
264: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
265: p_data => x_msg_data,
266: p_encoded => 'F');
267:
268: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
269: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
270: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
271: p_data => x_msg_data,
272: p_encoded => 'F');
265: p_data => x_msg_data,
266: p_encoded => 'F');
267:
268: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
269: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
270: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
271: p_data => x_msg_data,
272: p_encoded => 'F');
273:
271: p_data => x_msg_data,
272: p_encoded => 'F');
273:
274: WHEN OTHERS THEN
275: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
276:
277: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
278: THEN
279: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
288:
289: --*****************************************************************************
290: -- PROCEDURE Validate_Create()
291: --*****************************************************************************
292: -- IF x_return_status := FND_API.G_RET_STS_ERROR, then invalid
293: -- IF x_return_status := FND_API.G_RET_STS_SUCCESS, then valid
294:
295: PROCEDURE Validate_Create
296: (
289: --*****************************************************************************
290: -- PROCEDURE Validate_Create()
291: --*****************************************************************************
292: -- IF x_return_status := FND_API.G_RET_STS_ERROR, then invalid
293: -- IF x_return_status := FND_API.G_RET_STS_SUCCESS, then valid
294:
295: PROCEDURE Validate_Create
296: (
297: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
293: -- IF x_return_status := FND_API.G_RET_STS_SUCCESS, then valid
294:
295: PROCEDURE Validate_Create
296: (
297: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
298: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
299: p_mini_site_id IN NUMBER,
300: p_section_item_id IN NUMBER,
301: p_start_date_active IN DATE,
294:
295: PROCEDURE Validate_Create
296: (
297: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
298: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
299: p_mini_site_id IN NUMBER,
300: p_section_item_id IN NUMBER,
301: p_start_date_active IN DATE,
302: p_end_date_active IN DATE,
316: l_return_status VARCHAR2(1);
317: BEGIN
318:
319: -- Initialize message list if p_init_msg_list is set to TRUE.
320: IF FND_API.to_Boolean(p_init_msg_list) THEN
321: FND_MSG_PUB.initialize;
322: END IF;
323:
324: -- Initialize API return status to success
321: FND_MSG_PUB.initialize;
322: END IF;
323:
324: -- Initialize API return status to success
325: x_return_status := FND_API.G_RET_STS_SUCCESS;
326:
327: --
328: -- Check null values for required fields
329: --
329: --
330:
331: -- mini site id
332: IF ((p_mini_site_id IS NULL) OR
333: (p_mini_site_id = FND_API.G_MISS_NUM))
334: THEN
335: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_INVALID_MSITE_ID');
336: FND_MSG_PUB.Add;
337: RAISE FND_API.G_EXC_ERROR;
333: (p_mini_site_id = FND_API.G_MISS_NUM))
334: THEN
335: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_INVALID_MSITE_ID');
336: FND_MSG_PUB.Add;
337: RAISE FND_API.G_EXC_ERROR;
338: END IF;
339:
340: -- section item id
341: IF ((p_section_item_id IS NULL) OR
338: END IF;
339:
340: -- section item id
341: IF ((p_section_item_id IS NULL) OR
342: (p_section_item_id = FND_API.G_MISS_NUM))
343: THEN
344: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_INVALID_SI_ID');
345: FND_MSG_PUB.Add;
346: RAISE FND_API.G_EXC_ERROR;
342: (p_section_item_id = FND_API.G_MISS_NUM))
343: THEN
344: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_INVALID_SI_ID');
345: FND_MSG_PUB.Add;
346: RAISE FND_API.G_EXC_ERROR;
347: END IF;
348:
349: -- start_date_active
350: IF ((p_start_date_active IS NULL) OR
347: END IF;
348:
349: -- start_date_active
350: IF ((p_start_date_active IS NULL) OR
351: (p_start_date_active = FND_API.G_MISS_DATE))
352: THEN
353: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_INVALID_START_DATE');
354: FND_MSG_PUB.Add;
355: RAISE FND_API.G_EXC_ERROR;
351: (p_start_date_active = FND_API.G_MISS_DATE))
352: THEN
353: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_INVALID_START_DATE');
354: FND_MSG_PUB.Add;
355: RAISE FND_API.G_EXC_ERROR;
356: END IF;
357:
358: --
359: -- Foreign key integrity constraint check
368: WHEN NO_DATA_FOUND THEN
369: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_SCT_NO_MSITE_ID');
370: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
371: FND_MSG_PUB.Add;
372: RAISE FND_API.G_EXC_ERROR;
373: WHEN OTHERS THEN
374: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_SCT_GET_MSITE_ID');
375: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
376: FND_MSG_PUB.Add;
373: WHEN OTHERS THEN
374: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_SCT_GET_MSITE_ID');
375: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
376: FND_MSG_PUB.Add;
377: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
378: END;
379:
380: -- section item id
381: -- note that section item id cannot be null due to previous checks
386: WHEN NO_DATA_FOUND THEN
387: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_SCT_NO_SI_ID');
388: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
389: FND_MSG_PUB.Add;
390: RAISE FND_API.G_EXC_ERROR;
391: WHEN OTHERS THEN
392: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_SCT_GET_SI_ID');
393: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
394: FND_MSG_PUB.Add;
391: WHEN OTHERS THEN
392: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_SCT_GET_SI_ID');
393: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
394: FND_MSG_PUB.Add;
395: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
396: END;
397:
398: -- Validate if the entry is duplicate
399: Check_Duplicate_Entry(p_init_msg_list => FND_API.G_FALSE,
395: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
396: END;
397:
398: -- Validate if the entry is duplicate
399: Check_Duplicate_Entry(p_init_msg_list => FND_API.G_FALSE,
400: p_mini_site_id => p_mini_site_id,
401: p_section_item_id => p_section_item_id,
402: x_return_status => l_return_status,
403: x_msg_count => l_msg_count,
402: x_return_status => l_return_status,
403: x_msg_count => l_msg_count,
404: x_msg_data => l_msg_data);
405:
406: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
408: ELSIF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
409: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_DUPLICATE_ENTRY');
410: FND_MSG_PUB.Add;
403: x_msg_count => l_msg_count,
404: x_msg_data => l_msg_data);
405:
406: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
408: ELSIF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
409: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_DUPLICATE_ENTRY');
410: FND_MSG_PUB.Add;
411: RAISE FND_API.G_EXC_ERROR; -- duplicate entry
404: x_msg_data => l_msg_data);
405:
406: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
408: ELSIF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
409: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_DUPLICATE_ENTRY');
410: FND_MSG_PUB.Add;
411: RAISE FND_API.G_EXC_ERROR; -- duplicate entry
412: END IF;
407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
408: ELSIF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
409: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_DUPLICATE_ENTRY');
410: FND_MSG_PUB.Add;
411: RAISE FND_API.G_EXC_ERROR; -- duplicate entry
412: END IF;
413:
414: EXCEPTION
415:
412: END IF;
413:
414: EXCEPTION
415:
416: WHEN FND_API.G_EXC_ERROR THEN
417: x_return_status := FND_API.G_RET_STS_ERROR;
418: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
419: p_data => x_msg_data,
420: p_encoded => 'F');
413:
414: EXCEPTION
415:
416: WHEN FND_API.G_EXC_ERROR THEN
417: x_return_status := FND_API.G_RET_STS_ERROR;
418: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
419: p_data => x_msg_data,
420: p_encoded => 'F');
421:
418: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
419: p_data => x_msg_data,
420: p_encoded => 'F');
421:
422: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
423: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
424: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
425: p_data => x_msg_data,
426: p_encoded => 'F');
419: p_data => x_msg_data,
420: p_encoded => 'F');
421:
422: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
423: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
424: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
425: p_data => x_msg_data,
426: p_encoded => 'F');
427:
425: p_data => x_msg_data,
426: p_encoded => 'F');
427:
428: WHEN OTHERS THEN
429: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
430:
431: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
432: THEN
433: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
442:
443: --*****************************************************************************
444: -- PROCEDURE Validate_Update()
445: --*****************************************************************************
446: -- IF x_return_status := FND_API.G_RET_STS_ERROR, then invalid
447: -- IF x_return_status := FND_API.G_RET_STS_SUCCESS, then valid
448:
449: PROCEDURE Validate_Update
450: (
443: --*****************************************************************************
444: -- PROCEDURE Validate_Update()
445: --*****************************************************************************
446: -- IF x_return_status := FND_API.G_RET_STS_ERROR, then invalid
447: -- IF x_return_status := FND_API.G_RET_STS_SUCCESS, then valid
448:
449: PROCEDURE Validate_Update
450: (
451: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
447: -- IF x_return_status := FND_API.G_RET_STS_SUCCESS, then valid
448:
449: PROCEDURE Validate_Update
450: (
451: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
452: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
453: p_mini_site_section_item_id IN NUMBER,
454: p_object_version_number IN NUMBER,
455: p_start_date_active IN DATE,
448:
449: PROCEDURE Validate_Update
450: (
451: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
452: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
453: p_mini_site_section_item_id IN NUMBER,
454: p_object_version_number IN NUMBER,
455: p_start_date_active IN DATE,
456: p_end_date_active IN DATE,
471:
472: BEGIN
473:
474: -- Initialize message list if p_init_msg_list is set to TRUE.
475: IF FND_API.to_Boolean(p_init_msg_list) THEN
476: FND_MSG_PUB.initialize;
477: END IF;
478:
479: -- Initialize API return status to success
476: FND_MSG_PUB.initialize;
477: END IF;
478:
479: -- Initialize API return status to success
480: x_return_status := FND_API.G_RET_STS_SUCCESS;
481:
482: --
483: -- Check null values for required fields
484: --
486: -- mini_site_section_item_id
487: IF (p_mini_site_section_item_id IS NULL) THEN
488: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NULL_PRIMARY_KEY');
489: FND_MSG_PUB.Add;
490: RAISE FND_API.G_EXC_ERROR;
491: END IF;
492:
493: -- start_date_active
494: IF (p_start_date_active IS NULL) THEN
493: -- start_date_active
494: IF (p_start_date_active IS NULL) THEN
495: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_INVALID_START_DATE');
496: FND_MSG_PUB.Add;
497: RAISE FND_API.G_EXC_ERROR;
498: END IF;
499:
500:
501: EXCEPTION
499:
500:
501: EXCEPTION
502:
503: WHEN FND_API.G_EXC_ERROR THEN
504: x_return_status := FND_API.G_RET_STS_ERROR;
505: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
506: p_data => x_msg_data,
507: p_encoded => 'F');
500:
501: EXCEPTION
502:
503: WHEN FND_API.G_EXC_ERROR THEN
504: x_return_status := FND_API.G_RET_STS_ERROR;
505: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
506: p_data => x_msg_data,
507: p_encoded => 'F');
508:
505: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
506: p_data => x_msg_data,
507: p_encoded => 'F');
508:
509: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
510: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
511: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
512: p_data => x_msg_data,
513: p_encoded => 'F');
506: p_data => x_msg_data,
507: p_encoded => 'F');
508:
509: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
510: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
511: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
512: p_data => x_msg_data,
513: p_encoded => 'F');
514:
512: p_data => x_msg_data,
513: p_encoded => 'F');
514:
515: WHEN OTHERS THEN
516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
517:
518: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
519: THEN
520: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
532:
533: PROCEDURE Create_MSite_Section_Item
534: (
535: p_api_version IN NUMBER,
536: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
537: p_commit IN VARCHAR2 := FND_API.G_FALSE,
538: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
539: p_mini_site_id IN NUMBER,
540: p_section_item_id IN NUMBER,
533: PROCEDURE Create_MSite_Section_Item
534: (
535: p_api_version IN NUMBER,
536: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
537: p_commit IN VARCHAR2 := FND_API.G_FALSE,
538: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
539: p_mini_site_id IN NUMBER,
540: p_section_item_id IN NUMBER,
541: p_start_date_active IN DATE,
534: (
535: p_api_version IN NUMBER,
536: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
537: p_commit IN VARCHAR2 := FND_API.G_FALSE,
538: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
539: p_mini_site_id IN NUMBER,
540: p_section_item_id IN NUMBER,
541: p_start_date_active IN DATE,
542: p_end_date_active IN DATE := FND_API.G_MISS_DATE,
538: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
539: p_mini_site_id IN NUMBER,
540: p_section_item_id IN NUMBER,
541: p_start_date_active IN DATE,
542: p_end_date_active IN DATE := FND_API.G_MISS_DATE,
543: x_mini_site_section_item_id OUT NUMBER,
544: x_return_status OUT VARCHAR2,
545: x_msg_count OUT NUMBER,
546: x_msg_data OUT VARCHAR2
561: -- Standard Start of API savepoint
562: SAVEPOINT CREATE_MSITE_SCT_ITEM_PVT;
563:
564: -- Standard call to check for call compatibility.
565: IF NOT FND_API.Compatible_API_Call(l_api_version,
566: p_api_version,
567: l_api_name,
568: G_PKG_NAME)
569: THEN
566: p_api_version,
567: l_api_name,
568: G_PKG_NAME)
569: THEN
570: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
571: END IF;
572:
573: -- Initialize message list if p_init_msg_list is set to TRUE.
574: IF FND_API.to_Boolean(p_init_msg_list) THEN
570: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
571: END IF;
572:
573: -- Initialize message list if p_init_msg_list is set to TRUE.
574: IF FND_API.to_Boolean(p_init_msg_list) THEN
575: FND_MSG_PUB.initialize;
576: END IF;
577:
578: -- Initialize API return status to success
575: FND_MSG_PUB.initialize;
576: END IF;
577:
578: -- Initialize API return status to success
579: x_return_status := FND_API.G_RET_STS_SUCCESS;
580:
581: -- API body
582: -- CALL FLOW :
583: -- 1. Validate
588: -- 1. Validate
589: --
590: Validate_Create
591: (
592: p_init_msg_list => FND_API.G_FALSE,
593: p_validation_level => p_validation_level,
594: p_mini_site_id => p_mini_site_id,
595: p_section_item_id => p_section_item_id,
596: p_start_date_active => p_start_date_active,
599: x_msg_count => l_msg_count,
600: x_msg_data => l_msg_data
601: );
602:
603: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
605: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
606: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INVALID_CREATE');
607: FND_MSG_PUB.Add;
600: x_msg_data => l_msg_data
601: );
602:
603: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
605: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
606: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INVALID_CREATE');
607: FND_MSG_PUB.Add;
608: RAISE FND_API.G_EXC_ERROR; -- invalid
601: );
602:
603: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
605: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
606: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INVALID_CREATE');
607: FND_MSG_PUB.Add;
608: RAISE FND_API.G_EXC_ERROR; -- invalid
609: END IF;
604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
605: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
606: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INVALID_CREATE');
607: FND_MSG_PUB.Add;
608: RAISE FND_API.G_EXC_ERROR; -- invalid
609: END IF;
610:
611: --
612: -- 2. Insert row
613: --
614: BEGIN
615: insert_row
616: (
617: FND_API.G_MISS_NUM,
618: l_object_version_number,
619: p_mini_site_id,
620: p_section_item_id,
621: p_start_date_active,
631: EXCEPTION
632: WHEN NO_DATA_FOUND THEN
633: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INSERT_FAIL');
634: FND_MSG_PUB.Add;
635: RAISE FND_API.G_EXC_ERROR;
636: WHEN OTHERS THEN
637: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INSERT_FAIL');
638: FND_MSG_PUB.Add;
639: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
635: RAISE FND_API.G_EXC_ERROR;
636: WHEN OTHERS THEN
637: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INSERT_FAIL');
638: FND_MSG_PUB.Add;
639: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
640: END;
641:
642: --
643: -- End of main API body.
642: --
643: -- End of main API body.
644:
645: -- Standard check of p_commit.
646: IF (FND_API.To_Boolean(p_commit)) THEN
647: COMMIT WORK;
648: END IF;
649:
650: -- Standard call to get message count and if count is 1, get message info.
653: p_encoded => 'F');
654:
655: EXCEPTION
656:
657: WHEN FND_API.G_EXC_ERROR THEN
658: ROLLBACK TO CREATE_MSITE_SCT_ITEM_PVT;
659: x_return_status := FND_API.G_RET_STS_ERROR;
660: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
661: p_data => x_msg_data,
655: EXCEPTION
656:
657: WHEN FND_API.G_EXC_ERROR THEN
658: ROLLBACK TO CREATE_MSITE_SCT_ITEM_PVT;
659: x_return_status := FND_API.G_RET_STS_ERROR;
660: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
661: p_data => x_msg_data,
662: p_encoded => 'F');
663:
660: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
661: p_data => x_msg_data,
662: p_encoded => 'F');
663:
664: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
665: ROLLBACK TO CREATE_MSITE_SCT_ITEM_PVT;
666: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
667: FND_MESSAGE.Set_Token('ROUTINE', l_api_name || 'xxx');
668: FND_MESSAGE.Set_Token('ERRNO', SQLCODE);
667: FND_MESSAGE.Set_Token('ROUTINE', l_api_name || 'xxx');
668: FND_MESSAGE.Set_Token('ERRNO', SQLCODE);
669: FND_MESSAGE.Set_Token('REASON', p_mini_site_id || ':' || p_section_item_id);
670: FND_MSG_PUB.Add;
671: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
672: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
673: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
674: p_data => x_msg_data,
675: p_encoded => 'F');
668: FND_MESSAGE.Set_Token('ERRNO', SQLCODE);
669: FND_MESSAGE.Set_Token('REASON', p_mini_site_id || ':' || p_section_item_id);
670: FND_MSG_PUB.Add;
671: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
672: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
673: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
674: p_data => x_msg_data,
675: p_encoded => 'F');
676:
675: p_encoded => 'F');
676:
677: WHEN OTHERS THEN
678: ROLLBACK TO CREATE_MSITE_SCT_ITEM_PVT;
679: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
680:
681: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
682: THEN
683: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
691:
692: PROCEDURE Update_MSite_Section_Item
693: (
694: p_api_version IN NUMBER,
695: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
696: p_commit IN VARCHAR2 := FND_API.G_FALSE,
697: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
698: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
699: p_object_version_number IN NUMBER,
692: PROCEDURE Update_MSite_Section_Item
693: (
694: p_api_version IN NUMBER,
695: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
696: p_commit IN VARCHAR2 := FND_API.G_FALSE,
697: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
698: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
699: p_object_version_number IN NUMBER,
700: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
693: (
694: p_api_version IN NUMBER,
695: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
696: p_commit IN VARCHAR2 := FND_API.G_FALSE,
697: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
698: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
699: p_object_version_number IN NUMBER,
700: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
701: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
694: p_api_version IN NUMBER,
695: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
696: p_commit IN VARCHAR2 := FND_API.G_FALSE,
697: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
698: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
699: p_object_version_number IN NUMBER,
700: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
701: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
702: p_start_date_active IN DATE := FND_API.G_MISS_DATE,
696: p_commit IN VARCHAR2 := FND_API.G_FALSE,
697: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
698: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
699: p_object_version_number IN NUMBER,
700: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
701: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
702: p_start_date_active IN DATE := FND_API.G_MISS_DATE,
703: p_end_date_active IN DATE := FND_API.G_MISS_DATE,
704: x_return_status OUT VARCHAR2,
697: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
698: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
699: p_object_version_number IN NUMBER,
700: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
701: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
702: p_start_date_active IN DATE := FND_API.G_MISS_DATE,
703: p_end_date_active IN DATE := FND_API.G_MISS_DATE,
704: x_return_status OUT VARCHAR2,
705: x_msg_count OUT NUMBER,
698: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
699: p_object_version_number IN NUMBER,
700: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
701: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
702: p_start_date_active IN DATE := FND_API.G_MISS_DATE,
703: p_end_date_active IN DATE := FND_API.G_MISS_DATE,
704: x_return_status OUT VARCHAR2,
705: x_msg_count OUT NUMBER,
706: x_msg_data OUT VARCHAR2
699: p_object_version_number IN NUMBER,
700: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
701: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
702: p_start_date_active IN DATE := FND_API.G_MISS_DATE,
703: p_end_date_active IN DATE := FND_API.G_MISS_DATE,
704: x_return_status OUT VARCHAR2,
705: x_msg_count OUT NUMBER,
706: x_msg_data OUT VARCHAR2
707: )
719: -- Standard Start of API savepoint
720: SAVEPOINT UPDATE_MSITE_SCT_ITEM_PVT;
721:
722: -- Standard call to check for call compatibility.
723: IF NOT FND_API.Compatible_API_Call(l_api_version,
724: p_api_version,
725: l_api_name,
726: G_PKG_NAME)
727: THEN
724: p_api_version,
725: l_api_name,
726: G_PKG_NAME)
727: THEN
728: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
729: END IF;
730:
731: -- Initialize message list if p_init_msg_list is set to TRUE.
732: IF FND_API.to_Boolean(p_init_msg_list) THEN
728: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
729: END IF;
730:
731: -- Initialize message list if p_init_msg_list is set to TRUE.
732: IF FND_API.to_Boolean(p_init_msg_list) THEN
733: FND_MSG_PUB.initialize;
734: END IF;
735:
736: -- Initialize API return status to success
733: FND_MSG_PUB.initialize;
734: END IF;
735:
736: -- Initialize API return status to success
737: x_return_status := FND_API.G_RET_STS_SUCCESS;
738:
739: -- API body
740: -- CALL FLOW :
741: -- 1. Check if either mini_site_section_item_id or combination of
745:
746: -- 1. Check if either mini_site_section_item_id or combination of
747: -- mini_site_id, section_item_id is specified
748: IF ((p_mini_site_section_item_id IS NOT NULL) AND
749: (p_mini_site_section_item_id <> FND_API.G_MISS_NUM))
750: THEN
751: -- mini_site_section_item_id specified, continue
752: l_msite_sct_item_id := p_mini_site_section_item_id;
753: ELSIF ((p_mini_site_id IS NOT NULL) AND
750: THEN
751: -- mini_site_section_item_id specified, continue
752: l_msite_sct_item_id := p_mini_site_section_item_id;
753: ELSIF ((p_mini_site_id IS NOT NULL) AND
754: (p_mini_site_id <> FND_API.G_MISS_NUM) AND
755: (p_section_item_id IS NOT NULL) AND
756: (p_section_item_id <> FND_API.G_MISS_NUM))
757: THEN
758: -- If combination of mini_site_id and section_item_id
752: l_msite_sct_item_id := p_mini_site_section_item_id;
753: ELSIF ((p_mini_site_id IS NOT NULL) AND
754: (p_mini_site_id <> FND_API.G_MISS_NUM) AND
755: (p_section_item_id IS NOT NULL) AND
756: (p_section_item_id <> FND_API.G_MISS_NUM))
757: THEN
758: -- If combination of mini_site_id and section_item_id
759: -- is specified, then query for mini_site_section_item_id
760: BEGIN
769: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NO_MSI_ID');
770: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
771: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
772: FND_MSG_PUB.Add;
773: RAISE FND_API.G_EXC_ERROR;
774: WHEN OTHERS THEN
775: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NO_MSI_ID');
776: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
777: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
775: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NO_MSI_ID');
776: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
777: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
778: FND_MSG_PUB.Add;
779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
780: END;
781: ELSE
782: -- neither mini_site_section_item_id nor combination of
783: -- mini_site_id and section_item_id is specified
782: -- neither mini_site_section_item_id nor combination of
783: -- mini_site_id and section_item_id is specified
784: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NO_MSI_IDS_SPEC');
785: FND_MSG_PUB.Add;
786: RAISE FND_API.G_EXC_ERROR;
787: END IF;
788:
789: --
790: -- 1. Validate the input data
790: -- 1. Validate the input data
791: --
792: Validate_Update
793: (
794: p_init_msg_list => FND_API.G_FALSE,
795: p_validation_level => p_validation_level,
796: p_mini_site_section_item_id => l_msite_sct_item_id,
797: p_object_version_number => p_object_version_number,
798: p_start_date_active => p_start_date_active,
801: x_msg_count => l_msg_count,
802: x_msg_data => l_msg_data
803: );
804:
805: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
808: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INVALID_UPDATE');
809: FND_MSG_PUB.Add;
802: x_msg_data => l_msg_data
803: );
804:
805: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
808: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INVALID_UPDATE');
809: FND_MSG_PUB.Add;
810: RAISE FND_API.G_EXC_ERROR; -- invalid
803: );
804:
805: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
808: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INVALID_UPDATE');
809: FND_MSG_PUB.Add;
810: RAISE FND_API.G_EXC_ERROR; -- invalid
811: END IF;
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
808: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_INVALID_UPDATE');
809: FND_MSG_PUB.Add;
810: RAISE FND_API.G_EXC_ERROR; -- invalid
811: END IF;
812:
813: -- 2. update row
814: BEGIN
825: EXCEPTION
826: WHEN NO_DATA_FOUND THEN
827: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_UPDATE_FAIL');
828: FND_MSG_PUB.Add;
829: RAISE FND_API.G_EXC_ERROR;
830: WHEN OTHERS THEN
831: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_UPDATE_FAIL');
832: FND_MSG_PUB.Add;
833: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
829: RAISE FND_API.G_EXC_ERROR;
830: WHEN OTHERS THEN
831: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_MSI_UPDATE_FAIL');
832: FND_MSG_PUB.Add;
833: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
834: END;
835:
836: --
837: -- End of main API body.
836: --
837: -- End of main API body.
838:
839: -- Standard check of p_commit.
840: IF (FND_API.To_Boolean(p_commit)) THEN
841: COMMIT WORK;
842: END IF;
843:
844: -- Standard call to get message count and if count is 1, get message info.
847: p_encoded => 'F');
848:
849: EXCEPTION
850:
851: WHEN FND_API.G_EXC_ERROR THEN
852: ROLLBACK TO UPDATE_MSITE_SCT_ITEM_PVT;
853: x_return_status := FND_API.G_RET_STS_ERROR;
854: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
855: p_data => x_msg_data,
849: EXCEPTION
850:
851: WHEN FND_API.G_EXC_ERROR THEN
852: ROLLBACK TO UPDATE_MSITE_SCT_ITEM_PVT;
853: x_return_status := FND_API.G_RET_STS_ERROR;
854: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
855: p_data => x_msg_data,
856: p_encoded => 'F');
857:
854: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
855: p_data => x_msg_data,
856: p_encoded => 'F');
857:
858: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
859: ROLLBACK TO UPDATE_MSITE_SCT_ITEM_PVT;
860: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
861: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
862: p_data => x_msg_data,
856: p_encoded => 'F');
857:
858: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
859: ROLLBACK TO UPDATE_MSITE_SCT_ITEM_PVT;
860: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
861: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
862: p_data => x_msg_data,
863: p_encoded => 'F');
864:
863: p_encoded => 'F');
864:
865: WHEN OTHERS THEN
866: ROLLBACK TO UPDATE_MSITE_SCT_ITEM_PVT;
867: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
868:
869: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
870: THEN
871: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
880:
881: PROCEDURE Delete_MSite_Section_Item
882: (
883: p_api_version IN NUMBER,
884: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
885: p_commit IN VARCHAR2 := FND_API.G_FALSE,
886: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
887: p_call_from_trigger IN BOOLEAN := FALSE,
888: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
881: PROCEDURE Delete_MSite_Section_Item
882: (
883: p_api_version IN NUMBER,
884: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
885: p_commit IN VARCHAR2 := FND_API.G_FALSE,
886: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
887: p_call_from_trigger IN BOOLEAN := FALSE,
888: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
889: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
882: (
883: p_api_version IN NUMBER,
884: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
885: p_commit IN VARCHAR2 := FND_API.G_FALSE,
886: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
887: p_call_from_trigger IN BOOLEAN := FALSE,
888: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
889: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
890: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
884: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
885: p_commit IN VARCHAR2 := FND_API.G_FALSE,
886: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
887: p_call_from_trigger IN BOOLEAN := FALSE,
888: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
889: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
890: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
891: x_return_status OUT VARCHAR2,
892: x_msg_count OUT NUMBER,
885: p_commit IN VARCHAR2 := FND_API.G_FALSE,
886: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
887: p_call_from_trigger IN BOOLEAN := FALSE,
888: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
889: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
890: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
891: x_return_status OUT VARCHAR2,
892: x_msg_count OUT NUMBER,
893: x_msg_data OUT VARCHAR2
886: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
887: p_call_from_trigger IN BOOLEAN := FALSE,
888: p_mini_site_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
889: p_mini_site_id IN NUMBER := FND_API.G_MISS_NUM,
890: p_section_item_id IN NUMBER := FND_API.G_MISS_NUM,
891: x_return_status OUT VARCHAR2,
892: x_msg_count OUT NUMBER,
893: x_msg_data OUT VARCHAR2
894: )
904: SAVEPOINT DELETE_MSITE_SCT_ITEM_PVT;
905: END IF;
906:
907: -- Standard call to check for call compatibility.
908: IF NOT FND_API.Compatible_API_Call(l_api_version,
909: p_api_version,
910: l_api_name,
911: G_PKG_NAME)
912: THEN
909: p_api_version,
910: l_api_name,
911: G_PKG_NAME)
912: THEN
913: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
914: END IF;
915:
916: -- Initialize message list if p_init_msg_list is set to TRUE.
917: IF FND_API.to_Boolean(p_init_msg_list) THEN
913: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
914: END IF;
915:
916: -- Initialize message list if p_init_msg_list is set to TRUE.
917: IF FND_API.to_Boolean(p_init_msg_list) THEN
918: FND_MSG_PUB.initialize;
919: END IF;
920:
921: -- Initialize API return status to success
918: FND_MSG_PUB.initialize;
919: END IF;
920:
921: -- Initialize API return status to success
922: x_return_status := FND_API.G_RET_STS_SUCCESS;
923:
924: -- CALL FLOW
925: -- 1. If mini_site_section_item_id specified, delete all references for it
926: -- 2. If combination of mini_site_id and section_item_id is specified, then
927: -- query for mini_site_section_item_id and delete all references
928:
929: -- 1. If mini_site_section_item_id specified, delete all references for it
930: IF ((p_mini_site_section_item_id IS NOT NULL) AND
931: (p_mini_site_section_item_id <> FND_API.G_MISS_NUM))
932: THEN
933: -- mini_site_section_item_id specified, continue
934: l_msite_sct_item_id := p_mini_site_section_item_id;
935: ELSIF ((p_mini_site_id IS NOT NULL) AND
932: THEN
933: -- mini_site_section_item_id specified, continue
934: l_msite_sct_item_id := p_mini_site_section_item_id;
935: ELSIF ((p_mini_site_id IS NOT NULL) AND
936: (p_mini_site_id <> FND_API.G_MISS_NUM) AND
937: (p_section_item_id IS NOT NULL) AND
938: (p_section_item_id <> FND_API.G_MISS_NUM))
939: THEN
940: -- If combination of mini_site_id and section_item_id is specified, then
934: l_msite_sct_item_id := p_mini_site_section_item_id;
935: ELSIF ((p_mini_site_id IS NOT NULL) AND
936: (p_mini_site_id <> FND_API.G_MISS_NUM) AND
937: (p_section_item_id IS NOT NULL) AND
938: (p_section_item_id <> FND_API.G_MISS_NUM))
939: THEN
940: -- If combination of mini_site_id and section_item_id is specified, then
941: -- query for mini_site_section_item_id
942: BEGIN
951: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NO_MSI_ID');
952: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
953: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
954: FND_MSG_PUB.Add;
955: RAISE FND_API.G_EXC_ERROR;
956: WHEN OTHERS THEN
957: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NO_MSI_ID');
958: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
959: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
957: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NO_MSI_ID');
958: FND_MESSAGE.Set_Token('MINI_SITE_ID', p_mini_site_id);
959: FND_MESSAGE.Set_Token('SECTION_ITEM_ID', p_section_item_id);
960: FND_MSG_PUB.Add;
961: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
962: END;
963:
964: ELSE
965: -- neither mini_site_section_item_id nor combination of
965: -- neither mini_site_section_item_id nor combination of
966: -- mini_site_id and section_item_id is specified
967: FND_MESSAGE.Set_Name('JTF', 'JTF_DSP_NO_MSI_IDS_SPEC');
968: FND_MSG_PUB.Add;
969: RAISE FND_API.G_EXC_ERROR;
970: END IF;
971:
972: -- delete row
973: delete_row(l_msite_sct_item_id);
973: delete_row(l_msite_sct_item_id);
974:
975: EXCEPTION
976:
977: WHEN FND_API.G_EXC_ERROR THEN
978: IF (p_call_from_trigger = FALSE) THEN
979: ROLLBACK TO DELETE_MSITE_SCT_ITEM_PVT;
980: END IF;
981: x_return_status := FND_API.G_RET_STS_ERROR;
977: WHEN FND_API.G_EXC_ERROR THEN
978: IF (p_call_from_trigger = FALSE) THEN
979: ROLLBACK TO DELETE_MSITE_SCT_ITEM_PVT;
980: END IF;
981: x_return_status := FND_API.G_RET_STS_ERROR;
982: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
983: p_data => x_msg_data,
984: p_encoded => 'F');
985:
982: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
983: p_data => x_msg_data,
984: p_encoded => 'F');
985:
986: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
987: IF (p_call_from_trigger = FALSE) THEN
988: ROLLBACK TO DELETE_MSITE_SCT_ITEM_PVT;
989: END IF;
990: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
986: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
987: IF (p_call_from_trigger = FALSE) THEN
988: ROLLBACK TO DELETE_MSITE_SCT_ITEM_PVT;
989: END IF;
990: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
991: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
992: p_data => x_msg_data,
993: p_encoded => 'F');
994:
995: WHEN OTHERS THEN
996: IF (p_call_from_trigger = FALSE) THEN
997: ROLLBACK TO DELETE_MSITE_SCT_ITEM_PVT;
998: END IF;
999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1000:
1001: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
1002: THEN
1003: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );