33:
34: IF (l_schema is null) THEN
35: fnd_message.set_name('CN', 'CN_TBL_NO_SUCH_SCH');
36: fnd_msg_pub.ADD;
37: RAISE fnd_api.g_exc_error;
38: END IF;
39:
40:
41: OPEN l_table_csr;
44:
45: IF (l_table is null) THEN
46: fnd_message.set_name('CN', 'CN_TBL_NO_SUCH_TBL');
47: fnd_msg_pub.ADD;
48: RAISE fnd_api.g_exc_error;
49: END IF;
50: END IF;
51:
52: IF (p_table_rec.calc_eligible_flag <> 'Y' AND
53: p_table_rec.calc_eligible_flag <> 'C' AND
54: p_table_rec.calc_eligible_flag <> 'N') THEN
55: fnd_message.set_name('CN', 'CN_TBL_INC_CALC_FLAG');
56: fnd_msg_pub.ADD;
57: RAISE fnd_api.g_exc_error;
58: END IF;
59: END check_table_rec;
60: --}}}
61:
68: -- Pre-reqs : None.
69: -- Parameters :
70: -- IN : p_api_version IN NUMBER Required
71: -- p_init_msg_list IN VARCHAR2 Optional
72: -- Default = FND_API.G_FALSE
73: -- p_commit IN VARCHAR2 Optional
74: -- Default = FND_API.G_FALSE
75: -- p_validation_level IN NUMBER Optional
76: -- Default = FND_API.G_VALID_LEVEL_FULL
70: -- IN : p_api_version IN NUMBER Required
71: -- p_init_msg_list IN VARCHAR2 Optional
72: -- Default = FND_API.G_FALSE
73: -- p_commit IN VARCHAR2 Optional
74: -- Default = FND_API.G_FALSE
75: -- p_validation_level IN NUMBER Optional
76: -- Default = FND_API.G_VALID_LEVEL_FULL
77: -- p_table_rec IN table_rec_type Required
78: -- OUT : x_return_status OUT VARCHAR2(1)
72: -- Default = FND_API.G_FALSE
73: -- p_commit IN VARCHAR2 Optional
74: -- Default = FND_API.G_FALSE
75: -- p_validation_level IN NUMBER Optional
76: -- Default = FND_API.G_VALID_LEVEL_FULL
77: -- p_table_rec IN table_rec_type Required
78: -- OUT : x_return_status OUT VARCHAR2(1)
79: -- x_msg_count OUT NUMBER
80: -- x_msg_data OUT VARCHAR2(2000)
86: --
87: -- End of comments
88: PROCEDURE Create_Table
89: (p_api_version IN NUMBER ,
90: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
91: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
92: p_validation_level IN NUMBER :=
93: FND_API.G_VALID_LEVEL_FULL ,
94: p_table_rec IN OUT NOCOPY table_rec_type ,
87: -- End of comments
88: PROCEDURE Create_Table
89: (p_api_version IN NUMBER ,
90: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
91: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
92: p_validation_level IN NUMBER :=
93: FND_API.G_VALID_LEVEL_FULL ,
94: p_table_rec IN OUT NOCOPY table_rec_type ,
95: x_return_status OUT NOCOPY VARCHAR2 ,
89: (p_api_version IN NUMBER ,
90: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
91: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
92: p_validation_level IN NUMBER :=
93: FND_API.G_VALID_LEVEL_FULL ,
94: p_table_rec IN OUT NOCOPY table_rec_type ,
95: x_return_status OUT NOCOPY VARCHAR2 ,
96: x_msg_count OUT NOCOPY NUMBER ,
97: x_msg_data OUT NOCOPY VARCHAR2 ) IS
122: BEGIN
123: -- Standard Start of API savepoint
124: SAVEPOINT create_table_pvt;
125: -- Standard call to check for call compatibility.
126: IF NOT FND_API.Compatible_API_Call
127: (l_api_version ,
128: p_api_version ,
129: l_api_name ,
130: G_PKG_NAME )
128: p_api_version ,
129: l_api_name ,
130: G_PKG_NAME )
131: THEN
132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
133: END IF;
134: -- Initialize message list if p_init_msg_list is set to TRUE.
135: IF FND_API.to_Boolean( p_init_msg_list ) THEN
136: FND_MSG_PUB.initialize;
131: THEN
132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
133: END IF;
134: -- Initialize message list if p_init_msg_list is set to TRUE.
135: IF FND_API.to_Boolean( p_init_msg_list ) THEN
136: FND_MSG_PUB.initialize;
137: END IF;
138: -- Initialize API return status to success
139: x_return_status := FND_API.G_RET_STS_SUCCESS;
135: IF FND_API.to_Boolean( p_init_msg_list ) THEN
136: FND_MSG_PUB.initialize;
137: END IF;
138: -- Initialize API return status to success
139: x_return_status := FND_API.G_RET_STS_SUCCESS;
140: -- API body
141: OPEN l_repository_csr;
142: FETCH l_repository_csr INTO l_repository_id;
143: CLOSE l_repository_csr;
192: , p_table_rec => l_table_rec);
193:
194: -- End of API body.
195: -- Standard check of p_commit.
196: IF FND_API.To_Boolean( p_commit ) THEN
197: COMMIT WORK;
198: END IF;
199: -- Standard call to get message count and if count is 1, get message info.
200: FND_MSG_PUB.Count_And_Get
199: -- Standard call to get message count and if count is 1, get message info.
200: FND_MSG_PUB.Count_And_Get
201: (p_count => x_msg_count ,
202: p_data => x_msg_data ,
203: p_encoded => FND_API.G_FALSE );
204: EXCEPTION
205: WHEN FND_API.G_EXC_ERROR THEN
206: ROLLBACK TO create_table_pvt;
207: x_return_status := FND_API.G_RET_STS_ERROR ;
201: (p_count => x_msg_count ,
202: p_data => x_msg_data ,
203: p_encoded => FND_API.G_FALSE );
204: EXCEPTION
205: WHEN FND_API.G_EXC_ERROR THEN
206: ROLLBACK TO create_table_pvt;
207: x_return_status := FND_API.G_RET_STS_ERROR ;
208: FND_MSG_PUB.Count_And_Get
209: (p_count => x_msg_count ,
203: p_encoded => FND_API.G_FALSE );
204: EXCEPTION
205: WHEN FND_API.G_EXC_ERROR THEN
206: ROLLBACK TO create_table_pvt;
207: x_return_status := FND_API.G_RET_STS_ERROR ;
208: FND_MSG_PUB.Count_And_Get
209: (p_count => x_msg_count ,
210: p_data => x_msg_data ,
211: p_encoded => FND_API.G_FALSE );
207: x_return_status := FND_API.G_RET_STS_ERROR ;
208: FND_MSG_PUB.Count_And_Get
209: (p_count => x_msg_count ,
210: p_data => x_msg_data ,
211: p_encoded => FND_API.G_FALSE );
212: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
213: ROLLBACK TO create_table_pvt;
214: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
215: FND_MSG_PUB.Count_And_Get
208: FND_MSG_PUB.Count_And_Get
209: (p_count => x_msg_count ,
210: p_data => x_msg_data ,
211: p_encoded => FND_API.G_FALSE );
212: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
213: ROLLBACK TO create_table_pvt;
214: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
215: FND_MSG_PUB.Count_And_Get
216: (p_count => x_msg_count ,
210: p_data => x_msg_data ,
211: p_encoded => FND_API.G_FALSE );
212: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
213: ROLLBACK TO create_table_pvt;
214: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
215: FND_MSG_PUB.Count_And_Get
216: (p_count => x_msg_count ,
217: p_data => x_msg_data ,
218: p_encoded => FND_API.G_FALSE );
214: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
215: FND_MSG_PUB.Count_And_Get
216: (p_count => x_msg_count ,
217: p_data => x_msg_data ,
218: p_encoded => FND_API.G_FALSE );
219: WHEN OTHERS THEN
220: ROLLBACK TO create_table_pvt;
221: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
222: IF FND_MSG_PUB.Check_Msg_Level
217: p_data => x_msg_data ,
218: p_encoded => FND_API.G_FALSE );
219: WHEN OTHERS THEN
220: ROLLBACK TO create_table_pvt;
221: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
222: IF FND_MSG_PUB.Check_Msg_Level
223: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
224: THEN
225: FND_MSG_PUB.Add_Exc_Msg
228: END IF;
229: FND_MSG_PUB.Count_And_Get
230: (p_count => x_msg_count ,
231: p_data => x_msg_data ,
232: p_encoded => FND_API.G_FALSE );
233: END Create_Table;
234: --}}}
235:
236: --{{{ Update_Table
241: -- Pre-reqs : None.
242: -- Parameters :
243: -- IN : p_api_version IN NUMBER Required
244: -- p_init_msg_list IN VARCHAR2 Optional
245: -- Default = FND_API.G_FALSE
246: -- p_commit IN VARCHAR2 Optional
247: -- Default = FND_API.G_FALSE
248: -- p_validation_level IN NUMBER Optional
249: -- Default = FND_API.G_VALID_LEVEL_FULL
243: -- IN : p_api_version IN NUMBER Required
244: -- p_init_msg_list IN VARCHAR2 Optional
245: -- Default = FND_API.G_FALSE
246: -- p_commit IN VARCHAR2 Optional
247: -- Default = FND_API.G_FALSE
248: -- p_validation_level IN NUMBER Optional
249: -- Default = FND_API.G_VALID_LEVEL_FULL
250: -- p_table_rec IN table_rec_type Required
251: -- OUT : x_return_status OUT VARCHAR2(1)
245: -- Default = FND_API.G_FALSE
246: -- p_commit IN VARCHAR2 Optional
247: -- Default = FND_API.G_FALSE
248: -- p_validation_level IN NUMBER Optional
249: -- Default = FND_API.G_VALID_LEVEL_FULL
250: -- p_table_rec IN table_rec_type Required
251: -- OUT : x_return_status OUT VARCHAR2(1)
252: -- x_msg_count OUT NUMBER
253: -- x_msg_data OUT VARCHAR2(2000)
260:
261:
262: PROCEDURE Update_Table
263: (p_api_version IN NUMBER ,
264: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
265: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
266: p_validation_level IN NUMBER :=
267: FND_API.G_VALID_LEVEL_FULL ,
268: p_table_rec IN OUT NOCOPY table_rec_type ,
261:
262: PROCEDURE Update_Table
263: (p_api_version IN NUMBER ,
264: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
265: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
266: p_validation_level IN NUMBER :=
267: FND_API.G_VALID_LEVEL_FULL ,
268: p_table_rec IN OUT NOCOPY table_rec_type ,
269: x_return_status OUT NOCOPY VARCHAR2 ,
263: (p_api_version IN NUMBER ,
264: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
265: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
266: p_validation_level IN NUMBER :=
267: FND_API.G_VALID_LEVEL_FULL ,
268: p_table_rec IN OUT NOCOPY table_rec_type ,
269: x_return_status OUT NOCOPY VARCHAR2 ,
270: x_msg_count OUT NOCOPY NUMBER ,
271: x_msg_data OUT NOCOPY VARCHAR2 ) IS
296: BEGIN
297: -- Standard Start of API savepoint
298: SAVEPOINT update_table_pvt;
299: -- Standard call to check for call compatibility.
300: IF NOT FND_API.Compatible_API_Call
301: (l_api_version ,
302: p_api_version ,
303: l_api_name ,
304: G_PKG_NAME )
302: p_api_version ,
303: l_api_name ,
304: G_PKG_NAME )
305: THEN
306: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
307: END IF;
308: -- Initialize message list if p_init_msg_list is set to TRUE.
309: IF FND_API.to_Boolean( p_init_msg_list ) THEN
310: FND_MSG_PUB.initialize;
305: THEN
306: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
307: END IF;
308: -- Initialize message list if p_init_msg_list is set to TRUE.
309: IF FND_API.to_Boolean( p_init_msg_list ) THEN
310: FND_MSG_PUB.initialize;
311: END IF;
312: -- Initialize API return status to success
313: x_return_status := FND_API.G_RET_STS_SUCCESS;
309: IF FND_API.to_Boolean( p_init_msg_list ) THEN
310: FND_MSG_PUB.initialize;
311: END IF;
312: -- Initialize API return status to success
313: x_return_status := FND_API.G_RET_STS_SUCCESS;
314: -- API body
315: /* seeded tables can be updated
316: if (p_table_rec.object_id < 0) then
317: fnd_message.set_name('CN', 'CN_SD_TBL_NO_UPD');
315: /* seeded tables can be updated
316: if (p_table_rec.object_id < 0) then
317: fnd_message.set_name('CN', 'CN_SD_TBL_NO_UPD');
318: fnd_msg_pub.ADD;
319: RAISE fnd_api.g_exc_error;
320: end if;
321: */
322:
323:
332: l_row.name <> p_table_rec.name OR
333: l_row.ALIAS <> p_table_rec.ALIAS) then
334: fnd_message.set_name('CN', 'CN_TBL_ATTR_NO_UPD');
335: fnd_msg_pub.ADD;
336: RAISE fnd_api.g_exc_error;
337: end if;
338:
339: OPEN l_repository_csr;
340: FETCH l_repository_csr INTO l_repository_id;
366:
367:
368: -- End of API body.
369: -- Standard check of p_commit.
370: IF FND_API.To_Boolean( p_commit ) THEN
371: COMMIT WORK;
372: END IF;
373: -- Standard call to get message count and if count is 1, get message info.
374: FND_MSG_PUB.Count_And_Get
373: -- Standard call to get message count and if count is 1, get message info.
374: FND_MSG_PUB.Count_And_Get
375: (p_count => x_msg_count ,
376: p_data => x_msg_data ,
377: p_encoded => FND_API.G_FALSE );
378: EXCEPTION
379: WHEN FND_API.G_EXC_ERROR THEN
380: ROLLBACK TO update_table_pvt;
381: x_return_status := FND_API.G_RET_STS_ERROR ;
375: (p_count => x_msg_count ,
376: p_data => x_msg_data ,
377: p_encoded => FND_API.G_FALSE );
378: EXCEPTION
379: WHEN FND_API.G_EXC_ERROR THEN
380: ROLLBACK TO update_table_pvt;
381: x_return_status := FND_API.G_RET_STS_ERROR ;
382: FND_MSG_PUB.Count_And_Get
383: (p_count => x_msg_count ,
377: p_encoded => FND_API.G_FALSE );
378: EXCEPTION
379: WHEN FND_API.G_EXC_ERROR THEN
380: ROLLBACK TO update_table_pvt;
381: x_return_status := FND_API.G_RET_STS_ERROR ;
382: FND_MSG_PUB.Count_And_Get
383: (p_count => x_msg_count ,
384: p_data => x_msg_data ,
385: p_encoded => FND_API.G_FALSE );
381: x_return_status := FND_API.G_RET_STS_ERROR ;
382: FND_MSG_PUB.Count_And_Get
383: (p_count => x_msg_count ,
384: p_data => x_msg_data ,
385: p_encoded => FND_API.G_FALSE );
386: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
387: ROLLBACK TO update_table_pvt;
388: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
389: FND_MSG_PUB.Count_And_Get
382: FND_MSG_PUB.Count_And_Get
383: (p_count => x_msg_count ,
384: p_data => x_msg_data ,
385: p_encoded => FND_API.G_FALSE );
386: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
387: ROLLBACK TO update_table_pvt;
388: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
389: FND_MSG_PUB.Count_And_Get
390: (p_count => x_msg_count ,
384: p_data => x_msg_data ,
385: p_encoded => FND_API.G_FALSE );
386: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
387: ROLLBACK TO update_table_pvt;
388: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
389: FND_MSG_PUB.Count_And_Get
390: (p_count => x_msg_count ,
391: p_data => x_msg_data ,
392: p_encoded => FND_API.G_FALSE );
388: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
389: FND_MSG_PUB.Count_And_Get
390: (p_count => x_msg_count ,
391: p_data => x_msg_data ,
392: p_encoded => FND_API.G_FALSE );
393: WHEN OTHERS THEN
394: ROLLBACK TO update_table_pvt;
395: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
396: IF FND_MSG_PUB.Check_Msg_Level
391: p_data => x_msg_data ,
392: p_encoded => FND_API.G_FALSE );
393: WHEN OTHERS THEN
394: ROLLBACK TO update_table_pvt;
395: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
396: IF FND_MSG_PUB.Check_Msg_Level
397: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
398: THEN
399: FND_MSG_PUB.Add_Exc_Msg
402: END IF;
403: FND_MSG_PUB.Count_And_Get
404: (p_count => x_msg_count ,
405: p_data => x_msg_data ,
406: p_encoded => FND_API.G_FALSE );
407: END Update_Table;
408: --}}}
409:
410:
418: -- Pre-reqs : None.
419: -- Parameters :
420: -- IN : p_api_version IN NUMBER Required
421: -- p_init_msg_list IN VARCHAR2 Optional
422: -- Default = FND_API.G_FALSE
423: -- p_commit IN VARCHAR2 Optional
424: -- Default = FND_API.G_FALSE
425: -- p_validation_level IN NUMBER Optional
426: -- Default = FND_API.G_VALID_LEVEL_FULL
420: -- IN : p_api_version IN NUMBER Required
421: -- p_init_msg_list IN VARCHAR2 Optional
422: -- Default = FND_API.G_FALSE
423: -- p_commit IN VARCHAR2 Optional
424: -- Default = FND_API.G_FALSE
425: -- p_validation_level IN NUMBER Optional
426: -- Default = FND_API.G_VALID_LEVEL_FULL
427: -- p_table_rec IN table_rec_type Required
428: -- OUT : x_return_status OUT VARCHAR2(1)
422: -- Default = FND_API.G_FALSE
423: -- p_commit IN VARCHAR2 Optional
424: -- Default = FND_API.G_FALSE
425: -- p_validation_level IN NUMBER Optional
426: -- Default = FND_API.G_VALID_LEVEL_FULL
427: -- p_table_rec IN table_rec_type Required
428: -- OUT : x_return_status OUT VARCHAR2(1)
429: -- x_msg_count OUT NUMBER
430: -- x_msg_data OUT VARCHAR2(2000)
435: --
436: -- End of comments
437: PROCEDURE Delete_Table
438: (p_api_version IN NUMBER ,
439: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
440: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
441: p_validation_level IN NUMBER :=
442: FND_API.G_VALID_LEVEL_FULL ,
443: p_table_rec IN table_rec_type ,
436: -- End of comments
437: PROCEDURE Delete_Table
438: (p_api_version IN NUMBER ,
439: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
440: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
441: p_validation_level IN NUMBER :=
442: FND_API.G_VALID_LEVEL_FULL ,
443: p_table_rec IN table_rec_type ,
444: x_return_status OUT NOCOPY VARCHAR2 ,
438: (p_api_version IN NUMBER ,
439: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
440: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
441: p_validation_level IN NUMBER :=
442: FND_API.G_VALID_LEVEL_FULL ,
443: p_table_rec IN table_rec_type ,
444: x_return_status OUT NOCOPY VARCHAR2 ,
445: x_msg_count OUT NOCOPY NUMBER ,
446: x_msg_data OUT NOCOPY VARCHAR2 ) IS
462: BEGIN
463: -- Standard Start of API savepoint
464: SAVEPOINT delete_table_pvt;
465: -- Standard call to check for call compatibility.
466: IF NOT FND_API.Compatible_API_Call
467: (l_api_version ,
468: p_api_version ,
469: l_api_name ,
470: G_PKG_NAME )
468: p_api_version ,
469: l_api_name ,
470: G_PKG_NAME )
471: THEN
472: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
473: END IF;
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;
471: THEN
472: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
473: END IF;
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: -- Initialize API return status to success
479: x_return_status := FND_API.G_RET_STS_SUCCESS;
475: IF FND_API.to_Boolean( p_init_msg_list ) THEN
476: FND_MSG_PUB.initialize;
477: END IF;
478: -- Initialize API return status to success
479: x_return_status := FND_API.G_RET_STS_SUCCESS;
480: -- API body
481: if (p_table_rec.object_id < 0) then
482: fnd_message.set_name('CN', 'CN_SD_TBL_NO_DEL');
483: fnd_msg_pub.ADD;
480: -- API body
481: if (p_table_rec.object_id < 0) then
482: fnd_message.set_name('CN', 'CN_SD_TBL_NO_DEL');
483: fnd_msg_pub.ADD;
484: RAISE fnd_api.g_exc_error;
485: end if;
486:
487: -- By Hithanki For Bug Fix : 2698989
488: -------
505: --
506: IF ( l_dest_count > 0 OR l_sorc_count > 0 )
507: THEN fnd_message.set_name('CN','CN_TBL_MAP_EXIST');
508: fnd_msg_pub.ADD;
509: RAISE fnd_api.g_exc_error;
510: END IF;
511: -------
512:
513: --no table handler exists
522: WHERE table_id = p_table_rec.object_id;
523:
524: -- End of API body.
525: -- Standard check of p_commit.
526: IF FND_API.To_Boolean( p_commit ) THEN
527: COMMIT WORK;
528: END IF;
529: -- Standard call to get message count and if count is 1, get message info.
530: FND_MSG_PUB.Count_And_Get
529: -- Standard call to get message count and if count is 1, get message info.
530: FND_MSG_PUB.Count_And_Get
531: (p_count => x_msg_count ,
532: p_data => x_msg_data ,
533: p_encoded => FND_API.G_FALSE );
534: EXCEPTION
535: WHEN FND_API.G_EXC_ERROR THEN
536: ROLLBACK TO delete_table_pvt;
537: x_return_status := FND_API.G_RET_STS_ERROR ;
531: (p_count => x_msg_count ,
532: p_data => x_msg_data ,
533: p_encoded => FND_API.G_FALSE );
534: EXCEPTION
535: WHEN FND_API.G_EXC_ERROR THEN
536: ROLLBACK TO delete_table_pvt;
537: x_return_status := FND_API.G_RET_STS_ERROR ;
538: FND_MSG_PUB.Count_And_Get
539: (p_count => x_msg_count ,
533: p_encoded => FND_API.G_FALSE );
534: EXCEPTION
535: WHEN FND_API.G_EXC_ERROR THEN
536: ROLLBACK TO delete_table_pvt;
537: x_return_status := FND_API.G_RET_STS_ERROR ;
538: FND_MSG_PUB.Count_And_Get
539: (p_count => x_msg_count ,
540: p_data => x_msg_data ,
541: p_encoded => FND_API.G_FALSE );
537: x_return_status := FND_API.G_RET_STS_ERROR ;
538: FND_MSG_PUB.Count_And_Get
539: (p_count => x_msg_count ,
540: p_data => x_msg_data ,
541: p_encoded => FND_API.G_FALSE );
542: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
543: ROLLBACK TO delete_table_pvt;
544: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
545: FND_MSG_PUB.Count_And_Get
538: FND_MSG_PUB.Count_And_Get
539: (p_count => x_msg_count ,
540: p_data => x_msg_data ,
541: p_encoded => FND_API.G_FALSE );
542: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
543: ROLLBACK TO delete_table_pvt;
544: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
545: FND_MSG_PUB.Count_And_Get
546: (p_count => x_msg_count ,
540: p_data => x_msg_data ,
541: p_encoded => FND_API.G_FALSE );
542: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
543: ROLLBACK TO delete_table_pvt;
544: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
545: FND_MSG_PUB.Count_And_Get
546: (p_count => x_msg_count ,
547: p_data => x_msg_data ,
548: p_encoded => FND_API.G_FALSE );
544: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
545: FND_MSG_PUB.Count_And_Get
546: (p_count => x_msg_count ,
547: p_data => x_msg_data ,
548: p_encoded => FND_API.G_FALSE );
549: WHEN OTHERS THEN
550: ROLLBACK TO delete_table_pvt;
551: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
552: IF FND_MSG_PUB.Check_Msg_Level
547: p_data => x_msg_data ,
548: p_encoded => FND_API.G_FALSE );
549: WHEN OTHERS THEN
550: ROLLBACK TO delete_table_pvt;
551: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
552: IF FND_MSG_PUB.Check_Msg_Level
553: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
554: THEN
555: FND_MSG_PUB.Add_Exc_Msg
558: END IF;
559: FND_MSG_PUB.Count_And_Get
560: (p_count => x_msg_count ,
561: p_data => x_msg_data ,
562: p_encoded => FND_API.G_FALSE );
563: END Delete_Table;
564: --}}}
565:
566:
575: -- Pre-reqs : None.
576: -- Parameters :
577: -- IN : p_api_version IN NUMBER Required
578: -- p_init_msg_list IN VARCHAR2 Optional
579: -- Default = FND_API.G_FALSE
580: -- p_commit IN VARCHAR2 Optional
581: -- Default = FND_API.G_FALSE
582: -- p_validation_level IN NUMBER Optional
583: -- Default = FND_API.G_VALID_LEVEL_FULL
577: -- IN : p_api_version IN NUMBER Required
578: -- p_init_msg_list IN VARCHAR2 Optional
579: -- Default = FND_API.G_FALSE
580: -- p_commit IN VARCHAR2 Optional
581: -- Default = FND_API.G_FALSE
582: -- p_validation_level IN NUMBER Optional
583: -- Default = FND_API.G_VALID_LEVEL_FULL
584: -- p_column_rec IN column_rec_type Required
585: -- OUT : x_return_status OUT VARCHAR2(1)
579: -- Default = FND_API.G_FALSE
580: -- p_commit IN VARCHAR2 Optional
581: -- Default = FND_API.G_FALSE
582: -- p_validation_level IN NUMBER Optional
583: -- Default = FND_API.G_VALID_LEVEL_FULL
584: -- p_column_rec IN column_rec_type Required
585: -- OUT : x_return_status OUT VARCHAR2(1)
586: -- x_msg_count OUT NUMBER
587: -- x_msg_data OUT VARCHAR2(2000)
594: -- End of comments
595:
596: PROCEDURE Update_Column
597: (p_api_version IN NUMBER ,
598: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
599: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
600: p_validation_level IN NUMBER :=
601: FND_API.G_VALID_LEVEL_FULL ,
602: p_column_rec IN column_rec_type ,
595:
596: PROCEDURE Update_Column
597: (p_api_version IN NUMBER ,
598: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
599: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
600: p_validation_level IN NUMBER :=
601: FND_API.G_VALID_LEVEL_FULL ,
602: p_column_rec IN column_rec_type ,
603: x_return_status OUT NOCOPY VARCHAR2 ,
597: (p_api_version IN NUMBER ,
598: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
599: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
600: p_validation_level IN NUMBER :=
601: FND_API.G_VALID_LEVEL_FULL ,
602: p_column_rec IN column_rec_type ,
603: x_return_status OUT NOCOPY VARCHAR2 ,
604: x_msg_count OUT NOCOPY NUMBER ,
605: x_msg_data OUT NOCOPY VARCHAR2 ) IS
660: BEGIN
661: -- Standard Start of API savepoint
662: SAVEPOINT update_column_pvt;
663: -- Standard call to check for call compatibility.
664: IF NOT FND_API.Compatible_API_Call
665: (l_api_version ,
666: p_api_version ,
667: l_api_name ,
668: G_PKG_NAME )
666: p_api_version ,
667: l_api_name ,
668: G_PKG_NAME )
669: THEN
670: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
671: END IF;
672: -- Initialize message list if p_init_msg_list is set to TRUE.
673: IF FND_API.to_Boolean( p_init_msg_list ) THEN
674: FND_MSG_PUB.initialize;
669: THEN
670: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
671: END IF;
672: -- Initialize message list if p_init_msg_list is set to TRUE.
673: IF FND_API.to_Boolean( p_init_msg_list ) THEN
674: FND_MSG_PUB.initialize;
675: END IF;
676: -- Initialize API return status to success
677: x_return_status := FND_API.G_RET_STS_SUCCESS;
673: IF FND_API.to_Boolean( p_init_msg_list ) THEN
674: FND_MSG_PUB.initialize;
675: END IF;
676: -- Initialize API return status to success
677: x_return_status := FND_API.G_RET_STS_SUCCESS;
678: -- API body
679: -- first check if both pk and fk are Y
680: if (p_column_rec.primary_key = 'Y' and p_column_rec.foreign_key = 'Y') then
681: fnd_message.set_name('CN', 'CN_TBL_PK_FK_ERR');
679: -- first check if both pk and fk are Y
680: if (p_column_rec.primary_key = 'Y' and p_column_rec.foreign_key = 'Y') then
681: fnd_message.set_name('CN', 'CN_TBL_PK_FK_ERR');
682: fnd_msg_pub.ADD;
683: RAISE fnd_api.g_exc_error;
684: end if;
685:
686: --next check if dim is correct
687: OPEN l_table_csr;
697: if (l_dimension_id = 0 OR
698: l_dimension_id <> p_column_rec.dimension_id) then
699: fnd_message.set_name('CN', 'DIM_PK_ALERT');
700: fnd_msg_pub.ADD;
701: RAISE fnd_api.g_exc_error;
702: end if;
703: end if;
704:
705: /* Not Enforced ???
706: if (p_column_rec.foreign_key = 'Y' and
707: p_column_rec.dimension_id is null) then
708: fnd_message.set_name('CN', 'CN_TBL_DIM_FK_ERR');
709: fnd_msg_pub.ADD;
710: RAISE fnd_api.g_exc_error;
711: end if;
712: */
713:
714:
718:
719: if (l_dim_value_ctr = 1 AND p_column_rec.user_column_name = 'Y') then
720: fnd_message.set_name('CN', 'CN_TBL_DIM_VAL_ERR');
721: fnd_msg_pub.ADD;
722: RAISE fnd_api.g_exc_error;
723: end if;
724:
725: --
726: -- Added by Kumar Sivasankaran
759: AND org_id=p_column_rec.org_id;
760:
761: -- End of API body.
762: -- Standard check of p_commit.
763: IF FND_API.To_Boolean( p_commit ) THEN
764: COMMIT WORK;
765: END IF;
766: -- Standard call to get message count and if count is 1, get message info.
767: FND_MSG_PUB.Count_And_Get
766: -- Standard call to get message count and if count is 1, get message info.
767: FND_MSG_PUB.Count_And_Get
768: (p_count => x_msg_count ,
769: p_data => x_msg_data ,
770: p_encoded => FND_API.G_FALSE );
771: EXCEPTION
772: WHEN FND_API.G_EXC_ERROR THEN
773: ROLLBACK TO update_column_pvt;
774: x_return_status := FND_API.G_RET_STS_ERROR ;
768: (p_count => x_msg_count ,
769: p_data => x_msg_data ,
770: p_encoded => FND_API.G_FALSE );
771: EXCEPTION
772: WHEN FND_API.G_EXC_ERROR THEN
773: ROLLBACK TO update_column_pvt;
774: x_return_status := FND_API.G_RET_STS_ERROR ;
775: FND_MSG_PUB.Count_And_Get
776: (p_count => x_msg_count ,
770: p_encoded => FND_API.G_FALSE );
771: EXCEPTION
772: WHEN FND_API.G_EXC_ERROR THEN
773: ROLLBACK TO update_column_pvt;
774: x_return_status := FND_API.G_RET_STS_ERROR ;
775: FND_MSG_PUB.Count_And_Get
776: (p_count => x_msg_count ,
777: p_data => x_msg_data ,
778: p_encoded => FND_API.G_FALSE );
774: x_return_status := FND_API.G_RET_STS_ERROR ;
775: FND_MSG_PUB.Count_And_Get
776: (p_count => x_msg_count ,
777: p_data => x_msg_data ,
778: p_encoded => FND_API.G_FALSE );
779: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
780: ROLLBACK TO update_column_pvt;
781: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
782: FND_MSG_PUB.Count_And_Get
775: FND_MSG_PUB.Count_And_Get
776: (p_count => x_msg_count ,
777: p_data => x_msg_data ,
778: p_encoded => FND_API.G_FALSE );
779: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
780: ROLLBACK TO update_column_pvt;
781: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
782: FND_MSG_PUB.Count_And_Get
783: (p_count => x_msg_count ,
777: p_data => x_msg_data ,
778: p_encoded => FND_API.G_FALSE );
779: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
780: ROLLBACK TO update_column_pvt;
781: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
782: FND_MSG_PUB.Count_And_Get
783: (p_count => x_msg_count ,
784: p_data => x_msg_data ,
785: p_encoded => FND_API.G_FALSE );
781: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
782: FND_MSG_PUB.Count_And_Get
783: (p_count => x_msg_count ,
784: p_data => x_msg_data ,
785: p_encoded => FND_API.G_FALSE );
786: WHEN OTHERS THEN
787: ROLLBACK TO update_column_pvt;
788: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
789: IF FND_MSG_PUB.Check_Msg_Level
784: p_data => x_msg_data ,
785: p_encoded => FND_API.G_FALSE );
786: WHEN OTHERS THEN
787: ROLLBACK TO update_column_pvt;
788: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
789: IF FND_MSG_PUB.Check_Msg_Level
790: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
791: THEN
792: FND_MSG_PUB.Add_Exc_Msg
795: END IF;
796: FND_MSG_PUB.Count_And_Get
797: (p_count => x_msg_count ,
798: p_data => x_msg_data ,
799: p_encoded => FND_API.G_FALSE );
800: END Update_Column;
801: --}}}
802:
803:
813: -- Pre-reqs : None.
814: -- Parameters :
815: -- IN : p_api_version IN NUMBER Required
816: -- p_init_msg_list IN VARCHAR2 Optional
817: -- Default = FND_API.G_FALSE
818: -- p_commit IN VARCHAR2 Optional
819: -- Default = FND_API.G_FALSE
820: -- p_validation_level IN NUMBER Optional
821: -- Default = FND_API.G_VALID_LEVEL_FULL
815: -- IN : p_api_version IN NUMBER Required
816: -- p_init_msg_list IN VARCHAR2 Optional
817: -- Default = FND_API.G_FALSE
818: -- p_commit IN VARCHAR2 Optional
819: -- Default = FND_API.G_FALSE
820: -- p_validation_level IN NUMBER Optional
821: -- Default = FND_API.G_VALID_LEVEL_FULL
822: -- p_column_rec IN column_rec_type Required
823: -- OUT : x_return_status OUT VARCHAR2(1)
817: -- Default = FND_API.G_FALSE
818: -- p_commit IN VARCHAR2 Optional
819: -- Default = FND_API.G_FALSE
820: -- p_validation_level IN NUMBER Optional
821: -- Default = FND_API.G_VALID_LEVEL_FULL
822: -- p_column_rec IN column_rec_type Required
823: -- OUT : x_return_status OUT VARCHAR2(1)
824: -- x_msg_count OUT NUMBER
825: -- x_msg_data OUT VARCHAR2(2000)
832: -- End of comments
833:
834: PROCEDURE Insert_Column
835: (p_api_version IN NUMBER ,
836: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
837: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
838: p_validation_level IN NUMBER :=
839: FND_API.G_VALID_LEVEL_FULL ,
840: p_schema_name IN varchar2 ,
833:
834: PROCEDURE Insert_Column
835: (p_api_version IN NUMBER ,
836: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
837: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
838: p_validation_level IN NUMBER :=
839: FND_API.G_VALID_LEVEL_FULL ,
840: p_schema_name IN varchar2 ,
841: p_table_name IN varchar2 ,
835: (p_api_version IN NUMBER ,
836: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
837: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
838: p_validation_level IN NUMBER :=
839: FND_API.G_VALID_LEVEL_FULL ,
840: p_schema_name IN varchar2 ,
841: p_table_name IN varchar2 ,
842: p_column_name IN varchar2 ,
843: p_column_rec IN column_rec_type ,
902: -- Standard Start of API savepoint
903: l_object_version_number:=1;
904: SAVEPOINT insert_column_pvt;
905: -- Standard call to check for call compatibility.
906: IF NOT FND_API.Compatible_API_Call
907: (l_api_version ,
908: p_api_version ,
909: l_api_name ,
910: G_PKG_NAME )
908: p_api_version ,
909: l_api_name ,
910: G_PKG_NAME )
911: THEN
912: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
913: END IF;
914: -- Initialize message list if p_init_msg_list is set to TRUE.
915: IF FND_API.to_Boolean( p_init_msg_list ) THEN
916: FND_MSG_PUB.initialize;
911: THEN
912: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
913: END IF;
914: -- Initialize message list if p_init_msg_list is set to TRUE.
915: IF FND_API.to_Boolean( p_init_msg_list ) THEN
916: FND_MSG_PUB.initialize;
917: END IF;
918: -- Initialize API return status to success
919: x_return_status := FND_API.G_RET_STS_SUCCESS;
915: IF FND_API.to_Boolean( p_init_msg_list ) THEN
916: FND_MSG_PUB.initialize;
917: END IF;
918: -- Initialize API return status to success
919: x_return_status := FND_API.G_RET_STS_SUCCESS;
920: -- API body
921: --first get the table data so that we can use it FOR comparison/insert later
922: OPEN l_tbl_csr;
923: FETCH l_tbl_csr INTO l_table_rec;
931:
932: IF (l_col_count = 0) THEN
933: fnd_message.set_name('CN', 'CN_TBL_NO_SUCH_DUP_COL');
934: fnd_msg_pub.ADD;
935: RAISE fnd_api.g_exc_error;
936: END IF;
937:
938: OPEN l_col_data_csr;
939: FETCH l_col_data_csr INTO l_data_type, l_data_len;
980: --after we insert the essential data we will call update to ensure that
981: --the rest of the column data is correct and IF yes, perform an update
982: update_column
983: (p_api_version => 1.0,
984: p_init_msg_list => FND_API.G_FALSE,
985: p_commit => FND_API.G_FALSE,
986: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
987: p_column_rec => insert_column.p_column_rec,
988: x_return_status => l_return_status,
981: --the rest of the column data is correct and IF yes, perform an update
982: update_column
983: (p_api_version => 1.0,
984: p_init_msg_list => FND_API.G_FALSE,
985: p_commit => FND_API.G_FALSE,
986: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
987: p_column_rec => insert_column.p_column_rec,
988: x_return_status => l_return_status,
989: x_msg_count => l_msg_count,
982: update_column
983: (p_api_version => 1.0,
984: p_init_msg_list => FND_API.G_FALSE,
985: p_commit => FND_API.G_FALSE,
986: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
987: p_column_rec => insert_column.p_column_rec,
988: x_return_status => l_return_status,
989: x_msg_count => l_msg_count,
990: x_msg_data => l_msg_data);
988: x_return_status => l_return_status,
989: x_msg_count => l_msg_count,
990: x_msg_data => l_msg_data);
991:
992: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
993: RAISE fnd_api.g_exc_error;
994: END IF;
995:
996: CLOSE l_col_data_csr;
989: x_msg_count => l_msg_count,
990: x_msg_data => l_msg_data);
991:
992: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
993: RAISE fnd_api.g_exc_error;
994: END IF;
995:
996: CLOSE l_col_data_csr;
997:
996: CLOSE l_col_data_csr;
997:
998: -- End of API body.
999: -- Standard check of p_commit.
1000: IF FND_API.To_Boolean( p_commit ) THEN
1001: COMMIT WORK;
1002: END IF;
1003: -- Standard call to get message count and if count is 1, get message info.
1004: FND_MSG_PUB.Count_And_Get
1003: -- Standard call to get message count and if count is 1, get message info.
1004: FND_MSG_PUB.Count_And_Get
1005: (p_count => x_msg_count ,
1006: p_data => x_msg_data ,
1007: p_encoded => FND_API.G_FALSE );
1008: EXCEPTION
1009: WHEN FND_API.G_EXC_ERROR THEN
1010: ROLLBACK TO insert_column_pvt;
1011: x_return_status := FND_API.G_RET_STS_ERROR ;
1005: (p_count => x_msg_count ,
1006: p_data => x_msg_data ,
1007: p_encoded => FND_API.G_FALSE );
1008: EXCEPTION
1009: WHEN FND_API.G_EXC_ERROR THEN
1010: ROLLBACK TO insert_column_pvt;
1011: x_return_status := FND_API.G_RET_STS_ERROR ;
1012: FND_MSG_PUB.Count_And_Get
1013: (p_count => x_msg_count ,
1007: p_encoded => FND_API.G_FALSE );
1008: EXCEPTION
1009: WHEN FND_API.G_EXC_ERROR THEN
1010: ROLLBACK TO insert_column_pvt;
1011: x_return_status := FND_API.G_RET_STS_ERROR ;
1012: FND_MSG_PUB.Count_And_Get
1013: (p_count => x_msg_count ,
1014: p_data => x_msg_data ,
1015: p_encoded => FND_API.G_FALSE );
1011: x_return_status := FND_API.G_RET_STS_ERROR ;
1012: FND_MSG_PUB.Count_And_Get
1013: (p_count => x_msg_count ,
1014: p_data => x_msg_data ,
1015: p_encoded => FND_API.G_FALSE );
1016: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1017: ROLLBACK TO insert_column_pvt;
1018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1019: FND_MSG_PUB.Count_And_Get
1012: FND_MSG_PUB.Count_And_Get
1013: (p_count => x_msg_count ,
1014: p_data => x_msg_data ,
1015: p_encoded => FND_API.G_FALSE );
1016: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1017: ROLLBACK TO insert_column_pvt;
1018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1019: FND_MSG_PUB.Count_And_Get
1020: (p_count => x_msg_count ,
1014: p_data => x_msg_data ,
1015: p_encoded => FND_API.G_FALSE );
1016: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1017: ROLLBACK TO insert_column_pvt;
1018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1019: FND_MSG_PUB.Count_And_Get
1020: (p_count => x_msg_count ,
1021: p_data => x_msg_data ,
1022: p_encoded => FND_API.G_FALSE );
1018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1019: FND_MSG_PUB.Count_And_Get
1020: (p_count => x_msg_count ,
1021: p_data => x_msg_data ,
1022: p_encoded => FND_API.G_FALSE );
1023: WHEN OTHERS THEN
1024: ROLLBACK TO insert_column_pvt;
1025: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1026: IF FND_MSG_PUB.Check_Msg_Level
1021: p_data => x_msg_data ,
1022: p_encoded => FND_API.G_FALSE );
1023: WHEN OTHERS THEN
1024: ROLLBACK TO insert_column_pvt;
1025: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1026: IF FND_MSG_PUB.Check_Msg_Level
1027: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1028: THEN
1029: FND_MSG_PUB.Add_Exc_Msg
1032: END IF;
1033: FND_MSG_PUB.Count_And_Get
1034: (p_count => x_msg_count ,
1035: p_data => x_msg_data ,
1036: p_encoded => FND_API.G_FALSE );
1037: END Insert_Column;
1038: --}}}
1039:
1040:
1050: -- Pre-reqs : None.
1051: -- Parameters :
1052: -- IN : p_api_version IN NUMBER Required
1053: -- p_init_msg_list IN VARCHAR2 Optional
1054: -- Default = FND_API.G_FALSE
1055: -- p_commit IN VARCHAR2 Optional
1056: -- Default = FND_API.G_FALSE
1057: -- p_validation_level IN NUMBER Optional
1058: -- Default = FND_API.G_VALID_LEVEL_FULL
1052: -- IN : p_api_version IN NUMBER Required
1053: -- p_init_msg_list IN VARCHAR2 Optional
1054: -- Default = FND_API.G_FALSE
1055: -- p_commit IN VARCHAR2 Optional
1056: -- Default = FND_API.G_FALSE
1057: -- p_validation_level IN NUMBER Optional
1058: -- Default = FND_API.G_VALID_LEVEL_FULL
1059: -- p_column_rec IN column_rec_type Required
1060: -- OUT : x_return_status OUT VARCHAR2(1)
1054: -- Default = FND_API.G_FALSE
1055: -- p_commit IN VARCHAR2 Optional
1056: -- Default = FND_API.G_FALSE
1057: -- p_validation_level IN NUMBER Optional
1058: -- Default = FND_API.G_VALID_LEVEL_FULL
1059: -- p_column_rec IN column_rec_type Required
1060: -- OUT : x_return_status OUT VARCHAR2(1)
1061: -- x_msg_count OUT NUMBER
1062: -- x_msg_data OUT VARCHAR2(2000)
1069: -- End of comments
1070:
1071: PROCEDURE Delete_Column
1072: (p_api_version IN NUMBER ,
1073: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1074: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1075: p_validation_level IN NUMBER :=
1076: FND_API.G_VALID_LEVEL_FULL ,
1077: p_column_id IN number ,
1070:
1071: PROCEDURE Delete_Column
1072: (p_api_version IN NUMBER ,
1073: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1074: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1075: p_validation_level IN NUMBER :=
1076: FND_API.G_VALID_LEVEL_FULL ,
1077: p_column_id IN number ,
1078: x_return_status OUT NOCOPY VARCHAR2 ,
1072: (p_api_version IN NUMBER ,
1073: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1074: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1075: p_validation_level IN NUMBER :=
1076: FND_API.G_VALID_LEVEL_FULL ,
1077: p_column_id IN number ,
1078: x_return_status OUT NOCOPY VARCHAR2 ,
1079: x_msg_count OUT NOCOPY NUMBER ,
1080: x_msg_data OUT NOCOPY VARCHAR2 ) IS
1099: BEGIN
1100: -- Standard Start of API savepoint
1101: SAVEPOINT delete_column_pvt;
1102: -- Standard call to check for call compatibility.
1103: IF NOT FND_API.Compatible_API_Call
1104: (l_api_version ,
1105: p_api_version ,
1106: l_api_name ,
1107: G_PKG_NAME )
1105: p_api_version ,
1106: l_api_name ,
1107: G_PKG_NAME )
1108: THEN
1109: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1110: END IF;
1111: -- Initialize message list if p_init_msg_list is set to TRUE.
1112: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1113: FND_MSG_PUB.initialize;
1108: THEN
1109: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1110: END IF;
1111: -- Initialize message list if p_init_msg_list is set to TRUE.
1112: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1113: FND_MSG_PUB.initialize;
1114: END IF;
1115: -- Initialize API return status to success
1116: x_return_status := FND_API.G_RET_STS_SUCCESS;
1112: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1113: FND_MSG_PUB.initialize;
1114: END IF;
1115: -- Initialize API return status to success
1116: x_return_status := FND_API.G_RET_STS_SUCCESS;
1117: -- API body
1118: open l_delete_csr( p_column_id );
1119: fetch l_delete_csr into l_table_id;
1120: close l_delete_csr;
1121:
1122: if (l_table_id < 0) then
1123: fnd_message.set_name('CN', 'CN_SD_TBL_COL_NO_DEL');
1124: fnd_msg_pub.ADD;
1125: RAISE fnd_api.g_exc_error;
1126: end if;
1127:
1128: DELETE FROM cn_obj_columns_v
1129: WHERE column_id = p_column_id
1130: AND object_type = 'COL';
1131:
1132: -- End of API body.
1133: -- Standard check of p_commit.
1134: IF FND_API.To_Boolean( p_commit ) THEN
1135: COMMIT WORK;
1136: END IF;
1137: -- Standard call to get message count and if count is 1, get message info.
1138: FND_MSG_PUB.Count_And_Get
1137: -- Standard call to get message count and if count is 1, get message info.
1138: FND_MSG_PUB.Count_And_Get
1139: (p_count => x_msg_count ,
1140: p_data => x_msg_data ,
1141: p_encoded => FND_API.G_FALSE );
1142: EXCEPTION
1143: WHEN FND_API.G_EXC_ERROR THEN
1144: ROLLBACK TO delete_column_pvt;
1145: x_return_status := FND_API.G_RET_STS_ERROR ;
1139: (p_count => x_msg_count ,
1140: p_data => x_msg_data ,
1141: p_encoded => FND_API.G_FALSE );
1142: EXCEPTION
1143: WHEN FND_API.G_EXC_ERROR THEN
1144: ROLLBACK TO delete_column_pvt;
1145: x_return_status := FND_API.G_RET_STS_ERROR ;
1146: FND_MSG_PUB.Count_And_Get
1147: (p_count => x_msg_count ,
1141: p_encoded => FND_API.G_FALSE );
1142: EXCEPTION
1143: WHEN FND_API.G_EXC_ERROR THEN
1144: ROLLBACK TO delete_column_pvt;
1145: x_return_status := FND_API.G_RET_STS_ERROR ;
1146: FND_MSG_PUB.Count_And_Get
1147: (p_count => x_msg_count ,
1148: p_data => x_msg_data ,
1149: p_encoded => FND_API.G_FALSE );
1145: x_return_status := FND_API.G_RET_STS_ERROR ;
1146: FND_MSG_PUB.Count_And_Get
1147: (p_count => x_msg_count ,
1148: p_data => x_msg_data ,
1149: p_encoded => FND_API.G_FALSE );
1150: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1151: ROLLBACK TO delete_column_pvt;
1152: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1153: FND_MSG_PUB.Count_And_Get
1146: FND_MSG_PUB.Count_And_Get
1147: (p_count => x_msg_count ,
1148: p_data => x_msg_data ,
1149: p_encoded => FND_API.G_FALSE );
1150: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1151: ROLLBACK TO delete_column_pvt;
1152: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1153: FND_MSG_PUB.Count_And_Get
1154: (p_count => x_msg_count ,
1148: p_data => x_msg_data ,
1149: p_encoded => FND_API.G_FALSE );
1150: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1151: ROLLBACK TO delete_column_pvt;
1152: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1153: FND_MSG_PUB.Count_And_Get
1154: (p_count => x_msg_count ,
1155: p_data => x_msg_data ,
1156: p_encoded => FND_API.G_FALSE );
1152: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1153: FND_MSG_PUB.Count_And_Get
1154: (p_count => x_msg_count ,
1155: p_data => x_msg_data ,
1156: p_encoded => FND_API.G_FALSE );
1157: WHEN OTHERS THEN
1158: ROLLBACK TO delete_column_pvt;
1159: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1160: IF FND_MSG_PUB.Check_Msg_Level
1155: p_data => x_msg_data ,
1156: p_encoded => FND_API.G_FALSE );
1157: WHEN OTHERS THEN
1158: ROLLBACK TO delete_column_pvt;
1159: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1160: IF FND_MSG_PUB.Check_Msg_Level
1161: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1162: THEN
1163: FND_MSG_PUB.Add_Exc_Msg
1166: END IF;
1167: FND_MSG_PUB.Count_And_Get
1168: (p_count => x_msg_count ,
1169: p_data => x_msg_data ,
1170: p_encoded => FND_API.G_FALSE );
1171: END Delete_Column;
1172:
1173: --}}}
1174: END CN_SYS_TABLES_PVT;