29: /* ----------------------------------------------------------------------- */
30:
31: PROCEDURE INSERT_ROW
32: ( p_api_version IN NUMBER,
33: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
34: p_commit IN VARCHAR2 := FND_API.G_FALSE,
35: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
36: p_return_status OUT NOCOPY VARCHAR2,
37: p_msg_count OUT NOCOPY NUMBER,
30:
31: PROCEDURE INSERT_ROW
32: ( p_api_version IN NUMBER,
33: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
34: p_commit IN VARCHAR2 := FND_API.G_FALSE,
35: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
36: p_return_status OUT NOCOPY VARCHAR2,
37: p_msg_count OUT NOCOPY NUMBER,
38: p_msg_data OUT NOCOPY VARCHAR2,
31: PROCEDURE INSERT_ROW
32: ( p_api_version IN NUMBER,
33: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
34: p_commit IN VARCHAR2 := FND_API.G_FALSE,
35: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
36: p_return_status OUT NOCOPY VARCHAR2,
37: p_msg_count OUT NOCOPY NUMBER,
38: p_msg_data OUT NOCOPY VARCHAR2,
39: --
73: SAVEPOINT INSERT_ROW_PVT;
74:
75: -- Standard call to check for call compatibility.
76:
77: if not FND_API.Compatible_API_Call (l_api_version,
78: p_api_version,
79: l_api_name,
80: G_PKG_NAME)
81: then
78: p_api_version,
79: l_api_name,
80: G_PKG_NAME)
81: then
82: raise FND_API.G_EXC_UNEXPECTED_ERROR;
83: end if;
84:
85: -- Initialize message list if p_init_msg_list is set to TRUE.
86:
83: end if;
84:
85: -- Initialize message list if p_init_msg_list is set to TRUE.
86:
87: if FND_API.to_Boolean (p_init_msg_list) then
88: FND_MSG_PUB.initialize;
89: end if;
90:
91: -- Initialize API return status to success
89: end if;
90:
91: -- Initialize API return status to success
92:
93: p_return_status := FND_API.G_RET_STS_SUCCESS;
94:
95:
96: -- API body
97: INSERT INTO psb_pay_element_rates
148: -- End of API body.
149:
150: -- Standard check of p_commit.
151:
152: if FND_API.to_Boolean (p_commit) then
153: commit work;
154: end if;
155:
156: -- Standard call to get message count and if count is 1, get message info.
159: p_data => p_msg_data);
160:
161: EXCEPTION
162:
163: when FND_API.G_EXC_ERROR then
164:
165: rollback to INSERT_ROW_PVT;
166:
167: p_return_status := FND_API.G_RET_STS_ERROR;
163: when FND_API.G_EXC_ERROR then
164:
165: rollback to INSERT_ROW_PVT;
166:
167: p_return_status := FND_API.G_RET_STS_ERROR;
168:
169: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
170: p_data => p_msg_data);
171:
169: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
170: p_data => p_msg_data);
171:
172:
173: when FND_API.G_EXC_UNEXPECTED_ERROR then
174:
175: rollback to INSERT_ROW_PVT;
176:
177: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
173: when FND_API.G_EXC_UNEXPECTED_ERROR then
174:
175: rollback to INSERT_ROW_PVT;
176:
177: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
178:
179: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
180: p_data => p_msg_data);
181:
183: when OTHERS then
184:
185: rollback to INSERT_ROW_PVT;
186:
187: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
188:
189: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
190:
191: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
200: /* ----------------------------------------------------------------------- */
201:
202: PROCEDURE UPDATE_ROW
203: ( p_api_version IN NUMBER,
204: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
205: p_commit IN VARCHAR2 := FND_API.G_FALSE,
206: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
207: p_return_status OUT NOCOPY VARCHAR2,
208: p_msg_count OUT NOCOPY NUMBER,
201:
202: PROCEDURE UPDATE_ROW
203: ( p_api_version IN NUMBER,
204: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
205: p_commit IN VARCHAR2 := FND_API.G_FALSE,
206: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
207: p_return_status OUT NOCOPY VARCHAR2,
208: p_msg_count OUT NOCOPY NUMBER,
209: p_msg_data OUT NOCOPY VARCHAR2,
202: PROCEDURE UPDATE_ROW
203: ( p_api_version IN NUMBER,
204: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
205: p_commit IN VARCHAR2 := FND_API.G_FALSE,
206: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
207: p_return_status OUT NOCOPY VARCHAR2,
208: p_msg_count OUT NOCOPY NUMBER,
209: p_msg_data OUT NOCOPY VARCHAR2,
210: --
208: p_msg_count OUT NOCOPY NUMBER,
209: p_msg_data OUT NOCOPY VARCHAR2,
210: --
211: P_PAY_ELEMENT_RATE_ID in NUMBER,
212: P_EFFECTIVE_START_DATE in DATE := FND_API.G_MISS_DATE,
213: P_EFFECTIVE_END_DATE in DATE := FND_API.G_MISS_DATE,
214: P_ELEMENT_VALUE_TYPE in VARCHAR2,
215: P_ELEMENT_VALUE in NUMBER,
216: P_PAY_BASIS in VARCHAR2,
209: p_msg_data OUT NOCOPY VARCHAR2,
210: --
211: P_PAY_ELEMENT_RATE_ID in NUMBER,
212: P_EFFECTIVE_START_DATE in DATE := FND_API.G_MISS_DATE,
213: P_EFFECTIVE_END_DATE in DATE := FND_API.G_MISS_DATE,
214: P_ELEMENT_VALUE_TYPE in VARCHAR2,
215: P_ELEMENT_VALUE in NUMBER,
216: P_PAY_BASIS in VARCHAR2,
217: P_FORMULA_ID in NUMBER,
233: SAVEPOINT UPDATE_ROW_PVT;
234:
235: -- Standard call to check for call compatibility.
236:
237: if not FND_API.Compatible_API_Call (l_api_version,
238: p_api_version,
239: l_api_name,
240: G_PKG_NAME)
241: then
238: p_api_version,
239: l_api_name,
240: G_PKG_NAME)
241: then
242: raise FND_API.G_EXC_UNEXPECTED_ERROR;
243: end if;
244:
245: -- Initialize message list if p_init_msg_list is set to TRUE.
246:
243: end if;
244:
245: -- Initialize message list if p_init_msg_list is set to TRUE.
246:
247: if FND_API.to_Boolean (p_init_msg_list) then
248: FND_MSG_PUB.initialize;
249: end if;
250:
251: -- Initialize API return status to success
249: end if;
250:
251: -- Initialize API return status to success
252:
253: p_return_status := FND_API.G_RET_STS_SUCCESS;
254:
255: -- API body
256: UPDATE psb_pay_element_rates SET
257: EFFECTIVE_START_DATE = DECODE(P_EFFECTIVE_START_DATE, FND_API.G_MISS_DATE, EFFECTIVE_START_DATE, P_EFFECTIVE_START_DATE),
253: p_return_status := FND_API.G_RET_STS_SUCCESS;
254:
255: -- API body
256: UPDATE psb_pay_element_rates SET
257: EFFECTIVE_START_DATE = DECODE(P_EFFECTIVE_START_DATE, FND_API.G_MISS_DATE, EFFECTIVE_START_DATE, P_EFFECTIVE_START_DATE),
258: EFFECTIVE_END_DATE = DECODE(P_EFFECTIVE_END_DATE, FND_API.G_MISS_DATE, EFFECTIVE_END_DATE, P_EFFECTIVE_END_DATE),
259: ELEMENT_VALUE_TYPE = P_ELEMENT_VALUE_TYPE ,
260: ELEMENT_VALUE = P_ELEMENT_VALUE ,
261: PAY_BASIS = P_PAY_BASIS ,
254:
255: -- API body
256: UPDATE psb_pay_element_rates SET
257: EFFECTIVE_START_DATE = DECODE(P_EFFECTIVE_START_DATE, FND_API.G_MISS_DATE, EFFECTIVE_START_DATE, P_EFFECTIVE_START_DATE),
258: EFFECTIVE_END_DATE = DECODE(P_EFFECTIVE_END_DATE, FND_API.G_MISS_DATE, EFFECTIVE_END_DATE, P_EFFECTIVE_END_DATE),
259: ELEMENT_VALUE_TYPE = P_ELEMENT_VALUE_TYPE ,
260: ELEMENT_VALUE = P_ELEMENT_VALUE ,
261: PAY_BASIS = P_PAY_BASIS ,
262: FORMULA_ID = P_FORMULA_ID ,
275: -- End of API body.
276:
277: -- Standard check of p_commit.
278:
279: if FND_API.to_Boolean (p_commit) then
280: commit work;
281: end if;
282:
283: -- Standard call to get message count and if count is 1, get message info.
286: p_data => p_msg_data);
287:
288: EXCEPTION
289:
290: when FND_API.G_EXC_ERROR then
291:
292: rollback to UPDATE_ROW_PVT;
293:
294: p_return_status := FND_API.G_RET_STS_ERROR;
290: when FND_API.G_EXC_ERROR then
291:
292: rollback to UPDATE_ROW_PVT;
293:
294: p_return_status := FND_API.G_RET_STS_ERROR;
295:
296: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
297: p_data => p_msg_data);
298:
296: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
297: p_data => p_msg_data);
298:
299:
300: when FND_API.G_EXC_UNEXPECTED_ERROR then
301:
302: rollback to UPDATE_ROW_PVT;
303:
304: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
300: when FND_API.G_EXC_UNEXPECTED_ERROR then
301:
302: rollback to UPDATE_ROW_PVT;
303:
304: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
305:
306: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
307: p_data => p_msg_data);
308:
310: when OTHERS then
311:
312: rollback to UPDATE_ROW_PVT;
313:
314: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
315:
316: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
317:
318: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
327: /* ----------------------------------------------------------------------- */
328:
329: PROCEDURE DELETE_ROW
330: ( p_api_version IN NUMBER,
331: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
332: p_commit IN VARCHAR2 := FND_API.G_FALSE,
333: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
334: p_return_status OUT NOCOPY VARCHAR2,
335: p_msg_count OUT NOCOPY NUMBER,
328:
329: PROCEDURE DELETE_ROW
330: ( p_api_version IN NUMBER,
331: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
332: p_commit IN VARCHAR2 := FND_API.G_FALSE,
333: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
334: p_return_status OUT NOCOPY VARCHAR2,
335: p_msg_count OUT NOCOPY NUMBER,
336: p_msg_data OUT NOCOPY VARCHAR2,
329: PROCEDURE DELETE_ROW
330: ( p_api_version IN NUMBER,
331: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
332: p_commit IN VARCHAR2 := FND_API.G_FALSE,
333: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
334: p_return_status OUT NOCOPY VARCHAR2,
335: p_msg_count OUT NOCOPY NUMBER,
336: p_msg_data OUT NOCOPY VARCHAR2,
337: --
348: SAVEPOINT DELETE_ROW_PVT;
349:
350: -- Standard call to check for call compatibility.
351:
352: if not FND_API.Compatible_API_Call (l_api_version,
353: p_api_version,
354: l_api_name,
355: G_PKG_NAME)
356: then
353: p_api_version,
354: l_api_name,
355: G_PKG_NAME)
356: then
357: raise FND_API.G_EXC_UNEXPECTED_ERROR;
358: end if;
359:
360: -- Initialize message list if p_init_msg_list is set to TRUE.
361:
358: end if;
359:
360: -- Initialize message list if p_init_msg_list is set to TRUE.
361:
362: if FND_API.to_Boolean (p_init_msg_list) then
363: FND_MSG_PUB.initialize;
364: end if;
365:
366:
379: p_data => p_msg_data);
380:
381: -- Standard check of p_commit.
382:
383: if FND_API.to_Boolean (p_commit) then
384: commit work;
385: end if;
386:
387:
386:
387:
388: EXCEPTION
389:
390: when FND_API.G_EXC_ERROR then
391:
392: rollback to DELETE_ROW_PVT;
393:
394: p_return_status := FND_API.G_RET_STS_ERROR;
390: when FND_API.G_EXC_ERROR then
391:
392: rollback to DELETE_ROW_PVT;
393:
394: p_return_status := FND_API.G_RET_STS_ERROR;
395:
396: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
397: p_data => p_msg_data);
398:
396: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
397: p_data => p_msg_data);
398:
399:
400: when FND_API.G_EXC_UNEXPECTED_ERROR then
401:
402: rollback to DELETE_ROW_PVT;
403:
404: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
400: when FND_API.G_EXC_UNEXPECTED_ERROR then
401:
402: rollback to DELETE_ROW_PVT;
403:
404: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
405:
406: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
407: p_data => p_msg_data);
408:
410: when OTHERS then
411:
412: rollback to DELETE_ROW_PVT;
413:
414: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
415:
416: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
417:
418: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
426: /* ----------------------------------------------------------------------- */
427:
428: PROCEDURE LOCK_ROW(
429: p_api_version IN NUMBER,
430: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
431: p_commit IN VARCHAR2 := FND_API.G_FALSE,
432: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
433: p_return_status OUT NOCOPY VARCHAR2,
434: p_msg_count OUT NOCOPY NUMBER,
427:
428: PROCEDURE LOCK_ROW(
429: p_api_version IN NUMBER,
430: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
431: p_commit IN VARCHAR2 := FND_API.G_FALSE,
432: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
433: p_return_status OUT NOCOPY VARCHAR2,
434: p_msg_count OUT NOCOPY NUMBER,
435: p_msg_data OUT NOCOPY VARCHAR2,
428: PROCEDURE LOCK_ROW(
429: p_api_version IN NUMBER,
430: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
431: p_commit IN VARCHAR2 := FND_API.G_FALSE,
432: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
433: p_return_status OUT NOCOPY VARCHAR2,
434: p_msg_count OUT NOCOPY NUMBER,
435: p_msg_data OUT NOCOPY VARCHAR2,
436: --
466: BEGIN
467: --
468: SAVEPOINT Lock_Row_Pvt ;
469: --
470: IF NOT FND_API.Compatible_API_Call ( l_api_version,
471: p_api_version,
472: l_api_name,
473: G_PKG_NAME )
474: THEN
471: p_api_version,
472: l_api_name,
473: G_PKG_NAME )
474: THEN
475: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
476: END IF;
477: --
478:
479: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
475: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
476: END IF;
477: --
478:
479: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
480: FND_MSG_PUB.initialize ;
481: END IF;
482: --
483: p_return_status := FND_API.G_RET_STS_SUCCESS ;
479: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
480: FND_MSG_PUB.initialize ;
481: END IF;
482: --
483: p_return_status := FND_API.G_RET_STS_SUCCESS ;
484: p_row_locked := FND_API.G_TRUE ;
485: --
486: OPEN C;
487: --
480: FND_MSG_PUB.initialize ;
481: END IF;
482: --
483: p_return_status := FND_API.G_RET_STS_SUCCESS ;
484: p_row_locked := FND_API.G_TRUE ;
485: --
486: OPEN C;
487: --
488: FETCH C INTO Recinfo;
489: IF (C%NOTFOUND) then
490: CLOSE C;
491: FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
492: FND_MSG_PUB.Add;
493: RAISE FND_API.G_EXC_ERROR ;
494: END IF;
495:
496: IF
497: (
548: Null;
549: ELSE
550: FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
551: FND_MSG_PUB.Add;
552: RAISE FND_API.G_EXC_ERROR ;
553: END IF;
554:
555: --
556: IF FND_API.To_Boolean ( p_commit ) THEN
552: RAISE FND_API.G_EXC_ERROR ;
553: END IF;
554:
555: --
556: IF FND_API.To_Boolean ( p_commit ) THEN
557: COMMIT WORK;
558: END iF;
559: --
560: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
564: --
565: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
566: --
567: ROLLBACK TO Lock_Row_Pvt ;
568: p_row_locked := FND_API.G_FALSE;
569: p_return_status := FND_API.G_RET_STS_ERROR;
570: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
571: p_data => p_msg_data );
572: --
565: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
566: --
567: ROLLBACK TO Lock_Row_Pvt ;
568: p_row_locked := FND_API.G_FALSE;
569: p_return_status := FND_API.G_RET_STS_ERROR;
570: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
571: p_data => p_msg_data );
572: --
573: WHEN FND_API.G_EXC_ERROR THEN
569: p_return_status := FND_API.G_RET_STS_ERROR;
570: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
571: p_data => p_msg_data );
572: --
573: WHEN FND_API.G_EXC_ERROR THEN
574: --
575: ROLLBACK TO Lock_Row_Pvt ;
576: p_return_status := FND_API.G_RET_STS_ERROR;
577: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
572: --
573: WHEN FND_API.G_EXC_ERROR THEN
574: --
575: ROLLBACK TO Lock_Row_Pvt ;
576: p_return_status := FND_API.G_RET_STS_ERROR;
577: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
578: p_data => p_msg_data );
579: --
580: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
576: p_return_status := FND_API.G_RET_STS_ERROR;
577: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
578: p_data => p_msg_data );
579: --
580: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
581: --
582: ROLLBACK TO Lock_Row_Pvt ;
583: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
584: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
579: --
580: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
581: --
582: ROLLBACK TO Lock_Row_Pvt ;
583: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
584: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
585: p_data => p_msg_data );
586: --
587: WHEN OTHERS THEN
586: --
587: WHEN OTHERS THEN
588: --
589: ROLLBACK TO Lock_Row_Pvt ;
590: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
591: --
592: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
593: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
594: l_api_name);
601: /* ----------------------------------------------------------------------- */
602:
603: PROCEDURE Delete_Element_Rates
604: ( p_api_version IN NUMBER,
605: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
606: p_commit IN VARCHAR2 := FND_API.G_FALSE,
607: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
608: p_return_status OUT NOCOPY VARCHAR2,
609: p_msg_count OUT NOCOPY NUMBER,
602:
603: PROCEDURE Delete_Element_Rates
604: ( p_api_version IN NUMBER,
605: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
606: p_commit IN VARCHAR2 := FND_API.G_FALSE,
607: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
608: p_return_status OUT NOCOPY VARCHAR2,
609: p_msg_count OUT NOCOPY NUMBER,
610: p_msg_data OUT NOCOPY VARCHAR2,
603: PROCEDURE Delete_Element_Rates
604: ( p_api_version IN NUMBER,
605: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
606: p_commit IN VARCHAR2 := FND_API.G_FALSE,
607: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
608: p_return_status OUT NOCOPY VARCHAR2,
609: p_msg_count OUT NOCOPY NUMBER,
610: p_msg_data OUT NOCOPY VARCHAR2,
611: p_worksheet_id IN NUMBER
622:
623:
624: -- Standard call to check for call compatibility
625:
626: if not FND_API.Compatible_API_Call (l_api_version,
627: p_api_version,
628: l_api_name,
629: G_PKG_NAME)
630: then
627: p_api_version,
628: l_api_name,
629: G_PKG_NAME)
630: then
631: raise FND_API.G_EXC_UNEXPECTED_ERROR;
632: end if;
633:
634:
635: -- Initialize message list if p_init_msg_list is set to TRUE
633:
634:
635: -- Initialize message list if p_init_msg_list is set to TRUE
636:
637: if FND_API.to_Boolean (p_init_msg_list) then
638: FND_MSG_PUB.initialize;
639: end if;
640:
641: delete from PSB_PAY_ELEMENT_RATES
643:
644:
645: -- Standard check of p_commit
646:
647: if FND_API.to_Boolean (p_commit) then
648: commit work;
649: end if;
650:
651:
650:
651:
652: -- Initialize API return status to success
653:
654: p_return_status := FND_API.G_RET_STS_SUCCESS;
655:
656:
657: -- Standard call to get message count and if count is 1, get message info
658:
660: p_data => p_msg_data);
661:
662: EXCEPTION
663:
664: when FND_API.G_EXC_ERROR then
665: rollback to Delete_Element_Rates_Pvt;
666: p_return_status := FND_API.G_RET_STS_ERROR;
667:
668: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
662: EXCEPTION
663:
664: when FND_API.G_EXC_ERROR then
665: rollback to Delete_Element_Rates_Pvt;
666: p_return_status := FND_API.G_RET_STS_ERROR;
667:
668: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
669: p_data => p_msg_data);
670:
668: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
669: p_data => p_msg_data);
670:
671:
672: when FND_API.G_EXC_UNEXPECTED_ERROR then
673: rollback to Delete_Element_Rates_Pvt;
674: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
675:
676: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
670:
671:
672: when FND_API.G_EXC_UNEXPECTED_ERROR then
673: rollback to Delete_Element_Rates_Pvt;
674: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
675:
676: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
677: p_data => p_msg_data);
678:
678:
679:
680: when OTHERS then
681: rollback to Delete_Element_Rates_Pvt;
682: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
683:
684: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
685:
686: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
695: /* ----------------------------------------------------------------------- */
696:
697: PROCEDURE Modify_Element_Rates
698: ( p_api_version IN NUMBER,
699: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
700: p_commit IN VARCHAR2 := FND_API.G_FALSE,
701: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
702: p_return_status OUT NOCOPY VARCHAR2,
703: p_msg_count OUT NOCOPY NUMBER,
696:
697: PROCEDURE Modify_Element_Rates
698: ( p_api_version IN NUMBER,
699: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
700: p_commit IN VARCHAR2 := FND_API.G_FALSE,
701: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
702: p_return_status OUT NOCOPY VARCHAR2,
703: p_msg_count OUT NOCOPY NUMBER,
704: p_msg_data OUT NOCOPY VARCHAR2,
697: PROCEDURE Modify_Element_Rates
698: ( p_api_version IN NUMBER,
699: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
700: p_commit IN VARCHAR2 := FND_API.G_FALSE,
701: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
702: p_return_status OUT NOCOPY VARCHAR2,
703: p_msg_count OUT NOCOPY NUMBER,
704: p_msg_data OUT NOCOPY VARCHAR2,
705: p_pay_element_id IN NUMBER,
739: mid_value,
740: minimum_value,
741: currency_code
742: from PSB_PAY_ELEMENT_RATES
743: where nvl(pay_element_option_id, FND_API.G_MISS_NUM) = nvl(p_pay_element_option_id, FND_API.G_MISS_NUM)
744: and nvl(worksheet_id, FND_API.G_MISS_NUM) = nvl(p_worksheet_id, FND_API.G_MISS_NUM)
745: and nvl(currency_code, FND_API.G_MISS_CHAR) = nvl(p_currency_code, FND_API.G_MISS_CHAR)
746: and ((((p_effective_end_date is not null)
747: and ((effective_start_date <= p_effective_end_date)
740: minimum_value,
741: currency_code
742: from PSB_PAY_ELEMENT_RATES
743: where nvl(pay_element_option_id, FND_API.G_MISS_NUM) = nvl(p_pay_element_option_id, FND_API.G_MISS_NUM)
744: and nvl(worksheet_id, FND_API.G_MISS_NUM) = nvl(p_worksheet_id, FND_API.G_MISS_NUM)
745: and nvl(currency_code, FND_API.G_MISS_CHAR) = nvl(p_currency_code, FND_API.G_MISS_CHAR)
746: and ((((p_effective_end_date is not null)
747: and ((effective_start_date <= p_effective_end_date)
748: and (effective_end_date is null))
741: currency_code
742: from PSB_PAY_ELEMENT_RATES
743: where nvl(pay_element_option_id, FND_API.G_MISS_NUM) = nvl(p_pay_element_option_id, FND_API.G_MISS_NUM)
744: and nvl(worksheet_id, FND_API.G_MISS_NUM) = nvl(p_worksheet_id, FND_API.G_MISS_NUM)
745: and nvl(currency_code, FND_API.G_MISS_CHAR) = nvl(p_currency_code, FND_API.G_MISS_CHAR)
746: and ((((p_effective_end_date is not null)
747: and ((effective_start_date <= p_effective_end_date)
748: and (effective_end_date is null))
749: or ((effective_start_date between p_effective_start_date and p_effective_end_date)
761: l_rate_index BINARY_INTEGER;
762:
763: l_pay_element_rate_id NUMBER;
764:
765: l_created_record VARCHAR2(1) := FND_API.G_FALSE;
766: l_updated_record VARCHAR2(1);
767:
768: l_return_status VARCHAR2(1);
769:
775:
776:
777: -- Standard call to check for call compatibility
778:
779: if not FND_API.Compatible_API_Call (l_api_version,
780: p_api_version,
781: l_api_name,
782: G_PKG_NAME)
783: then
780: p_api_version,
781: l_api_name,
782: G_PKG_NAME)
783: then
784: raise FND_API.G_EXC_UNEXPECTED_ERROR;
785: end if;
786:
787:
788: -- Initialize message list if p_init_msg_list is set to TRUE
786:
787:
788: -- Initialize message list if p_init_msg_list is set to TRUE
789:
790: if FND_API.to_Boolean (p_init_msg_list) then
791: FND_MSG_PUB.initialize;
792: end if;
793:
794: l_userid := FND_GLOBAL.USER_ID;
836: (c_Rates_Rec.effective_start_date between p_effective_start_date and p_effective_end_date) and
837: (c_Rates_Rec.effective_end_date between p_effective_start_date and p_effective_end_date)) or
838: ((p_effective_end_date is null) and
839: (c_Rates_Rec.effective_start_date >= p_effective_start_date))) then
840: g_element_rates(g_num_element_rates).proper_subset := FND_API.G_TRUE;
841: else
842: g_element_rates(g_num_element_rates).proper_subset := FND_API.G_FALSE;
843: end if;
844:
838: ((p_effective_end_date is null) and
839: (c_Rates_Rec.effective_start_date >= p_effective_start_date))) then
840: g_element_rates(g_num_element_rates).proper_subset := FND_API.G_TRUE;
841: else
842: g_element_rates(g_num_element_rates).proper_subset := FND_API.G_FALSE;
843: end if;
844:
845: end loop;
846:
875: p_last_update_login => l_loginid,
876: p_created_by => l_userid,
877: p_creation_date => sysdate);
878:
879: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
880: raise FND_API.G_EXC_ERROR;
881: end if;
882:
883: end;
876: p_created_by => l_userid,
877: p_creation_date => sysdate);
878:
879: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
880: raise FND_API.G_EXC_ERROR;
881: end if;
882:
883: end;
884: else
885: begin
886:
887: for l_rate_index in 1..g_num_element_rates loop
888:
889: l_updated_record := FND_API.G_FALSE;
890:
891: if ((g_num_element_rates = 1) and
892: (g_element_rates(l_rate_index).effective_start_date = p_effective_start_date)) then
893: begin
909: p_last_update_date => sysdate,
910: p_last_updated_by => l_userid,
911: p_last_update_login => l_loginid);
912:
913: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
914: raise FND_API.G_EXC_ERROR;
915: end if;
916:
917: end;
910: p_last_updated_by => l_userid,
911: p_last_update_login => l_loginid);
912:
913: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
914: raise FND_API.G_EXC_ERROR;
915: end if;
916:
917: end;
918: else
940: p_last_update_date => sysdate,
941: p_last_updated_by => l_userid,
942: p_last_update_login => l_loginid);
943:
944: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
945: raise FND_API.G_EXC_ERROR;
946: else
947: l_updated_record := FND_API.G_TRUE;
948: end if;
941: p_last_updated_by => l_userid,
942: p_last_update_login => l_loginid);
943:
944: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
945: raise FND_API.G_EXC_ERROR;
946: else
947: l_updated_record := FND_API.G_TRUE;
948: end if;
949:
943:
944: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
945: raise FND_API.G_EXC_ERROR;
946: else
947: l_updated_record := FND_API.G_TRUE;
948: end if;
949:
950: end;
951: elsif ((g_element_rates(l_rate_index).effective_start_date > p_effective_start_date) and
971: p_last_update_date => sysdate,
972: p_last_updated_by => l_userid,
973: p_last_update_login => l_loginid);
974:
975: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
976: raise FND_API.G_EXC_ERROR;
977: else
978: l_updated_record := FND_API.G_TRUE;
979: end if;
972: p_last_updated_by => l_userid,
973: p_last_update_login => l_loginid);
974:
975: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
976: raise FND_API.G_EXC_ERROR;
977: else
978: l_updated_record := FND_API.G_TRUE;
979: end if;
980:
974:
975: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
976: raise FND_API.G_EXC_ERROR;
977: else
978: l_updated_record := FND_API.G_TRUE;
979: end if;
980:
981: end;
982: end if;
980:
981: end;
982: end if;
983:
984: if not FND_API.to_Boolean(l_created_record) then
985: begin
986:
987: for c_Seq_Rec in c_Seq loop
988: l_pay_element_rate_id := c_Seq_Rec.RateID;
1012: p_last_update_login => l_loginid,
1013: p_created_by => l_userid,
1014: p_creation_date => sysdate);
1015:
1016: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1017: raise FND_API.G_EXC_ERROR;
1018: else
1019: l_created_record := FND_API.G_TRUE;
1020: end if;
1013: p_created_by => l_userid,
1014: p_creation_date => sysdate);
1015:
1016: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1017: raise FND_API.G_EXC_ERROR;
1018: else
1019: l_created_record := FND_API.G_TRUE;
1020: end if;
1021:
1015:
1016: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1017: raise FND_API.G_EXC_ERROR;
1018: else
1019: l_created_record := FND_API.G_TRUE;
1020: end if;
1021:
1022: end;
1023: end if;
1027:
1028: if nvl(g_element_rates(l_rate_index).effective_end_date, (p_effective_end_date + 1)) > (p_effective_end_date + 1) then
1029: begin
1030:
1031: if FND_API.to_Boolean(l_updated_record) then
1032: begin
1033:
1034: for c_Seq_Rec in c_Seq loop
1035: l_pay_element_rate_id := c_Seq_Rec.RateID;
1059: p_last_update_login => l_loginid,
1060: p_created_by => l_userid,
1061: p_creation_date => sysdate);
1062:
1063: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1064: raise FND_API.G_EXC_ERROR;
1065: end if;
1066:
1067: end;
1060: p_created_by => l_userid,
1061: p_creation_date => sysdate);
1062:
1063: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1064: raise FND_API.G_EXC_ERROR;
1065: end if;
1066:
1067: end;
1068: else
1086: p_last_update_date => sysdate,
1087: p_last_updated_by => l_userid,
1088: p_last_update_login => l_loginid);
1089:
1090: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1091: raise FND_API.G_EXC_ERROR;
1092: end if;
1093:
1094: end;
1087: p_last_updated_by => l_userid,
1088: p_last_update_login => l_loginid);
1089:
1090: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1091: raise FND_API.G_EXC_ERROR;
1092: end if;
1093:
1094: end;
1095: end if;
1107:
1108: end;
1109: end if;
1110:
1111: if FND_API.to_Boolean(l_created_record) then
1112: begin
1113:
1114: for l_rate_index in 1..g_num_element_rates loop
1115:
1112: begin
1113:
1114: for l_rate_index in 1..g_num_element_rates loop
1115:
1116: if FND_API.to_Boolean(g_element_rates(l_rate_index).proper_subset) then
1117: begin
1118:
1119: Delete_Row
1120: (p_api_version => 1.0,
1122: p_msg_count => p_msg_count,
1123: p_msg_data => p_msg_data,
1124: p_pay_element_rate_id => g_element_rates(l_rate_index).pay_element_rate_id);
1125:
1126: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1127: raise FND_API.G_EXC_ERROR;
1128: end if;
1129:
1130: end;
1123: p_msg_data => p_msg_data,
1124: p_pay_element_rate_id => g_element_rates(l_rate_index).pay_element_rate_id);
1125:
1126: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
1127: raise FND_API.G_EXC_ERROR;
1128: end if;
1129:
1130: end;
1131: end if;
1137:
1138:
1139: -- Standard check of p_commit
1140:
1141: if FND_API.to_Boolean (p_commit) then
1142: commit work;
1143: end if;
1144:
1145:
1144:
1145:
1146: -- Initialize API return status to success
1147:
1148: p_return_status := FND_API.G_RET_STS_SUCCESS;
1149:
1150:
1151: -- Standard call to get message count and if count is 1, get message info
1152:
1154: p_data => p_msg_data);
1155:
1156: EXCEPTION
1157:
1158: when FND_API.G_EXC_ERROR then
1159: rollback to Modify_Element_Rates_Pvt;
1160: p_return_status := FND_API.G_RET_STS_ERROR;
1161:
1162: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1156: EXCEPTION
1157:
1158: when FND_API.G_EXC_ERROR then
1159: rollback to Modify_Element_Rates_Pvt;
1160: p_return_status := FND_API.G_RET_STS_ERROR;
1161:
1162: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1163: p_data => p_msg_data);
1164:
1162: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1163: p_data => p_msg_data);
1164:
1165:
1166: when FND_API.G_EXC_UNEXPECTED_ERROR then
1167: rollback to Modify_Element_Rates_Pvt;
1168: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1169:
1170: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1164:
1165:
1166: when FND_API.G_EXC_UNEXPECTED_ERROR then
1167: rollback to Modify_Element_Rates_Pvt;
1168: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1169:
1170: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1171: p_data => p_msg_data);
1172:
1172:
1173:
1174: when OTHERS then
1175: rollback to Modify_Element_Rates_Pvt;
1176: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1177:
1178: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
1179:
1180: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
1199: --
1200: PROCEDURE Check_Date_Range_Overlap
1201: (
1202: p_api_version IN NUMBER,
1203: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1204: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1205: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1206: p_return_status OUT NOCOPY VARCHAR2,
1207: p_msg_count OUT NOCOPY NUMBER,
1200: PROCEDURE Check_Date_Range_Overlap
1201: (
1202: p_api_version IN NUMBER,
1203: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1204: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1205: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1206: p_return_status OUT NOCOPY VARCHAR2,
1207: p_msg_count OUT NOCOPY NUMBER,
1208: p_msg_data OUT NOCOPY VARCHAR2,
1201: (
1202: p_api_version IN NUMBER,
1203: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1204: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1205: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1206: p_return_status OUT NOCOPY VARCHAR2,
1207: p_msg_count OUT NOCOPY NUMBER,
1208: p_msg_data OUT NOCOPY VARCHAR2,
1209: --
1222: BEGIN
1223: --
1224: SAVEPOINT Check_Date_Range_Overlap_Pvt ;
1225: --
1226: IF NOT FND_API.Compatible_API_Call ( l_api_version,
1227: p_api_version,
1228: l_api_name,
1229: G_PKG_NAME )
1230: THEN
1227: p_api_version,
1228: l_api_name,
1229: G_PKG_NAME )
1230: THEN
1231: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1232: END IF;
1233: --
1234:
1235: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
1231: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1232: END IF;
1233: --
1234:
1235: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
1236: FND_MSG_PUB.initialize ;
1237: END IF;
1238: --
1239: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1235: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
1236: FND_MSG_PUB.initialize ;
1237: END IF;
1238: --
1239: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1240: p_overlap_found_flag := FND_API.G_FALSE ;
1241: --
1242:
1243: --
1236: FND_MSG_PUB.initialize ;
1237: END IF;
1238: --
1239: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1240: p_overlap_found_flag := FND_API.G_FALSE ;
1241: --
1242:
1243: --
1244: -- Only one date rannge can be end-dates.
1253: )
1254: AND effective_end_date IS NULL ;
1255:
1256: IF l_count_end_dates > 1 THEN
1257: p_overlap_found_flag := FND_API.G_TRUE ;
1258: FND_MESSAGE.Set_Name('PSB', 'PSB_MANY_OPEN_ENDED_DATES');
1259: FND_MSG_PUB.Add;
1260: RAISE FND_API.G_EXC_ERROR ;
1261: END IF ;
1256: IF l_count_end_dates > 1 THEN
1257: p_overlap_found_flag := FND_API.G_TRUE ;
1258: FND_MESSAGE.Set_Name('PSB', 'PSB_MANY_OPEN_ENDED_DATES');
1259: FND_MSG_PUB.Add;
1260: RAISE FND_API.G_EXC_ERROR ;
1261: END IF ;
1262:
1263:
1264: FOR l_rates_rec IN
1296: )
1297: ) ;
1298:
1299: IF l_count > 0 THEN
1300: p_overlap_found_flag := FND_API.G_TRUE ;
1301: FND_MESSAGE.Set_Name('PSB', 'PSB_DUP_DATE_RANGE');
1302: FND_MSG_PUB.Add;
1303: RAISE FND_API.G_EXC_ERROR ;
1304: END IF ;
1299: IF l_count > 0 THEN
1300: p_overlap_found_flag := FND_API.G_TRUE ;
1301: FND_MESSAGE.Set_Name('PSB', 'PSB_DUP_DATE_RANGE');
1302: FND_MSG_PUB.Add;
1303: RAISE FND_API.G_EXC_ERROR ;
1304: END IF ;
1305: --
1306: END LOOP;
1307:
1305: --
1306: END LOOP;
1307:
1308: --
1309: IF FND_API.To_Boolean ( p_commit ) THEN
1310: COMMIT WORK;
1311: END iF;
1312: --
1313: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1314: p_data => p_msg_data );
1315: --
1316: EXCEPTION
1317: --
1318: WHEN FND_API.G_EXC_ERROR THEN
1319: --
1320: ROLLBACK TO Check_Date_Range_Overlap_Pvt ;
1321: p_return_status := FND_API.G_RET_STS_ERROR;
1322: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1317: --
1318: WHEN FND_API.G_EXC_ERROR THEN
1319: --
1320: ROLLBACK TO Check_Date_Range_Overlap_Pvt ;
1321: p_return_status := FND_API.G_RET_STS_ERROR;
1322: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1323: p_data => p_msg_data );
1324: --
1325: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1321: p_return_status := FND_API.G_RET_STS_ERROR;
1322: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1323: p_data => p_msg_data );
1324: --
1325: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1326: --
1327: ROLLBACK TO Check_Date_Range_Overlap_Pvt ;
1328: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1329: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1324: --
1325: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1326: --
1327: ROLLBACK TO Check_Date_Range_Overlap_Pvt ;
1328: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1329: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
1330: p_data => p_msg_data );
1331: --
1332: WHEN OTHERS THEN
1331: --
1332: WHEN OTHERS THEN
1333: --
1334: ROLLBACK TO Check_Date_Range_Overlap_Pvt ;
1335: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1336: --
1337: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1338: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
1339: l_api_name);