204:
205:
206: PROCEDURE create_unit_outcome
207: (p_api_version IN NUMBER,
208: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
209: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
210: p_validation_level IN VARCHAR2 DEFAULT FND_API.G_VALID_LEVEL_FULL,
211: p_lgcy_suo_rec IN LGCY_SUO_REC_TYPE,
212: x_return_status OUT NOCOPY VARCHAR2,
205:
206: PROCEDURE create_unit_outcome
207: (p_api_version IN NUMBER,
208: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
209: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
210: p_validation_level IN VARCHAR2 DEFAULT FND_API.G_VALID_LEVEL_FULL,
211: p_lgcy_suo_rec IN LGCY_SUO_REC_TYPE,
212: x_return_status OUT NOCOPY VARCHAR2,
213: x_msg_count OUT NOCOPY NUMBER,
206: PROCEDURE create_unit_outcome
207: (p_api_version IN NUMBER,
208: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
209: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
210: p_validation_level IN VARCHAR2 DEFAULT FND_API.G_VALID_LEVEL_FULL,
211: p_lgcy_suo_rec IN LGCY_SUO_REC_TYPE,
212: x_return_status OUT NOCOPY VARCHAR2,
213: x_msg_count OUT NOCOPY NUMBER,
214: x_msg_data OUT NOCOPY VARCHAR2
251: --Standard start of API savepoint
252: SAVEPOINT create_unit_outcome;
253:
254: --Standard call to check for call compatibility.
255: IF NOT FND_API.Compatible_API_Call(
256: l_api_version,
257: p_api_version,
258: l_api_name,
259: G_PKG_NAME)
257: p_api_version,
258: l_api_name,
259: G_PKG_NAME)
260: THEN
261: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
262: END IF;
263:
264: --Initialize message list if p_init_msg_list is set to TRUE.
265: IF FND_API.to_Boolean(p_init_msg_list) THEN
261: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
262: END IF;
263:
264: --Initialize message list if p_init_msg_list is set to TRUE.
265: IF FND_API.to_Boolean(p_init_msg_list) THEN
266: FND_MSG_PUB.initialize;
267: END IF;
268:
269: --Initialize API return status to success.
266: FND_MSG_PUB.initialize;
267: END IF;
268:
269: --Initialize API return status to success.
270: x_return_status := FND_API.G_RET_STS_SUCCESS;
271:
272: /*
273: Assigning values to the the record type variable l_lgcy_suo_rec_type from p_lgcy_suo_rec_type
274: */
325:
326: gen_log_info('Start of create_unit_outcome.validation 1');
327:
328: IF NOT VALIDATE_PARAMETERS( p_lgcy_suo_rec => l_lgcy_suo_rec ) THEN
329: RAISE FND_API.G_EXC_ERROR;
330: END IF;
331:
332: gen_log_info('End of create_unit_outcome.validation 1');
333:
354: p_uoo_id => l_uoo_id,
355: p_release_date => l_release_date
356: )
357: THEN
358: RAISE FND_API.G_EXC_ERROR;
359: END IF;
360:
361: gen_log_info('End of create_unit_outcome.validation 2');
362:
379: THEN
380: IF x_return_status = 'W' THEN
381: RAISE duplicate_record_exists;
382: ELSE
383: RAISE FND_API.G_EXC_ERROR;
384: END IF;
385: END IF;
386:
387: gen_log_info('End of create_unit_outcome.validation 3');
396: IF NOT validate_unit_outcome (
397: p_lgcy_suo_rec => l_lgcy_suo_rec ,
398: p_unit_attempt_status => l_unit_attempt_status
399: ) THEN
400: RAISE FND_API.G_EXC_ERROR;
401: END IF;
402: gen_log_info('End of create_unit_outcome.validation 4');
403:
404: /*************************************** Validation 5 ******************************************/
557:
558: /*==================== End Of Code ===================================*/
559:
560: --Standard check of p_commit.
561: IF FND_API.to_Boolean(p_commit) AND x_return_status = FND_API.G_RET_STS_SUCCESS THEN
562: commit;
563: END IF;
564:
565: gen_log_info('END OF FUNCTION CREATE_UNIT_OUTCOME.VALIDATION');
566:
567: RETURN ;
568:
569: EXCEPTION
570: WHEN FND_API.G_EXC_ERROR THEN
571: ROLLBACK TO create_unit_outcome;
572: x_return_status := FND_API.G_RET_STS_ERROR;
573: FND_MSG_PUB.Count_And_Get(
574: p_count => x_msg_count,
568:
569: EXCEPTION
570: WHEN FND_API.G_EXC_ERROR THEN
571: ROLLBACK TO create_unit_outcome;
572: x_return_status := FND_API.G_RET_STS_ERROR;
573: FND_MSG_PUB.Count_And_Get(
574: p_count => x_msg_count,
575: p_data => x_msg_data);
576:
573: FND_MSG_PUB.Count_And_Get(
574: p_count => x_msg_count,
575: p_data => x_msg_data);
576:
577: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
578: ROLLBACK TO create_unit_outcome;
579: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
580: FND_MSG_PUB.Count_And_Get(
581: p_count => x_msg_count,
575: p_data => x_msg_data);
576:
577: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
578: ROLLBACK TO create_unit_outcome;
579: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
580: FND_MSG_PUB.Count_And_Get(
581: p_count => x_msg_count,
582: p_data => x_msg_data
583: );
590: );
591:
592: WHEN OTHERS THEN
593: ROLLBACK TO create_unit_outcome;
594: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
595: FND_MESSAGE.SET_NAME('IGS', 'IGS_AV_UNHANDLED_ERROR');
596: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
597: FND_MSG_PUB.ADD;
598: