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