21: -- End of Comments.
22: -------------------------------------------------------------------------------
23: PROCEDURE Validate_Completeness (
24: p_api_version IN NUMBER,
25: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
26: p_commit IN VARCHAR2 := FND_API.G_FALSE,
27: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
28: x_return_status OUT NOCOPY VARCHAR2,
29: x_msg_count OUT NOCOPY NUMBER,
22: -------------------------------------------------------------------------------
23: PROCEDURE Validate_Completeness (
24: p_api_version IN NUMBER,
25: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
26: p_commit IN VARCHAR2 := FND_API.G_FALSE,
27: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
28: x_return_status OUT NOCOPY VARCHAR2,
29: x_msg_count OUT NOCOPY NUMBER,
30: x_msg_data OUT NOCOPY VARCHAR2,
23: PROCEDURE Validate_Completeness (
24: p_api_version IN NUMBER,
25: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
26: p_commit IN VARCHAR2 := FND_API.G_FALSE,
27: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
28: x_return_status OUT NOCOPY VARCHAR2,
29: x_msg_count OUT NOCOPY NUMBER,
30: x_msg_data OUT NOCOPY VARCHAR2,
31: p_unit_header_id IN NUMBER,
54: -- Standard start of API savepoint
55: SAVEPOINT Validate_Completeness;
56:
57: -- Standard call to check for call compatibility
58: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
59: G_PKG_NAME) THEN
60: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
61: END IF;
62:
56:
57: -- Standard call to check for call compatibility
58: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
59: G_PKG_NAME) THEN
60: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
61: END IF;
62:
63: -- Initialize message list if p_init_msg_list is set to TRUE
64: IF FND_API.To_Boolean(p_init_msg_list) THEN
60: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
61: END IF;
62:
63: -- Initialize message list if p_init_msg_list is set to TRUE
64: IF FND_API.To_Boolean(p_init_msg_list) THEN
65: FND_MSG_PUB.Initialize;
66: END IF;
67:
68: -- Initialize API return status to success
65: FND_MSG_PUB.Initialize;
66: END IF;
67:
68: -- Initialize API return status to success
69: x_return_status := FND_API.G_RET_STS_SUCCESS;
70:
71: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
72: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
73: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
67:
68: -- Initialize API return status to success
69: x_return_status := FND_API.G_RET_STS_SUCCESS;
70:
71: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
72: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
73: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
74: FND_MSG_PUB.add;
75: RAISE FND_API.G_EXC_ERROR;
71: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
72: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
73: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
74: FND_MSG_PUB.add;
75: RAISE FND_API.G_EXC_ERROR;
76: END IF;
77:
78: -- ACL :: Changes for R12
79: IF (ahl_util_uc_pkg.IS_UNIT_QUARANTINED(p_unit_header_id => p_unit_header_id , p_instance_id => null) = FND_API.G_TRUE) THEN
75: RAISE FND_API.G_EXC_ERROR;
76: END IF;
77:
78: -- ACL :: Changes for R12
79: IF (ahl_util_uc_pkg.IS_UNIT_QUARANTINED(p_unit_header_id => p_unit_header_id , p_instance_id => null) = FND_API.G_TRUE) THEN
80: FND_MESSAGE.set_name( 'AHL','AHL_UC_INVALID_Q_ACTION' );
81: FND_MSG_PUB.add;
82: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
83: END IF;
78: -- ACL :: Changes for R12
79: IF (ahl_util_uc_pkg.IS_UNIT_QUARANTINED(p_unit_header_id => p_unit_header_id , p_instance_id => null) = FND_API.G_TRUE) THEN
80: FND_MESSAGE.set_name( 'AHL','AHL_UC_INVALID_Q_ACTION' );
81: FND_MSG_PUB.add;
82: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
83: END IF;
84:
85: --List Extra nodes
86: AHL_UC_POS_NECES_PVT.list_extra_nodes(
120: x_msg_count => x_msg_count,
121: x_msg_data => x_msg_data,
122: p_unit_header_id => p_unit_header_id,
123: p_rule_type => 'MANDATORY',
124: p_check_subconfig_flag => FND_API.G_TRUE,
125: p_x_error_tbl => l_error_table,
126: x_evaluation_status => l_evaluation_status
127: );
128:
157:
158: -- Check Error Message stack.
159: x_msg_count := FND_MSG_PUB.count_msg;
160: IF x_msg_count > 0 THEN
161: RAISE FND_API.G_EXC_ERROR;
162: END IF;
163:
164: --validate the uc header id
165: OPEN validate_uc_header_id_csr(p_unit_header_id);
168: FND_MESSAGE.Set_Name('AHL','AHL_UC_HEADER_ID_INVALID');
169: FND_MESSAGE.Set_Token('UC_HEADER_ID', p_unit_header_id);
170: FND_MSG_PUB.ADD;
171: CLOSE validate_uc_header_id_csr;
172: RAISE FND_API.G_EXC_ERROR;
173: END IF;
174: CLOSE validate_uc_header_id_csr;
175:
176: IF (l_uc_status_code = 'INCOMPLETE' AND
196: --Setting output parameters
197: x_error_tbl := l_error_table;
198:
199: -- Standard check of p_commit
200: IF FND_API.TO_BOOLEAN(p_commit) THEN
201: COMMIT WORK;
202: END IF;
203:
204: -- Standard call to get message count and if count is 1, get message info
204: -- Standard call to get message count and if count is 1, get message info
205: FND_MSG_PUB.Count_And_Get
206: ( p_count => x_msg_count,
207: p_data => x_msg_data,
208: p_encoded => fnd_api.g_false
209: );
210:
211: EXCEPTION
212: WHEN FND_API.G_EXC_ERROR THEN
208: p_encoded => fnd_api.g_false
209: );
210:
211: EXCEPTION
212: WHEN FND_API.G_EXC_ERROR THEN
213: x_return_status := FND_API.G_RET_STS_ERROR;
214: Rollback to Validate_Completeness;
215: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
216: p_data => x_msg_data,
209: );
210:
211: EXCEPTION
212: WHEN FND_API.G_EXC_ERROR THEN
213: x_return_status := FND_API.G_RET_STS_ERROR;
214: Rollback to Validate_Completeness;
215: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
216: p_data => x_msg_data,
217: p_encoded => fnd_api.g_false);
213: x_return_status := FND_API.G_RET_STS_ERROR;
214: Rollback to Validate_Completeness;
215: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
216: p_data => x_msg_data,
217: p_encoded => fnd_api.g_false);
218: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
219: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220: Rollback to Validate_Completeness;
221: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
214: Rollback to Validate_Completeness;
215: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
216: p_data => x_msg_data,
217: p_encoded => fnd_api.g_false);
218: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
219: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220: Rollback to Validate_Completeness;
221: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
222: p_data => x_msg_data,
215: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
216: p_data => x_msg_data,
217: p_encoded => fnd_api.g_false);
218: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
219: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220: Rollback to Validate_Completeness;
221: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
222: p_data => x_msg_data,
223: p_encoded => fnd_api.g_false);
219: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220: Rollback to Validate_Completeness;
221: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
222: p_data => x_msg_data,
223: p_encoded => fnd_api.g_false);
224: WHEN OTHERS THEN
225: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
226: Rollback to Validate_Completeness;
227: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
221: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
222: p_data => x_msg_data,
223: p_encoded => fnd_api.g_false);
224: WHEN OTHERS THEN
225: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
226: Rollback to Validate_Completeness;
227: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
228: p_procedure_name => l_api_name,
229: p_error_text => SQLERRM);
229: p_error_text => SQLERRM);
230:
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: END Validate_Completeness;
236:
237:
251: -- End of Comments.
252:
253: PROCEDURE Validate_Complete_For_Pos (
254: p_api_version IN NUMBER,
255: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
256: p_commit IN VARCHAR2 := FND_API.G_FALSE,
257: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
258: x_return_status OUT NOCOPY VARCHAR2,
259: x_msg_count OUT NOCOPY NUMBER,
252:
253: PROCEDURE Validate_Complete_For_Pos (
254: p_api_version IN NUMBER,
255: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
256: p_commit IN VARCHAR2 := FND_API.G_FALSE,
257: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
258: x_return_status OUT NOCOPY VARCHAR2,
259: x_msg_count OUT NOCOPY NUMBER,
260: x_msg_data OUT NOCOPY VARCHAR2,
253: PROCEDURE Validate_Complete_For_Pos (
254: p_api_version IN NUMBER,
255: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
256: p_commit IN VARCHAR2 := FND_API.G_FALSE,
257: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
258: x_return_status OUT NOCOPY VARCHAR2,
259: x_msg_count OUT NOCOPY NUMBER,
260: x_msg_data OUT NOCOPY VARCHAR2,
261: p_csi_instance_id IN NUMBER,
272: -- Standard start of API savepoint
273: SAVEPOINT Validate_Complete_For_Pos;
274:
275: -- Standard call to check for call compatibility
276: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
277: G_PKG_NAME) THEN
278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279: END IF;
280:
274:
275: -- Standard call to check for call compatibility
276: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
277: G_PKG_NAME) THEN
278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279: END IF;
280:
281: -- Initialize message list if p_init_msg_list is set to TRUE
282: IF FND_API.To_Boolean(p_init_msg_list) THEN
278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279: END IF;
280:
281: -- Initialize message list if p_init_msg_list is set to TRUE
282: IF FND_API.To_Boolean(p_init_msg_list) THEN
283: FND_MSG_PUB.Initialize;
284: END IF;
285:
286: -- Initialize API return status to success
283: FND_MSG_PUB.Initialize;
284: END IF;
285:
286: -- Initialize API return status to success
287: x_return_status := FND_API.G_RET_STS_SUCCESS;
288:
289: --List Extra nodes
290: AHL_UC_POS_NECES_PVT.list_extra_nodes(
291: p_api_version => 1.0,
359:
360: -- Check Error Message stack.
361: x_msg_count := FND_MSG_PUB.count_msg;
362: IF x_msg_count > 0 THEN
363: RAISE FND_API.G_EXC_ERROR;
364: END IF;
365:
366: --Setting output parameters
367: x_error_tbl := l_error_table;
366: --Setting output parameters
367: x_error_tbl := l_error_table;
368:
369: -- Standard check of p_commit
370: IF FND_API.TO_BOOLEAN(p_commit) THEN
371: COMMIT WORK;
372: END IF;
373:
374: -- Standard call to get message count and if count is 1, get message info
374: -- Standard call to get message count and if count is 1, get message info
375: FND_MSG_PUB.Count_And_Get
376: ( p_count => x_msg_count,
377: p_data => x_msg_data,
378: p_encoded => fnd_api.g_false
379: );
380:
381: EXCEPTION
382: WHEN FND_API.G_EXC_ERROR THEN
378: p_encoded => fnd_api.g_false
379: );
380:
381: EXCEPTION
382: WHEN FND_API.G_EXC_ERROR THEN
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: Rollback to Validate_Complete_For_Pos;
385: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
386: p_data => x_msg_data,
379: );
380:
381: EXCEPTION
382: WHEN FND_API.G_EXC_ERROR THEN
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: Rollback to Validate_Complete_For_Pos;
385: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
386: p_data => x_msg_data,
387: p_encoded => fnd_api.g_false);
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: Rollback to Validate_Complete_For_Pos;
385: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
386: p_data => x_msg_data,
387: p_encoded => fnd_api.g_false);
388: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
389: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390: Rollback to Validate_Complete_For_Pos;
391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
384: Rollback to Validate_Complete_For_Pos;
385: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
386: p_data => x_msg_data,
387: p_encoded => fnd_api.g_false);
388: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
389: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390: Rollback to Validate_Complete_For_Pos;
391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
392: p_data => x_msg_data,
385: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
386: p_data => x_msg_data,
387: p_encoded => fnd_api.g_false);
388: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
389: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390: Rollback to Validate_Complete_For_Pos;
391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
392: p_data => x_msg_data,
393: p_encoded => fnd_api.g_false);
389: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390: Rollback to Validate_Complete_For_Pos;
391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
392: p_data => x_msg_data,
393: p_encoded => fnd_api.g_false);
394: WHEN OTHERS THEN
395: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
396: Rollback to Validate_Complete_For_Pos;
397: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
392: p_data => x_msg_data,
393: p_encoded => fnd_api.g_false);
394: WHEN OTHERS THEN
395: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
396: Rollback to Validate_Complete_For_Pos;
397: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
398: p_procedure_name => l_api_name,
399: p_error_text => SQLERRM);
399: p_error_text => SQLERRM);
400:
401: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
402: p_data => x_msg_data,
403: p_encoded => fnd_api.g_false);
404: END Validate_Complete_For_Pos;
405:
406:
407: -------------------------------------------------------------------------------
416: -- Check_Completeness Parameters:
417: -- p_unit_header_id IN NUMBER Required.
418: -- The header identifier of the Unit Configuration
419: -- x_evaluation_status OUT NOCOPY VARCHAR2
420: -- The evaluation status of the Unit Configutation.Returns a FND_API.G_TRUE or FND_API.G_FALSE
421: -- End of Comments.
422: -------------------------------------------------------------------------------
423: PROCEDURE Check_Completeness (
424: p_api_version IN NUMBER,
421: -- End of Comments.
422: -------------------------------------------------------------------------------
423: PROCEDURE Check_Completeness (
424: p_api_version IN NUMBER,
425: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
426: p_commit IN VARCHAR2 := FND_API.G_FALSE,
427: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
428: x_return_status OUT NOCOPY VARCHAR2,
429: x_msg_count OUT NOCOPY NUMBER,
422: -------------------------------------------------------------------------------
423: PROCEDURE Check_Completeness (
424: p_api_version IN NUMBER,
425: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
426: p_commit IN VARCHAR2 := FND_API.G_FALSE,
427: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
428: x_return_status OUT NOCOPY VARCHAR2,
429: x_msg_count OUT NOCOPY NUMBER,
430: x_msg_data OUT NOCOPY VARCHAR2,
423: PROCEDURE Check_Completeness (
424: p_api_version IN NUMBER,
425: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
426: p_commit IN VARCHAR2 := FND_API.G_FALSE,
427: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
428: x_return_status OUT NOCOPY VARCHAR2,
429: x_msg_count OUT NOCOPY NUMBER,
430: x_msg_data OUT NOCOPY VARCHAR2,
431: p_unit_header_id IN NUMBER,
440: -- Standard start of API savepoint
441: SAVEPOINT Check_Completeness;
442:
443: -- Standard call to check for call compatibility
444: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
445: G_PKG_NAME) THEN
446: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
447: END IF;
448:
442:
443: -- Standard call to check for call compatibility
444: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
445: G_PKG_NAME) THEN
446: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
447: END IF;
448:
449: -- Initialize message list if p_init_msg_list is set to TRUE
450: IF FND_API.To_Boolean(p_init_msg_list) THEN
446: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
447: END IF;
448:
449: -- Initialize message list if p_init_msg_list is set to TRUE
450: IF FND_API.To_Boolean(p_init_msg_list) THEN
451: FND_MSG_PUB.Initialize;
452: END IF;
453:
454: -- Initialize API return status to success
451: FND_MSG_PUB.Initialize;
452: END IF;
453:
454: -- Initialize API return status to success
455: x_return_status := FND_API.G_RET_STS_SUCCESS;
456: x_evaluation_status := 'U';
457:
458: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
459: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
454: -- Initialize API return status to success
455: x_return_status := FND_API.G_RET_STS_SUCCESS;
456: x_evaluation_status := 'U';
457:
458: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
459: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
460: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
461: FND_MSG_PUB.add;
462: RAISE FND_API.G_EXC_ERROR;
458: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
459: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
460: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
461: FND_MSG_PUB.add;
462: RAISE FND_API.G_EXC_ERROR;
463: END IF;
464:
465: --Check for Extra nodes
466: AHL_UC_POS_NECES_PVT.check_extra_nodes(
475: );
476: -- Check Error Message stack.
477: x_msg_count := FND_MSG_PUB.count_msg;
478: IF x_msg_count > 0 THEN
479: RAISE FND_API.G_EXC_ERROR;
480: END IF;
481:
482:
483: IF ( x_evaluation_status = FND_API.G_TRUE ) THEN
479: RAISE FND_API.G_EXC_ERROR;
480: END IF;
481:
482:
483: IF ( x_evaluation_status = FND_API.G_TRUE ) THEN
484: --Check for Missing Positions
485: AHL_UC_POS_NECES_PVT.check_missing_positions(
486: p_api_version => 1.0,
487: p_init_msg_list => p_init_msg_list,
494: );
495: -- Check Error Message stack.
496: x_msg_count := FND_MSG_PUB.count_msg;
497: IF x_msg_count > 0 THEN
498: RAISE FND_API.G_EXC_ERROR;
499: END IF;
500:
501: END IF;
502:
499: END IF;
500:
501: END IF;
502:
503: IF ( x_evaluation_status = FND_API.G_TRUE ) THEN
504: --Check for Rules
505: AHL_MC_RULE_ENGINE_PVT.Check_Rules_For_Unit (
506: p_api_version => 1.0,
507: p_init_msg_list => p_init_msg_list,
507: p_init_msg_list => p_init_msg_list,
508: p_validation_level => p_validation_level,
509: p_unit_header_id => p_unit_header_id,
510: p_rule_type => 'MANDATORY',
511: p_check_subconfig_flag => FND_API.G_TRUE,
512: x_evaluation_status => x_evaluation_status,
513: x_return_status => x_return_status,
514: x_msg_count => x_msg_count,
515: x_msg_data => x_msg_data
516: );
517: -- Check Error Message stack.
518: x_msg_count := FND_MSG_PUB.count_msg;
519: IF x_msg_count > 0 THEN
520: RAISE FND_API.G_EXC_ERROR;
521: END IF;
522:
523: -- SATHAPLI::FP OGMA Issue# 105 - Non-Serialized Item Maintenance, 05-Dec-2007
524: IF (x_evaluation_status <> 'F') THEN
536:
537: -- Check Error Message stack.
538: x_msg_count := FND_MSG_PUB.count_msg;
539: IF x_msg_count > 0 THEN
540: RAISE FND_API.G_EXC_ERROR;
541: END IF;
542: END IF;
543:
544: END IF;
543:
544: END IF;
545:
546: -- Standard check of p_commit
547: IF FND_API.TO_BOOLEAN(p_commit) THEN
548: COMMIT WORK;
549: END IF;
550:
551: -- Standard call to get message count and if count is 1, get message info
551: -- Standard call to get message count and if count is 1, get message info
552: FND_MSG_PUB.Count_And_Get
553: ( p_count => x_msg_count,
554: p_data => x_msg_data,
555: p_encoded => fnd_api.g_false
556: );
557:
558: EXCEPTION
559: WHEN FND_API.G_EXC_ERROR THEN
555: p_encoded => fnd_api.g_false
556: );
557:
558: EXCEPTION
559: WHEN FND_API.G_EXC_ERROR THEN
560: x_return_status := FND_API.G_RET_STS_ERROR;
561: Rollback to Check_Completeness;
562: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
563: p_data => x_msg_data,
556: );
557:
558: EXCEPTION
559: WHEN FND_API.G_EXC_ERROR THEN
560: x_return_status := FND_API.G_RET_STS_ERROR;
561: Rollback to Check_Completeness;
562: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
563: p_data => x_msg_data,
564: p_encoded => fnd_api.g_false);
560: x_return_status := FND_API.G_RET_STS_ERROR;
561: Rollback to Check_Completeness;
562: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
563: p_data => x_msg_data,
564: p_encoded => fnd_api.g_false);
565:
566: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
567: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
568: Rollback to Check_Completeness;
562: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
563: p_data => x_msg_data,
564: p_encoded => fnd_api.g_false);
565:
566: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
567: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
568: Rollback to Check_Completeness;
569: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
570: p_data => x_msg_data,
563: p_data => x_msg_data,
564: p_encoded => fnd_api.g_false);
565:
566: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
567: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
568: Rollback to Check_Completeness;
569: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
570: p_data => x_msg_data,
571: p_encoded => fnd_api.g_false);
567: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
568: Rollback to Check_Completeness;
569: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
570: p_data => x_msg_data,
571: p_encoded => fnd_api.g_false);
572:
573: WHEN OTHERS THEN
574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
575: Rollback to Check_Completeness;
570: p_data => x_msg_data,
571: p_encoded => fnd_api.g_false);
572:
573: WHEN OTHERS THEN
574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
575: Rollback to Check_Completeness;
576: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
577: p_procedure_name => l_api_name,
578: p_error_text => SQLERRM);
578: p_error_text => SQLERRM);
579:
580: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
581: p_data => x_msg_data,
582: p_encoded => fnd_api.g_false);
583:
584: END Check_Completeness;
585:
586: