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
45: -----------------
46: PROCEDURE CREATE_LINK
47: (
48: p_api_version IN NUMBER,
49: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
50: p_commit IN VARCHAR2 := FND_API.G_FALSE,
51: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
52: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
53: x_return_status OUT NOCOPY VARCHAR2,
46: PROCEDURE CREATE_LINK
47: (
48: p_api_version IN NUMBER,
49: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
50: p_commit IN VARCHAR2 := FND_API.G_FALSE,
51: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
52: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
53: x_return_status OUT NOCOPY VARCHAR2,
54: x_msg_count OUT NOCOPY NUMBER,
47: (
48: p_api_version IN NUMBER,
49: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
50: p_commit IN VARCHAR2 := FND_API.G_FALSE,
51: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
52: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
53: x_return_status OUT NOCOPY VARCHAR2,
54: x_msg_count OUT NOCOPY NUMBER,
55: x_msg_data OUT NOCOPY VARCHAR2
75: -----------------
76: PROCEDURE REMOVE_LINK
77: (
78: p_api_version IN NUMBER,
79: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
80: p_commit IN VARCHAR2 := FND_API.G_FALSE,
81: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
82: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
83: x_return_status OUT NOCOPY VARCHAR2,
76: PROCEDURE REMOVE_LINK
77: (
78: p_api_version IN NUMBER,
79: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
80: p_commit IN VARCHAR2 := FND_API.G_FALSE,
81: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
82: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
83: x_return_status OUT NOCOPY VARCHAR2,
84: x_msg_count OUT NOCOPY NUMBER,
77: (
78: p_api_version IN NUMBER,
79: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
80: p_commit IN VARCHAR2 := FND_API.G_FALSE,
81: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
82: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
83: x_return_status OUT NOCOPY VARCHAR2,
84: x_msg_count OUT NOCOPY NUMBER,
85: x_msg_data OUT NOCOPY VARCHAR2
95: ----------------------
96: PROCEDURE CREATE_PC_HEADER
97: (
98: p_api_version IN NUMBER,
99: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
100: p_commit IN VARCHAR2 := FND_API.G_FALSE,
101: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
102: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
103: x_return_status OUT NOCOPY VARCHAR2,
96: PROCEDURE CREATE_PC_HEADER
97: (
98: p_api_version IN NUMBER,
99: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
100: p_commit IN VARCHAR2 := FND_API.G_FALSE,
101: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
102: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
103: x_return_status OUT NOCOPY VARCHAR2,
104: x_msg_count OUT NOCOPY NUMBER,
97: (
98: p_api_version IN NUMBER,
99: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
100: p_commit IN VARCHAR2 := FND_API.G_FALSE,
101: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
102: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
103: x_return_status OUT NOCOPY VARCHAR2,
104: x_msg_count OUT NOCOPY NUMBER,
105: x_msg_data OUT NOCOPY VARCHAR2
122: -- Standard start of API savepoint
123: SAVEPOINT CREATE_PC_HEADER_PVT;
124:
125: -- Standard call to check for call compatibility
126: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
127: THEN
128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
129: END IF;
130:
124:
125: -- Standard call to check for call compatibility
126: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
127: THEN
128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
129: END IF;
130:
131: -- Initialize message list if p_init_msg_list is set to TRUE
132: IF FND_API.To_Boolean(p_init_msg_list)
128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
129: END IF;
130:
131: -- Initialize message list if p_init_msg_list is set to TRUE
132: IF FND_API.To_Boolean(p_init_msg_list)
133: THEN
134: FND_MSG_PUB.Initialize;
135: END IF;
136:
133: THEN
134: FND_MSG_PUB.Initialize;
135: END IF;
136:
137: x_return_status := FND_API.G_RET_STS_SUCCESS;
138:
139: IF G_DEBUG='Y' THEN
140: AHL_DEBUG_PUB.ENABLE_DEBUG;
141: END IF;
150: -- Check Error Message stack.
151: x_msg_count := FND_MSG_PUB.count_msg;
152: IF x_msg_count > 0
153: THEN
154: RAISE FND_API.G_EXC_ERROR;
155: END IF;
156:
157: -- Insert Record into ahl_pc_header_headers,
158: -- call table handler insert record
209: -- Check Error Message stack.
210: x_msg_count := FND_MSG_PUB.count_msg;
211: IF x_msg_count > 0
212: THEN
213: RAISE FND_API.G_EXC_ERROR;
214: END IF;
215:
216: -- Standard check for p_commit
217: IF FND_API.To_Boolean (p_commit)
213: RAISE FND_API.G_EXC_ERROR;
214: END IF;
215:
216: -- Standard check for p_commit
217: IF FND_API.To_Boolean (p_commit)
218: THEN
219: COMMIT WORK;
220: END IF;
221:
221:
222: -- Standard call to get message count and if count is 1, get message info
223: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
224: p_data => x_msg_data,
225: p_encoded => fnd_api.g_false );
226:
227: EXCEPTION
228: WHEN FND_API.G_EXC_ERROR THEN
229: x_return_status := FND_API.G_RET_STS_ERROR;
224: p_data => x_msg_data,
225: p_encoded => fnd_api.g_false );
226:
227: EXCEPTION
228: WHEN FND_API.G_EXC_ERROR THEN
229: x_return_status := FND_API.G_RET_STS_ERROR;
230: Rollback to CREATE_PC_HEADER_PVT;
231: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
232: p_data => x_msg_data,
225: p_encoded => fnd_api.g_false );
226:
227: EXCEPTION
228: WHEN FND_API.G_EXC_ERROR THEN
229: x_return_status := FND_API.G_RET_STS_ERROR;
230: Rollback to CREATE_PC_HEADER_PVT;
231: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
232: p_data => x_msg_data,
233: p_encoded => fnd_api.g_false);
229: x_return_status := FND_API.G_RET_STS_ERROR;
230: Rollback to CREATE_PC_HEADER_PVT;
231: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
232: p_data => x_msg_data,
233: p_encoded => fnd_api.g_false);
234:
235: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
237: Rollback to CREATE_PC_HEADER_PVT;
231: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
232: p_data => x_msg_data,
233: p_encoded => fnd_api.g_false);
234:
235: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
237: Rollback to CREATE_PC_HEADER_PVT;
238: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
239: p_data => x_msg_data,
232: p_data => x_msg_data,
233: p_encoded => fnd_api.g_false);
234:
235: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
237: Rollback to CREATE_PC_HEADER_PVT;
238: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
239: p_data => x_msg_data,
240: p_encoded => fnd_api.g_false);
236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
237: Rollback to CREATE_PC_HEADER_PVT;
238: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
239: p_data => x_msg_data,
240: p_encoded => fnd_api.g_false);
241:
242: WHEN OTHERS THEN
243: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
244: Rollback to CREATE_PC_HEADER_PVT;
239: p_data => x_msg_data,
240: p_encoded => fnd_api.g_false);
241:
242: WHEN OTHERS THEN
243: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
244: Rollback to CREATE_PC_HEADER_PVT;
245: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
246: THEN
247: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
249: p_error_text => SUBSTR(SQLERRM,1,240));
250: END IF;
251: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
252: p_data => x_msg_data,
253: p_encoded => fnd_api.g_false);
254:
255: END CREATE_PC_HEADER;
256:
257: ----------------------
259: ----------------------
260: PROCEDURE UPDATE_PC_HEADER
261: (
262: p_api_version IN NUMBER,
263: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
264: p_commit IN VARCHAR2 := FND_API.G_FALSE,
265: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
266: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
267: x_return_status OUT NOCOPY VARCHAR2,
260: PROCEDURE UPDATE_PC_HEADER
261: (
262: p_api_version IN NUMBER,
263: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
264: p_commit IN VARCHAR2 := FND_API.G_FALSE,
265: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
266: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
267: x_return_status OUT NOCOPY VARCHAR2,
268: x_msg_count OUT NOCOPY NUMBER,
261: (
262: p_api_version IN NUMBER,
263: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
264: p_commit IN VARCHAR2 := FND_API.G_FALSE,
265: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
266: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
267: x_return_status OUT NOCOPY VARCHAR2,
268: x_msg_count OUT NOCOPY NUMBER,
269: x_msg_data OUT NOCOPY VARCHAR2
291: -- Standard start of API savepoint
292: SAVEPOINT UPDATE_PC_HEADER_PVT;
293:
294: -- Standard call to check for call compatibility
295: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
296: THEN
297: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
298: END IF;
299:
293:
294: -- Standard call to check for call compatibility
295: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
296: THEN
297: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
298: END IF;
299:
300: -- Initialize message list if p_init_msg_list is set to TRUE
301: IF FND_API.To_Boolean(p_init_msg_list)
297: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
298: END IF;
299:
300: -- Initialize message list if p_init_msg_list is set to TRUE
301: IF FND_API.To_Boolean(p_init_msg_list)
302: THEN
303: FND_MSG_PUB.Initialize;
304: END IF;
305:
302: THEN
303: FND_MSG_PUB.Initialize;
304: END IF;
305:
306: x_return_status := FND_API.G_RET_STS_SUCCESS;
307:
308: IF G_DEBUG='Y' THEN
309: AHL_DEBUG_PUB.ENABLE_DEBUG;
310: END IF;
324: IF (l_is_dup_assos)
325: THEN
326: FND_MESSAGE.Set_Name('AHL','AHL_PC_DUP_UNIT_PART_ASSOS');
327: FND_MSG_PUB.ADD;
328: RAISE FND_API.G_EXC_ERROR;
329: END IF;
330: END IF;
331: END IF;
332: IF G_DEBUG='Y' THEN
363: -- Check Error Message stack.
364: x_msg_count := FND_MSG_PUB.count_msg;
365: IF x_msg_count > 0
366: THEN
367: RAISE FND_API.G_EXC_ERROR;
368: END IF;
369:
370: -- Standard check for p_commit
371: IF FND_API.To_Boolean (p_commit)
367: RAISE FND_API.G_EXC_ERROR;
368: END IF;
369:
370: -- Standard check for p_commit
371: IF FND_API.To_Boolean (p_commit)
372: THEN
373: COMMIT WORK;
374: END IF;
375:
375:
376: -- Standard call to get message count and if count is 1, get message info
377: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
378: p_data => x_msg_data,
379: p_encoded => fnd_api.g_false );
380:
381: RETURN;
382: -- If OPERATION_FLAG is G_DML_LINK then do not update the rec as the procedure will have updated
383: -- hence merely return
387: -- Check Error Message stack.
388: x_msg_count := FND_MSG_PUB.count_msg;
389: IF x_msg_count > 0
390: THEN
391: RAISE FND_API.G_EXC_ERROR;
392: END IF;
393:
394: AHL_PC_HEADERS_PKG.UPDATE_ROW
395: (
432: -- Check Error Message stack.
433: x_msg_count := FND_MSG_PUB.count_msg;
434: IF x_msg_count > 0
435: THEN
436: RAISE FND_API.G_EXC_ERROR;
437: END IF;
438:
439: -- Standard check for p_commit
440: IF FND_API.To_Boolean (p_commit)
436: RAISE FND_API.G_EXC_ERROR;
437: END IF;
438:
439: -- Standard check for p_commit
440: IF FND_API.To_Boolean (p_commit)
441: THEN
442: COMMIT WORK;
443: END IF;
444:
444:
445: -- Standard call to get message count and if count is 1, get message info
446: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
447: p_data => x_msg_data,
448: p_encoded => fnd_api.g_false );
449:
450: EXCEPTION
451: WHEN FND_API.G_EXC_ERROR THEN
452: x_return_status := FND_API.G_RET_STS_ERROR;
447: p_data => x_msg_data,
448: p_encoded => fnd_api.g_false );
449:
450: EXCEPTION
451: WHEN FND_API.G_EXC_ERROR THEN
452: x_return_status := FND_API.G_RET_STS_ERROR;
453: Rollback to UPDATE_PC_HEADER_PVT;
454: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
455: p_data => x_msg_data,
448: p_encoded => fnd_api.g_false );
449:
450: EXCEPTION
451: WHEN FND_API.G_EXC_ERROR THEN
452: x_return_status := FND_API.G_RET_STS_ERROR;
453: Rollback to UPDATE_PC_HEADER_PVT;
454: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
455: p_data => x_msg_data,
456: p_encoded => fnd_api.g_false );
452: x_return_status := FND_API.G_RET_STS_ERROR;
453: Rollback to UPDATE_PC_HEADER_PVT;
454: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
455: p_data => x_msg_data,
456: p_encoded => fnd_api.g_false );
457:
458: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
460: Rollback to UPDATE_PC_HEADER_PVT;
454: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
455: p_data => x_msg_data,
456: p_encoded => fnd_api.g_false );
457:
458: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
460: Rollback to UPDATE_PC_HEADER_PVT;
461: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
462: p_data => x_msg_data,
455: p_data => x_msg_data,
456: p_encoded => fnd_api.g_false );
457:
458: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
460: Rollback to UPDATE_PC_HEADER_PVT;
461: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
462: p_data => x_msg_data,
463: p_encoded => fnd_api.g_false );
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
460: Rollback to UPDATE_PC_HEADER_PVT;
461: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
462: p_data => x_msg_data,
463: p_encoded => fnd_api.g_false );
464:
465: WHEN OTHERS THEN
466: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
467: Rollback to UPDATE_PC_HEADER_PVT;
462: p_data => x_msg_data,
463: p_encoded => fnd_api.g_false );
464:
465: WHEN OTHERS THEN
466: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
467: Rollback to UPDATE_PC_HEADER_PVT;
468: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
469: THEN
470: fnd_msg_pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
472: p_error_text => SUBSTR(SQLERRM,1,240) );
473: END IF;
474: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
475: p_data => x_msg_data,
476: p_encoded => fnd_api.g_false );
477:
478: END UPDATE_PC_HEADER;
479:
480: ----------------------
482: ----------------------
483: PROCEDURE DELETE_PC_HEADER
484: (
485: p_api_version IN NUMBER,
486: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
487: p_commit IN VARCHAR2 := FND_API.G_FALSE,
488: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
489: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
490: x_return_status OUT NOCOPY VARCHAR2,
483: PROCEDURE DELETE_PC_HEADER
484: (
485: p_api_version IN NUMBER,
486: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
487: p_commit IN VARCHAR2 := FND_API.G_FALSE,
488: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
489: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
490: x_return_status OUT NOCOPY VARCHAR2,
491: x_msg_count OUT NOCOPY NUMBER,
484: (
485: p_api_version IN NUMBER,
486: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
487: p_commit IN VARCHAR2 := FND_API.G_FALSE,
488: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
489: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
490: x_return_status OUT NOCOPY VARCHAR2,
491: x_msg_count OUT NOCOPY NUMBER,
492: x_msg_data OUT NOCOPY VARCHAR2
530: -- Standard start of API savepoint
531: SAVEPOINT DELETE_PC_HEADER_PVT;
532:
533: -- Standard call to check for call compatibility
534: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
535: THEN
536: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
537: END IF;
538:
532:
533: -- Standard call to check for call compatibility
534: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
535: THEN
536: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
537: END IF;
538:
539: -- Initialize message list if p_init_msg_list is set to TRUE
540: IF FND_API.To_Boolean(p_init_msg_list)
536: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
537: END IF;
538:
539: -- Initialize message list if p_init_msg_list is set to TRUE
540: IF FND_API.To_Boolean(p_init_msg_list)
541: THEN
542: FND_MSG_PUB.Initialize;
543: END IF;
544:
541: THEN
542: FND_MSG_PUB.Initialize;
543: END IF;
544:
545: x_return_status := FND_API.G_RET_STS_SUCCESS;
546:
547: IF G_DEBUG='Y' THEN
548: AHL_DEBUG_PUB.ENABLE_DEBUG;
549: END IF;
554: THEN
555: FND_MESSAGE.Set_Name('AHL','AHL_PC_NOT_FOUND');
556: FND_MSG_PUB.ADD;
557: CLOSE check_header_status;
558: RAISE FND_API.G_EXC_ERROR;
559: ELSE
560: CLOSE check_header_status;
561: IF (l_status <> 'DRAFT' AND l_status <> 'APPROVAL_REJECTED')
562: THEN
561: IF (l_status <> 'DRAFT' AND l_status <> 'APPROVAL_REJECTED')
562: THEN
563: FND_MESSAGE.SET_NAME('AHL','AHL_PC_DRAFT_DELETE');
564: FND_MSG_PUB.ADD;
565: RAISE FND_API.G_EXC_ERROR;
566: ELSE
567:
568: l_link_to_header_id := 0;
569: OPEN delete_linked_header(p_x_pc_header_rec.PC_HEADER_ID);
597:
598: -- Priyan:
599: -- Added error handling after the Delete_Nodes API is called.
600: -- Check Error Message stack.
601: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
602: THEN
603: x_msg_count := FND_MSG_PUB.count_msg;
604: IF x_msg_count > 0 THEN
605: RAISE FND_API.G_EXC_ERROR;
601: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
602: THEN
603: x_msg_count := FND_MSG_PUB.count_msg;
604: IF x_msg_count > 0 THEN
605: RAISE FND_API.G_EXC_ERROR;
606: END IF;
607: END IF;
608:
609:
687: -- Check Error Message stack.
688: x_msg_count := FND_MSG_PUB.count_msg;
689: IF x_msg_count > 0
690: THEN
691: RAISE FND_API.G_EXC_ERROR;
692: END IF;
693:
694: -- Standard check for p_commit
695: IF FND_API.To_Boolean (p_commit)
691: RAISE FND_API.G_EXC_ERROR;
692: END IF;
693:
694: -- Standard check for p_commit
695: IF FND_API.To_Boolean (p_commit)
696: THEN
697: COMMIT WORK;
698: END IF;
699:
699:
700: -- Standard call to get message count and if count is 1, get message info
701: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
702: p_data => x_msg_data,
703: p_encoded => fnd_api.g_false );
704:
705: EXCEPTION
706: WHEN FND_API.G_EXC_ERROR THEN
707: x_return_status := FND_API.G_RET_STS_ERROR;
702: p_data => x_msg_data,
703: p_encoded => fnd_api.g_false );
704:
705: EXCEPTION
706: WHEN FND_API.G_EXC_ERROR THEN
707: x_return_status := FND_API.G_RET_STS_ERROR;
708: Rollback to DELETE_PC_HEADER_PVT;
709: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
710: p_data => x_msg_data,
703: p_encoded => fnd_api.g_false );
704:
705: EXCEPTION
706: WHEN FND_API.G_EXC_ERROR THEN
707: x_return_status := FND_API.G_RET_STS_ERROR;
708: Rollback to DELETE_PC_HEADER_PVT;
709: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
710: p_data => x_msg_data,
711: p_encoded => fnd_api.g_false );
707: x_return_status := FND_API.G_RET_STS_ERROR;
708: Rollback to DELETE_PC_HEADER_PVT;
709: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
710: p_data => x_msg_data,
711: p_encoded => fnd_api.g_false );
712:
713: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
714: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
715: Rollback to DELETE_PC_HEADER_PVT;
709: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
710: p_data => x_msg_data,
711: p_encoded => fnd_api.g_false );
712:
713: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
714: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
715: Rollback to DELETE_PC_HEADER_PVT;
716: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
717: p_data => x_msg_data,
710: p_data => x_msg_data,
711: p_encoded => fnd_api.g_false );
712:
713: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
714: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
715: Rollback to DELETE_PC_HEADER_PVT;
716: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
717: p_data => x_msg_data,
718: p_encoded => fnd_api.g_false );
714: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
715: Rollback to DELETE_PC_HEADER_PVT;
716: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
717: p_data => x_msg_data,
718: p_encoded => fnd_api.g_false );
719:
720: WHEN OTHERS THEN
721: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
722: Rollback to DELETE_PC_HEADER_PVT;
717: p_data => x_msg_data,
718: p_encoded => fnd_api.g_false );
719:
720: WHEN OTHERS THEN
721: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
722: Rollback to DELETE_PC_HEADER_PVT;
723: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
724: THEN
725: fnd_msg_pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
727: p_error_text => SUBSTR(SQLERRM,1,240) );
728: END IF;
729: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
730: p_data => x_msg_data,
731: p_encoded => fnd_api.g_false );
732: END DELETE_PC_HEADER;
733:
734: --------------------
735: -- COPY_PC_HEADER --
736: --------------------
737: PROCEDURE COPY_PC_HEADER
738: (
739: p_api_version IN NUMBER,
740: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
741: p_commit IN VARCHAR2 := FND_API.G_FALSE,
742: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
743: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
744: x_return_status OUT NOCOPY VARCHAR2,
737: PROCEDURE COPY_PC_HEADER
738: (
739: p_api_version IN NUMBER,
740: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
741: p_commit IN VARCHAR2 := FND_API.G_FALSE,
742: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
743: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
744: x_return_status OUT NOCOPY VARCHAR2,
745: x_msg_count OUT NOCOPY NUMBER,
738: (
739: p_api_version IN NUMBER,
740: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
741: p_commit IN VARCHAR2 := FND_API.G_FALSE,
742: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
743: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
744: x_return_status OUT NOCOPY VARCHAR2,
745: x_msg_count OUT NOCOPY NUMBER,
746: x_msg_data OUT NOCOPY VARCHAR2
908: -- Standard start of API savepoint
909: SAVEPOINT COPY_PC_HEADER_PVT;
910:
911: -- Standard call to check for call compatibility
912: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
913: THEN
914: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
915: END IF;
916:
910:
911: -- Standard call to check for call compatibility
912: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
913: THEN
914: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
915: END IF;
916:
917: -- Initialize message list if p_init_msg_list is set to TRUE
918: IF FND_API.To_Boolean(p_init_msg_list)
914: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
915: END IF;
916:
917: -- Initialize message list if p_init_msg_list is set to TRUE
918: IF FND_API.To_Boolean(p_init_msg_list)
919: THEN
920: FND_MSG_PUB.Initialize;
921: END IF;
922:
919: THEN
920: FND_MSG_PUB.Initialize;
921: END IF;
922:
923: x_return_status := FND_API.G_RET_STS_SUCCESS;
924:
925: IF G_DEBUG='Y' THEN
926: AHL_DEBUG_PUB.ENABLE_DEBUG;
927: END IF;
936: THEN
937: FND_MESSAGE.Set_Name('AHL','AHL_PC_NAME_EXISTS');
938: FND_MSG_PUB.ADD;
939: CLOSE check_name_unique;
940: RAISE FND_API.G_EXC_ERROR;
941: END IF;
942: CLOSE check_name_unique;
943:
944: -- If the to be copied PC is not primary and the new PC is primary, and if the to be...
955: IF (l_is_dup_assos)
956: THEN
957: FND_MESSAGE.Set_Name('AHL','AHL_PC_DUP_UNIT_PART_ASSOS');
958: FND_MSG_PUB.ADD;
959: RAISE FND_API.G_EXC_ERROR;
960: END IF;
961: END IF;
962: END IF;
963:
966: IF (l_dummy = FALSE AND p_x_pc_header_rec.COPY_ASSOS_FLAG = 'Y')
967: THEN
968: FND_MESSAGE.Set_Name('AHL','AHL_PC_UNIT_PART_ATTACHED');
969: FND_MSG_PUB.ADD;
970: RAISE FND_API.G_EXC_ERROR;
971: END IF;
972:
973: CREATE_PC_HEADER
974: (
987:
988: x_msg_count := FND_MSG_PUB.count_msg;
989: IF x_msg_count > 0
990: THEN
991: RAISE FND_API.G_EXC_ERROR;
992: END IF;
993:
994: l_nodeCtr := 0;
995:
1086: THEN
1087: AHL_PC_NODE_PVT.CREATE_NODE
1088: (
1089: p_api_version => p_api_version,
1090: p_init_msg_list => FND_API.G_FALSE,
1091: p_commit => FND_API.G_FALSE,
1092: p_validation_level => p_validation_level,
1093: p_x_node_rec => l_node_rec,
1094: x_return_status => x_return_status,
1087: AHL_PC_NODE_PVT.CREATE_NODE
1088: (
1089: p_api_version => p_api_version,
1090: p_init_msg_list => FND_API.G_FALSE,
1091: p_commit => FND_API.G_FALSE,
1092: p_validation_level => p_validation_level,
1093: p_x_node_rec => l_node_rec,
1094: x_return_status => x_return_status,
1095: x_msg_count => x_msg_count,
1104: THEN
1105: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
1106: (
1107: p_api_version => p_api_version,
1108: p_init_msg_list => FND_API.G_FALSE,
1109: p_commit => FND_API.G_FALSE,
1110: p_validation_level => p_validation_level,
1111: p_x_assos_rec => l_assos_rec,
1112: x_return_status => x_return_status,
1105: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
1106: (
1107: p_api_version => p_api_version,
1108: p_init_msg_list => FND_API.G_FALSE,
1109: p_commit => FND_API.G_FALSE,
1110: p_validation_level => p_validation_level,
1111: p_x_assos_rec => l_assos_rec,
1112: x_return_status => x_return_status,
1113: x_msg_count => x_msg_count,
1118: THEN
1119: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
1120: (
1121: p_api_version => p_api_version,
1122: p_init_msg_list => FND_API.G_FALSE,
1123: p_commit => FND_API.G_FALSE,
1124: p_validation_level => p_validation_level,
1125: p_x_assos_rec => l_assos_rec,
1126: x_return_status => x_return_status,
1119: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
1120: (
1121: p_api_version => p_api_version,
1122: p_init_msg_list => FND_API.G_FALSE,
1123: p_commit => FND_API.G_FALSE,
1124: p_validation_level => p_validation_level,
1125: p_x_assos_rec => l_assos_rec,
1126: x_return_status => x_return_status,
1127: x_msg_count => x_msg_count,
1178: THEN
1179: AHL_DI_ASSO_DOC_ASO_PVT.CREATE_ASSOCIATION
1180: (
1181: p_api_version => 1.0,
1182: p_init_msg_list => FND_API.G_FALSE,
1183: p_commit => FND_API.G_FALSE,
1184: p_validation_level => p_validation_level,
1185: p_x_association_tbl => l_assos_doc_tbl,
1186: x_return_status => x_return_status,
1179: AHL_DI_ASSO_DOC_ASO_PVT.CREATE_ASSOCIATION
1180: (
1181: p_api_version => 1.0,
1182: p_init_msg_list => FND_API.G_FALSE,
1183: p_commit => FND_API.G_FALSE,
1184: p_validation_level => p_validation_level,
1185: p_x_association_tbl => l_assos_doc_tbl,
1186: x_return_status => x_return_status,
1187: x_msg_count => x_msg_count,
1200: -- Check Error Message stack.
1201: x_msg_count := FND_MSG_PUB.count_msg;
1202: IF x_msg_count > 0
1203: THEN
1204: RAISE FND_API.G_EXC_ERROR;
1205: END IF;
1206:
1207: -- Standard check for p_commit
1208: IF FND_API.To_Boolean (p_commit)
1204: RAISE FND_API.G_EXC_ERROR;
1205: END IF;
1206:
1207: -- Standard check for p_commit
1208: IF FND_API.To_Boolean (p_commit)
1209: THEN
1210: COMMIT WORK;
1211: END IF;
1212:
1212:
1213: -- Standard call to get message count and if count is 1, get message info
1214: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
1215: p_data => x_msg_data,
1216: p_encoded => fnd_api.g_false );
1217:
1218: EXCEPTION
1219: WHEN FND_API.G_EXC_ERROR THEN
1220: x_return_status := FND_API.G_RET_STS_ERROR;
1215: p_data => x_msg_data,
1216: p_encoded => fnd_api.g_false );
1217:
1218: EXCEPTION
1219: WHEN FND_API.G_EXC_ERROR THEN
1220: x_return_status := FND_API.G_RET_STS_ERROR;
1221: Rollback to COPY_PC_HEADER_PVT;
1222: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1223: p_data => x_msg_data,
1216: p_encoded => fnd_api.g_false );
1217:
1218: EXCEPTION
1219: WHEN FND_API.G_EXC_ERROR THEN
1220: x_return_status := FND_API.G_RET_STS_ERROR;
1221: Rollback to COPY_PC_HEADER_PVT;
1222: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1223: p_data => x_msg_data,
1224: p_encoded => fnd_api.g_false );
1220: x_return_status := FND_API.G_RET_STS_ERROR;
1221: Rollback to COPY_PC_HEADER_PVT;
1222: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1223: p_data => x_msg_data,
1224: p_encoded => fnd_api.g_false );
1225:
1226: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1228: Rollback to COPY_PC_HEADER_PVT;
1222: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1223: p_data => x_msg_data,
1224: p_encoded => fnd_api.g_false );
1225:
1226: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1228: Rollback to COPY_PC_HEADER_PVT;
1229: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1230: p_data => x_msg_data,
1223: p_data => x_msg_data,
1224: p_encoded => fnd_api.g_false );
1225:
1226: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1228: Rollback to COPY_PC_HEADER_PVT;
1229: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1230: p_data => x_msg_data,
1231: p_encoded => fnd_api.g_false );
1227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1228: Rollback to COPY_PC_HEADER_PVT;
1229: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1230: p_data => x_msg_data,
1231: p_encoded => fnd_api.g_false );
1232:
1233: WHEN OTHERS THEN
1234: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1235: Rollback to COPY_PC_HEADER_PVT;
1230: p_data => x_msg_data,
1231: p_encoded => fnd_api.g_false );
1232:
1233: WHEN OTHERS THEN
1234: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1235: Rollback to COPY_PC_HEADER_PVT;
1236: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
1237: THEN
1238: fnd_msg_pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1240: p_error_text => SUBSTR(SQLERRM,1,240) );
1241: END IF;
1242: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1243: p_data => x_msg_data,
1244: p_encoded => fnd_api.g_false );
1245:
1246: END COPY_PC_HEADER;
1247:
1248: --------------------------
1250: --------------------------
1251: PROCEDURE INITIATE_PC_APPROVAL
1252: (
1253: p_api_version IN NUMBER,
1254: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1255: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1256: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1257: p_default IN VARCHAR2 := FND_API.G_FALSE,
1258: x_return_status OUT NOCOPY VARCHAR2,
1251: PROCEDURE INITIATE_PC_APPROVAL
1252: (
1253: p_api_version IN NUMBER,
1254: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1255: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1256: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1257: p_default IN VARCHAR2 := FND_API.G_FALSE,
1258: x_return_status OUT NOCOPY VARCHAR2,
1259: x_msg_count OUT NOCOPY NUMBER,
1252: (
1253: p_api_version IN NUMBER,
1254: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1255: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1256: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1257: p_default IN VARCHAR2 := FND_API.G_FALSE,
1258: x_return_status OUT NOCOPY VARCHAR2,
1259: x_msg_count OUT NOCOPY NUMBER,
1260: x_msg_data OUT NOCOPY VARCHAR2,
1253: p_api_version IN NUMBER,
1254: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1255: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1256: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1257: p_default IN VARCHAR2 := FND_API.G_FALSE,
1258: x_return_status OUT NOCOPY VARCHAR2,
1259: x_msg_count OUT NOCOPY NUMBER,
1260: x_msg_data OUT NOCOPY VARCHAR2,
1261: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC
1285:
1286: BEGIN
1287:
1288: -- Initialize message list if p_init_msg_list is set to TRUE
1289: IF FND_API.To_Boolean(p_init_msg_list)
1290: THEN
1291: FND_MSG_PUB.Initialize;
1292: END IF;
1293:
1290: THEN
1291: FND_MSG_PUB.Initialize;
1292: END IF;
1293:
1294: x_return_status := FND_API.G_RET_STS_SUCCESS;
1295:
1296: IF G_DEBUG='Y' THEN
1297: AHL_DEBUG_PUB.ENABLE_DEBUG;
1298: --END IF;
1341: IF (sql%rowcount) = 0
1342: THEN
1343: FND_MESSAGE.SET_NAME('AHL','AHL_COM_RECORD_CHANGED');
1344: FND_MSG_PUB.ADD;
1345: RAISE FND_API.G_EXC_ERROR;
1346: -- Else start PCWF workflow process for this PC
1347: ELSE
1348: IF G_DEBUG='Y' THEN
1349: AHL_DEBUG_PUB.debug('PCH -- PVT -- Before calling ahl_generic_aprv_pvt.start_wf_process');
1474: THEN
1475: FND_MESSAGE.Set_Name('AHL','AHL_PC_NAME_EXISTS');
1476: FND_MSG_PUB.ADD;
1477: CLOSE check_name;
1478: RAISE FND_API.G_EXC_ERROR;
1479: END IF;
1480: CLOSE check_name;
1481:
1482: -- CHECK PROD TYPE AND ASSOS TYPE
1490: THEN
1491: FND_MESSAGE.Set_Name('AHL','AHL_PC_PROD_PRIM_EXISTS');
1492: FND_MSG_PUB.ADD;
1493: CLOSE check_prod_type;
1494: RAISE FND_API.G_EXC_ERROR;
1495: END IF;
1496: CLOSE check_prod_type;
1497: END IF;
1498: END IF;
1601: -----------------
1602: PROCEDURE CREATE_LINK
1603: (
1604: p_api_version IN NUMBER,
1605: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1606: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1607: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1608: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
1609: x_return_status OUT NOCOPY VARCHAR2,
1602: PROCEDURE CREATE_LINK
1603: (
1604: p_api_version IN NUMBER,
1605: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1606: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1607: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1608: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
1609: x_return_status OUT NOCOPY VARCHAR2,
1610: x_msg_count OUT NOCOPY NUMBER,
1603: (
1604: p_api_version IN NUMBER,
1605: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1606: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1607: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1608: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
1609: x_return_status OUT NOCOPY VARCHAR2,
1610: x_msg_count OUT NOCOPY NUMBER,
1611: x_msg_data OUT NOCOPY VARCHAR2
1749: BEGIN
1750:
1751:
1752: -- Initialize message list if p_init_msg_list is set to TRUE
1753: IF FND_API.To_Boolean(p_init_msg_list)
1754: THEN
1755: FND_MSG_PUB.Initialize;
1756: END IF;
1757:
1754: THEN
1755: FND_MSG_PUB.Initialize;
1756: END IF;
1757:
1758: x_return_status := FND_API.G_RET_STS_SUCCESS;
1759:
1760: IF G_DEBUG='Y' THEN
1761: AHL_DEBUG_PUB.ENABLE_DEBUG;
1762: END IF;
1777:
1778: CREATE_PC_HEADER
1779: (
1780: p_api_version => p_api_version,
1781: p_init_msg_list => FND_API.G_FALSE,
1782: p_commit => FND_API.G_FALSE,
1783: p_validation_level => p_validation_level,
1784: p_x_pc_header_rec => p_x_pc_header_rec,
1785: x_return_status => x_return_status,
1778: CREATE_PC_HEADER
1779: (
1780: p_api_version => p_api_version,
1781: p_init_msg_list => FND_API.G_FALSE,
1782: p_commit => FND_API.G_FALSE,
1783: p_validation_level => p_validation_level,
1784: p_x_pc_header_rec => p_x_pc_header_rec,
1785: x_return_status => x_return_status,
1786: x_msg_count => x_msg_count,
1793:
1794: x_msg_count := FND_MSG_PUB.count_msg;
1795: IF x_msg_count > 0
1796: THEN
1797: RAISE FND_API.G_EXC_ERROR;
1798: END IF;
1799:
1800: l_nodeCtr :=0;
1801:
1901: THEN
1902: AHL_PC_NODE_PVT.CREATE_NODE
1903: (
1904: p_api_version => p_api_version,
1905: p_init_msg_list => FND_API.G_FALSE,
1906: p_commit => FND_API.G_FALSE,
1907: p_validation_level => p_validation_level,
1908: p_x_node_rec => l_node_rec,
1909: x_return_status => x_return_status,
1902: AHL_PC_NODE_PVT.CREATE_NODE
1903: (
1904: p_api_version => p_api_version,
1905: p_init_msg_list => FND_API.G_FALSE,
1906: p_commit => FND_API.G_FALSE,
1907: p_validation_level => p_validation_level,
1908: p_x_node_rec => l_node_rec,
1909: x_return_status => x_return_status,
1910: x_msg_count => x_msg_count,
1917:
1918: x_msg_count := FND_MSG_PUB.count_msg;
1919: IF x_msg_count > 0
1920: THEN
1921: RAISE FND_API.G_EXC_ERROR;
1922: END IF;
1923:
1924: l_assosCtr:=0;
1925: OPEN copy_document(l_node_data_rec.PC_NODE_ID);
1968: THEN
1969: AHL_DI_ASSO_DOC_ASO_PVT.CREATE_ASSOCIATION
1970: (
1971: p_api_version => 1.0,
1972: p_init_msg_list => FND_API.G_FALSE,
1973: p_commit => FND_API.G_FALSE,
1974: p_validation_level => p_validation_level,
1975: p_x_association_tbl => l_assos_doc_tbl,
1976: x_return_status => x_return_status,
1969: AHL_DI_ASSO_DOC_ASO_PVT.CREATE_ASSOCIATION
1970: (
1971: p_api_version => 1.0,
1972: p_init_msg_list => FND_API.G_FALSE,
1973: p_commit => FND_API.G_FALSE,
1974: p_validation_level => p_validation_level,
1975: p_x_association_tbl => l_assos_doc_tbl,
1976: x_return_status => x_return_status,
1977: x_msg_count => x_msg_count,
1983: ELSIF l_node_data_rec.node_type = G_UNIT
1984: THEN
1985: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT(
1986: p_api_version => p_api_version,
1987: p_init_msg_list => FND_API.G_FALSE,
1988: p_commit => FND_API.G_FALSE,
1989: p_validation_level => p_validation_level,
1990: p_x_assos_rec => l_assos_rec,
1991: x_return_status => x_return_status,
1984: THEN
1985: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT(
1986: p_api_version => p_api_version,
1987: p_init_msg_list => FND_API.G_FALSE,
1988: p_commit => FND_API.G_FALSE,
1989: p_validation_level => p_validation_level,
1990: p_x_assos_rec => l_assos_rec,
1991: x_return_status => x_return_status,
1992: x_msg_count => x_msg_count,
1996: ELSIF l_node_data_rec.node_type = G_PART
1997: THEN
1998: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM(
1999: p_api_version => p_api_version,
2000: p_init_msg_list => FND_API.G_FALSE,
2001: p_commit => FND_API.G_FALSE,
2002: p_validation_level => p_validation_level,
2003: p_x_assos_rec => l_assos_rec,
2004: x_return_status => x_return_status,
1997: THEN
1998: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM(
1999: p_api_version => p_api_version,
2000: p_init_msg_list => FND_API.G_FALSE,
2001: p_commit => FND_API.G_FALSE,
2002: p_validation_level => p_validation_level,
2003: p_x_assos_rec => l_assos_rec,
2004: x_return_status => x_return_status,
2005: x_msg_count => x_msg_count,
2058:
2059: l_node_id NUMBER;
2060: l_linked_node_id NUMBER;
2061: l_exist VARCHAR2(1);
2062: l_ump_node_attached VARCHAR2(1) := FND_API.G_FALSE;
2063: l_ump_unit_attached VARCHAR2(1) := FND_API.G_FALSE;
2064: l_ump_part_attached VARCHAR2(1) := FND_API.G_FALSE;
2065: l_fmp_attached VARCHAR2(1) := FND_API.G_FALSE;
2066: l_node_tbl T_ID_TBL;
2059: l_node_id NUMBER;
2060: l_linked_node_id NUMBER;
2061: l_exist VARCHAR2(1);
2062: l_ump_node_attached VARCHAR2(1) := FND_API.G_FALSE;
2063: l_ump_unit_attached VARCHAR2(1) := FND_API.G_FALSE;
2064: l_ump_part_attached VARCHAR2(1) := FND_API.G_FALSE;
2065: l_fmp_attached VARCHAR2(1) := FND_API.G_FALSE;
2066: l_node_tbl T_ID_TBL;
2067: l_assos_tbl T_ID_TBL;
2060: l_linked_node_id NUMBER;
2061: l_exist VARCHAR2(1);
2062: l_ump_node_attached VARCHAR2(1) := FND_API.G_FALSE;
2063: l_ump_unit_attached VARCHAR2(1) := FND_API.G_FALSE;
2064: l_ump_part_attached VARCHAR2(1) := FND_API.G_FALSE;
2065: l_fmp_attached VARCHAR2(1) := FND_API.G_FALSE;
2066: l_node_tbl T_ID_TBL;
2067: l_assos_tbl T_ID_TBL;
2068: l_docs_tbl T_ID_TBL;
2061: l_exist VARCHAR2(1);
2062: l_ump_node_attached VARCHAR2(1) := FND_API.G_FALSE;
2063: l_ump_unit_attached VARCHAR2(1) := FND_API.G_FALSE;
2064: l_ump_part_attached VARCHAR2(1) := FND_API.G_FALSE;
2065: l_fmp_attached VARCHAR2(1) := FND_API.G_FALSE;
2066: l_node_tbl T_ID_TBL;
2067: l_assos_tbl T_ID_TBL;
2068: l_docs_tbl T_ID_TBL;
2069: l_is_pc_primary VARCHAR2(1) := 'N';
2249: -----------------
2250: PROCEDURE REMOVE_LINK
2251: (
2252: p_api_version IN NUMBER,
2253: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2254: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2255: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2256: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
2257: x_return_status OUT NOCOPY VARCHAR2,
2250: PROCEDURE REMOVE_LINK
2251: (
2252: p_api_version IN NUMBER,
2253: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2254: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2255: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2256: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
2257: x_return_status OUT NOCOPY VARCHAR2,
2258: x_msg_count OUT NOCOPY NUMBER,
2251: (
2252: p_api_version IN NUMBER,
2253: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2254: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2255: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2256: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC ,
2257: x_return_status OUT NOCOPY VARCHAR2,
2258: x_msg_count OUT NOCOPY NUMBER,
2259: x_msg_data OUT NOCOPY VARCHAR2
2598:
2599: BEGIN
2600:
2601: -- Initialize message list if p_init_msg_list is set to TRUE
2602: IF FND_API.To_Boolean(p_init_msg_list)
2603: THEN
2604: FND_MSG_PUB.Initialize;
2605: END IF;
2606:
2603: THEN
2604: FND_MSG_PUB.Initialize;
2605: END IF;
2606:
2607: x_return_status := FND_API.G_RET_STS_SUCCESS;
2608:
2609: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2610: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,l_full_name,'Start of the API');
2611: END IF;
2646:
2647: -- get the top level applicable instances for the MR
2648: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
2649: p_api_version => 1.0,
2650: p_init_msg_list => FND_API.G_FALSE,
2651: p_commit => FND_API.G_FALSE,
2652: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2653: x_return_status => x_return_status,
2654: x_msg_count => x_msg_count,
2647: -- get the top level applicable instances for the MR
2648: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
2649: p_api_version => 1.0,
2650: p_init_msg_list => FND_API.G_FALSE,
2651: p_commit => FND_API.G_FALSE,
2652: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2653: x_return_status => x_return_status,
2654: x_msg_count => x_msg_count,
2655: x_msg_data => x_msg_data,
2648: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
2649: p_api_version => 1.0,
2650: p_init_msg_list => FND_API.G_FALSE,
2651: p_commit => FND_API.G_FALSE,
2652: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2653: x_return_status => x_return_status,
2654: x_msg_count => x_msg_count,
2655: x_msg_data => x_msg_data,
2656: p_mr_header_id => l_get_mr_for_pc_rec.mr_header_id,
2659: p_unique_inst_flag => 'Y',
2660: x_mr_item_inst_tbl => l_mr_item_inst_tbl);
2661:
2662: -- check for the return status
2663: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2664: IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
2665: FND_LOG.string(FND_LOG.level_statement,l_full_name,
2666: 'Raising exception with x_return_status => '||x_return_status);
2667: END IF;
2664: IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
2665: FND_LOG.string(FND_LOG.level_statement,l_full_name,
2666: 'Raising exception with x_return_status => '||x_return_status);
2667: END IF;
2668: RAISE FND_API.G_EXC_ERROR;
2669: END IF;
2670:
2671: -- populate the associative array of instances for linked PC
2672: IF (l_mr_item_inst_tbl.COUNT > 0) THEN
2709:
2710: UPDATE_PC_HEADER
2711: (
2712: p_api_version => p_api_version,
2713: p_init_msg_list => FND_API.G_FALSE,
2714: p_commit => FND_API.G_FALSE,
2715: p_validation_level => p_validation_level,
2716: p_x_pc_header_rec => p_x_pc_header_rec,
2717: x_return_status => x_return_status,
2710: UPDATE_PC_HEADER
2711: (
2712: p_api_version => p_api_version,
2713: p_init_msg_list => FND_API.G_FALSE,
2714: p_commit => FND_API.G_FALSE,
2715: p_validation_level => p_validation_level,
2716: p_x_pc_header_rec => p_x_pc_header_rec,
2717: x_return_status => x_return_status,
2718: x_msg_count => x_msg_count,
2978: THEN
2979: AHL_PC_NODE_PVT.UPDATE_NODE
2980: (
2981: p_api_version => p_api_version,
2982: p_init_msg_list => FND_API.G_FALSE,
2983: p_commit => FND_API.G_FALSE,
2984: p_validation_level => p_validation_level,
2985: p_x_node_rec => l_node_rec,
2986: x_return_status => x_return_status,
2979: AHL_PC_NODE_PVT.UPDATE_NODE
2980: (
2981: p_api_version => p_api_version,
2982: p_init_msg_list => FND_API.G_FALSE,
2983: p_commit => FND_API.G_FALSE,
2984: p_validation_level => p_validation_level,
2985: p_x_node_rec => l_node_rec,
2986: x_return_status => x_return_status,
2987: x_msg_count => x_msg_count,
2996: THEN
2997: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
2998: (
2999: p_api_version => p_api_version,
3000: p_init_msg_list => FND_API.G_FALSE,
3001: p_commit => FND_API.G_FALSE,
3002: p_validation_level => p_validation_level,
3003: p_x_assos_rec => l_assos_rec,
3004: x_return_status => x_return_status,
2997: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
2998: (
2999: p_api_version => p_api_version,
3000: p_init_msg_list => FND_API.G_FALSE,
3001: p_commit => FND_API.G_FALSE,
3002: p_validation_level => p_validation_level,
3003: p_x_assos_rec => l_assos_rec,
3004: x_return_status => x_return_status,
3005: x_msg_count => x_msg_count,
3011:
3012: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
3013: (
3014: p_api_version => p_api_version,
3015: p_init_msg_list => FND_API.G_FALSE,
3016: p_commit => FND_API.G_FALSE,
3017: p_validation_level => p_validation_level,
3018: p_x_assos_rec => l_assos_rec,
3019: x_return_status => x_return_status,
3012: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
3013: (
3014: p_api_version => p_api_version,
3015: p_init_msg_list => FND_API.G_FALSE,
3016: p_commit => FND_API.G_FALSE,
3017: p_validation_level => p_validation_level,
3018: p_x_assos_rec => l_assos_rec,
3019: x_return_status => x_return_status,
3020: x_msg_count => x_msg_count,
3120: EXIT WHEN get_mr_for_pc%NOTFOUND;
3121: AHL_UMP_UNITMAINT_PVT.PROCESS_UNITEFFECTIVITY
3122: (
3123: p_api_version => 1.0,
3124: p_init_msg_list => FND_API.G_FALSE,
3125: p_commit => FND_API.G_FALSE,
3126: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3127: p_default => null,
3128: x_return_status => x_return_status,
3121: AHL_UMP_UNITMAINT_PVT.PROCESS_UNITEFFECTIVITY
3122: (
3123: p_api_version => 1.0,
3124: p_init_msg_list => FND_API.G_FALSE,
3125: p_commit => FND_API.G_FALSE,
3126: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3127: p_default => null,
3128: x_return_status => x_return_status,
3129: x_msg_count => x_msg_count,
3122: (
3123: p_api_version => 1.0,
3124: p_init_msg_list => FND_API.G_FALSE,
3125: p_commit => FND_API.G_FALSE,
3126: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3127: p_default => null,
3128: x_return_status => x_return_status,
3129: x_msg_count => x_msg_count,
3130: x_msg_data => x_msg_data,
3153:
3154: -- get the top level applicable instances for the MR
3155: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
3156: p_api_version => 1.0,
3157: p_init_msg_list => FND_API.G_FALSE,
3158: p_commit => FND_API.G_FALSE,
3159: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3160: x_return_status => x_return_status,
3161: x_msg_count => x_msg_count,
3154: -- get the top level applicable instances for the MR
3155: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
3156: p_api_version => 1.0,
3157: p_init_msg_list => FND_API.G_FALSE,
3158: p_commit => FND_API.G_FALSE,
3159: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3160: x_return_status => x_return_status,
3161: x_msg_count => x_msg_count,
3162: x_msg_data => x_msg_data,
3155: AHL_FMP_PVT.GET_MR_AFFECTED_ITEMS(
3156: p_api_version => 1.0,
3157: p_init_msg_list => FND_API.G_FALSE,
3158: p_commit => FND_API.G_FALSE,
3159: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3160: x_return_status => x_return_status,
3161: x_msg_count => x_msg_count,
3162: x_msg_data => x_msg_data,
3163: p_mr_header_id => l_get_mr_for_pc_rec.mr_header_id,
3166: p_unique_inst_flag => 'Y',
3167: x_mr_item_inst_tbl => l_mr_item_inst_tbl);
3168:
3169: -- check for the return status
3170: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3171: IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
3172: FND_LOG.string(FND_LOG.level_statement,l_full_name,
3173: 'Raising exception with x_return_status => '||x_return_status);
3174: END IF;
3171: IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
3172: FND_LOG.string(FND_LOG.level_statement,l_full_name,
3173: 'Raising exception with x_return_status => '||x_return_status);
3174: END IF;
3175: RAISE FND_API.G_EXC_ERROR;
3176: END IF;
3177:
3178: -- populate the associative array of instances for new PC
3179: IF (l_mr_item_inst_tbl.COUNT > 0) THEN
3356: -------------------------------
3357: PROCEDURE VALIDATE_PC_HEADER_UPDATE
3358: (
3359: p_api_version IN NUMBER,
3360: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3361: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3362: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3363: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
3364: x_return_status OUT NOCOPY VARCHAR2,
3357: PROCEDURE VALIDATE_PC_HEADER_UPDATE
3358: (
3359: p_api_version IN NUMBER,
3360: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3361: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3362: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3363: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
3364: x_return_status OUT NOCOPY VARCHAR2,
3365: x_msg_count OUT NOCOPY NUMBER,
3358: (
3359: p_api_version IN NUMBER,
3360: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3361: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3362: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3363: p_x_pc_header_rec IN OUT NOCOPY AHL_PC_HEADER_PUB.PC_HEADER_REC,
3364: x_return_status OUT NOCOPY VARCHAR2,
3365: x_msg_count OUT NOCOPY NUMBER,
3366: x_msg_data OUT NOCOPY VARCHAR2
3402: l_dummy BOOLEAN;
3403:
3404: BEGIN
3405: -- Initialize message list if p_init_msg_list is set to TRUE
3406: IF FND_API.To_Boolean(p_init_msg_list)
3407: THEN
3408: FND_MSG_PUB.Initialize;
3409: END IF;
3410:
3407: THEN
3408: FND_MSG_PUB.Initialize;
3409: END IF;
3410:
3411: x_return_status := FND_API.G_RET_STS_SUCCESS;
3412:
3413: IF G_DEBUG='Y' THEN
3414: AHL_DEBUG_PUB.ENABLE_DEBUG;
3415: END IF;
3425: THEN
3426: FND_MESSAGE.Set_Name('AHL','AHL_PC_NOT_FOUND');
3427: FND_MSG_PUB.ADD;
3428: CLOSE check_header_data;
3429: RAISE FND_API.G_EXC_ERROR;
3430: END IF;
3431: CLOSE check_header_data;
3432:
3433: IF l_old_obj_ver_no <> p_x_pc_header_rec.OBJECT_VERSION_NUMBER
3433: IF l_old_obj_ver_no <> p_x_pc_header_rec.OBJECT_VERSION_NUMBER
3434: THEN
3435: FND_MESSAGE.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
3436: FND_MSG_PUB.ADD;
3437: RAISE FND_API.G_EXC_ERROR;
3438: END IF;
3439:
3440: 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);
3441:
3442: IF (l_dummy = FALSE)
3443: THEN
3444: FND_MESSAGE.Set_Name('AHL','AHL_PC_UNIT_PART_ATTACHED');
3445: FND_MSG_PUB.ADD;
3446: RAISE FND_API.G_EXC_ERROR;
3447: END IF;
3448:
3449: IF G_DEBUG='Y' THEN
3450: AHL_DEBUG_PUB.debug('PCH -- PVT -- VALIDATE_PC_HEADER_UPDATE -- Old Status = '||l_old_status||' -- New Status = '||p_x_pc_header_rec.STATUS);
3454: IF p_x_pc_header_rec.STATUS = 'COMPLETE' AND l_old_status = 'COMPLETE'
3455: THEN
3456: FND_MESSAGE.Set_Name('AHL','AHL_PC_STATUS_COMPLETE');
3457: FND_MSG_PUB.ADD;
3458: RAISE FND_API.G_EXC_ERROR;
3459:
3460: -- PC is APPROVAL_REJECTED -- User submits after making any change -- Change status to DRAFT
3461: ELSIF p_x_pc_header_rec.STATUS = 'APPROVAL_REJECTED' AND l_old_status = 'APPROVAL_REJECTED'
3462: THEN
3472: THEN
3473: INITIATE_PC_APPROVAL
3474: (
3475: p_api_version => 1.0,
3476: p_init_msg_list => FND_API.G_FALSE,
3477: p_commit => FND_API.G_FALSE,
3478: p_validation_level => p_validation_level,
3479: p_default => FND_API.G_FALSE,
3480: x_return_status => x_return_status,
3473: INITIATE_PC_APPROVAL
3474: (
3475: p_api_version => 1.0,
3476: p_init_msg_list => FND_API.G_FALSE,
3477: p_commit => FND_API.G_FALSE,
3478: p_validation_level => p_validation_level,
3479: p_default => FND_API.G_FALSE,
3480: x_return_status => x_return_status,
3481: x_msg_count => x_msg_count,
3475: p_api_version => 1.0,
3476: p_init_msg_list => FND_API.G_FALSE,
3477: p_commit => FND_API.G_FALSE,
3478: p_validation_level => p_validation_level,
3479: p_default => FND_API.G_FALSE,
3480: x_return_status => x_return_status,
3481: x_msg_count => x_msg_count,
3482: x_msg_data => x_msg_data,
3483: p_x_pc_header_rec => p_x_pc_header_rec