152: -- End of comments
153:
154: PROCEDURE Create_Resource_Cost
155: ( p_api_version IN NUMBER ,
156: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
157: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
158:
159: x_return_status OUT NOCOPY VARCHAR2 ,
160: x_msg_count OUT NOCOPY NUMBER ,
153:
154: PROCEDURE Create_Resource_Cost
155: ( p_api_version IN NUMBER ,
156: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
157: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
158:
159: x_return_status OUT NOCOPY VARCHAR2 ,
160: x_msg_count OUT NOCOPY NUMBER ,
161: x_msg_data OUT NOCOPY VARCHAR2 ,
178: -- Standard Start of API savepoint
179: SAVEPOINT Create_Alloc_Definition_PUB;
180:
181: -- Initialize message list if p_init_msg_list is set to TRUE.
182: IF FND_API.to_Boolean( p_init_msg_list ) THEN
183: FND_MSG_PUB.initialize;
184: END IF;
185:
186: -- Standard call to check for call compatibility.
183: FND_MSG_PUB.initialize;
184: END IF;
185:
186: -- Standard call to check for call compatibility.
187: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
188: p_api_version ,
189: l_api_name ,
190: G_PKG_NAME )
191: THEN
188: p_api_version ,
189: l_api_name ,
190: G_PKG_NAME )
191: THEN
192: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
193: END IF;
194:
195: -- Initialize API return status to success
196: x_return_status := FND_API.G_RET_STS_SUCCESS;
192: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
193: END IF;
194:
195: -- Initialize API return status to success
196: x_return_status := FND_API.G_RET_STS_SUCCESS;
197:
198: G_operation := 'INSERT'; -- Bug 2659435
199: G_header_logged := 'N'; -- to avoid logging duplicate header for errors
200:
213: END IF;
214:
215:
216: -- Return if validation failures detected
217: IF l_return_status = FND_API.G_RET_STS_ERROR
218: THEN
219: RAISE FND_API.G_EXC_ERROR;
220: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
221: THEN
215:
216: -- Return if validation failures detected
217: IF l_return_status = FND_API.G_RET_STS_ERROR
218: THEN
219: RAISE FND_API.G_EXC_ERROR;
220: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
221: THEN
222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
223: END IF;
216: -- Return if validation failures detected
217: IF l_return_status = FND_API.G_RET_STS_ERROR
218: THEN
219: RAISE FND_API.G_EXC_ERROR;
220: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
221: THEN
222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
223: END IF;
224:
218: THEN
219: RAISE FND_API.G_EXC_ERROR;
220: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
221: THEN
222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
223: END IF;
224:
225: --
226: -- Check for duplicate record.
236: FND_MESSAGE.SET_TOKEN('ORGANIZATION_ID',l_rsrc_cost_rec.organization_id);
237: FND_MESSAGE.SET_TOKEN('PERIOD_ID',l_rsrc_cost_rec.period_id);
238: FND_MESSAGE.SET_TOKEN('COST_TYPE_ID',l_rsrc_cost_rec.cost_type_id);
239: FND_MSG_PUB.Add;
240: RAISE FND_API.G_EXC_ERROR;
241: END IF;
242:
243: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
244: log_msg('Inserting record for resource : ' || l_rsrc_cost_rec.resources ||
251:
252: -- call to private API to insert to record
253: GMF_ResourceCost_PVT.Create_Resource_Cost
254: ( p_api_version => 2.0
255: , p_init_msg_list => FND_API.G_FALSE
256: , p_commit => FND_API.G_FALSE
257:
258: , x_return_status => l_return_status
259: , x_msg_count => l_count
252: -- call to private API to insert to record
253: GMF_ResourceCost_PVT.Create_Resource_Cost
254: ( p_api_version => 2.0
255: , p_init_msg_list => FND_API.G_FALSE
256: , p_commit => FND_API.G_FALSE
257:
258: , x_return_status => l_return_status
259: , x_msg_count => l_count
260: , x_msg_data => l_data
264: );
265: -- created row count
266: l_no_rows_ins := SQL%ROWCOUNT ;
267: -- Return in case of insert fails
268: IF l_return_status = FND_API.G_RET_STS_ERROR
269: THEN
270: RAISE FND_API.G_EXC_ERROR;
271: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
272: THEN
266: l_no_rows_ins := SQL%ROWCOUNT ;
267: -- Return in case of insert fails
268: IF l_return_status = FND_API.G_RET_STS_ERROR
269: THEN
270: RAISE FND_API.G_EXC_ERROR;
271: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
272: THEN
273: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
274: END IF;
267: -- Return in case of insert fails
268: IF l_return_status = FND_API.G_RET_STS_ERROR
269: THEN
270: RAISE FND_API.G_EXC_ERROR;
271: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
272: THEN
273: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
274: END IF;
275:
269: THEN
270: RAISE FND_API.G_EXC_ERROR;
271: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
272: THEN
273: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
274: END IF;
275:
276: add_header_to_error_stack(p_resource_cost_rec); -- Bug 2659435
277: FND_MESSAGE.SET_NAME('GMF','GMF_API_ROWS_INS');
282: log_msg('1 row inserted');
283: END IF;
284:
285: -- Standard check of p_commit.
286: IF FND_API.To_Boolean( p_commit ) THEN
287: COMMIT WORK;
288: END IF;
289:
290: -- Standard call to get message count and if count is 1, get message info.
293: p_data => x_msg_data
294: );
295:
296: EXCEPTION
297: WHEN FND_API.G_EXC_ERROR THEN
298: ROLLBACK TO Create_Alloc_Definition_PUB;
299: x_return_status := FND_API.G_RET_STS_ERROR ;
300: FND_MSG_PUB.Count_And_Get
301: ( p_count => x_msg_count ,
295:
296: EXCEPTION
297: WHEN FND_API.G_EXC_ERROR THEN
298: ROLLBACK TO Create_Alloc_Definition_PUB;
299: x_return_status := FND_API.G_RET_STS_ERROR ;
300: FND_MSG_PUB.Count_And_Get
301: ( p_count => x_msg_count ,
302: p_data => x_msg_data
303: );
300: FND_MSG_PUB.Count_And_Get
301: ( p_count => x_msg_count ,
302: p_data => x_msg_data
303: );
304: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
305: ROLLBACK TO Create_Alloc_Definition_PUB;
306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
307: FND_MSG_PUB.Count_And_Get
308: ( p_count => x_msg_count ,
302: p_data => x_msg_data
303: );
304: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
305: ROLLBACK TO Create_Alloc_Definition_PUB;
306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
307: FND_MSG_PUB.Count_And_Get
308: ( p_count => x_msg_count ,
309: p_data => x_msg_data
310: );
309: p_data => x_msg_data
310: );
311: WHEN OTHERS THEN
312: ROLLBACK TO Create_Alloc_Definition_PUB;
313: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
314: IF FND_MSG_PUB.Check_Msg_Level
315: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
316: THEN
317: FND_MSG_PUB.Add_Exc_Msg
359: -- End of comments
360:
361: PROCEDURE Update_Resource_Cost
362: ( p_api_version IN NUMBER ,
363: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
364: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
365:
366: x_return_status OUT NOCOPY VARCHAR2 ,
367: x_msg_count OUT NOCOPY NUMBER ,
360:
361: PROCEDURE Update_Resource_Cost
362: ( p_api_version IN NUMBER ,
363: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
364: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
365:
366: x_return_status OUT NOCOPY VARCHAR2 ,
367: x_msg_count OUT NOCOPY NUMBER ,
368: x_msg_data OUT NOCOPY VARCHAR2 ,
384: -- Standard Start of API savepoint
385: SAVEPOINT Update_Alloc_Definition_PUB;
386:
387: -- Initialize message list if p_init_msg_list is set to TRUE.
388: IF FND_API.to_Boolean( p_init_msg_list ) THEN
389: FND_MSG_PUB.initialize;
390: END IF;
391:
392: -- Standard call to check for call compatibility.
389: FND_MSG_PUB.initialize;
390: END IF;
391:
392: -- Standard call to check for call compatibility.
393: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
394: p_api_version ,
395: l_api_name ,
396: G_PKG_NAME )
397: THEN
394: p_api_version ,
395: l_api_name ,
396: G_PKG_NAME )
397: THEN
398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
399: END IF;
400:
401: -- Initialize API return status to success
402: x_return_status := FND_API.G_RET_STS_SUCCESS;
398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
399: END IF;
400:
401: -- Initialize API return status to success
402: x_return_status := FND_API.G_RET_STS_SUCCESS;
403:
404: G_operation := 'UPDATE'; -- Bug 2659435
405: G_header_logged := 'N'; -- to avoid logging duplicate header for errors
406:
419: log_msg('Return Status after validating : ' || l_return_status);
420: END IF;
421:
422: -- Return if validation failures detected
423: IF l_return_status = FND_API.G_RET_STS_ERROR
424: THEN
425: RAISE FND_API.G_EXC_ERROR;
426: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
427: THEN
421:
422: -- Return if validation failures detected
423: IF l_return_status = FND_API.G_RET_STS_ERROR
424: THEN
425: RAISE FND_API.G_EXC_ERROR;
426: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
427: THEN
428: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
429: END IF;
422: -- Return if validation failures detected
423: IF l_return_status = FND_API.G_RET_STS_ERROR
424: THEN
425: RAISE FND_API.G_EXC_ERROR;
426: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
427: THEN
428: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
429: END IF;
430:
424: THEN
425: RAISE FND_API.G_EXC_ERROR;
426: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
427: THEN
428: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
429: END IF;
430:
431: -- Check whether any records exists for update
432: IF NOT check_records_exist(p_legal_entity_id => l_rsrc_cost_rec.legal_entity_id,
441: FND_MESSAGE.SET_TOKEN('ORGANIZATION_ID',l_rsrc_cost_rec.organization_id);
442: FND_MESSAGE.SET_TOKEN('PERIOD_ID',l_rsrc_cost_rec.period_id);
443: FND_MESSAGE.SET_TOKEN('COST_TYPE_ID',l_rsrc_cost_rec.cost_type_id);
444: FND_MSG_PUB.Add;
445: RAISE FND_API.G_EXC_ERROR;
446: END IF ;
447:
448: IF l_rsrc_cost_rec.delete_mark = 1 THEN
449: add_header_to_error_stack(p_resource_cost_rec); -- Bug 2659435
448: IF l_rsrc_cost_rec.delete_mark = 1 THEN
449: add_header_to_error_stack(p_resource_cost_rec); -- Bug 2659435
450: FND_MESSAGE.SET_NAME('GMF','GMF_API_CANT_MARK_FOR_PURGE');
451: FND_MSG_PUB.Add;
452: RAISE FND_API.G_EXC_ERROR;
453: END IF ;
454:
455: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
456: log_msg('Updating record for resource : ' || l_rsrc_cost_rec.resources ||
461: END IF;
462: -- call to private API to insert to record
463: GMF_ResourceCost_PVT.Update_Resource_Cost
464: ( p_api_version => 2.0
465: , p_init_msg_list => FND_API.G_FALSE
466: , p_commit => FND_API.G_FALSE
467:
468: , x_return_status => l_return_status
469: , x_msg_count => l_count
462: -- call to private API to insert to record
463: GMF_ResourceCost_PVT.Update_Resource_Cost
464: ( p_api_version => 2.0
465: , p_init_msg_list => FND_API.G_FALSE
466: , p_commit => FND_API.G_FALSE
467:
468: , x_return_status => l_return_status
469: , x_msg_count => l_count
470: , x_msg_data => l_data
474: );
475: l_no_rows_upd := SQL%ROWCOUNT ;
476:
477: -- Return in case of insert fails
478: IF l_return_status = FND_API.G_RET_STS_ERROR
479: THEN
480: RAISE FND_API.G_EXC_ERROR;
481: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
482: THEN
476:
477: -- Return in case of insert fails
478: IF l_return_status = FND_API.G_RET_STS_ERROR
479: THEN
480: RAISE FND_API.G_EXC_ERROR;
481: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
482: THEN
483: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
484: END IF;
477: -- Return in case of insert fails
478: IF l_return_status = FND_API.G_RET_STS_ERROR
479: THEN
480: RAISE FND_API.G_EXC_ERROR;
481: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
482: THEN
483: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
484: END IF;
485:
479: THEN
480: RAISE FND_API.G_EXC_ERROR;
481: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
482: THEN
483: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
484: END IF;
485:
486: add_header_to_error_stack(p_resource_cost_rec); -- Bug 2659435
487: FND_MESSAGE.SET_NAME('GMF','GMF_API_ROWS_UPD');
492: log_msg( l_no_rows_upd || ' rows updated.');
493: END IF;
494:
495: -- Standard check of p_commit.
496: IF FND_API.To_Boolean( p_commit ) THEN
497: COMMIT WORK;
498: END IF;
499:
500: -- Standard call to get message count and if count is 1, get message info.
503: p_data => x_msg_data
504: );
505:
506: EXCEPTION
507: WHEN FND_API.G_EXC_ERROR THEN
508: ROLLBACK TO Update_Alloc_Definition_PUB;
509: x_return_status := FND_API.G_RET_STS_ERROR ;
510: FND_MSG_PUB.Count_And_Get
511: ( p_count => x_msg_count ,
505:
506: EXCEPTION
507: WHEN FND_API.G_EXC_ERROR THEN
508: ROLLBACK TO Update_Alloc_Definition_PUB;
509: x_return_status := FND_API.G_RET_STS_ERROR ;
510: FND_MSG_PUB.Count_And_Get
511: ( p_count => x_msg_count ,
512: p_data => x_msg_data
513: );
510: FND_MSG_PUB.Count_And_Get
511: ( p_count => x_msg_count ,
512: p_data => x_msg_data
513: );
514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
515: ROLLBACK TO Update_Alloc_Definition_PUB;
516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
517: FND_MSG_PUB.Count_And_Get
518: ( p_count => x_msg_count ,
512: p_data => x_msg_data
513: );
514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
515: ROLLBACK TO Update_Alloc_Definition_PUB;
516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
517: FND_MSG_PUB.Count_And_Get
518: ( p_count => x_msg_count ,
519: p_data => x_msg_data
520: );
519: p_data => x_msg_data
520: );
521: WHEN OTHERS THEN
522: ROLLBACK TO Update_Alloc_Definition_PUB;
523: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
524: IF FND_MSG_PUB.Check_Msg_Level
525: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
526: THEN
527: FND_MSG_PUB.Add_Exc_Msg
568: -- End of comments
569:
570: PROCEDURE Delete_Resource_Cost
571: ( p_api_version IN NUMBER ,
572: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
573: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
574:
575: x_return_status OUT NOCOPY VARCHAR2 ,
576: x_msg_count OUT NOCOPY NUMBER ,
569:
570: PROCEDURE Delete_Resource_Cost
571: ( p_api_version IN NUMBER ,
572: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
573: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
574:
575: x_return_status OUT NOCOPY VARCHAR2 ,
576: x_msg_count OUT NOCOPY NUMBER ,
577: x_msg_data OUT NOCOPY VARCHAR2 ,
594: -- Standard Start of API savepoint
595: SAVEPOINT Delete_Alloc_Definition_PUB;
596:
597: -- Initialize message list if p_init_msg_list is set to TRUE.
598: IF FND_API.to_Boolean( p_init_msg_list ) THEN
599: FND_MSG_PUB.initialize;
600: END IF;
601:
602: -- Standard call to check for call compatibility.
599: FND_MSG_PUB.initialize;
600: END IF;
601:
602: -- Standard call to check for call compatibility.
603: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
604: p_api_version ,
605: l_api_name ,
606: G_PKG_NAME )
607: THEN
604: p_api_version ,
605: l_api_name ,
606: G_PKG_NAME )
607: THEN
608: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
609: END IF;
610:
611: -- Initialize API return status to success
612: x_return_status := FND_API.G_RET_STS_SUCCESS;
608: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
609: END IF;
610:
611: -- Initialize API return status to success
612: x_return_status := FND_API.G_RET_STS_SUCCESS;
613:
614: G_operation := 'DELETE'; -- Bug 2659435
615: G_header_logged := 'N'; -- to avoid logging duplicate header for errors
616:
629: log_msg('Return Status after validating : ' || l_return_status);
630: END IF;
631:
632: -- Return if validation failures detected
633: IF l_return_status = FND_API.G_RET_STS_ERROR
634: THEN
635: RAISE FND_API.G_EXC_ERROR;
636: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
637: THEN
631:
632: -- Return if validation failures detected
633: IF l_return_status = FND_API.G_RET_STS_ERROR
634: THEN
635: RAISE FND_API.G_EXC_ERROR;
636: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
637: THEN
638: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
639: END IF;
632: -- Return if validation failures detected
633: IF l_return_status = FND_API.G_RET_STS_ERROR
634: THEN
635: RAISE FND_API.G_EXC_ERROR;
636: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
637: THEN
638: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
639: END IF;
640:
634: THEN
635: RAISE FND_API.G_EXC_ERROR;
636: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
637: THEN
638: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
639: END IF;
640:
641: -- Check whether any records exists for update
642: IF NOT check_records_exist(p_legal_entity_id => l_rsrc_cost_rec.legal_entity_id,
651: FND_MESSAGE.SET_TOKEN('ORGANIZATION_ID',l_rsrc_cost_rec.organization_id);
652: FND_MESSAGE.SET_TOKEN('PERIOD_ID',l_rsrc_cost_rec.period_id);
653: FND_MESSAGE.SET_TOKEN('COST_TYPE_ID',l_rsrc_cost_rec.cost_type_id);
654: FND_MSG_PUB.Add;
655: RAISE FND_API.G_EXC_ERROR;
656: END IF ;
657:
658: -- set delete mark to 1 irrespective of users input.
659: l_rsrc_cost_rec.delete_mark := 1 ;
668:
669: -- call to private API to insert to record
670: GMF_ResourceCost_PVT.Update_Resource_Cost
671: ( p_api_version => 2.0
672: , p_init_msg_list => FND_API.G_FALSE
673: , p_commit => FND_API.G_FALSE
674:
675: , x_return_status => l_return_status
676: , x_msg_count => l_count
669: -- call to private API to insert to record
670: GMF_ResourceCost_PVT.Update_Resource_Cost
671: ( p_api_version => 2.0
672: , p_init_msg_list => FND_API.G_FALSE
673: , p_commit => FND_API.G_FALSE
674:
675: , x_return_status => l_return_status
676: , x_msg_count => l_count
677: , x_msg_data => l_data
682: -- deleted records row count
683: l_no_rows_del := SQL%ROWCOUNT ;
684:
685: -- Return in case of insert fails
686: IF l_return_status = FND_API.G_RET_STS_ERROR
687: THEN
688: RAISE FND_API.G_EXC_ERROR;
689: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
690: THEN
684:
685: -- Return in case of insert fails
686: IF l_return_status = FND_API.G_RET_STS_ERROR
687: THEN
688: RAISE FND_API.G_EXC_ERROR;
689: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
690: THEN
691: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
692: END IF;
685: -- Return in case of insert fails
686: IF l_return_status = FND_API.G_RET_STS_ERROR
687: THEN
688: RAISE FND_API.G_EXC_ERROR;
689: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
690: THEN
691: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
692: END IF;
693:
687: THEN
688: RAISE FND_API.G_EXC_ERROR;
689: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
690: THEN
691: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
692: END IF;
693:
694: add_header_to_error_stack(p_resource_cost_rec); -- Bug 2659435
695: FND_MESSAGE.SET_NAME('GMF','GMF_API_ROWS_DEL');
700: log_msg(l_no_rows_del || ' row(s) deleted.');
701: END IF;
702:
703: -- Standard check of p_commit.
704: IF FND_API.To_Boolean( p_commit ) THEN
705: COMMIT WORK;
706: END IF;
707:
708: -- Standard call to get message count and if count is 1, get message info.
711: p_data => x_msg_data
712: );
713:
714: EXCEPTION
715: WHEN FND_API.G_EXC_ERROR THEN
716: ROLLBACK TO Delete_Alloc_Definition_PUB;
717: x_return_status := FND_API.G_RET_STS_ERROR ;
718: FND_MSG_PUB.Count_And_Get
719: ( p_count => x_msg_count ,
713:
714: EXCEPTION
715: WHEN FND_API.G_EXC_ERROR THEN
716: ROLLBACK TO Delete_Alloc_Definition_PUB;
717: x_return_status := FND_API.G_RET_STS_ERROR ;
718: FND_MSG_PUB.Count_And_Get
719: ( p_count => x_msg_count ,
720: p_data => x_msg_data
721: );
718: FND_MSG_PUB.Count_And_Get
719: ( p_count => x_msg_count ,
720: p_data => x_msg_data
721: );
722: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
723: ROLLBACK TO Delete_Alloc_Definition_PUB;
724: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
725: FND_MSG_PUB.Count_And_Get
726: ( p_count => x_msg_count ,
720: p_data => x_msg_data
721: );
722: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
723: ROLLBACK TO Delete_Alloc_Definition_PUB;
724: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
725: FND_MSG_PUB.Count_And_Get
726: ( p_count => x_msg_count ,
727: p_data => x_msg_data
728: );
727: p_data => x_msg_data
728: );
729: WHEN OTHERS THEN
730: ROLLBACK TO Delete_Alloc_Definition_PUB;
731: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
732: IF FND_MSG_PUB.Check_Msg_Level
733: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
734: THEN
735: FND_MSG_PUB.Add_Exc_Msg
776: -- End of comments
777:
778: PROCEDURE Get_Resource_Cost
779: ( p_api_version IN NUMBER ,
780: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
781:
782: x_return_status OUT NOCOPY VARCHAR2 ,
783: x_msg_count OUT NOCOPY NUMBER ,
784: x_msg_data OUT NOCOPY VARCHAR2 ,
799: -- Standard Start of API savepoint
800: SAVEPOINT Get_Resource_Cost_PUB;
801:
802: -- Initialize message list if p_init_msg_list is set to TRUE.
803: IF FND_API.to_Boolean( p_init_msg_list ) THEN
804: FND_MSG_PUB.initialize;
805: END IF;
806:
807: -- Standard call to check for call compatibility.
804: FND_MSG_PUB.initialize;
805: END IF;
806:
807: -- Standard call to check for call compatibility.
808: IF NOT FND_API.Compatible_API_Call ( l_api_version ,
809: p_api_version ,
810: l_api_name ,
811: G_PKG_NAME )
812: THEN
809: p_api_version ,
810: l_api_name ,
811: G_PKG_NAME )
812: THEN
813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
814: END IF;
815:
816: -- Initialize API return status to success
817: x_return_status := FND_API.G_RET_STS_SUCCESS;
813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
814: END IF;
815:
816: -- Initialize API return status to success
817: x_return_status := FND_API.G_RET_STS_SUCCESS;
818:
819: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
820: log_msg('Beginning Get Resource Cost process.');
821: END IF;
828:
829: GMF_ResourceCost_PVT.Get_Resource_Cost
830: (
831: p_api_version => 2.0
832: , p_init_msg_list => FND_API.G_FALSE
833:
834: , x_return_status => l_return_status
835: , x_msg_count => l_count
836: , x_msg_data => l_data
840: , x_resource_cost_rec => x_resource_cost_rec
841: );
842:
843: -- Return if update fails for any reason
844: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
845: RAISE FND_API.G_EXC_ERROR;
846: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
841: );
842:
843: -- Return if update fails for any reason
844: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
845: RAISE FND_API.G_EXC_ERROR;
846: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
849:
842:
843: -- Return if update fails for any reason
844: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
845: RAISE FND_API.G_EXC_ERROR;
846: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
849:
850: /*
843: -- Return if update fails for any reason
844: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
845: RAISE FND_API.G_EXC_ERROR;
846: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
849:
850: /*
851: -- Standard check of p_commit.
848: END IF;
849:
850: /*
851: -- Standard check of p_commit.
852: IF FND_API.To_Boolean( p_commit ) THEN
853: COMMIT WORK;
854: END IF;
855: */
856: -- Standard call to get message count and if count is 1, get message info.
859: p_data => x_msg_data
860: );
861:
862: EXCEPTION
863: WHEN FND_API.G_EXC_ERROR THEN
864: ROLLBACK TO Get_Resource_Cost_PUB;
865: x_return_status := FND_API.G_RET_STS_ERROR ;
866: FND_MSG_PUB.Count_And_Get
867: ( p_count => x_msg_count ,
861:
862: EXCEPTION
863: WHEN FND_API.G_EXC_ERROR THEN
864: ROLLBACK TO Get_Resource_Cost_PUB;
865: x_return_status := FND_API.G_RET_STS_ERROR ;
866: FND_MSG_PUB.Count_And_Get
867: ( p_count => x_msg_count ,
868: p_data => x_msg_data
869: );
866: FND_MSG_PUB.Count_And_Get
867: ( p_count => x_msg_count ,
868: p_data => x_msg_data
869: );
870: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
871: ROLLBACK TO Get_Resource_Cost_PUB;
872: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
873: FND_MSG_PUB.Count_And_Get
874: ( p_count => x_msg_count ,
868: p_data => x_msg_data
869: );
870: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
871: ROLLBACK TO Get_Resource_Cost_PUB;
872: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
873: FND_MSG_PUB.Count_And_Get
874: ( p_count => x_msg_count ,
875: p_data => x_msg_data
876: );
875: p_data => x_msg_data
876: );
877: WHEN OTHERS THEN
878: ROLLBACK TO Get_Resource_Cost_PUB;
879: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
880: IF FND_MSG_PUB.Check_Msg_Level
881: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
882: THEN
883: FND_MSG_PUB.Add_Exc_Msg
984:
985: -------------
986: -- Resources
987: -------------
988: IF (l_resources <> FND_API.G_MISS_CHAR) AND
989: (l_resources IS NOT NULL) THEN
990: -- validate alloc_id
991: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
992: log_msg('validating resources : '|| l_resources);
1000: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1001: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_RESOURCES');
1002: FND_MESSAGE.SET_TOKEN('RESOURCES',l_resources);
1003: FND_MSG_PUB.Add;
1004: RAISE FND_API.G_EXC_ERROR;
1005: END IF;
1006: -- Get the resource UOM code, resource UOM class for further processing
1007: GMF_VALIDATIONS_PVT.Validate_Resource(l_resources,l_resource_uom,l_resource_uom_class);
1008: IF l_resource_uom IS NULL AND l_resource_uom_class IS NULL THEN
1009: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1010: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_RESOURCES');
1011: FND_MESSAGE.SET_TOKEN('RESOURCES',l_resources);
1012: FND_MSG_PUB.Add;
1013: RAISE FND_API.G_EXC_ERROR;
1014: END IF;
1015: ELSE
1016: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1017: FND_MESSAGE.SET_NAME('GMF','GMF_API_RESOURCES_REQ');
1015: ELSE
1016: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1017: FND_MESSAGE.SET_NAME('GMF','GMF_API_RESOURCES_REQ');
1018: FND_MSG_PUB.Add;
1019: RAISE FND_API.G_EXC_ERROR;
1020: END IF;
1021: -- End Resource
1022:
1023: --------------------------
1026: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
1027: log_msg('validating legal_entity_id : ' || l_legal_entity_id);
1028: END IF;
1029:
1030: IF (l_legal_entity_id <> FND_API.G_MISS_NUM) AND
1031: (l_legal_entity_id IS NOT NULL) THEN
1032: IF NOT GMF_VALIDATIONS_PVT.Validate_legal_entity_id(l_legal_entity_id) THEN
1033: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1034: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_LE_ID');
1033: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1034: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_LE_ID');
1035: FND_MESSAGE.SET_TOKEN('LEGAL_ENTITY',l_legal_entity_id);
1036: FND_MSG_PUB.Add;
1037: RAISE FND_API.G_EXC_ERROR;
1038: END IF;
1039: ELSE
1040: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1041: FND_MESSAGE.SET_NAME('GMF','GMF_API_LE_ID_REQ');
1039: ELSE
1040: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1041: FND_MESSAGE.SET_NAME('GMF','GMF_API_LE_ID_REQ');
1042: FND_MSG_PUB.Add;
1043: RAISE FND_API.G_EXC_ERROR;
1044: END IF;
1045:
1046: -- End legal entity
1047:
1048: --------------------------
1049: -- Organization validation
1050: --------------------------
1051: -- validate organization id
1052: IF ((l_organization_id <> FND_API.G_MISS_NUM) AND (l_organization_id IS NOT NULL)) THEN
1053: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_debug_level THEN
1054: log_msg('Validation Organization ID : '||l_organization_id);
1055: END IF;
1056: -- invoke validate organization id method
1057: IF NOT gmf_validations_pvt.Validate_organization_id(l_organization_id) THEN
1058: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_ORGN_ID');
1059: FND_MESSAGE.SET_TOKEN('ORGANIZATION_ID', l_organization_id);
1060: FND_MSG_PUB.Add;
1061: RAISE FND_API.G_EXC_ERROR;
1062: END IF;
1063: -- if organization code also passed then log a message to ignore organization code
1064: IF ( l_organization_code <> FND_API.G_MISS_CHAR) AND (l_organization_code IS NOT NULL) THEN
1065: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1060: FND_MSG_PUB.Add;
1061: RAISE FND_API.G_EXC_ERROR;
1062: END IF;
1063: -- if organization code also passed then log a message to ignore organization code
1064: IF ( l_organization_code <> FND_API.G_MISS_CHAR) AND (l_organization_code IS NOT NULL) THEN
1065: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1066: FND_MESSAGE.SET_NAME('GMF','GMF_API_IGNORE_ORGN_CODE');
1067: FND_MESSAGE.SET_TOKEN('ORGANIZATION_CODE', l_organization_code);
1068: FND_MSG_PUB.Add;
1068: FND_MSG_PUB.Add;
1069: END IF;
1070: END IF;
1071: -- Organization code passed
1072: ELSIF (l_organization_code <> FND_API.G_MISS_CHAR ) AND (l_organization_code IS NOT NULL ) THEN
1073: IF (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level) THEN
1074: log_msg('Validating Organization Code : ' ||l_organization_code);
1075: END IF;
1076: -- get the organization id
1082: IF l_organization_id IS NULL THEN
1083: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_ORGN_CODE');
1084: FND_MESSAGE.SET_TOKEN('ORG_CODE', l_organization_code);
1085: FND_MSG_PUB.Add;
1086: RAISE FND_API.G_EXC_ERROR;
1087: END IF;
1088: -- Either organization id or organization code required
1089: ELSE
1090: FND_MESSAGE.SET_NAME('GMF','GMF_API_ORGANIZATION_ID_REQ');
1088: -- Either organization id or organization code required
1089: ELSE
1090: FND_MESSAGE.SET_NAME('GMF','GMF_API_ORGANIZATION_ID_REQ');
1091: FND_MSG_PUB.Add;
1092: RAISE FND_API.G_EXC_ERROR;
1093: END IF;
1094: -- End of Organization validation
1095:
1096: ----------------------------
1095:
1096: ----------------------------
1097: -- * Cost Type Validation *
1098: ----------------------------
1099: IF (l_cost_type_id <> FND_API.G_MISS_NUM) AND (l_cost_type_id IS NOT NULL) THEN
1100: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
1101: log_msg('Validating Cost Type Id : ' || l_cost_type_id);
1102: END IF;
1103: -- Invoke cost type id validation method
1104: IF NOT gmf_validations_pvt.validate_cost_type_id (l_cost_type_id) THEN
1105: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_COST_TYPE_ID');
1106: FND_MESSAGE.SET_TOKEN('COST_TYPE_ID', l_cost_type_id);
1107: FND_MSG_PUB.Add;
1108: RAISE FND_API.G_EXC_ERROR;
1109: END IF;
1110: -- if cost method code is not then log a message
1111: IF (l_cost_type_code <> FND_API.G_MISS_CHAR) AND (l_cost_type_code IS NOT NULL) THEN
1112: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1107: FND_MSG_PUB.Add;
1108: RAISE FND_API.G_EXC_ERROR;
1109: END IF;
1110: -- if cost method code is not then log a message
1111: IF (l_cost_type_code <> FND_API.G_MISS_CHAR) AND (l_cost_type_code IS NOT NULL) THEN
1112: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1113: FND_MESSAGE.SET_NAME('GMF','GMF_API_IGNORE_COST_TYPE');
1114: FND_MESSAGE.SET_TOKEN('COST_TYPE', l_cost_type_code);
1115: FND_MSG_PUB.Add;
1114: FND_MESSAGE.SET_TOKEN('COST_TYPE', l_cost_type_code);
1115: FND_MSG_PUB.Add;
1116: END IF;
1117: END IF;
1118: ELSIF (l_cost_type_code <> FND_API.G_MISS_CHAR) AND (l_cost_type_code IS NOT NULL) THEN
1119:
1120: -- Get the cost type id from the method
1121: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
1122: log_msg('Validating Cost Type Code : ' || l_cost_type_code);
1129: IF l_cost_type_id IS NULL THEN
1130: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_COST_TYPE');
1131: FND_MESSAGE.SET_TOKEN('COST_TYPE',l_cost_type_code);
1132: FND_MSG_PUB.Add;
1133: RAISE FND_API.G_EXC_ERROR;
1134: END IF;
1135: ELSE
1136: FND_MESSAGE.SET_NAME('GMF','GMF_API_COST_TYPE_ID_REQ');
1137: FND_MSG_PUB.Add;
1134: END IF;
1135: ELSE
1136: FND_MESSAGE.SET_NAME('GMF','GMF_API_COST_TYPE_ID_REQ');
1137: FND_MSG_PUB.Add;
1138: RAISE FND_API.G_EXC_ERROR;
1139: END IF;
1140: -- End Cost Method
1141: --
1142:
1142:
1143: --------------------------
1144: -- * Period Validation *
1145: --------------------------
1146: IF (l_period_id <> FND_API.G_MISS_NUM) AND (l_period_id IS NOT NULL) THEN
1147: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
1148: log_msg('Validating Period Id : ' || l_period_id);
1149: END IF;
1150: -- Invoke validate period id method
1151: IF NOT gmf_validations_pvt.validate_period_id(l_period_id) THEN
1152: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_PERIOD_ID');
1153: FND_MESSAGE.SET_TOKEN('PERIOD_ID', l_period_id);
1154: FND_MSG_PUB.Add;
1155: RAISE FND_API.G_EXC_ERROR;
1156: END IF;
1157: -- If period code also passed then ignore period code
1158: IF ((l_calendar_code <> FND_API.G_MISS_CHAR) AND (l_calendar_code IS NOT NULL))
1159: AND ((l_period_code <> FND_API.G_MISS_CHAR) AND (l_period_code IS NOT NULL)) THEN
1154: FND_MSG_PUB.Add;
1155: RAISE FND_API.G_EXC_ERROR;
1156: END IF;
1157: -- If period code also passed then ignore period code
1158: IF ((l_calendar_code <> FND_API.G_MISS_CHAR) AND (l_calendar_code IS NOT NULL))
1159: AND ((l_period_code <> FND_API.G_MISS_CHAR) AND (l_period_code IS NOT NULL)) THEN
1160: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1161: FND_MESSAGE.SET_NAME('GMF','GMF_API_IGNORE_PERIOD_CODE');
1162: FND_MESSAGE.SET_TOKEN('CALENDAR_CODE', l_calendar_code);
1155: RAISE FND_API.G_EXC_ERROR;
1156: END IF;
1157: -- If period code also passed then ignore period code
1158: IF ((l_calendar_code <> FND_API.G_MISS_CHAR) AND (l_calendar_code IS NOT NULL))
1159: AND ((l_period_code <> FND_API.G_MISS_CHAR) AND (l_period_code IS NOT NULL)) THEN
1160: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1161: FND_MESSAGE.SET_NAME('GMF','GMF_API_IGNORE_PERIOD_CODE');
1162: FND_MESSAGE.SET_TOKEN('CALENDAR_CODE', l_calendar_code);
1163: FND_MESSAGE.SET_TOKEN('PERIOD_CODE', l_period_code);
1163: FND_MESSAGE.SET_TOKEN('PERIOD_CODE', l_period_code);
1164: FND_MSG_PUB.Add;
1165: END IF;
1166: END IF;
1167: ELSIF (l_calendar_code <> FND_API.G_MISS_CHAR) AND (l_calendar_code IS NOT NULL)
1168: AND ((l_period_code <> FND_API.G_MISS_CHAR) AND (l_period_code IS NOT NULL)) THEN
1169:
1170: -- Get the period id passing period code to the validate period id method
1171: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
1164: FND_MSG_PUB.Add;
1165: END IF;
1166: END IF;
1167: ELSIF (l_calendar_code <> FND_API.G_MISS_CHAR) AND (l_calendar_code IS NOT NULL)
1168: AND ((l_period_code <> FND_API.G_MISS_CHAR) AND (l_period_code IS NOT NULL)) THEN
1169:
1170: -- Get the period id passing period code to the validate period id method
1171: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN
1172: log_msg('Validating Calendar Code : ' || l_calendar_code||', Period Code : '||l_period_code);
1181: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_CLDR_PERIOD');
1182: FND_MESSAGE.SET_TOKEN('CALENDAR_CODE',l_calendar_code);
1183: FND_MESSAGE.SET_TOKEN('PERIOD_CODE',l_period_code);
1184: FND_MSG_PUB.Add;
1185: RAISE FND_API.G_EXC_ERROR;
1186: END IF;
1187: ELSE
1188: FND_MESSAGE.SET_NAME('GMF','GMF_API_PERIOD_ID_REQ');
1189: FND_MSG_PUB.Add;
1186: END IF;
1187: ELSE
1188: FND_MESSAGE.SET_NAME('GMF','GMF_API_PERIOD_ID_REQ');
1189: FND_MSG_PUB.Add;
1190: RAISE FND_API.G_EXC_ERROR;
1191: END IF;
1192:
1193: -- End Period Validation
1194:
1205: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
1206: log_msg('validating usage_uom : ' || l_usage_uom);
1207: END IF;
1208:
1209: IF (l_usage_uom <> FND_API.G_MISS_CHAR) AND
1210: (l_usage_uom IS NOT NULL) THEN
1211:
1212: --
1213: -- Bug 2692459
1219: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1220: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_USAGE_UM');
1221: FND_MESSAGE.SET_TOKEN('USAGE_UM',l_usage_uom);
1222: FND_MSG_PUB.Add;
1223: RAISE FND_API.G_EXC_ERROR;
1224: END IF;
1225:
1226: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
1227: log_msg('Usage UOM Class : ' || l_usage_uom_class ||
1234: FND_MESSAGE.SET_NAME('GMF','GMF_API_USAGE_UOM_SAMETYPE_REQ');
1235: FND_MESSAGE.SET_TOKEN('USAGE_UM',l_usage_uom);
1236: FND_MESSAGE.SET_TOKEN('RESOURCE_UM',l_resource_uom);
1237: FND_MSG_PUB.Add;
1238: RAISE FND_API.G_EXC_ERROR;
1239: END IF;
1240: -- End of bug 2692459
1241:
1242: ELSIF (l_usage_uom = FND_API.G_MISS_CHAR AND
1238: RAISE FND_API.G_EXC_ERROR;
1239: END IF;
1240: -- End of bug 2692459
1241:
1242: ELSIF (l_usage_uom = FND_API.G_MISS_CHAR AND
1243: G_operation = 'UPDATE') OR
1244: (G_operation = 'INSERT') THEN
1245: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1246: FND_MESSAGE.SET_NAME('GMF','GMF_API_USAGE_UM_REQ');
1244: (G_operation = 'INSERT') THEN
1245: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1246: FND_MESSAGE.SET_NAME('GMF','GMF_API_USAGE_UM_REQ');
1247: FND_MSG_PUB.Add;
1248: RAISE FND_API.G_EXC_ERROR;
1249: END IF;
1250: -- End Usage Unit of Measure
1251:
1252: --
1261:
1262: /*************************************************************************
1263: * dvadivel 13-May-2004 Bug # 3628252 Removed validation for Nominal cost
1264: *************************************************************************/
1265: /* IF (l_nominal_cost <> FND_API.G_MISS_NUM) AND
1266: (l_nominal_cost IS NOT NULL) THEN
1267: IF ((nvl(l_nominal_cost,0) <= 0) OR (nvl(l_nominal_cost,0) >= 1000000000)) THEN
1268: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1269: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_NOMINAL_COST');
1268: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1269: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_NOMINAL_COST');
1270: FND_MESSAGE.SET_TOKEN('NOMINAL_COST',l_nominal_cost);
1271: FND_MSG_PUB.Add;
1272: RAISE FND_API.G_EXC_ERROR;
1273: END IF;
1274: ELSIF (l_nominal_cost = FND_API.G_MISS_NUM AND
1275: */
1276: IF ((l_nominal_cost = FND_API.G_MISS_NUM) OR (l_nominal_cost IS NULL)) AND
1270: FND_MESSAGE.SET_TOKEN('NOMINAL_COST',l_nominal_cost);
1271: FND_MSG_PUB.Add;
1272: RAISE FND_API.G_EXC_ERROR;
1273: END IF;
1274: ELSIF (l_nominal_cost = FND_API.G_MISS_NUM AND
1275: */
1276: IF ((l_nominal_cost = FND_API.G_MISS_NUM) OR (l_nominal_cost IS NULL)) AND
1277: ((G_operation = 'UPDATE') OR
1278: (G_operation = 'INSERT')) THEN
1272: RAISE FND_API.G_EXC_ERROR;
1273: END IF;
1274: ELSIF (l_nominal_cost = FND_API.G_MISS_NUM AND
1275: */
1276: IF ((l_nominal_cost = FND_API.G_MISS_NUM) OR (l_nominal_cost IS NULL)) AND
1277: ((G_operation = 'UPDATE') OR
1278: (G_operation = 'INSERT')) THEN
1279: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1280: FND_MESSAGE.SET_NAME('GMF','GMF_API_NOMINAL_COST_REQ');
1278: (G_operation = 'INSERT')) THEN
1279: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1280: FND_MESSAGE.SET_NAME('GMF','GMF_API_NOMINAL_COST_REQ');
1281: FND_MSG_PUB.Add;
1282: RAISE FND_API.G_EXC_ERROR;
1283: END IF;
1284: -- End Nominal Cost
1285:
1286: --
1289: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
1290: log_msg('Validating delete_mark : ' || l_delete_mark);
1291: END IF;
1292:
1293: IF (l_delete_mark <> FND_API.G_MISS_NUM) AND
1294: (l_delete_mark IS NOT NULL) THEN
1295: IF l_delete_mark NOT IN (0,1) THEN
1296: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1297: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_DELETE_MARK');
1296: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1297: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_DELETE_MARK');
1298: FND_MESSAGE.SET_TOKEN('DELETE_MARK',l_delete_mark);
1299: FND_MSG_PUB.Add;
1300: RAISE FND_API.G_EXC_ERROR;
1301: END IF;
1302: ELSIF (l_delete_mark = FND_API.G_MISS_NUM AND
1303: G_operation = 'UPDATE') OR
1304: (G_operation = 'INSERT') THEN
1298: FND_MESSAGE.SET_TOKEN('DELETE_MARK',l_delete_mark);
1299: FND_MSG_PUB.Add;
1300: RAISE FND_API.G_EXC_ERROR;
1301: END IF;
1302: ELSIF (l_delete_mark = FND_API.G_MISS_NUM AND
1303: G_operation = 'UPDATE') OR
1304: (G_operation = 'INSERT') THEN
1305: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1306: FND_MESSAGE.SET_NAME('GMF','GMF_API_DELETE_MARK_REQ');
1304: (G_operation = 'INSERT') THEN
1305: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1306: FND_MESSAGE.SET_NAME('GMF','GMF_API_DELETE_MARK_REQ');
1307: FND_MSG_PUB.Add;
1308: RAISE FND_API.G_EXC_ERROR;
1309: END IF;
1310:
1311: -- Bug 2692459
1312: IF ((G_operation = 'UPDATE') AND (l_delete_mark = 1)) THEN
1312: IF ((G_operation = 'UPDATE') AND (l_delete_mark = 1)) THEN
1313: add_header_to_error_stack(p_rsrc_cost_rec);
1314: FND_MESSAGE.SET_NAME('GMF','GMF_API_CANT_MARK_FOR_PURGE');
1315: FND_MSG_PUB.Add;
1316: RAISE FND_API.G_EXC_ERROR;
1317: END IF;
1318: -- End Delete Mark
1319:
1320: END IF; -- Bug 2692459: G_operation <> 'DELETE'
1323: IF FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW >= G_Debug_Level THEN -- Bug 2659435
1324: log_msg('Validating user name : ' || l_user_name);
1325: END IF;
1326:
1327: IF (l_user_name <> FND_API.G_MISS_CHAR) AND
1328: (l_user_name IS NOT NULL) THEN
1329: GMA_GLOBAL_GRP.Get_who( p_user_name => l_user_name
1330: , x_user_id => l_user_id
1331: );
1338: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1339: FND_MESSAGE.SET_NAME('GMF','GMF_API_INVALID_USER_NAME');
1340: FND_MESSAGE.SET_TOKEN('USER_NAME',l_user_name);
1341: FND_MSG_PUB.Add;
1342: RAISE FND_API.G_EXC_ERROR;
1343: END IF;
1344:
1345: ELSE
1346: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1345: ELSE
1346: add_header_to_error_stack(p_rsrc_cost_rec); -- Bug 2659435
1347: FND_MESSAGE.SET_NAME('GMF','GMF_API_USER_NAME_REQ');
1348: FND_MSG_PUB.Add;
1349: RAISE FND_API.G_EXC_ERROR;
1350: END IF;
1351: -- End User Name
1352:
1353:
1366: x_rsrc_cost_rec.user_name := l_user_name ;
1367: x_user_id := l_user_id ;
1368:
1369: EXCEPTION -- Bug 2681243: removed when others to capture ORA errors.
1370: WHEN FND_API.G_EXC_ERROR THEN
1371: x_return_status := FND_API.G_RET_STS_ERROR ;
1372: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1373: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1374: END Validate_Input_Params;
1367: x_user_id := l_user_id ;
1368:
1369: EXCEPTION -- Bug 2681243: removed when others to capture ORA errors.
1370: WHEN FND_API.G_EXC_ERROR THEN
1371: x_return_status := FND_API.G_RET_STS_ERROR ;
1372: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1373: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1374: END Validate_Input_Params;
1375:
1368:
1369: EXCEPTION -- Bug 2681243: removed when others to capture ORA errors.
1370: WHEN FND_API.G_EXC_ERROR THEN
1371: x_return_status := FND_API.G_RET_STS_ERROR ;
1372: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1373: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1374: END Validate_Input_Params;
1375:
1376: -- Func start of comments
1369: EXCEPTION -- Bug 2681243: removed when others to capture ORA errors.
1370: WHEN FND_API.G_EXC_ERROR THEN
1371: x_return_status := FND_API.G_RET_STS_ERROR ;
1372: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1373: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1374: END Validate_Input_Params;
1375:
1376: -- Func start of comments
1377: --+==========================================================================+