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,
52: -- Standard start of API savepoint
53: SAVEPOINT Validate_Completeness;
54:
55: -- Standard call to check for call compatibility
56: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
57: G_PKG_NAME) THEN
58: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59: END IF;
60:
54:
55: -- Standard call to check for call compatibility
56: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
57: G_PKG_NAME) THEN
58: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59: END IF;
60:
61: -- Initialize message list if p_init_msg_list is set to TRUE
62: IF FND_API.To_Boolean(p_init_msg_list) THEN
58: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59: END IF;
60:
61: -- Initialize message list if p_init_msg_list is set to TRUE
62: IF FND_API.To_Boolean(p_init_msg_list) THEN
63: FND_MSG_PUB.Initialize;
64: END IF;
65:
66: -- Initialize API return status to success
63: FND_MSG_PUB.Initialize;
64: END IF;
65:
66: -- Initialize API return status to success
67: x_return_status := FND_API.G_RET_STS_SUCCESS;
68:
69: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
70: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
71: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
65:
66: -- Initialize API return status to success
67: x_return_status := FND_API.G_RET_STS_SUCCESS;
68:
69: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
70: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
71: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
72: FND_MSG_PUB.add;
73: RAISE FND_API.G_EXC_ERROR;
69: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
70: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
71: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
72: FND_MSG_PUB.add;
73: RAISE FND_API.G_EXC_ERROR;
74: END IF;
75:
76: -- ACL :: Changes for R12
77: 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
73: RAISE FND_API.G_EXC_ERROR;
74: END IF;
75:
76: -- ACL :: Changes for R12
77: 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
78: FND_MESSAGE.set_name( 'AHL','AHL_UC_INVALID_Q_ACTION' );
79: FND_MSG_PUB.add;
80: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
81: END IF;
76: -- ACL :: Changes for R12
77: 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
78: FND_MESSAGE.set_name( 'AHL','AHL_UC_INVALID_Q_ACTION' );
79: FND_MSG_PUB.add;
80: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
81: END IF;
82:
83: --List Extra nodes
84: AHL_UC_POS_NECES_PVT.list_extra_nodes(
118: x_msg_count => x_msg_count,
119: x_msg_data => x_msg_data,
120: p_unit_header_id => p_unit_header_id,
121: p_rule_type => 'MANDATORY',
122: p_check_subconfig_flag => FND_API.G_TRUE,
123: p_x_error_tbl => l_error_table,
124: x_evaluation_status => l_evaluation_status
125: );
126:
141:
142: -- Check Error Message stack.
143: x_msg_count := FND_MSG_PUB.count_msg;
144: IF x_msg_count > 0 THEN
145: RAISE FND_API.G_EXC_ERROR;
146: END IF;
147:
148: --validate the uc header id
149: OPEN validate_uc_header_id_csr(p_unit_header_id);
152: FND_MESSAGE.Set_Name('AHL','AHL_UC_HEADER_ID_INVALID');
153: FND_MESSAGE.Set_Token('UC_HEADER_ID', p_unit_header_id);
154: FND_MSG_PUB.ADD;
155: CLOSE validate_uc_header_id_csr;
156: RAISE FND_API.G_EXC_ERROR;
157: END IF;
158: CLOSE validate_uc_header_id_csr;
159:
160: IF (l_uc_status_code = 'INCOMPLETE' AND
180: --Setting output parameters
181: x_error_tbl := l_error_table;
182:
183: -- Standard check of p_commit
184: IF FND_API.TO_BOOLEAN(p_commit) THEN
185: COMMIT WORK;
186: END IF;
187:
188: -- Standard call to get message count and if count is 1, get message info
188: -- Standard call to get message count and if count is 1, get message info
189: FND_MSG_PUB.Count_And_Get
190: ( p_count => x_msg_count,
191: p_data => x_msg_data,
192: p_encoded => fnd_api.g_false
193: );
194:
195: EXCEPTION
196: WHEN FND_API.G_EXC_ERROR THEN
192: p_encoded => fnd_api.g_false
193: );
194:
195: EXCEPTION
196: WHEN FND_API.G_EXC_ERROR THEN
197: x_return_status := FND_API.G_RET_STS_ERROR;
198: Rollback to Validate_Completeness;
199: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
200: p_data => x_msg_data,
193: );
194:
195: EXCEPTION
196: WHEN FND_API.G_EXC_ERROR THEN
197: x_return_status := FND_API.G_RET_STS_ERROR;
198: Rollback to Validate_Completeness;
199: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
200: p_data => x_msg_data,
201: p_encoded => fnd_api.g_false);
197: x_return_status := FND_API.G_RET_STS_ERROR;
198: Rollback to Validate_Completeness;
199: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
200: p_data => x_msg_data,
201: p_encoded => fnd_api.g_false);
202: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
204: Rollback to Validate_Completeness;
205: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
198: Rollback to Validate_Completeness;
199: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
200: p_data => x_msg_data,
201: p_encoded => fnd_api.g_false);
202: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
204: Rollback to Validate_Completeness;
205: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
206: p_data => x_msg_data,
199: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
200: p_data => x_msg_data,
201: p_encoded => fnd_api.g_false);
202: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
204: Rollback to Validate_Completeness;
205: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
206: p_data => x_msg_data,
207: p_encoded => fnd_api.g_false);
203: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
204: Rollback to Validate_Completeness;
205: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
206: p_data => x_msg_data,
207: p_encoded => fnd_api.g_false);
208: WHEN OTHERS THEN
209: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
210: Rollback to Validate_Completeness;
211: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
205: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
206: p_data => x_msg_data,
207: p_encoded => fnd_api.g_false);
208: WHEN OTHERS THEN
209: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
210: Rollback to Validate_Completeness;
211: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
212: p_procedure_name => l_api_name,
213: p_error_text => SQLERRM);
213: p_error_text => SQLERRM);
214:
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:
219: END Validate_Completeness;
220:
221:
235: -- End of Comments.
236:
237: PROCEDURE Validate_Complete_For_Pos (
238: p_api_version IN NUMBER,
239: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
240: p_commit IN VARCHAR2 := FND_API.G_FALSE,
241: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
242: x_return_status OUT NOCOPY VARCHAR2,
243: x_msg_count OUT NOCOPY NUMBER,
236:
237: PROCEDURE Validate_Complete_For_Pos (
238: p_api_version IN NUMBER,
239: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
240: p_commit IN VARCHAR2 := FND_API.G_FALSE,
241: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
242: x_return_status OUT NOCOPY VARCHAR2,
243: x_msg_count OUT NOCOPY NUMBER,
244: x_msg_data OUT NOCOPY VARCHAR2,
237: PROCEDURE Validate_Complete_For_Pos (
238: p_api_version IN NUMBER,
239: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
240: p_commit IN VARCHAR2 := FND_API.G_FALSE,
241: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
242: x_return_status OUT NOCOPY VARCHAR2,
243: x_msg_count OUT NOCOPY NUMBER,
244: x_msg_data OUT NOCOPY VARCHAR2,
245: p_csi_instance_id IN NUMBER,
256: -- Standard start of API savepoint
257: SAVEPOINT Validate_Complete_For_Pos;
258:
259: -- Standard call to check for call compatibility
260: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
261: G_PKG_NAME) THEN
262: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
263: END IF;
264:
258:
259: -- Standard call to check for call compatibility
260: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
261: G_PKG_NAME) THEN
262: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
263: END IF;
264:
265: -- Initialize message list if p_init_msg_list is set to TRUE
266: IF FND_API.To_Boolean(p_init_msg_list) THEN
262: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
263: END IF;
264:
265: -- Initialize message list if p_init_msg_list is set to TRUE
266: IF FND_API.To_Boolean(p_init_msg_list) THEN
267: FND_MSG_PUB.Initialize;
268: END IF;
269:
270: -- Initialize API return status to success
267: FND_MSG_PUB.Initialize;
268: END IF;
269:
270: -- Initialize API return status to success
271: x_return_status := FND_API.G_RET_STS_SUCCESS;
272:
273: --List Extra nodes
274: AHL_UC_POS_NECES_PVT.list_extra_nodes(
275: p_api_version => 1.0,
330:
331: -- Check Error Message stack.
332: x_msg_count := FND_MSG_PUB.count_msg;
333: IF x_msg_count > 0 THEN
334: RAISE FND_API.G_EXC_ERROR;
335: END IF;
336:
337: --Setting output parameters
338: x_error_tbl := l_error_table;
337: --Setting output parameters
338: x_error_tbl := l_error_table;
339:
340: -- Standard check of p_commit
341: IF FND_API.TO_BOOLEAN(p_commit) THEN
342: COMMIT WORK;
343: END IF;
344:
345: -- Standard call to get message count and if count is 1, get message info
345: -- Standard call to get message count and if count is 1, get message info
346: FND_MSG_PUB.Count_And_Get
347: ( p_count => x_msg_count,
348: p_data => x_msg_data,
349: p_encoded => fnd_api.g_false
350: );
351:
352: EXCEPTION
353: WHEN FND_API.G_EXC_ERROR THEN
349: p_encoded => fnd_api.g_false
350: );
351:
352: EXCEPTION
353: WHEN FND_API.G_EXC_ERROR THEN
354: x_return_status := FND_API.G_RET_STS_ERROR;
355: Rollback to Validate_Complete_For_Pos;
356: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
357: p_data => x_msg_data,
350: );
351:
352: EXCEPTION
353: WHEN FND_API.G_EXC_ERROR THEN
354: x_return_status := FND_API.G_RET_STS_ERROR;
355: Rollback to Validate_Complete_For_Pos;
356: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
357: p_data => x_msg_data,
358: p_encoded => fnd_api.g_false);
354: x_return_status := FND_API.G_RET_STS_ERROR;
355: Rollback to Validate_Complete_For_Pos;
356: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
357: p_data => x_msg_data,
358: p_encoded => fnd_api.g_false);
359: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
360: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
361: Rollback to Validate_Complete_For_Pos;
362: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
355: Rollback to Validate_Complete_For_Pos;
356: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
357: p_data => x_msg_data,
358: p_encoded => fnd_api.g_false);
359: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
360: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
361: Rollback to Validate_Complete_For_Pos;
362: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
363: p_data => x_msg_data,
356: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
357: p_data => x_msg_data,
358: p_encoded => fnd_api.g_false);
359: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
360: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
361: Rollback to Validate_Complete_For_Pos;
362: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
363: p_data => x_msg_data,
364: p_encoded => fnd_api.g_false);
360: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
361: Rollback to Validate_Complete_For_Pos;
362: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
363: p_data => x_msg_data,
364: p_encoded => fnd_api.g_false);
365: WHEN OTHERS THEN
366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
367: Rollback to Validate_Complete_For_Pos;
368: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
362: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
363: p_data => x_msg_data,
364: p_encoded => fnd_api.g_false);
365: WHEN OTHERS THEN
366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
367: Rollback to Validate_Complete_For_Pos;
368: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
369: p_procedure_name => l_api_name,
370: p_error_text => SQLERRM);
370: p_error_text => SQLERRM);
371:
372: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
373: p_data => x_msg_data,
374: p_encoded => fnd_api.g_false);
375: END Validate_Complete_For_Pos;
376:
377:
378: -------------------------------------------------------------------------------
387: -- Check_Completeness Parameters:
388: -- p_unit_header_id IN NUMBER Required.
389: -- The header identifier of the Unit Configuration
390: -- x_evaluation_status OUT NOCOPY VARCHAR2
391: -- The evaluation status of the Unit Configutation.Returns a FND_API.G_TRUE or FND_API.G_FALSE
392: -- End of Comments.
393: -------------------------------------------------------------------------------
394: PROCEDURE Check_Completeness (
395: p_api_version IN NUMBER,
392: -- End of Comments.
393: -------------------------------------------------------------------------------
394: PROCEDURE Check_Completeness (
395: p_api_version IN NUMBER,
396: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
397: p_commit IN VARCHAR2 := FND_API.G_FALSE,
398: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
399: x_return_status OUT NOCOPY VARCHAR2,
400: x_msg_count OUT NOCOPY NUMBER,
393: -------------------------------------------------------------------------------
394: PROCEDURE Check_Completeness (
395: p_api_version IN NUMBER,
396: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
397: p_commit IN VARCHAR2 := FND_API.G_FALSE,
398: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
399: x_return_status OUT NOCOPY VARCHAR2,
400: x_msg_count OUT NOCOPY NUMBER,
401: x_msg_data OUT NOCOPY VARCHAR2,
394: PROCEDURE Check_Completeness (
395: p_api_version IN NUMBER,
396: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
397: p_commit IN VARCHAR2 := FND_API.G_FALSE,
398: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
399: x_return_status OUT NOCOPY VARCHAR2,
400: x_msg_count OUT NOCOPY NUMBER,
401: x_msg_data OUT NOCOPY VARCHAR2,
402: p_unit_header_id IN NUMBER,
411: -- Standard start of API savepoint
412: SAVEPOINT Check_Completeness;
413:
414: -- Standard call to check for call compatibility
415: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
416: G_PKG_NAME) THEN
417: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
418: END IF;
419:
413:
414: -- Standard call to check for call compatibility
415: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
416: G_PKG_NAME) THEN
417: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
418: END IF;
419:
420: -- Initialize message list if p_init_msg_list is set to TRUE
421: IF FND_API.To_Boolean(p_init_msg_list) THEN
417: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
418: END IF;
419:
420: -- Initialize message list if p_init_msg_list is set to TRUE
421: IF FND_API.To_Boolean(p_init_msg_list) THEN
422: FND_MSG_PUB.Initialize;
423: END IF;
424:
425: -- Initialize API return status to success
422: FND_MSG_PUB.Initialize;
423: END IF;
424:
425: -- Initialize API return status to success
426: x_return_status := FND_API.G_RET_STS_SUCCESS;
427: x_evaluation_status := 'U';
428:
429: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
430: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
425: -- Initialize API return status to success
426: x_return_status := FND_API.G_RET_STS_SUCCESS;
427: x_evaluation_status := 'U';
428:
429: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
430: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
431: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
432: FND_MSG_PUB.add;
433: RAISE FND_API.G_EXC_ERROR;
429: IF (p_unit_header_id IS NULL OR p_unit_header_id = FND_API.G_MISS_NUM) THEN
430: FND_MESSAGE.set_name('AHL', 'AHL_COM_INVALID_PROCEDURE_CALL');
431: FND_MESSAGE.set_token('PROCEDURE', G_PKG_NAME);
432: FND_MSG_PUB.add;
433: RAISE FND_API.G_EXC_ERROR;
434: END IF;
435:
436: --Check for Extra nodes
437: AHL_UC_POS_NECES_PVT.check_extra_nodes(
446: );
447: -- Check Error Message stack.
448: x_msg_count := FND_MSG_PUB.count_msg;
449: IF x_msg_count > 0 THEN
450: RAISE FND_API.G_EXC_ERROR;
451: END IF;
452:
453:
454: IF ( x_evaluation_status = FND_API.G_TRUE ) THEN
450: RAISE FND_API.G_EXC_ERROR;
451: END IF;
452:
453:
454: IF ( x_evaluation_status = FND_API.G_TRUE ) THEN
455: --Check for Missing Positions
456: AHL_UC_POS_NECES_PVT.check_missing_positions(
457: p_api_version => 1.0,
458: p_init_msg_list => p_init_msg_list,
465: );
466: -- Check Error Message stack.
467: x_msg_count := FND_MSG_PUB.count_msg;
468: IF x_msg_count > 0 THEN
469: RAISE FND_API.G_EXC_ERROR;
470: END IF;
471:
472: END IF;
473:
470: END IF;
471:
472: END IF;
473:
474: IF ( x_evaluation_status = FND_API.G_TRUE ) THEN
475: --Check for Rules
476: AHL_MC_RULE_ENGINE_PVT.Check_Rules_For_Unit (
477: p_api_version => 1.0,
478: p_init_msg_list => p_init_msg_list,
478: p_init_msg_list => p_init_msg_list,
479: p_validation_level => p_validation_level,
480: p_unit_header_id => p_unit_header_id,
481: p_rule_type => 'MANDATORY',
482: p_check_subconfig_flag => FND_API.G_TRUE,
483: x_evaluation_status => x_evaluation_status,
484: x_return_status => x_return_status,
485: x_msg_count => x_msg_count,
486: x_msg_data => x_msg_data
487: );
488: -- Check Error Message stack.
489: x_msg_count := FND_MSG_PUB.count_msg;
490: IF x_msg_count > 0 THEN
491: RAISE FND_API.G_EXC_ERROR;
492: END IF;
493:
494: -- SATHAPLI::FP OGMA Issue# 105 - Non-Serialized Item Maintenance, 05-Dec-2007
495: IF (x_evaluation_status <> 'F') THEN
507:
508: -- Check Error Message stack.
509: x_msg_count := FND_MSG_PUB.count_msg;
510: IF x_msg_count > 0 THEN
511: RAISE FND_API.G_EXC_ERROR;
512: END IF;
513: END IF;
514:
515: END IF;
514:
515: END IF;
516:
517: -- Standard check of p_commit
518: IF FND_API.TO_BOOLEAN(p_commit) THEN
519: COMMIT WORK;
520: END IF;
521:
522: -- Standard call to get message count and if count is 1, get message info
522: -- Standard call to get message count and if count is 1, get message info
523: FND_MSG_PUB.Count_And_Get
524: ( p_count => x_msg_count,
525: p_data => x_msg_data,
526: p_encoded => fnd_api.g_false
527: );
528:
529: EXCEPTION
530: WHEN FND_API.G_EXC_ERROR THEN
526: p_encoded => fnd_api.g_false
527: );
528:
529: EXCEPTION
530: WHEN FND_API.G_EXC_ERROR THEN
531: x_return_status := FND_API.G_RET_STS_ERROR;
532: Rollback to Check_Completeness;
533: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
534: p_data => x_msg_data,
527: );
528:
529: EXCEPTION
530: WHEN FND_API.G_EXC_ERROR THEN
531: x_return_status := FND_API.G_RET_STS_ERROR;
532: Rollback to Check_Completeness;
533: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
534: p_data => x_msg_data,
535: p_encoded => fnd_api.g_false);
531: x_return_status := FND_API.G_RET_STS_ERROR;
532: Rollback to Check_Completeness;
533: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
534: p_data => x_msg_data,
535: p_encoded => fnd_api.g_false);
536:
537: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
538: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
539: Rollback to Check_Completeness;
533: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
534: p_data => x_msg_data,
535: p_encoded => fnd_api.g_false);
536:
537: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
538: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
539: Rollback to Check_Completeness;
540: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
541: p_data => x_msg_data,
534: p_data => x_msg_data,
535: p_encoded => fnd_api.g_false);
536:
537: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
538: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
539: Rollback to Check_Completeness;
540: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
541: p_data => x_msg_data,
542: p_encoded => fnd_api.g_false);
538: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
539: Rollback to Check_Completeness;
540: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
541: p_data => x_msg_data,
542: p_encoded => fnd_api.g_false);
543:
544: WHEN OTHERS THEN
545: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
546: Rollback to Check_Completeness;
541: p_data => x_msg_data,
542: p_encoded => fnd_api.g_false);
543:
544: WHEN OTHERS THEN
545: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
546: Rollback to Check_Completeness;
547: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
548: p_procedure_name => l_api_name,
549: p_error_text => SQLERRM);
549: p_error_text => SQLERRM);
550:
551: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
552: p_data => x_msg_data,
553: p_encoded => fnd_api.g_false);
554:
555: END Check_Completeness;
556:
557: