[Home] [Help]
30: -------------------------------
31: PROCEDURE VALIDATE_PC_HEADER_UPDATE
32: (
33: p_api_version IN NUMBER,
34: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
35: p_commit IN VARCHAR2 := FND_API.G_FALSE,
36: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
37: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
38: x_return_status OUT NOCOPY VARCHAR2,
31: PROCEDURE VALIDATE_PC_HEADER_UPDATE
32: (
33: p_api_version IN NUMBER,
34: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
35: p_commit IN VARCHAR2 := FND_API.G_FALSE,
36: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
37: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
38: x_return_status OUT NOCOPY VARCHAR2,
39: x_msg_count OUT NOCOPY NUMBER,
32: (
33: p_api_version IN NUMBER,
34: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
35: p_commit IN VARCHAR2 := FND_API.G_FALSE,
36: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
37: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
38: x_return_status OUT NOCOPY VARCHAR2,
39: x_msg_count OUT NOCOPY NUMBER,
40: x_msg_data OUT NOCOPY VARCHAR2,
46: -----------------
47: PROCEDURE CREATE_LINK
48: (
49: p_api_version IN NUMBER,
50: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
51: p_commit IN VARCHAR2 := FND_API.G_FALSE,
52: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
53: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
54: x_return_status OUT NOCOPY VARCHAR2,
47: PROCEDURE CREATE_LINK
48: (
49: p_api_version IN NUMBER,
50: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
51: p_commit IN VARCHAR2 := FND_API.G_FALSE,
52: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
53: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
54: x_return_status OUT NOCOPY VARCHAR2,
55: x_msg_count OUT NOCOPY NUMBER,
48: (
49: p_api_version IN NUMBER,
50: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
51: p_commit IN VARCHAR2 := FND_API.G_FALSE,
52: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
53: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
54: x_return_status OUT NOCOPY VARCHAR2,
55: x_msg_count OUT NOCOPY NUMBER,
56: x_msg_data OUT NOCOPY VARCHAR2
76: -----------------
77: PROCEDURE REMOVE_LINK
78: (
79: p_api_version IN NUMBER,
80: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
81: p_commit IN VARCHAR2 := FND_API.G_FALSE,
82: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
83: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
84: x_return_status OUT NOCOPY VARCHAR2,
77: PROCEDURE REMOVE_LINK
78: (
79: p_api_version IN NUMBER,
80: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
81: p_commit IN VARCHAR2 := FND_API.G_FALSE,
82: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
83: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
84: x_return_status OUT NOCOPY VARCHAR2,
85: x_msg_count OUT NOCOPY NUMBER,
78: (
79: p_api_version IN NUMBER,
80: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
81: p_commit IN VARCHAR2 := FND_API.G_FALSE,
82: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
83: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
84: x_return_status OUT NOCOPY VARCHAR2,
85: x_msg_count OUT NOCOPY NUMBER,
86: x_msg_data OUT NOCOPY VARCHAR2,
97: ----------------------
98: PROCEDURE CREATE_PC_HEADER
99: (
100: p_api_version IN NUMBER,
101: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
102: p_commit IN VARCHAR2 := FND_API.G_FALSE,
103: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
104: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
105: x_return_status OUT NOCOPY VARCHAR2,
98: PROCEDURE CREATE_PC_HEADER
99: (
100: p_api_version IN NUMBER,
101: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
102: p_commit IN VARCHAR2 := FND_API.G_FALSE,
103: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
104: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
105: x_return_status OUT NOCOPY VARCHAR2,
106: x_msg_count OUT NOCOPY NUMBER,
99: (
100: p_api_version IN NUMBER,
101: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
102: p_commit IN VARCHAR2 := FND_API.G_FALSE,
103: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
104: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
105: x_return_status OUT NOCOPY VARCHAR2,
106: x_msg_count OUT NOCOPY NUMBER,
107: x_msg_data OUT NOCOPY VARCHAR2
124: -- Standard start of API savepoint
125: SAVEPOINT CREATE_PC_HEADER_PVT;
126:
127: -- Standard call to check for call compatibility
128: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
129: THEN
130: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
131: END IF;
132:
126:
127: -- Standard call to check for call compatibility
128: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
129: THEN
130: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
131: END IF;
132:
133: -- Initialize message list if p_init_msg_list is set to TRUE
134: IF FND_API.To_Boolean(p_init_msg_list)
130: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
131: END IF;
132:
133: -- Initialize message list if p_init_msg_list is set to TRUE
134: IF FND_API.To_Boolean(p_init_msg_list)
135: THEN
136: FND_MSG_PUB.Initialize;
137: END IF;
138:
135: THEN
136: FND_MSG_PUB.Initialize;
137: END IF;
138:
139: x_return_status := FND_API.G_RET_STS_SUCCESS;
140:
141: IF G_DEBUG='Y' THEN
142: AHL_DEBUG_PUB.ENABLE_DEBUG;
143: END IF;
152: -- Check Error Message stack.
153: x_msg_count := FND_MSG_PUB.count_msg;
154: IF x_msg_count > 0
155: THEN
156: RAISE FND_API.G_EXC_ERROR;
157: END IF;
158:
159: -- Insert Record into ahl_pc_header_headers,
160: -- call table handler insert record
211: -- Check Error Message stack.
212: x_msg_count := FND_MSG_PUB.count_msg;
213: IF x_msg_count > 0
214: THEN
215: RAISE FND_API.G_EXC_ERROR;
216: END IF;
217:
218: -- Standard check for p_commit
219: IF FND_API.To_Boolean (p_commit)
215: RAISE FND_API.G_EXC_ERROR;
216: END IF;
217:
218: -- Standard check for p_commit
219: IF FND_API.To_Boolean (p_commit)
220: THEN
221: COMMIT WORK;
222: END IF;
223:
223:
224: -- Standard call to get message count and if count is 1, get message info
225: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
226: p_data => x_msg_data,
227: p_encoded => fnd_api.g_false );
228:
229: EXCEPTION
230: WHEN FND_API.G_EXC_ERROR THEN
231: x_return_status := FND_API.G_RET_STS_ERROR;
226: p_data => x_msg_data,
227: p_encoded => fnd_api.g_false );
228:
229: EXCEPTION
230: WHEN FND_API.G_EXC_ERROR THEN
231: x_return_status := FND_API.G_RET_STS_ERROR;
232: Rollback to CREATE_PC_HEADER_PVT;
233: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
234: p_data => x_msg_data,
227: p_encoded => fnd_api.g_false );
228:
229: EXCEPTION
230: WHEN FND_API.G_EXC_ERROR THEN
231: x_return_status := FND_API.G_RET_STS_ERROR;
232: Rollback to CREATE_PC_HEADER_PVT;
233: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
234: p_data => x_msg_data,
235: p_encoded => fnd_api.g_false);
231: x_return_status := FND_API.G_RET_STS_ERROR;
232: Rollback to CREATE_PC_HEADER_PVT;
233: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
234: p_data => x_msg_data,
235: p_encoded => fnd_api.g_false);
236:
237: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
238: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
239: Rollback to CREATE_PC_HEADER_PVT;
233: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
234: p_data => x_msg_data,
235: p_encoded => fnd_api.g_false);
236:
237: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
238: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
239: Rollback to CREATE_PC_HEADER_PVT;
240: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
241: p_data => x_msg_data,
234: p_data => x_msg_data,
235: p_encoded => fnd_api.g_false);
236:
237: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
238: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
239: Rollback to CREATE_PC_HEADER_PVT;
240: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
241: p_data => x_msg_data,
242: p_encoded => fnd_api.g_false);
238: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
239: Rollback to CREATE_PC_HEADER_PVT;
240: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
241: p_data => x_msg_data,
242: p_encoded => fnd_api.g_false);
243:
244: WHEN OTHERS THEN
245: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
246: Rollback to CREATE_PC_HEADER_PVT;
241: p_data => x_msg_data,
242: p_encoded => fnd_api.g_false);
243:
244: WHEN OTHERS THEN
245: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
246: Rollback to CREATE_PC_HEADER_PVT;
247: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
248: THEN
249: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
251: p_error_text => SUBSTR(SQLERRM,1,240));
252: END IF;
253: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
254: p_data => x_msg_data,
255: p_encoded => fnd_api.g_false);
256:
257: END CREATE_PC_HEADER;
258:
259: ----------------------
261: ----------------------
262: PROCEDURE UPDATE_PC_HEADER
263: (
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 := FND_API.G_VALID_LEVEL_FULL,
268: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
269: x_return_status OUT NOCOPY VARCHAR2,
262: PROCEDURE UPDATE_PC_HEADER
263: (
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 := FND_API.G_VALID_LEVEL_FULL,
268: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
269: x_return_status OUT NOCOPY VARCHAR2,
270: x_msg_count OUT NOCOPY NUMBER,
263: (
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 := FND_API.G_VALID_LEVEL_FULL,
268: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
269: x_return_status OUT NOCOPY VARCHAR2,
270: x_msg_count OUT NOCOPY NUMBER,
271: x_msg_data OUT NOCOPY VARCHAR2,
294: -- Standard start of API savepoint
295: SAVEPOINT UPDATE_PC_HEADER_PVT;
296:
297: -- Standard call to check for call compatibility
298: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
299: THEN
300: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
301: END IF;
302:
296:
297: -- Standard call to check for call compatibility
298: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
299: THEN
300: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
301: END IF;
302:
303: -- Initialize message list if p_init_msg_list is set to TRUE
304: IF FND_API.To_Boolean(p_init_msg_list)
300: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
301: END IF;
302:
303: -- Initialize message list if p_init_msg_list is set to TRUE
304: IF FND_API.To_Boolean(p_init_msg_list)
305: THEN
306: FND_MSG_PUB.Initialize;
307: END IF;
308:
305: THEN
306: FND_MSG_PUB.Initialize;
307: END IF;
308:
309: x_return_status := FND_API.G_RET_STS_SUCCESS;
310:
311: IF G_DEBUG='Y' THEN
312: AHL_DEBUG_PUB.ENABLE_DEBUG;
313: END IF;
327: IF (l_is_dup_assos)
328: THEN
329: FND_MESSAGE.Set_Name('AHL','AHL_PC_DUP_UNIT_PART_ASSOS');
330: FND_MSG_PUB.ADD;
331: RAISE FND_API.G_EXC_ERROR;
332: END IF;
333: END IF;
334: END IF;
335: IF G_DEBUG='Y' THEN
367: -- Check Error Message stack.
368: x_msg_count := FND_MSG_PUB.count_msg;
369: IF x_msg_count > 0
370: THEN
371: RAISE FND_API.G_EXC_ERROR;
372: END IF;
373:
374: -- Standard check for p_commit
375: IF FND_API.To_Boolean (p_commit)
371: RAISE FND_API.G_EXC_ERROR;
372: END IF;
373:
374: -- Standard check for p_commit
375: IF FND_API.To_Boolean (p_commit)
376: THEN
377: COMMIT WORK;
378: END IF;
379:
379:
380: -- Standard call to get message count and if count is 1, get message info
381: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
382: p_data => x_msg_data,
383: p_encoded => fnd_api.g_false );
384:
385: RETURN;
386: -- If OPERATION_FLAG is G_DML_LINK then do not update the rec as the procedure will have updated
387: -- hence merely return
391: -- Check Error Message stack.
392: x_msg_count := FND_MSG_PUB.count_msg;
393: IF x_msg_count > 0
394: THEN
395: RAISE FND_API.G_EXC_ERROR;
396: END IF;
397:
398: AHL_PC_HEADERS_PKG.UPDATE_ROW
399: (
436: -- Check Error Message stack.
437: x_msg_count := FND_MSG_PUB.count_msg;
438: IF x_msg_count > 0
439: THEN
440: RAISE FND_API.G_EXC_ERROR;
441: END IF;
442:
443: -- Standard check for p_commit
444: IF FND_API.To_Boolean (p_commit)
440: RAISE FND_API.G_EXC_ERROR;
441: END IF;
442:
443: -- Standard check for p_commit
444: IF FND_API.To_Boolean (p_commit)
445: THEN
446: COMMIT WORK;
447: END IF;
448:
448:
449: -- Standard call to get message count and if count is 1, get message info
450: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
451: p_data => x_msg_data,
452: p_encoded => fnd_api.g_false );
453:
454: EXCEPTION
455: WHEN FND_API.G_EXC_ERROR THEN
456: x_return_status := FND_API.G_RET_STS_ERROR;
451: p_data => x_msg_data,
452: p_encoded => fnd_api.g_false );
453:
454: EXCEPTION
455: WHEN FND_API.G_EXC_ERROR THEN
456: x_return_status := FND_API.G_RET_STS_ERROR;
457: Rollback to UPDATE_PC_HEADER_PVT;
458: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
459: p_data => x_msg_data,
452: p_encoded => fnd_api.g_false );
453:
454: EXCEPTION
455: WHEN FND_API.G_EXC_ERROR THEN
456: x_return_status := FND_API.G_RET_STS_ERROR;
457: Rollback to UPDATE_PC_HEADER_PVT;
458: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
459: p_data => x_msg_data,
460: p_encoded => fnd_api.g_false );
456: x_return_status := FND_API.G_RET_STS_ERROR;
457: Rollback to UPDATE_PC_HEADER_PVT;
458: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
459: p_data => x_msg_data,
460: p_encoded => fnd_api.g_false );
461:
462: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
463: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
464: Rollback to UPDATE_PC_HEADER_PVT;
458: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
459: p_data => x_msg_data,
460: p_encoded => fnd_api.g_false );
461:
462: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
463: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
464: Rollback to UPDATE_PC_HEADER_PVT;
465: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
466: p_data => x_msg_data,
459: p_data => x_msg_data,
460: p_encoded => fnd_api.g_false );
461:
462: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
463: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
464: Rollback to UPDATE_PC_HEADER_PVT;
465: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
466: p_data => x_msg_data,
467: p_encoded => fnd_api.g_false );
463: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
464: Rollback to UPDATE_PC_HEADER_PVT;
465: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
466: p_data => x_msg_data,
467: p_encoded => fnd_api.g_false );
468:
469: WHEN OTHERS THEN
470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
471: Rollback to UPDATE_PC_HEADER_PVT;
466: p_data => x_msg_data,
467: p_encoded => fnd_api.g_false );
468:
469: WHEN OTHERS THEN
470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
471: Rollback to UPDATE_PC_HEADER_PVT;
472: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
473: THEN
474: fnd_msg_pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
476: p_error_text => SUBSTR(SQLERRM,1,240) );
477: END IF;
478: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
479: p_data => x_msg_data,
480: p_encoded => fnd_api.g_false );
481:
482: END UPDATE_PC_HEADER;
483:
484: ----------------------
486: ----------------------
487: PROCEDURE DELETE_PC_HEADER
488: (
489: p_api_version IN NUMBER,
490: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
491: p_commit IN VARCHAR2 := FND_API.G_FALSE,
492: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
493: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
494: x_return_status OUT NOCOPY VARCHAR2,
487: PROCEDURE DELETE_PC_HEADER
488: (
489: p_api_version IN NUMBER,
490: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
491: p_commit IN VARCHAR2 := FND_API.G_FALSE,
492: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
493: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
494: x_return_status OUT NOCOPY VARCHAR2,
495: x_msg_count OUT NOCOPY NUMBER,
488: (
489: p_api_version IN NUMBER,
490: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
491: p_commit IN VARCHAR2 := FND_API.G_FALSE,
492: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
493: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
494: x_return_status OUT NOCOPY VARCHAR2,
495: x_msg_count OUT NOCOPY NUMBER,
496: x_msg_data OUT NOCOPY VARCHAR2
534: -- Standard start of API savepoint
535: SAVEPOINT DELETE_PC_HEADER_PVT;
536:
537: -- Standard call to check for call compatibility
538: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
539: THEN
540: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
541: END IF;
542:
536:
537: -- Standard call to check for call compatibility
538: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
539: THEN
540: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
541: END IF;
542:
543: -- Initialize message list if p_init_msg_list is set to TRUE
544: IF FND_API.To_Boolean(p_init_msg_list)
540: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
541: END IF;
542:
543: -- Initialize message list if p_init_msg_list is set to TRUE
544: IF FND_API.To_Boolean(p_init_msg_list)
545: THEN
546: FND_MSG_PUB.Initialize;
547: END IF;
548:
545: THEN
546: FND_MSG_PUB.Initialize;
547: END IF;
548:
549: x_return_status := FND_API.G_RET_STS_SUCCESS;
550:
551: IF G_DEBUG='Y' THEN
552: AHL_DEBUG_PUB.ENABLE_DEBUG;
553: END IF;
558: THEN
559: FND_MESSAGE.Set_Name('AHL','AHL_PC_NOT_FOUND');
560: FND_MSG_PUB.ADD;
561: CLOSE check_header_status;
562: RAISE FND_API.G_EXC_ERROR;
563: ELSE
564: CLOSE check_header_status;
565: IF (l_status <> 'DRAFT' AND l_status <> 'APPROVAL_REJECTED')
566: THEN
565: IF (l_status <> 'DRAFT' AND l_status <> 'APPROVAL_REJECTED')
566: THEN
567: FND_MESSAGE.SET_NAME('AHL','AHL_PC_DRAFT_DELETE');
568: FND_MSG_PUB.ADD;
569: RAISE FND_API.G_EXC_ERROR;
570: ELSE
571:
572: l_link_to_header_id := 0;
573: OPEN delete_linked_header(p_x_pc_header_rec.PC_HEADER_ID);
601:
602: -- Priyan:
603: -- Added error handling after the Delete_Nodes API is called.
604: -- Check Error Message stack.
605: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
606: THEN
607: x_msg_count := FND_MSG_PUB.count_msg;
608: IF x_msg_count > 0 THEN
609: RAISE FND_API.G_EXC_ERROR;
605: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
606: THEN
607: x_msg_count := FND_MSG_PUB.count_msg;
608: IF x_msg_count > 0 THEN
609: RAISE FND_API.G_EXC_ERROR;
610: END IF;
611: END IF;
612:
613:
691: -- Check Error Message stack.
692: x_msg_count := FND_MSG_PUB.count_msg;
693: IF x_msg_count > 0
694: THEN
695: RAISE FND_API.G_EXC_ERROR;
696: END IF;
697:
698: -- Standard check for p_commit
699: IF FND_API.To_Boolean (p_commit)
695: RAISE FND_API.G_EXC_ERROR;
696: END IF;
697:
698: -- Standard check for p_commit
699: IF FND_API.To_Boolean (p_commit)
700: THEN
701: COMMIT WORK;
702: END IF;
703:
703:
704: -- Standard call to get message count and if count is 1, get message info
705: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
706: p_data => x_msg_data,
707: p_encoded => fnd_api.g_false );
708:
709: EXCEPTION
710: WHEN FND_API.G_EXC_ERROR THEN
711: x_return_status := FND_API.G_RET_STS_ERROR;
706: p_data => x_msg_data,
707: p_encoded => fnd_api.g_false );
708:
709: EXCEPTION
710: WHEN FND_API.G_EXC_ERROR THEN
711: x_return_status := FND_API.G_RET_STS_ERROR;
712: Rollback to DELETE_PC_HEADER_PVT;
713: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
714: p_data => x_msg_data,
707: p_encoded => fnd_api.g_false );
708:
709: EXCEPTION
710: WHEN FND_API.G_EXC_ERROR THEN
711: x_return_status := FND_API.G_RET_STS_ERROR;
712: Rollback to DELETE_PC_HEADER_PVT;
713: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
714: p_data => x_msg_data,
715: p_encoded => fnd_api.g_false );
711: x_return_status := FND_API.G_RET_STS_ERROR;
712: Rollback to DELETE_PC_HEADER_PVT;
713: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
714: p_data => x_msg_data,
715: p_encoded => fnd_api.g_false );
716:
717: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
718: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
719: Rollback to DELETE_PC_HEADER_PVT;
713: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
714: p_data => x_msg_data,
715: p_encoded => fnd_api.g_false );
716:
717: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
718: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
719: Rollback to DELETE_PC_HEADER_PVT;
720: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
721: p_data => x_msg_data,
714: p_data => x_msg_data,
715: p_encoded => fnd_api.g_false );
716:
717: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
718: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
719: Rollback to DELETE_PC_HEADER_PVT;
720: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
721: p_data => x_msg_data,
722: p_encoded => fnd_api.g_false );
718: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
719: Rollback to DELETE_PC_HEADER_PVT;
720: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
721: p_data => x_msg_data,
722: p_encoded => fnd_api.g_false );
723:
724: WHEN OTHERS THEN
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: Rollback to DELETE_PC_HEADER_PVT;
721: p_data => x_msg_data,
722: p_encoded => fnd_api.g_false );
723:
724: WHEN OTHERS THEN
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: Rollback to DELETE_PC_HEADER_PVT;
727: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
728: THEN
729: fnd_msg_pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
731: p_error_text => SUBSTR(SQLERRM,1,240) );
732: END IF;
733: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
734: p_data => x_msg_data,
735: p_encoded => fnd_api.g_false );
736: END DELETE_PC_HEADER;
737:
738: --------------------
739: -- COPY_PC_HEADER --
740: --------------------
741: PROCEDURE COPY_PC_HEADER
742: (
743: p_api_version IN NUMBER,
744: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
745: p_commit IN VARCHAR2 := FND_API.G_FALSE,
746: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
747: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
748: x_return_status OUT NOCOPY VARCHAR2,
741: PROCEDURE COPY_PC_HEADER
742: (
743: p_api_version IN NUMBER,
744: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
745: p_commit IN VARCHAR2 := FND_API.G_FALSE,
746: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
747: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
748: x_return_status OUT NOCOPY VARCHAR2,
749: x_msg_count OUT NOCOPY NUMBER,
742: (
743: p_api_version IN NUMBER,
744: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
745: p_commit IN VARCHAR2 := FND_API.G_FALSE,
746: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
747: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
748: x_return_status OUT NOCOPY VARCHAR2,
749: x_msg_count OUT NOCOPY NUMBER,
750: x_msg_data OUT NOCOPY VARCHAR2
922: -- Standard start of API savepoint
923: SAVEPOINT COPY_PC_HEADER_PVT;
924:
925: -- Standard call to check for call compatibility
926: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
927: THEN
928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
929: END IF;
930:
924:
925: -- Standard call to check for call compatibility
926: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
927: THEN
928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
929: END IF;
930:
931: -- Initialize message list if p_init_msg_list is set to TRUE
932: IF FND_API.To_Boolean(p_init_msg_list)
928: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
929: END IF;
930:
931: -- Initialize message list if p_init_msg_list is set to TRUE
932: IF FND_API.To_Boolean(p_init_msg_list)
933: THEN
934: FND_MSG_PUB.Initialize;
935: END IF;
936:
933: THEN
934: FND_MSG_PUB.Initialize;
935: END IF;
936:
937: x_return_status := FND_API.G_RET_STS_SUCCESS;
938:
939: IF G_DEBUG='Y' THEN
940: AHL_DEBUG_PUB.ENABLE_DEBUG;
941: END IF;
950: THEN
951: FND_MESSAGE.Set_Name('AHL','AHL_PC_NAME_EXISTS');
952: FND_MSG_PUB.ADD;
953: CLOSE check_name_unique;
954: RAISE FND_API.G_EXC_ERROR;
955: END IF;
956: CLOSE check_name_unique;
957:
958: -- If the to be copied PC is not primary and the new PC is primary, and if the to be...
969: IF (l_is_dup_assos)
970: THEN
971: FND_MESSAGE.Set_Name('AHL','AHL_PC_DUP_UNIT_PART_ASSOS');
972: FND_MSG_PUB.ADD;
973: RAISE FND_API.G_EXC_ERROR;
974: END IF;
975: END IF;
976: END IF;
977:
980: IF (l_dummy = FALSE AND p_x_pc_header_rec.COPY_ASSOS_FLAG = 'Y')
981: THEN
982: FND_MESSAGE.Set_Name('AHL','AHL_PC_UNIT_PART_ATTACHED');
983: FND_MSG_PUB.ADD;
984: RAISE FND_API.G_EXC_ERROR;
985: END IF;
986:
987: CREATE_PC_HEADER
988: (
1001:
1002: x_msg_count := FND_MSG_PUB.count_msg;
1003: IF x_msg_count > 0
1004: THEN
1005: RAISE FND_API.G_EXC_ERROR;
1006: END IF;
1007:
1008: l_nodeCtr := 0;
1009: -- For Bug # 9486654 copy_nodes_data
1071:
1072: AHL_PC_NODE_PVT.CREATE_NODE
1073: (
1074: p_api_version => p_api_version,
1075: p_init_msg_list => FND_API.G_FALSE,
1076: p_commit => FND_API.G_FALSE,
1077: p_validation_level => p_validation_level,
1078: p_x_node_rec => l_node_rec,
1079: x_return_status => x_return_status,
1072: AHL_PC_NODE_PVT.CREATE_NODE
1073: (
1074: p_api_version => p_api_version,
1075: p_init_msg_list => FND_API.G_FALSE,
1076: p_commit => FND_API.G_FALSE,
1077: p_validation_level => p_validation_level,
1078: p_x_node_rec => l_node_rec,
1079: x_return_status => x_return_status,
1080: x_msg_count => x_msg_count,
1143: THEN
1144: AHL_DI_ASSO_DOC_ASO_PVT.CREATE_ASSOCIATION
1145: (
1146: p_api_version => 1.0,
1147: p_init_msg_list => FND_API.G_FALSE,
1148: p_commit => FND_API.G_FALSE,
1149: p_validation_level => p_validation_level,
1150: p_x_association_tbl => l_assos_doc_tbl,
1151: x_return_status => x_return_status,
1144: AHL_DI_ASSO_DOC_ASO_PVT.CREATE_ASSOCIATION
1145: (
1146: p_api_version => 1.0,
1147: p_init_msg_list => FND_API.G_FALSE,
1148: p_commit => FND_API.G_FALSE,
1149: p_validation_level => p_validation_level,
1150: p_x_association_tbl => l_assos_doc_tbl,
1151: x_return_status => x_return_status,
1152: x_msg_count => x_msg_count,
1217:
1218: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
1219: (
1220: p_api_version => p_api_version,
1221: p_init_msg_list => FND_API.G_FALSE,
1222: p_commit => FND_API.G_FALSE,
1223: p_validation_level => p_validation_level,
1224: p_x_assos_rec => l_assos_rec,
1225: x_return_status => x_return_status,
1218: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
1219: (
1220: p_api_version => p_api_version,
1221: p_init_msg_list => FND_API.G_FALSE,
1222: p_commit => FND_API.G_FALSE,
1223: p_validation_level => p_validation_level,
1224: p_x_assos_rec => l_assos_rec,
1225: x_return_status => x_return_status,
1226: x_msg_count => x_msg_count,
1235: THEN
1236: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
1237: (
1238: p_api_version => p_api_version,
1239: p_init_msg_list => FND_API.G_FALSE,
1240: p_commit => FND_API.G_FALSE,
1241: p_validation_level => p_validation_level,
1242: p_x_assos_rec => l_assos_rec,
1243: x_return_status => x_return_status,
1236: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
1237: (
1238: p_api_version => p_api_version,
1239: p_init_msg_list => FND_API.G_FALSE,
1240: p_commit => FND_API.G_FALSE,
1241: p_validation_level => p_validation_level,
1242: p_x_assos_rec => l_assos_rec,
1243: x_return_status => x_return_status,
1244: x_msg_count => x_msg_count,
1255: -- Check Error Message stack.
1256: x_msg_count := FND_MSG_PUB.count_msg;
1257: IF x_msg_count > 0
1258: THEN
1259: RAISE FND_API.G_EXC_ERROR;
1260: END IF;
1261:
1262: -- Standard check for p_commit
1263: IF FND_API.To_Boolean (p_commit)
1259: RAISE FND_API.G_EXC_ERROR;
1260: END IF;
1261:
1262: -- Standard check for p_commit
1263: IF FND_API.To_Boolean (p_commit)
1264: THEN
1265: COMMIT WORK;
1266: END IF;
1267:
1267:
1268: -- Standard call to get message count and if count is 1, get message info
1269: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
1270: p_data => x_msg_data,
1271: p_encoded => fnd_api.g_false );
1272:
1273: EXCEPTION
1274: WHEN FND_API.G_EXC_ERROR THEN
1275: x_return_status := FND_API.G_RET_STS_ERROR;
1270: p_data => x_msg_data,
1271: p_encoded => fnd_api.g_false );
1272:
1273: EXCEPTION
1274: WHEN FND_API.G_EXC_ERROR THEN
1275: x_return_status := FND_API.G_RET_STS_ERROR;
1276: Rollback to COPY_PC_HEADER_PVT;
1277: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1278: p_data => x_msg_data,
1271: p_encoded => fnd_api.g_false );
1272:
1273: EXCEPTION
1274: WHEN FND_API.G_EXC_ERROR THEN
1275: x_return_status := FND_API.G_RET_STS_ERROR;
1276: Rollback to COPY_PC_HEADER_PVT;
1277: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1278: p_data => x_msg_data,
1279: p_encoded => fnd_api.g_false );
1275: x_return_status := FND_API.G_RET_STS_ERROR;
1276: Rollback to COPY_PC_HEADER_PVT;
1277: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1278: p_data => x_msg_data,
1279: p_encoded => fnd_api.g_false );
1280:
1281: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1282: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1283: Rollback to COPY_PC_HEADER_PVT;
1277: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1278: p_data => x_msg_data,
1279: p_encoded => fnd_api.g_false );
1280:
1281: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1282: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1283: Rollback to COPY_PC_HEADER_PVT;
1284: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1285: p_data => x_msg_data,
1278: p_data => x_msg_data,
1279: p_encoded => fnd_api.g_false );
1280:
1281: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1282: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1283: Rollback to COPY_PC_HEADER_PVT;
1284: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1285: p_data => x_msg_data,
1286: p_encoded => fnd_api.g_false );
1282: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1283: Rollback to COPY_PC_HEADER_PVT;
1284: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1285: p_data => x_msg_data,
1286: p_encoded => fnd_api.g_false );
1287:
1288: WHEN OTHERS THEN
1289: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1290: Rollback to COPY_PC_HEADER_PVT;
1285: p_data => x_msg_data,
1286: p_encoded => fnd_api.g_false );
1287:
1288: WHEN OTHERS THEN
1289: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1290: Rollback to COPY_PC_HEADER_PVT;
1291: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
1292: THEN
1293: fnd_msg_pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1295: p_error_text => SUBSTR(SQLERRM,1,240) );
1296: END IF;
1297: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1298: p_data => x_msg_data,
1299: p_encoded => fnd_api.g_false );
1300:
1301: END COPY_PC_HEADER;
1302:
1303: --------------------------
1305: --------------------------
1306: PROCEDURE INITIATE_PC_APPROVAL
1307: (
1308: p_api_version IN NUMBER,
1309: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1310: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1311: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1312: p_default IN VARCHAR2 := FND_API.G_FALSE,
1313: x_return_status OUT NOCOPY VARCHAR2,
1306: PROCEDURE INITIATE_PC_APPROVAL
1307: (
1308: p_api_version IN NUMBER,
1309: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1310: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1311: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1312: p_default IN VARCHAR2 := FND_API.G_FALSE,
1313: x_return_status OUT NOCOPY VARCHAR2,
1314: x_msg_count OUT NOCOPY NUMBER,
1307: (
1308: p_api_version IN NUMBER,
1309: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1310: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1311: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1312: p_default IN VARCHAR2 := FND_API.G_FALSE,
1313: x_return_status OUT NOCOPY VARCHAR2,
1314: x_msg_count OUT NOCOPY NUMBER,
1315: x_msg_data OUT NOCOPY VARCHAR2,
1308: p_api_version IN NUMBER,
1309: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1310: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1311: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1312: p_default IN VARCHAR2 := FND_API.G_FALSE,
1313: x_return_status OUT NOCOPY VARCHAR2,
1314: x_msg_count OUT NOCOPY NUMBER,
1315: x_msg_data OUT NOCOPY VARCHAR2,
1316: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
1342:
1343: BEGIN
1344:
1345: -- Initialize message list if p_init_msg_list is set to TRUE
1346: IF FND_API.To_Boolean(p_init_msg_list)
1347: THEN
1348: FND_MSG_PUB.Initialize;
1349: END IF;
1350:
1347: THEN
1348: FND_MSG_PUB.Initialize;
1349: END IF;
1350:
1351: x_return_status := FND_API.G_RET_STS_SUCCESS;
1352:
1353: IF G_DEBUG='Y' THEN
1354: AHL_DEBUG_PUB.ENABLE_DEBUG;
1355: --END IF;
1398: IF (sql%rowcount) = 0
1399: THEN
1400: FND_MESSAGE.SET_NAME('AHL','AHL_COM_RECORD_CHANGED');
1401: FND_MSG_PUB.ADD;
1402: RAISE FND_API.G_EXC_ERROR;
1403: -- Else start PCWF workflow process for this PC
1404: ELSE
1405: IF G_DEBUG='Y' THEN
1406: AHL_DEBUG_PUB.debug('PCH -- PVT -- Before calling ahl_generic_aprv_pvt.start_wf_process');
1552: THEN
1553: FND_MESSAGE.Set_Name('AHL','AHL_PC_NAME_EXISTS');
1554: FND_MSG_PUB.ADD;
1555: CLOSE check_name;
1556: RAISE FND_API.G_EXC_ERROR;
1557: END IF;
1558: CLOSE check_name;
1559:
1560: -- CHECK PROD TYPE AND ASSOS TYPE
1568: THEN
1569: FND_MESSAGE.Set_Name('AHL','AHL_PC_PROD_PRIM_EXISTS');
1570: FND_MSG_PUB.ADD;
1571: CLOSE check_prod_type;
1572: RAISE FND_API.G_EXC_ERROR;
1573: END IF;
1574: CLOSE check_prod_type;
1575: END IF;
1576: END IF;
1679: -----------------
1680: PROCEDURE CREATE_LINK
1681: (
1682: p_api_version IN NUMBER,
1683: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1684: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1685: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1686: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
1687: x_return_status OUT NOCOPY VARCHAR2,
1680: PROCEDURE CREATE_LINK
1681: (
1682: p_api_version IN NUMBER,
1683: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1684: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1685: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1686: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
1687: x_return_status OUT NOCOPY VARCHAR2,
1688: x_msg_count OUT NOCOPY NUMBER,
1681: (
1682: p_api_version IN NUMBER,
1683: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1684: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1685: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1686: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
1687: x_return_status OUT NOCOPY VARCHAR2,
1688: x_msg_count OUT NOCOPY NUMBER,
1689: x_msg_data OUT NOCOPY VARCHAR2
1835: BEGIN
1836:
1837:
1838: -- Initialize message list if p_init_msg_list is set to TRUE
1839: IF FND_API.To_Boolean(p_init_msg_list)
1840: THEN
1841: FND_MSG_PUB.Initialize;
1842: END IF;
1843:
1840: THEN
1841: FND_MSG_PUB.Initialize;
1842: END IF;
1843:
1844: x_return_status := FND_API.G_RET_STS_SUCCESS;
1845:
1846: IF G_DEBUG='Y' THEN
1847: AHL_DEBUG_PUB.ENABLE_DEBUG;
1848: END IF;
1863:
1864: CREATE_PC_HEADER
1865: (
1866: p_api_version => p_api_version,
1867: p_init_msg_list => FND_API.G_FALSE,
1868: p_commit => FND_API.G_FALSE,
1869: p_validation_level => p_validation_level,
1870: p_x_pc_header_rec => p_x_pc_header_rec,
1871: x_return_status => x_return_status,
1864: CREATE_PC_HEADER
1865: (
1866: p_api_version => p_api_version,
1867: p_init_msg_list => FND_API.G_FALSE,
1868: p_commit => FND_API.G_FALSE,
1869: p_validation_level => p_validation_level,
1870: p_x_pc_header_rec => p_x_pc_header_rec,
1871: x_return_status => x_return_status,
1872: x_msg_count => x_msg_count,
1879:
1880: x_msg_count := FND_MSG_PUB.count_msg;
1881: IF x_msg_count > 0
1882: THEN
1883: RAISE FND_API.G_EXC_ERROR;
1884: END IF;
1885:
1886: l_nodeCtr :=0;
1887: -- For Bug # 9486654 copy_nodes_data
1964:
1965: AHL_PC_NODE_PVT.CREATE_NODE
1966: (
1967: p_api_version => p_api_version,
1968: p_init_msg_list => FND_API.G_FALSE,
1969: p_commit => FND_API.G_FALSE,
1970: p_validation_level => p_validation_level,
1971: p_x_node_rec => l_node_rec,
1972: x_return_status => x_return_status,
1965: AHL_PC_NODE_PVT.CREATE_NODE
1966: (
1967: p_api_version => p_api_version,
1968: p_init_msg_list => FND_API.G_FALSE,
1969: p_commit => FND_API.G_FALSE,
1970: p_validation_level => p_validation_level,
1971: p_x_node_rec => l_node_rec,
1972: x_return_status => x_return_status,
1973: x_msg_count => x_msg_count,
1985:
1986: x_msg_count := FND_MSG_PUB.count_msg;
1987: IF x_msg_count > 0
1988: THEN
1989: RAISE FND_API.G_EXC_ERROR;
1990: END IF;
1991:
1992: IF G_DEBUG='Y' THEN
1993: AHL_DEBUG_PUB.debug('PCH -- PVT -- CREATE_LINK -- after raising exceptions: After Create Node');
2040: THEN
2041: AHL_DI_ASSO_DOC_ASO_PVT.CREATE_ASSOCIATION
2042: (
2043: p_api_version => 1.0,
2044: p_init_msg_list => FND_API.G_FALSE,
2045: p_commit => FND_API.G_FALSE,
2046: p_validation_level => p_validation_level,
2047: p_x_association_tbl => l_assos_doc_tbl,
2048: x_return_status => x_return_status,
2041: AHL_DI_ASSO_DOC_ASO_PVT.CREATE_ASSOCIATION
2042: (
2043: p_api_version => 1.0,
2044: p_init_msg_list => FND_API.G_FALSE,
2045: p_commit => FND_API.G_FALSE,
2046: p_validation_level => p_validation_level,
2047: p_x_association_tbl => l_assos_doc_tbl,
2048: x_return_status => x_return_status,
2049: x_msg_count => x_msg_count,
2121: AHL_DEBUG_PUB.debug('PCH -- PVT -- CREATE_LINK -- before call to AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT : l_node_asso_rec.PC_NODE_ID'|| l_assos_rec.PC_NODE_ID);
2122: END IF;
2123: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT(
2124: p_api_version => p_api_version,
2125: p_init_msg_list => FND_API.G_FALSE,
2126: p_commit => FND_API.G_FALSE,
2127: p_validation_level => p_validation_level,
2128: p_x_assos_rec => l_assos_rec,
2129: x_return_status => x_return_status,
2122: END IF;
2123: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT(
2124: p_api_version => p_api_version,
2125: p_init_msg_list => FND_API.G_FALSE,
2126: p_commit => FND_API.G_FALSE,
2127: p_validation_level => p_validation_level,
2128: p_x_assos_rec => l_assos_rec,
2129: x_return_status => x_return_status,
2130: x_msg_count => x_msg_count,
2142: AHL_DEBUG_PUB.debug('PCH -- PVT -- CREATE_LINK -- before call to AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM : l_node_asso_rec.PC_NODE_ID'|| l_assos_rec.PC_NODE_ID);
2143: END IF;
2144: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM(
2145: p_api_version => p_api_version,
2146: p_init_msg_list => FND_API.G_FALSE,
2147: p_commit => FND_API.G_FALSE,
2148: p_validation_level => p_validation_level,
2149: p_x_assos_rec => l_assos_rec,
2150: x_return_status => x_return_status,
2143: END IF;
2144: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM(
2145: p_api_version => p_api_version,
2146: p_init_msg_list => FND_API.G_FALSE,
2147: p_commit => FND_API.G_FALSE,
2148: p_validation_level => p_validation_level,
2149: p_x_assos_rec => l_assos_rec,
2150: x_return_status => x_return_status,
2151: x_msg_count => x_msg_count,
2212:
2213: l_node_id NUMBER;
2214: l_linked_node_id NUMBER;
2215: l_exist VARCHAR2(1);
2216: l_ump_node_attached VARCHAR2(1) := FND_API.G_FALSE;
2217: l_ump_unit_attached VARCHAR2(1) := FND_API.G_FALSE;
2218: l_ump_part_attached VARCHAR2(1) := FND_API.G_FALSE;
2219: l_fmp_attached VARCHAR2(1) := FND_API.G_FALSE;
2220: l_node_tbl T_ID_TBL;
2213: l_node_id NUMBER;
2214: l_linked_node_id NUMBER;
2215: l_exist VARCHAR2(1);
2216: l_ump_node_attached VARCHAR2(1) := FND_API.G_FALSE;
2217: l_ump_unit_attached VARCHAR2(1) := FND_API.G_FALSE;
2218: l_ump_part_attached VARCHAR2(1) := FND_API.G_FALSE;
2219: l_fmp_attached VARCHAR2(1) := FND_API.G_FALSE;
2220: l_node_tbl T_ID_TBL;
2221: l_assos_tbl T_ID_TBL;
2214: l_linked_node_id NUMBER;
2215: l_exist VARCHAR2(1);
2216: l_ump_node_attached VARCHAR2(1) := FND_API.G_FALSE;
2217: l_ump_unit_attached VARCHAR2(1) := FND_API.G_FALSE;
2218: l_ump_part_attached VARCHAR2(1) := FND_API.G_FALSE;
2219: l_fmp_attached VARCHAR2(1) := FND_API.G_FALSE;
2220: l_node_tbl T_ID_TBL;
2221: l_assos_tbl T_ID_TBL;
2222: l_docs_tbl T_ID_TBL;
2215: l_exist VARCHAR2(1);
2216: l_ump_node_attached VARCHAR2(1) := FND_API.G_FALSE;
2217: l_ump_unit_attached VARCHAR2(1) := FND_API.G_FALSE;
2218: l_ump_part_attached VARCHAR2(1) := FND_API.G_FALSE;
2219: l_fmp_attached VARCHAR2(1) := FND_API.G_FALSE;
2220: l_node_tbl T_ID_TBL;
2221: l_assos_tbl T_ID_TBL;
2222: l_docs_tbl T_ID_TBL;
2223: l_is_pc_primary VARCHAR2(1) := 'N';
2403: -----------------
2404: PROCEDURE REMOVE_LINK
2405: (
2406: p_api_version IN NUMBER,
2407: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2408: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2409: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2410: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
2411: x_return_status OUT NOCOPY VARCHAR2,
2404: PROCEDURE REMOVE_LINK
2405: (
2406: p_api_version IN NUMBER,
2407: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2408: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2409: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2410: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
2411: x_return_status OUT NOCOPY VARCHAR2,
2412: x_msg_count OUT NOCOPY NUMBER,
2405: (
2406: p_api_version IN NUMBER,
2407: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2408: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2409: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2410: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
2411: x_return_status OUT NOCOPY VARCHAR2,
2412: x_msg_count OUT NOCOPY NUMBER,
2413: x_msg_data OUT NOCOPY VARCHAR2,
2757:
2758: BEGIN
2759:
2760: -- Initialize message list if p_init_msg_list is set to TRUE
2761: IF FND_API.To_Boolean(p_init_msg_list)
2762: THEN
2763: FND_MSG_PUB.Initialize;
2764: END IF;
2765:
2762: THEN
2763: FND_MSG_PUB.Initialize;
2764: END IF;
2765:
2766: x_return_status := FND_API.G_RET_STS_SUCCESS;
2767:
2768: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2769: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,l_full_name,'Start of the API');
2770: END IF;
2810:
2811: -- get the top level applicable instances for the MR
2812: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
2813: p_api_version => 1.0,
2814: p_init_msg_list => FND_API.G_FALSE,
2815: p_commit => FND_API.G_FALSE,
2816: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2817: x_return_status => x_return_status,
2818: x_msg_count => x_msg_count,
2811: -- get the top level applicable instances for the MR
2812: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
2813: p_api_version => 1.0,
2814: p_init_msg_list => FND_API.G_FALSE,
2815: p_commit => FND_API.G_FALSE,
2816: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2817: x_return_status => x_return_status,
2818: x_msg_count => x_msg_count,
2819: x_msg_data => x_msg_data,
2812: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
2813: p_api_version => 1.0,
2814: p_init_msg_list => FND_API.G_FALSE,
2815: p_commit => FND_API.G_FALSE,
2816: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2817: x_return_status => x_return_status,
2818: x_msg_count => x_msg_count,
2819: x_msg_data => x_msg_data,
2820: p_mr_header_id => l_get_mr_for_pc_rec.mr_header_id,
2823: p_unique_inst_flag => 'Y',
2824: x_mr_item_inst_tbl => l_mr_item_inst_tbl);
2825:
2826: -- check for the return status
2827: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2828: IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
2829: FND_LOG.string(FND_LOG.level_statement,l_full_name,
2830: 'Raising exception with x_return_status => '||x_return_status);
2831: END IF;
2828: IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
2829: FND_LOG.string(FND_LOG.level_statement,l_full_name,
2830: 'Raising exception with x_return_status => '||x_return_status);
2831: END IF;
2832: RAISE FND_API.G_EXC_ERROR;
2833: END IF;
2834:
2835: -- populate the associative array of instances for linked PC
2836: IF (l_mr_item_inst_tbl.COUNT > 0) THEN
2875:
2876: UPDATE_PC_HEADER
2877: (
2878: p_api_version => p_api_version,
2879: p_init_msg_list => FND_API.G_FALSE,
2880: p_commit => FND_API.G_FALSE,
2881: p_validation_level => p_validation_level,
2882: p_x_pc_header_rec => p_x_pc_header_rec,
2883: x_return_status => x_return_status,
2876: UPDATE_PC_HEADER
2877: (
2878: p_api_version => p_api_version,
2879: p_init_msg_list => FND_API.G_FALSE,
2880: p_commit => FND_API.G_FALSE,
2881: p_validation_level => p_validation_level,
2882: p_x_pc_header_rec => p_x_pc_header_rec,
2883: x_return_status => x_return_status,
2884: x_msg_count => x_msg_count,
3105:
3106: AHL_PC_NODE_PVT.UPDATE_NODE
3107: (
3108: p_api_version => p_api_version,
3109: p_init_msg_list => FND_API.G_FALSE,
3110: p_commit => FND_API.G_FALSE,
3111: p_validation_level => p_validation_level,
3112: p_x_node_rec => l_node_rec,
3113: x_return_status => x_return_status,
3106: AHL_PC_NODE_PVT.UPDATE_NODE
3107: (
3108: p_api_version => p_api_version,
3109: p_init_msg_list => FND_API.G_FALSE,
3110: p_commit => FND_API.G_FALSE,
3111: p_validation_level => p_validation_level,
3112: p_x_node_rec => l_node_rec,
3113: x_return_status => x_return_status,
3114: x_msg_count => x_msg_count,
3215:
3216: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
3217: (
3218: p_api_version => p_api_version,
3219: p_init_msg_list => FND_API.G_FALSE,
3220: p_commit => FND_API.G_FALSE,
3221: p_validation_level => p_validation_level,
3222: p_x_assos_rec => l_assos_rec,
3223: x_return_status => x_return_status,
3216: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
3217: (
3218: p_api_version => p_api_version,
3219: p_init_msg_list => FND_API.G_FALSE,
3220: p_commit => FND_API.G_FALSE,
3221: p_validation_level => p_validation_level,
3222: p_x_assos_rec => l_assos_rec,
3223: x_return_status => x_return_status,
3224: x_msg_count => x_msg_count,
3234:
3235: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
3236: (
3237: p_api_version => p_api_version,
3238: p_init_msg_list => FND_API.G_FALSE,
3239: p_commit => FND_API.G_FALSE,
3240: p_validation_level => p_validation_level,
3241: p_x_assos_rec => l_assos_rec,
3242: x_return_status => x_return_status,
3235: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
3236: (
3237: p_api_version => p_api_version,
3238: p_init_msg_list => FND_API.G_FALSE,
3239: p_commit => FND_API.G_FALSE,
3240: p_validation_level => p_validation_level,
3241: p_x_assos_rec => l_assos_rec,
3242: x_return_status => x_return_status,
3243: x_msg_count => x_msg_count,
3344: EXIT WHEN get_mr_for_pc%NOTFOUND;
3345: AHL_UMP_UNITMAINT_PVT.PROCESS_UNITEFFECTIVITY
3346: (
3347: p_api_version => 1.0,
3348: p_init_msg_list => FND_API.G_FALSE,
3349: p_commit => FND_API.G_FALSE,
3350: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3351: p_default => null,
3352: x_return_status => x_return_status,
3345: AHL_UMP_UNITMAINT_PVT.PROCESS_UNITEFFECTIVITY
3346: (
3347: p_api_version => 1.0,
3348: p_init_msg_list => FND_API.G_FALSE,
3349: p_commit => FND_API.G_FALSE,
3350: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3351: p_default => null,
3352: x_return_status => x_return_status,
3353: x_msg_count => x_msg_count,
3346: (
3347: p_api_version => 1.0,
3348: p_init_msg_list => FND_API.G_FALSE,
3349: p_commit => FND_API.G_FALSE,
3350: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3351: p_default => null,
3352: x_return_status => x_return_status,
3353: x_msg_count => x_msg_count,
3354: x_msg_data => x_msg_data,
3383:
3384: -- get the top level applicable instances for the MR
3385: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
3386: p_api_version => 1.0,
3387: p_init_msg_list => FND_API.G_FALSE,
3388: p_commit => FND_API.G_FALSE,
3389: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3390: x_return_status => x_return_status,
3391: x_msg_count => x_msg_count,
3384: -- get the top level applicable instances for the MR
3385: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
3386: p_api_version => 1.0,
3387: p_init_msg_list => FND_API.G_FALSE,
3388: p_commit => FND_API.G_FALSE,
3389: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3390: x_return_status => x_return_status,
3391: x_msg_count => x_msg_count,
3392: x_msg_data => x_msg_data,
3385: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
3386: p_api_version => 1.0,
3387: p_init_msg_list => FND_API.G_FALSE,
3388: p_commit => FND_API.G_FALSE,
3389: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3390: x_return_status => x_return_status,
3391: x_msg_count => x_msg_count,
3392: x_msg_data => x_msg_data,
3393: p_mr_header_id => l_get_mr_for_pc_rec.mr_header_id,
3396: p_unique_inst_flag => 'Y',
3397: x_mr_item_inst_tbl => l_mr_item_inst_tbl);
3398:
3399: -- check for the return status
3400: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3401: IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
3402: FND_LOG.string(FND_LOG.level_statement,l_full_name,
3403: 'Raising exception with x_return_status => '||x_return_status);
3404: END IF;
3401: IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
3402: FND_LOG.string(FND_LOG.level_statement,l_full_name,
3403: 'Raising exception with x_return_status => '||x_return_status);
3404: END IF;
3405: RAISE FND_API.G_EXC_ERROR;
3406: END IF;
3407:
3408: -- populate the associative array of instances for new PC
3409: IF (l_mr_item_inst_tbl.COUNT > 0) THEN
3589: -------------------------------
3590: PROCEDURE VALIDATE_PC_HEADER_UPDATE
3591: (
3592: p_api_version IN NUMBER,
3593: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3594: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3595: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3596: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
3597: x_return_status OUT NOCOPY VARCHAR2,
3590: PROCEDURE VALIDATE_PC_HEADER_UPDATE
3591: (
3592: p_api_version IN NUMBER,
3593: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3594: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3595: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3596: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
3597: x_return_status OUT NOCOPY VARCHAR2,
3598: x_msg_count OUT NOCOPY NUMBER,
3591: (
3592: p_api_version IN NUMBER,
3593: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3594: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3595: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3596: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
3597: x_return_status OUT NOCOPY VARCHAR2,
3598: x_msg_count OUT NOCOPY NUMBER,
3599: x_msg_data OUT NOCOPY VARCHAR2,
3636: l_dummy BOOLEAN;
3637:
3638: BEGIN
3639: -- Initialize message list if p_init_msg_list is set to TRUE
3640: IF FND_API.To_Boolean(p_init_msg_list)
3641: THEN
3642: FND_MSG_PUB.Initialize;
3643: END IF;
3644:
3641: THEN
3642: FND_MSG_PUB.Initialize;
3643: END IF;
3644:
3645: x_return_status := FND_API.G_RET_STS_SUCCESS;
3646:
3647: IF G_DEBUG='Y' THEN
3648: AHL_DEBUG_PUB.ENABLE_DEBUG;
3649: END IF;
3659: THEN
3660: FND_MESSAGE.Set_Name('AHL','AHL_PC_NOT_FOUND');
3661: FND_MSG_PUB.ADD;
3662: CLOSE check_header_data;
3663: RAISE FND_API.G_EXC_ERROR;
3664: END IF;
3665: CLOSE check_header_data;
3666:
3667: IF l_old_obj_ver_no <> p_x_pc_header_rec.OBJECT_VERSION_NUMBER
3667: IF l_old_obj_ver_no <> p_x_pc_header_rec.OBJECT_VERSION_NUMBER
3668: THEN
3669: FND_MESSAGE.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
3670: FND_MSG_PUB.ADD;
3671: RAISE FND_API.G_EXC_ERROR;
3672: END IF;
3673:
3674: l_dummy := VALIDATE_UNIT_PART_ATTACHED (p_x_pc_header_rec.PC_HEADER_ID, p_x_pc_header_rec.PRODUCT_TYPE_CODE, p_x_pc_header_rec.ASSOCIATION_TYPE_FLAG);
3675:
3676: IF (l_dummy = FALSE)
3677: THEN
3678: FND_MESSAGE.Set_Name('AHL','AHL_PC_UNIT_PART_ATTACHED');
3679: FND_MSG_PUB.ADD;
3680: RAISE FND_API.G_EXC_ERROR;
3681: END IF;
3682:
3683: IF G_DEBUG='Y' THEN
3684: AHL_DEBUG_PUB.debug('PCH -- PVT -- VALIDATE_PC_HEADER_UPDATE -- Old Status = '||l_old_status||' -- New Status = '||p_x_pc_header_rec.STATUS);
3688: IF p_x_pc_header_rec.STATUS = 'COMPLETE' AND l_old_status = 'COMPLETE'
3689: THEN
3690: FND_MESSAGE.Set_Name('AHL','AHL_PC_STATUS_COMPLETE');
3691: FND_MSG_PUB.ADD;
3692: RAISE FND_API.G_EXC_ERROR;
3693:
3694: -- PC is APPROVAL_REJECTED -- User submits after making any change -- Change status to DRAFT
3695: ELSIF p_x_pc_header_rec.STATUS = 'APPROVAL_REJECTED' AND l_old_status = 'APPROVAL_REJECTED'
3696: THEN
3706: THEN
3707: INITIATE_PC_APPROVAL
3708: (
3709: p_api_version => 1.0,
3710: p_init_msg_list => FND_API.G_FALSE,
3711: p_commit => FND_API.G_FALSE,
3712: p_validation_level => p_validation_level,
3713: p_default => FND_API.G_FALSE,
3714: x_return_status => x_return_status,
3707: INITIATE_PC_APPROVAL
3708: (
3709: p_api_version => 1.0,
3710: p_init_msg_list => FND_API.G_FALSE,
3711: p_commit => FND_API.G_FALSE,
3712: p_validation_level => p_validation_level,
3713: p_default => FND_API.G_FALSE,
3714: x_return_status => x_return_status,
3715: x_msg_count => x_msg_count,
3709: p_api_version => 1.0,
3710: p_init_msg_list => FND_API.G_FALSE,
3711: p_commit => FND_API.G_FALSE,
3712: p_validation_level => p_validation_level,
3713: p_default => FND_API.G_FALSE,
3714: x_return_status => x_return_status,
3715: x_msg_count => x_msg_count,
3716: x_msg_data => x_msg_data,
3717: p_x_pc_header_rec => p_x_pc_header_rec,