9: ===============================================================================*/
10:
11: PROCEDURE Insert_Row(
12: p_api_version IN NUMBER,
13: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
14: p_commit IN VARCHAR2 := FND_API.G_FALSE,
15: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
16: X_return_status OUT NOCOPY VARCHAR2,
17: X_msg_count OUT NOCOPY NUMBER,
10:
11: PROCEDURE Insert_Row(
12: p_api_version IN NUMBER,
13: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
14: p_commit IN VARCHAR2 := FND_API.G_FALSE,
15: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
16: X_return_status OUT NOCOPY VARCHAR2,
17: X_msg_count OUT NOCOPY NUMBER,
18: X_msg_data OUT NOCOPY VARCHAR2,
11: PROCEDURE Insert_Row(
12: p_api_version IN NUMBER,
13: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
14: p_commit IN VARCHAR2 := FND_API.G_FALSE,
15: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
16: X_return_status OUT NOCOPY VARCHAR2,
17: X_msg_count OUT NOCOPY NUMBER,
18: X_msg_data OUT NOCOPY VARCHAR2,
19: p_Rowid IN OUT NOCOPY VARCHAR2,
43: -- Ensure that the version requested to be used is correct for
44: -- this API.
45: -- -----------------------------------------------------------------
46:
47: IF NOT FND_API.Compatible_API_Call ( l_api_version,
48: p_api_version,
49: l_api_name,
50: G_PKG_NAME )
51: THEN
48: p_api_version,
49: l_api_name,
50: G_PKG_NAME )
51: THEN
52: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
53: END IF;
54:
55:
56: IF FND_API.to_Boolean (p_init_msg_list ) THEN
52: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
53: END IF;
54:
55:
56: IF FND_API.to_Boolean (p_init_msg_list ) THEN
57: FND_MSG_PUB.initialize ;
58: END IF;
59:
60: X_return_status := FND_API.G_RET_STS_SUCCESS ;
56: IF FND_API.to_Boolean (p_init_msg_list ) THEN
57: FND_MSG_PUB.initialize ;
58: END IF;
59:
60: X_return_status := FND_API.G_RET_STS_SUCCESS ;
61: -- -----------------------------------------------------------------
62: -- Insert the CC MRC Header History record as requested.
63: -- -----------------------------------------------------------------
64: INSERT INTO IGC_CC_MC_HEADER_HISTORY (
90: -- If no ROWID can be obtained then exit the procedure with a failure
91: -- -------------------------------------------------------------------
92: if (C_header_mrc_hst_rowid %NOTFOUND) then
93: CLOSE C_header_mrc_hst_rowid ;
94: RAISE FND_API.G_EXC_ERROR ;
95: end if;
96: CLOSE C_header_mrc_hst_rowid ;
97: -- -----------------------------------------------------------------
98: -- If the records are to be commited in this procedure then
98: -- If the records are to be commited in this procedure then
99: -- commit the work now otherwise wait for the caller to do COMMIT.
100: -- -----------------------------------------------------------------
101:
102: IF FND_API.To_Boolean ( p_commit ) THEN
103: COMMIT WORK;
104: END iF;
105:
106: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
109:
110:
111: EXCEPTION
112:
113: WHEN FND_API.G_EXC_ERROR THEN
114:
115: ROLLBACK TO Insert_Row_Pvt ;
116: X_return_status := FND_API.G_RET_STS_ERROR;
117: IF (C_header_mrc_hst_rowid %ISOPEN) THEN
112:
113: WHEN FND_API.G_EXC_ERROR THEN
114:
115: ROLLBACK TO Insert_Row_Pvt ;
116: X_return_status := FND_API.G_RET_STS_ERROR;
117: IF (C_header_mrc_hst_rowid %ISOPEN) THEN
118: CLOSE C_header_mrc_hst_rowid ;
119: END IF;
120:
120:
121: FND_MSG_PUB.Count_And_Get (p_count => X_msg_count,
122: p_data => X_msg_data );
123:
124: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
125:
126: ROLLBACK TO Insert_Row_Pvt ;
127: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
128: IF (C_header_mrc_hst_rowid %ISOPEN) THEN
123:
124: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
125:
126: ROLLBACK TO Insert_Row_Pvt ;
127: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
128: IF (C_header_mrc_hst_rowid %ISOPEN) THEN
129: CLOSE C_header_mrc_hst_rowid ;
130: END IF;
131:
134:
135: WHEN OTHERS THEN
136:
137: ROLLBACK TO Insert_Row_Pvt ;
138: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
139: IF (C_header_mrc_hst_rowid %ISOPEN) THEN
140: CLOSE C_header_mrc_hst_rowid ;
141: END IF;
142:
155: ===============================================================================*/
156:
157: PROCEDURE Lock_Row(
158: p_api_version IN NUMBER,
159: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
160: p_commit IN VARCHAR2 := FND_API.G_FALSE,
161: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
162: X_return_status OUT NOCOPY VARCHAR2,
163: X_msg_count OUT NOCOPY NUMBER,
156:
157: PROCEDURE Lock_Row(
158: p_api_version IN NUMBER,
159: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
160: p_commit IN VARCHAR2 := FND_API.G_FALSE,
161: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
162: X_return_status OUT NOCOPY VARCHAR2,
163: X_msg_count OUT NOCOPY NUMBER,
164: X_msg_data OUT NOCOPY VARCHAR2,
157: PROCEDURE Lock_Row(
158: p_api_version IN NUMBER,
159: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
160: p_commit IN VARCHAR2 := FND_API.G_FALSE,
161: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
162: X_return_status OUT NOCOPY VARCHAR2,
163: X_msg_count OUT NOCOPY NUMBER,
164: X_msg_data OUT NOCOPY VARCHAR2,
165: p_Rowid IN OUT NOCOPY VARCHAR2,
185: BEGIN
186:
187: SAVEPOINT Lock_Row_Pvt ;
188:
189: IF NOT FND_API.Compatible_API_Call ( l_api_version,
190: p_api_version,
191: l_api_name,
192: G_PKG_NAME )
193: THEN
190: p_api_version,
191: l_api_name,
192: G_PKG_NAME )
193: THEN
194: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
195: END IF;
196:
197:
198: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
194: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
195: END IF;
196:
197:
198: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
199: FND_MSG_PUB.initialize ;
200: END IF;
201:
202: X_return_status := FND_API.G_RET_STS_SUCCESS ;
198: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
199: FND_MSG_PUB.initialize ;
200: END IF;
201:
202: X_return_status := FND_API.G_RET_STS_SUCCESS ;
203: X_row_locked := FND_API.G_TRUE ;
204:
205: OPEN C;
206:
199: FND_MSG_PUB.initialize ;
200: END IF;
201:
202: X_return_status := FND_API.G_RET_STS_SUCCESS ;
203: X_row_locked := FND_API.G_TRUE ;
204:
205: OPEN C;
206:
207: FETCH C INTO Recinfo;
208: if (C%NOTFOUND) then
209: CLOSE C;
210: FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
211: FND_MSG_PUB.Add;
212: RAISE FND_API.G_EXC_ERROR;
213: end if;
214: CLOSE C;
215: if (
216: (Recinfo.CC_Header_Id = p_CC_Header_Id)
237: null;
238: else
239: FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
240: FND_MSG_PUB.Add;
241: RAISE FND_API.G_EXC_ERROR ;
242: end if;
243:
244: IF FND_API.To_Boolean ( p_commit ) THEN
245: COMMIT WORK;
240: FND_MSG_PUB.Add;
241: RAISE FND_API.G_EXC_ERROR ;
242: end if;
243:
244: IF FND_API.To_Boolean ( p_commit ) THEN
245: COMMIT WORK;
246: END iF;
247:
248: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
252:
253: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
254:
255: ROLLBACK TO Lock_Row_Pvt ;
256: X_row_locked := FND_API.G_FALSE;
257: X_return_status := FND_API.G_RET_STS_ERROR;
258: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
259: p_data => X_msg_data );
260:
253: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
254:
255: ROLLBACK TO Lock_Row_Pvt ;
256: X_row_locked := FND_API.G_FALSE;
257: X_return_status := FND_API.G_RET_STS_ERROR;
258: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
259: p_data => X_msg_data );
260:
261: WHEN FND_API.G_EXC_ERROR THEN
257: X_return_status := FND_API.G_RET_STS_ERROR;
258: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
259: p_data => X_msg_data );
260:
261: WHEN FND_API.G_EXC_ERROR THEN
262:
263: ROLLBACK TO Lock_Row_Pvt ;
264: X_return_status := FND_API.G_RET_STS_ERROR;
265: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
260:
261: WHEN FND_API.G_EXC_ERROR THEN
262:
263: ROLLBACK TO Lock_Row_Pvt ;
264: X_return_status := FND_API.G_RET_STS_ERROR;
265: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
266: p_data => X_msg_data );
267:
268: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
264: X_return_status := FND_API.G_RET_STS_ERROR;
265: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
266: p_data => X_msg_data );
267:
268: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
269:
270: ROLLBACK TO Lock_Row_Pvt ;
271: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
272: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
267:
268: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
269:
270: ROLLBACK TO Lock_Row_Pvt ;
271: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
272: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
273: p_data => X_msg_data );
274:
275: WHEN OTHERS THEN
274:
275: WHEN OTHERS THEN
276:
277: ROLLBACK TO Lock_Row_Pvt ;
278: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
279:
280: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
281: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
282: l_api_name);
291: ===============================================================================*/
292:
293: PROCEDURE Update_Row(
294: p_api_version IN NUMBER,
295: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
296: p_commit IN VARCHAR2 := FND_API.G_FALSE,
297: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
298: X_return_status OUT NOCOPY VARCHAR2,
299: X_msg_count OUT NOCOPY NUMBER,
292:
293: PROCEDURE Update_Row(
294: p_api_version IN NUMBER,
295: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
296: p_commit IN VARCHAR2 := FND_API.G_FALSE,
297: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
298: X_return_status OUT NOCOPY VARCHAR2,
299: X_msg_count OUT NOCOPY NUMBER,
300: X_msg_data OUT NOCOPY VARCHAR2,
293: PROCEDURE Update_Row(
294: p_api_version IN NUMBER,
295: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
296: p_commit IN VARCHAR2 := FND_API.G_FALSE,
297: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
298: X_return_status OUT NOCOPY VARCHAR2,
299: X_msg_count OUT NOCOPY NUMBER,
300: X_msg_data OUT NOCOPY VARCHAR2,
301: p_Rowid IN OUT NOCOPY VARCHAR2,
314: BEGIN
315:
316: SAVEPOINT Update_Row_Pvt ;
317:
318: IF NOT FND_API.Compatible_API_Call ( l_api_version,
319: p_api_version,
320: l_api_name,
321: G_PKG_NAME )
322: THEN
319: p_api_version,
320: l_api_name,
321: G_PKG_NAME )
322: THEN
323: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
324: END IF;
325:
326:
327: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
323: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
324: END IF;
325:
326:
327: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
328: FND_MSG_PUB.initialize ;
329: END IF;
330:
331: X_return_status := FND_API.G_RET_STS_SUCCESS ;
327: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
328: FND_MSG_PUB.initialize ;
329: END IF;
330:
331: X_return_status := FND_API.G_RET_STS_SUCCESS ;
332:
333: UPDATE IGC_CC_MC_HEADER_HISTORY
334: SET
335: CC_Header_Id = p_CC_Header_Id,
343: if (SQL%NOTFOUND) then
344: Raise NO_DATA_FOUND;
345: end if;
346:
347: IF FND_API.To_Boolean ( p_commit ) THEN
348: COMMIT WORK;
349: END iF;
350:
351: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
352: p_data => X_msg_data );
353:
354: EXCEPTION
355:
356: WHEN FND_API.G_EXC_ERROR THEN
357:
358: ROLLBACK TO Update_Row_Pvt ;
359: X_return_status := FND_API.G_RET_STS_ERROR;
360: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
355:
356: WHEN FND_API.G_EXC_ERROR THEN
357:
358: ROLLBACK TO Update_Row_Pvt ;
359: X_return_status := FND_API.G_RET_STS_ERROR;
360: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
361: p_data => X_msg_data );
362:
363: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
359: X_return_status := FND_API.G_RET_STS_ERROR;
360: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
361: p_data => X_msg_data );
362:
363: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
364:
365: ROLLBACK TO Update_Row_Pvt ;
366: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
367: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
362:
363: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
364:
365: ROLLBACK TO Update_Row_Pvt ;
366: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
367: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
368: p_data => X_msg_data );
369:
370: WHEN OTHERS THEN
369:
370: WHEN OTHERS THEN
371:
372: ROLLBACK TO Update_Row_Pvt ;
373: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
374:
375: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
376: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
377: l_api_name);
387: ===============================================================================*/
388:
389: PROCEDURE Delete_Row(
390: p_api_version IN NUMBER,
391: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
392: p_commit IN VARCHAR2 := FND_API.G_FALSE,
393: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
394: X_return_status OUT NOCOPY VARCHAR2,
395: X_msg_count OUT NOCOPY NUMBER,
388:
389: PROCEDURE Delete_Row(
390: p_api_version IN NUMBER,
391: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
392: p_commit IN VARCHAR2 := FND_API.G_FALSE,
393: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
394: X_return_status OUT NOCOPY VARCHAR2,
395: X_msg_count OUT NOCOPY NUMBER,
396: X_msg_data OUT NOCOPY VARCHAR2,
389: PROCEDURE Delete_Row(
390: p_api_version IN NUMBER,
391: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
392: p_commit IN VARCHAR2 := FND_API.G_FALSE,
393: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
394: X_return_status OUT NOCOPY VARCHAR2,
395: X_msg_count OUT NOCOPY NUMBER,
396: X_msg_data OUT NOCOPY VARCHAR2,
397: p_Rowid IN OUT NOCOPY VARCHAR2
407: BEGIN
408:
409: SAVEPOINT Delete_Row_Pvt ;
410:
411: IF NOT FND_API.Compatible_API_Call ( l_api_version,
412: p_api_version,
413: l_api_name,
414: G_PKG_NAME )
415: THEN
412: p_api_version,
413: l_api_name,
414: G_PKG_NAME )
415: THEN
416: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
417: END IF;
418:
419:
420: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
416: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
417: END IF;
418:
419:
420: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
421: FND_MSG_PUB.initialize ;
422: END IF ;
423:
424: X_return_status := FND_API.G_RET_STS_SUCCESS ;
420: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
421: FND_MSG_PUB.initialize ;
422: END IF ;
423:
424: X_return_status := FND_API.G_RET_STS_SUCCESS ;
425:
426: DELETE FROM IGC_CC_MC_HEADER_HISTORY
427: WHERE rowid = p_Rowid;
428:
429: if (SQL%NOTFOUND) then
430: Raise NO_DATA_FOUND;
431: end if;
432:
433: IF FND_API.To_Boolean ( p_commit ) THEN
434: COMMIT WORK;
435: END iF;
436:
437: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
438: p_data => X_msg_data );
439:
440: EXCEPTION
441:
442: WHEN FND_API.G_EXC_ERROR THEN
443:
444: ROLLBACK TO Delete_Row_Pvt ;
445: X_return_status := FND_API.G_RET_STS_ERROR;
446: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
441:
442: WHEN FND_API.G_EXC_ERROR THEN
443:
444: ROLLBACK TO Delete_Row_Pvt ;
445: X_return_status := FND_API.G_RET_STS_ERROR;
446: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
447: p_data => X_msg_data );
448:
449: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
445: X_return_status := FND_API.G_RET_STS_ERROR;
446: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
447: p_data => X_msg_data );
448:
449: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
450:
451: ROLLBACK TO Delete_Row_Pvt ;
452: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
453: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
448:
449: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
450:
451: ROLLBACK TO Delete_Row_Pvt ;
452: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
453: FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
454: p_data => X_msg_data );
455:
456: WHEN OTHERS THEN
455:
456: WHEN OTHERS THEN
457:
458: ROLLBACK TO Delete_Row_Pvt ;
459: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
460:
461: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
462: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
463: l_api_name);