59: -- Begin Table Handler Procedures
60: --
61: PROCEDURE INSERT_ROW (
62: p_api_version in number,
63: p_init_msg_list in varchar2 := fnd_api.g_false,
64: p_commit in varchar2 := fnd_api.g_false,
65: p_validation_level in number := fnd_api.g_valid_level_full,
66: p_return_status OUT NOCOPY varchar2,
67: p_msg_count OUT NOCOPY number,
60: --
61: PROCEDURE INSERT_ROW (
62: p_api_version in number,
63: p_init_msg_list in varchar2 := fnd_api.g_false,
64: p_commit in varchar2 := fnd_api.g_false,
65: p_validation_level in number := fnd_api.g_valid_level_full,
66: p_return_status OUT NOCOPY varchar2,
67: p_msg_count OUT NOCOPY number,
68: p_msg_data OUT NOCOPY varchar2,
61: PROCEDURE INSERT_ROW (
62: p_api_version in number,
63: p_init_msg_list in varchar2 := fnd_api.g_false,
64: p_commit in varchar2 := fnd_api.g_false,
65: p_validation_level in number := fnd_api.g_valid_level_full,
66: p_return_status OUT NOCOPY varchar2,
67: p_msg_count OUT NOCOPY number,
68: p_msg_data OUT NOCOPY varchar2,
69: p_rowid IN OUT NOCOPY varchar2,
105: BEGIN
106: --
107: SAVEPOINT Insert_Row ;
108: --
109: if FND_API.to_Boolean (p_init_msg_list) then
110: FND_MSG_PUB.initialize;
111: end if;
112: --
113: p_return_status := FND_API.G_RET_STS_SUCCESS ;
109: if FND_API.to_Boolean (p_init_msg_list) then
110: FND_MSG_PUB.initialize;
111: end if;
112: --
113: p_return_status := FND_API.G_RET_STS_SUCCESS ;
114: --
115: Check_Used_In_WS
116: (p_calendar_id => p_budget_calendar_id,
117: p_return_status => l_return_status);
115: Check_Used_In_WS
116: (p_calendar_id => p_budget_calendar_id,
117: p_return_status => l_return_status);
118:
119: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
120: RAISE FND_API.G_EXC_ERROR ;
121: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
122: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
123: END IF;
116: (p_calendar_id => p_budget_calendar_id,
117: p_return_status => l_return_status);
118:
119: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
120: RAISE FND_API.G_EXC_ERROR ;
121: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
122: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
123: END IF;
124: --
117: p_return_status => l_return_status);
118:
119: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
120: RAISE FND_API.G_EXC_ERROR ;
121: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
122: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
123: END IF;
124: --
125: P_LAST_UPDATE_DATE := SYSDATE;
118:
119: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
120: RAISE FND_API.G_EXC_ERROR ;
121: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
122: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
123: END IF;
124: --
125: P_LAST_UPDATE_DATE := SYSDATE;
126: if(P_MODE = 'I') then
137: end if;
138: else
139: FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
140: FND_MSG_PUB.Add ;
141: raise FND_API.G_EXC_ERROR;
142: end if;
143: --
144: Check_Consecutive_Year_Types (
145: p_api_version => 1.0,
142: end if;
143: --
144: Check_Consecutive_Year_Types (
145: p_api_version => 1.0,
146: p_init_msg_list => fnd_api.g_false,
147: p_commit => fnd_api.g_false,
148: p_validation_level => fnd_api.g_valid_level_full,
149: p_return_status => p_return_status,
150: p_msg_count => p_msg_count,
143: --
144: Check_Consecutive_Year_Types (
145: p_api_version => 1.0,
146: p_init_msg_list => fnd_api.g_false,
147: p_commit => fnd_api.g_false,
148: p_validation_level => fnd_api.g_valid_level_full,
149: p_return_status => p_return_status,
150: p_msg_count => p_msg_count,
151: p_msg_data => p_msg_data,
144: Check_Consecutive_Year_Types (
145: p_api_version => 1.0,
146: p_init_msg_list => fnd_api.g_false,
147: p_commit => fnd_api.g_false,
148: p_validation_level => fnd_api.g_valid_level_full,
149: p_return_status => p_return_status,
150: p_msg_count => p_msg_count,
151: p_msg_data => p_msg_data,
152: p_calendar_id => p_budget_calendar_id,
155: p_curr_end_date => p_end_date,
156: p_mode_type => 'A'
157: );
158: --
159: if l_return_status = FND_API.G_RET_STS_ERROR then
160: RAISE FND_API.G_EXC_ERROR ;
161: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
162: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
163: end if;
156: p_mode_type => 'A'
157: );
158: --
159: if l_return_status = FND_API.G_RET_STS_ERROR then
160: RAISE FND_API.G_EXC_ERROR ;
161: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
162: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
163: end if;
164: --
157: );
158: --
159: if l_return_status = FND_API.G_RET_STS_ERROR then
160: RAISE FND_API.G_EXC_ERROR ;
161: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
162: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
163: end if;
164: --
165: Check_Duplicate_Year_Types
158: --
159: if l_return_status = FND_API.G_RET_STS_ERROR then
160: RAISE FND_API.G_EXC_ERROR ;
161: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
162: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
163: end if;
164: --
165: Check_Duplicate_Year_Types
166: (p_calendar_id => p_budget_calendar_id,
167: p_curr_year_type => p_budget_year_type_id,
168: p_budget_period_id => p_budget_period_id,
169: p_return_status => l_return_status);
170: --
171: if l_return_status = FND_API.G_RET_STS_ERROR then
172: RAISE FND_API.G_EXC_ERROR ;
173: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
175: end if;
168: p_budget_period_id => p_budget_period_id,
169: p_return_status => l_return_status);
170: --
171: if l_return_status = FND_API.G_RET_STS_ERROR then
172: RAISE FND_API.G_EXC_ERROR ;
173: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
175: end if;
176: --
169: p_return_status => l_return_status);
170: --
171: if l_return_status = FND_API.G_RET_STS_ERROR then
172: RAISE FND_API.G_EXC_ERROR ;
173: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
175: end if;
176: --
177: insert into PSB_BUDGET_PERIODS (
170: --
171: if l_return_status = FND_API.G_RET_STS_ERROR then
172: RAISE FND_API.G_EXC_ERROR ;
173: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
174: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
175: end if;
176: --
177: insert into PSB_BUDGET_PERIODS (
178: budget_period_id,
235: open c;
236: fetch c into P_ROWID;
237: if (c%notfound) then
238: close c;
239: raise FND_API.G_EXC_ERROR ;
240: --raise no_data_found;
241: end if;
242: close c;
243: --
254: p_return_status => l_return_status,
255: p_msg_count => p_msg_count,
256: p_msg_data => p_msg_data
257: );
258: if l_return_status = FND_API.G_RET_STS_ERROR then
259: RAISE FND_API.G_EXC_ERROR ;
260: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
261: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
262: end if;
255: p_msg_count => p_msg_count,
256: p_msg_data => p_msg_data
257: );
258: if l_return_status = FND_API.G_RET_STS_ERROR then
259: RAISE FND_API.G_EXC_ERROR ;
260: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
261: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
262: end if;
263: --+ set requery so form can do execute query when create period button not
256: p_msg_data => p_msg_data
257: );
258: if l_return_status = FND_API.G_RET_STS_ERROR then
259: RAISE FND_API.G_EXC_ERROR ;
260: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
261: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
262: end if;
263: --+ set requery so form can do execute query when create period button not
264: --+ selected....
257: );
258: if l_return_status = FND_API.G_RET_STS_ERROR then
259: RAISE FND_API.G_EXC_ERROR ;
260: elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
261: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
262: end if;
263: --+ set requery so form can do execute query when create period button not
264: --+ selected....
265: p_requery := 'Y' ;
266: end if;
267:
268: --
269: -- Standard check of p_commit.
270: if FND_API.to_Boolean (p_commit) then
271: commit work;
272: end if;
273: -- Standard call to get message count and if count is 1, get message info.
274: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
275: p_data => p_msg_data);
276: --
277: EXCEPTION
278: --
279: when FND_API.G_EXC_ERROR then
280: --
281: rollback to INSERT_ROW ;
282: p_return_status := FND_API.G_RET_STS_ERROR;
283: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
278: --
279: when FND_API.G_EXC_ERROR then
280: --
281: rollback to INSERT_ROW ;
282: p_return_status := FND_API.G_RET_STS_ERROR;
283: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
284: p_data => p_msg_data);
285: --
286: when FND_API.G_EXC_UNEXPECTED_ERROR then
282: p_return_status := FND_API.G_RET_STS_ERROR;
283: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
284: p_data => p_msg_data);
285: --
286: when FND_API.G_EXC_UNEXPECTED_ERROR then
287: --
288: rollback to INSERT_ROW ;
289: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
290: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
285: --
286: when FND_API.G_EXC_UNEXPECTED_ERROR then
287: --
288: rollback to INSERT_ROW ;
289: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
290: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
291: p_data => p_msg_data);
292: --
293: when OTHERS then
292: --
293: when OTHERS then
294: --
295: rollback to INSERT_ROW ;
296: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
297: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
298: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
299: l_api_name);
300: END if;
304: END INSERT_ROW;
305: --
306: PROCEDURE LOCK_ROW (
307: p_api_version in number,
308: p_init_msg_list in varchar2 := fnd_api.g_false,
309: p_commit in varchar2 := fnd_api.g_false,
310: p_validation_level in number := fnd_api.g_valid_level_full,
311: p_return_status OUT NOCOPY varchar2,
312: p_msg_count OUT NOCOPY number,
305: --
306: PROCEDURE LOCK_ROW (
307: p_api_version in number,
308: p_init_msg_list in varchar2 := fnd_api.g_false,
309: p_commit in varchar2 := fnd_api.g_false,
310: p_validation_level in number := fnd_api.g_valid_level_full,
311: p_return_status OUT NOCOPY varchar2,
312: p_msg_count OUT NOCOPY number,
313: p_msg_data OUT NOCOPY varchar2,
306: PROCEDURE LOCK_ROW (
307: p_api_version in number,
308: p_init_msg_list in varchar2 := fnd_api.g_false,
309: p_commit in varchar2 := fnd_api.g_false,
310: p_validation_level in number := fnd_api.g_valid_level_full,
311: p_return_status OUT NOCOPY varchar2,
312: p_msg_count OUT NOCOPY number,
313: p_msg_data OUT NOCOPY varchar2,
314: p_row_locked OUT NOCOPY varchar2,
370: BEGIN
371: --
372: SAVEPOINT Lock_Row ;
373: --
374: if FND_API.to_Boolean (p_init_msg_list) then
375: FND_MSG_PUB.initialize;
376: end if;
377: --
378: p_return_status := FND_API.G_RET_STS_SUCCESS ;
374: if FND_API.to_Boolean (p_init_msg_list) then
375: FND_MSG_PUB.initialize;
376: end if;
377: --
378: p_return_status := FND_API.G_RET_STS_SUCCESS ;
379: p_row_locked := FND_API.G_TRUE ;
380: --
381: open c1;
382: fetch c1 into tlinfo;
375: FND_MSG_PUB.initialize;
376: end if;
377: --
378: p_return_status := FND_API.G_RET_STS_SUCCESS ;
379: p_row_locked := FND_API.G_TRUE ;
380: --
381: open c1;
382: fetch c1 into tlinfo;
383: if (c1%notfound) then
383: if (c1%notfound) then
384: fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
385: fnd_msg_pub.add ;
386: close c1;
387: raise fnd_api.g_exc_error ;
388: end if;
389: close c1;
390: --
391: if ( (tlinfo.BUDGET_CALENDAR_ID = P_BUDGET_CALENDAR_ID)
445: null;
446: else
447: fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
448: fnd_msg_pub.add ;
449: raise fnd_api.g_exc_error ;
450: end if;
451:
452: EXCEPTION
453: when app_exception.record_lock_exception then
452: EXCEPTION
453: when app_exception.record_lock_exception then
454: --
455: rollback to LOCK_ROW ;
456: p_row_locked := FND_API.G_FALSE ;
457: p_return_status := FND_API.G_RET_STS_ERROR;
458: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
459: p_data => p_msg_data);
460: --
453: when app_exception.record_lock_exception then
454: --
455: rollback to LOCK_ROW ;
456: p_row_locked := FND_API.G_FALSE ;
457: p_return_status := FND_API.G_RET_STS_ERROR;
458: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
459: p_data => p_msg_data);
460: --
461: when FND_API.G_EXC_ERROR then
457: p_return_status := FND_API.G_RET_STS_ERROR;
458: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
459: p_data => p_msg_data);
460: --
461: when FND_API.G_EXC_ERROR then
462: --
463: rollback to LOCK_ROW ;
464: p_return_status := FND_API.G_RET_STS_ERROR;
465: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
460: --
461: when FND_API.G_EXC_ERROR then
462: --
463: rollback to LOCK_ROW ;
464: p_return_status := FND_API.G_RET_STS_ERROR;
465: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
466: p_data => p_msg_data);
467: --
468: when FND_API.G_EXC_UNEXPECTED_ERROR then
464: p_return_status := FND_API.G_RET_STS_ERROR;
465: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
466: p_data => p_msg_data);
467: --
468: when FND_API.G_EXC_UNEXPECTED_ERROR then
469: --
470: rollback to LOCK_ROW ;
471: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
472: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
467: --
468: when FND_API.G_EXC_UNEXPECTED_ERROR then
469: --
470: rollback to LOCK_ROW ;
471: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
472: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
473: p_data => p_msg_data);
474: --
475: when OTHERS then
474: --
475: when OTHERS then
476: --
477: rollback to LOCK_ROW ;
478: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
479: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
480: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
481: l_api_name);
482: END if;
486: END LOCK_ROW;
487: --
488: PROCEDURE UPDATE_ROW (
489: p_api_version in number,
490: p_init_msg_list in varchar2 := fnd_api.g_false,
491: p_commit in varchar2 := fnd_api.g_false,
492: p_validation_level in number := fnd_api.g_valid_level_full,
493: p_return_status OUT NOCOPY varchar2,
494: p_msg_count OUT NOCOPY number,
487: --
488: PROCEDURE UPDATE_ROW (
489: p_api_version in number,
490: p_init_msg_list in varchar2 := fnd_api.g_false,
491: p_commit in varchar2 := fnd_api.g_false,
492: p_validation_level in number := fnd_api.g_valid_level_full,
493: p_return_status OUT NOCOPY varchar2,
494: p_msg_count OUT NOCOPY number,
495: p_msg_data OUT NOCOPY varchar2,
488: PROCEDURE UPDATE_ROW (
489: p_api_version in number,
490: p_init_msg_list in varchar2 := fnd_api.g_false,
491: p_commit in varchar2 := fnd_api.g_false,
492: p_validation_level in number := fnd_api.g_valid_level_full,
493: p_return_status OUT NOCOPY varchar2,
494: p_msg_count OUT NOCOPY number,
495: p_msg_data OUT NOCOPY varchar2,
496: p_budget_period_id in number,
533: BEGIN
534: --
535: SAVEPOINT Update_Row ;
536: --
537: if FND_API.to_Boolean (p_init_msg_list) then
538: FND_MSG_PUB.initialize;
539: end if;
540:
541: -- Initialize API return status to success
539: end if;
540:
541: -- Initialize API return status to success
542:
543: p_return_status := FND_API.G_RET_STS_SUCCESS ;
544:
545: --
546: Check_Used_In_WS
547: (p_calendar_id => p_budget_calendar_id,
546: Check_Used_In_WS
547: (p_calendar_id => p_budget_calendar_id,
548: p_return_status => l_return_status);
549:
550: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
551: RAISE FND_API.G_EXC_ERROR ;
552: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
553: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
554: END IF;
547: (p_calendar_id => p_budget_calendar_id,
548: p_return_status => l_return_status);
549:
550: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
551: RAISE FND_API.G_EXC_ERROR ;
552: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
553: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
554: END IF;
555:
548: p_return_status => l_return_status);
549:
550: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
551: RAISE FND_API.G_EXC_ERROR ;
552: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
553: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
554: END IF;
555:
556: --
549:
550: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
551: RAISE FND_API.G_EXC_ERROR ;
552: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
553: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
554: END IF;
555:
556: --
557: P_LAST_UPDATE_DATE := SYSDATE;
569: end if;
570: else
571: FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
572: FND_MSG_PUB.Add ;
573: raise FND_API.G_EXC_ERROR ;
574: end if;
575:
576: --
577: -- get original value of distribution type and calc type to determine
582: from psb_budget_periods
583: where budget_period_id = p_budget_period_id;
584:
585: if sql%notfound then
586: raise FND_API.G_EXC_ERROR;
587: end if;
588:
589: if l_pd_dist_type <> p_period_distribution_type then
590: l_update_dist := 'Y';
624: where BUDGET_PERIOD_ID = P_BUDGET_PERIOD_ID
625: ;
626: if (sql%notfound) then
627: -- raise no_data_found;
628: raise FND_API.G_EXC_ERROR ;
629: end if;
630:
631: -- create new periods or calcs
632: Create_New_Distr_Calc_Period(
642: p_return_status => l_return_status,
643: p_msg_count => p_msg_count,
644: p_msg_data => p_msg_data
645: );
646: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
647: RAISE FND_API.G_EXC_ERROR ;
648: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
650: END IF;
643: p_msg_count => p_msg_count,
644: p_msg_data => p_msg_data
645: );
646: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
647: RAISE FND_API.G_EXC_ERROR ;
648: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
650: END IF;
651:
644: p_msg_data => p_msg_data
645: );
646: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
647: RAISE FND_API.G_EXC_ERROR ;
648: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
650: END IF;
651:
652: IF l_update_dist = 'Y' THEN
645: );
646: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
647: RAISE FND_API.G_EXC_ERROR ;
648: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
650: END IF;
651:
652: IF l_update_dist = 'Y' THEN
653: p_requery := 'Y' ;
656: --
657: --
658: -- Standard check of p_commit.
659:
660: if FND_API.to_Boolean (p_commit) then
661: commit work;
662: end if;
663:
664: -- Standard call to get message count and if count is 1, get message info.
667: p_data => p_msg_data);
668: --
669: EXCEPTION
670:
671: when FND_API.G_EXC_ERROR then
672: --
673: rollback to Update_Row ;
674: p_return_status := FND_API.G_RET_STS_ERROR;
675: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
670:
671: when FND_API.G_EXC_ERROR then
672: --
673: rollback to Update_Row ;
674: p_return_status := FND_API.G_RET_STS_ERROR;
675: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
676: p_data => p_msg_data);
677: --
678: when FND_API.G_EXC_UNEXPECTED_ERROR then
674: p_return_status := FND_API.G_RET_STS_ERROR;
675: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
676: p_data => p_msg_data);
677: --
678: when FND_API.G_EXC_UNEXPECTED_ERROR then
679: --
680: rollback to Update_Row ;
681: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
682: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
677: --
678: when FND_API.G_EXC_UNEXPECTED_ERROR then
679: --
680: rollback to Update_Row ;
681: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
682: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
683: p_data => p_msg_data);
684: --
685: when OTHERS then
684: --
685: when OTHERS then
686: --
687: rollback to Update_Row ;
688: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
689: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
690: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
691: l_api_name);
692: end if;
697: END UPDATE_ROW;
698: --
699: PROCEDURE ADD_ROW (
700: p_api_version in number,
701: p_init_msg_list in varchar2 := fnd_api.g_false,
702: p_commit in varchar2 := fnd_api.g_false,
703: p_validation_level in number := fnd_api.g_valid_level_full,
704: p_return_status OUT NOCOPY varchar2,
705: p_msg_count OUT NOCOPY number,
698: --
699: PROCEDURE ADD_ROW (
700: p_api_version in number,
701: p_init_msg_list in varchar2 := fnd_api.g_false,
702: p_commit in varchar2 := fnd_api.g_false,
703: p_validation_level in number := fnd_api.g_valid_level_full,
704: p_return_status OUT NOCOPY varchar2,
705: p_msg_count OUT NOCOPY number,
706: p_msg_data OUT NOCOPY varchar2,
699: PROCEDURE ADD_ROW (
700: p_api_version in number,
701: p_init_msg_list in varchar2 := fnd_api.g_false,
702: p_commit in varchar2 := fnd_api.g_false,
703: p_validation_level in number := fnd_api.g_valid_level_full,
704: p_return_status OUT NOCOPY varchar2,
705: p_msg_count OUT NOCOPY number,
706: p_msg_data OUT NOCOPY varchar2,
707: p_rowid in OUT NOCOPY varchar2,
743: SAVEPOINT Add_Row ;
744: --
745: -- Initialize message list if p_init_msg_list is set to TRUE.
746: --
747: if FND_API.to_Boolean (p_init_msg_list) then
748: FND_MSG_PUB.initialize;
749: end if;
750: --
751: p_return_status := FND_API.G_RET_STS_SUCCESS ;
747: if FND_API.to_Boolean (p_init_msg_list) then
748: FND_MSG_PUB.initialize;
749: end if;
750: --
751: p_return_status := FND_API.G_RET_STS_SUCCESS ;
752: --
753: open c1;
754: fetch c1 into dummy;
755: if (c1%notfound) then
787: p_context,
788: p_mode,
789: p_requery );
790: --
791: if FND_API.to_Boolean (p_commit) then
792: commit work;
793: end if;
794: -- Standard call to get message count and if count is 1, get message info.
795: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
831: p_mode,
832: p_requery );
833: -- Standard check of p_commit.
834:
835: if FND_API.to_Boolean (p_commit) then
836: commit work;
837: end if;
838:
839: -- Standard call to get message count and if count is 1, get message info.
844: END ADD_ROW;
845: --
846: PROCEDURE DELETE_ROW (
847: p_api_version in number,
848: p_init_msg_list in varchar2 := fnd_api.g_false,
849: p_commit in varchar2 := fnd_api.g_false,
850: p_validation_level in number := fnd_api.g_valid_level_full,
851: p_return_status OUT NOCOPY varchar2,
852: p_msg_count OUT NOCOPY number,
845: --
846: PROCEDURE DELETE_ROW (
847: p_api_version in number,
848: p_init_msg_list in varchar2 := fnd_api.g_false,
849: p_commit in varchar2 := fnd_api.g_false,
850: p_validation_level in number := fnd_api.g_valid_level_full,
851: p_return_status OUT NOCOPY varchar2,
852: p_msg_count OUT NOCOPY number,
853: p_msg_data OUT NOCOPY varchar2,
846: PROCEDURE DELETE_ROW (
847: p_api_version in number,
848: p_init_msg_list in varchar2 := fnd_api.g_false,
849: p_commit in varchar2 := fnd_api.g_false,
850: p_validation_level in number := fnd_api.g_valid_level_full,
851: p_return_status OUT NOCOPY varchar2,
852: p_msg_count OUT NOCOPY number,
853: p_msg_data OUT NOCOPY varchar2,
854: p_budget_period_id in number
867: SAVEPOINT Delete_Row ;
868: --
869: -- Initialize message list if p_init_msg_list is set to TRUE.
870: --
871: if FND_API.to_Boolean (p_init_msg_list) then
872: FND_MSG_PUB.initialize;
873: end if;
874: --
875: p_return_status := FND_API.G_RET_STS_SUCCESS ;
871: if FND_API.to_Boolean (p_init_msg_list) then
872: FND_MSG_PUB.initialize;
873: end if;
874: --
875: p_return_status := FND_API.G_RET_STS_SUCCESS ;
876: --
877: -- check first if calendar not used in worksheet
878: select budget_calendar_id,start_date,end_date,budget_year_type_id
879: into l_budget_calendar_id,l_start_date,l_end_date,l_budget_year_type_id
884: Check_Used_In_WS
885: (p_calendar_id => l_budget_calendar_id,
886: p_return_status => l_return_status);
887:
888: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
889: RAISE FND_API.G_EXC_ERROR ;
890: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
891: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
892: END IF;
885: (p_calendar_id => l_budget_calendar_id,
886: p_return_status => l_return_status);
887:
888: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
889: RAISE FND_API.G_EXC_ERROR ;
890: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
891: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
892: END IF;
893: --
886: p_return_status => l_return_status);
887:
888: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
889: RAISE FND_API.G_EXC_ERROR ;
890: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
891: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
892: END IF;
893: --
894: delete from PSB_BUDGET_PERIODS
887:
888: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
889: RAISE FND_API.G_EXC_ERROR ;
890: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
891: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
892: END IF;
893: --
894: delete from PSB_BUDGET_PERIODS
895: where parent_budget_period_id = p_budget_period_id;
900: delete from PSB_BUDGET_PERIODS
901: where BUDGET_PERIOD_ID = P_BUDGET_PERIOD_ID;
902: if (sql%notfound) then
903: -- raise no_data_found;
904: raise FND_API.G_EXC_ERROR ;
905: end if;
906: --
907: -- Standard check of p_commit.
908: --
905: end if;
906: --
907: -- Standard check of p_commit.
908: --
909: if FND_API.to_Boolean (p_commit) then
910: commit work;
911: end if;
912:
913: -- Standard call to get message count and if count is 1, get message info.
915: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
916: p_data => p_msg_data);
917: --
918: EXCEPTION
919: when FND_API.G_EXC_ERROR then
920: --
921: rollback to Delete_Row;
922: p_return_status := FND_API.G_RET_STS_ERROR;
923: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
918: EXCEPTION
919: when FND_API.G_EXC_ERROR then
920: --
921: rollback to Delete_Row;
922: p_return_status := FND_API.G_RET_STS_ERROR;
923: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
924: p_data => p_msg_data);
925: --
926: when FND_API.G_EXC_UNEXPECTED_ERROR then
922: p_return_status := FND_API.G_RET_STS_ERROR;
923: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
924: p_data => p_msg_data);
925: --
926: when FND_API.G_EXC_UNEXPECTED_ERROR then
927: --
928: rollback to Delete_Row;
929: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
930: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
925: --
926: when FND_API.G_EXC_UNEXPECTED_ERROR then
927: --
928: rollback to Delete_Row;
929: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
930: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
931: p_data => p_msg_data);
932: --
933: when OTHERS then
932: --
933: when OTHERS then
934: --
935: rollback to Delete_Row ;
936: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
937: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
938: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
939: l_api_name);
940: end if;
964: --
965: IF l_type_count > 0 THEN
966: FND_MESSAGE.SET_NAME('PSB', 'PSB_DUP_YEAR_TYPE_IN_CAL');
967: FND_MSG_PUB.Add ;
968: RAISE FND_API.G_EXC_ERROR ;
969: END IF;
970: --
971: p_return_status := FND_API.G_RET_STS_SUCCESS ;
972: --
967: FND_MSG_PUB.Add ;
968: RAISE FND_API.G_EXC_ERROR ;
969: END IF;
970: --
971: p_return_status := FND_API.G_RET_STS_SUCCESS ;
972: --
973: EXCEPTION
974: --
975: when FND_API.G_EXC_ERROR then
971: p_return_status := FND_API.G_RET_STS_SUCCESS ;
972: --
973: EXCEPTION
974: --
975: when FND_API.G_EXC_ERROR then
976: --
977: p_return_status := FND_API.G_RET_STS_ERROR;
978: --
979: when FND_API.G_EXC_UNEXPECTED_ERROR then
973: EXCEPTION
974: --
975: when FND_API.G_EXC_ERROR then
976: --
977: p_return_status := FND_API.G_RET_STS_ERROR;
978: --
979: when FND_API.G_EXC_UNEXPECTED_ERROR then
980: --
981: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
975: when FND_API.G_EXC_ERROR then
976: --
977: p_return_status := FND_API.G_RET_STS_ERROR;
978: --
979: when FND_API.G_EXC_UNEXPECTED_ERROR then
980: --
981: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
982: --
983: END Check_Duplicate_Year_Types;
977: p_return_status := FND_API.G_RET_STS_ERROR;
978: --
979: when FND_API.G_EXC_UNEXPECTED_ERROR then
980: --
981: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
982: --
983: END Check_Duplicate_Year_Types;
984: --
985: PROCEDURE Check_Consecutive_Year_Types(
983: END Check_Duplicate_Year_Types;
984: --
985: PROCEDURE Check_Consecutive_Year_Types(
986: p_api_version IN NUMBER,
987: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
988: p_commit IN VARCHAR2 := FND_API.G_FALSE,
989: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
990: p_return_status OUT NOCOPY VARCHAR2,
991: p_msg_count OUT NOCOPY NUMBER,
984: --
985: PROCEDURE Check_Consecutive_Year_Types(
986: p_api_version IN NUMBER,
987: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
988: p_commit IN VARCHAR2 := FND_API.G_FALSE,
989: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
990: p_return_status OUT NOCOPY VARCHAR2,
991: p_msg_count OUT NOCOPY NUMBER,
992: p_msg_data OUT NOCOPY VARCHAR2,
985: PROCEDURE Check_Consecutive_Year_Types(
986: p_api_version IN NUMBER,
987: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
988: p_commit IN VARCHAR2 := FND_API.G_FALSE,
989: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
990: p_return_status OUT NOCOPY VARCHAR2,
991: p_msg_count OUT NOCOPY NUMBER,
992: p_msg_data OUT NOCOPY VARCHAR2,
993: p_calendar_id IN NUMBER,
1045: AND b.budget_year_type_id = p_curr_year_type;
1046: --
1047: BEGIN
1048: --
1049: p_return_status := FND_API.G_RET_STS_SUCCESS;
1050: OPEN prior_year_csr ;
1051: FETCH prior_year_csr INTO l_prior_year_seq, l_prior_end_date ;
1052: IF prior_year_csr%NOTFOUND THEN
1053: IF (p_mode_type = 'A') THEN
1081: IF (p_curr_start_date <> l_prior_end_date + 1 ) OR
1082: (p_curr_end_date <> l_next_start_date - 1 ) THEN
1083: FND_MESSAGE.SET_NAME('PSB', 'PSB_YEAR_DATE_MUST_BE_CONSEC');
1084: FND_MSG_PUB.Add ;
1085: RAISE FND_API.G_EXC_ERROR ;
1086: ELSE
1087: IF ((l_prior_year_seq is not null and
1088: l_prior_seq is not null) and
1089: l_prior_year_seq <> l_prior_seq ) OR
1091: l_next_seq is not null) and
1092: l_next_year_seq <> l_next_seq ) THEN
1093: FND_MESSAGE.SET_NAME('PSB', 'PSB_YEAR_TYPE_MUST_BE_CONSEC');
1094: FND_MSG_PUB.Add ;
1095: RAISE FND_API.G_EXC_ERROR ;
1096: END IF ;
1097: END IF;
1098: END IF;
1099: --
1101: IF (p_curr_start_date = l_prior_end_date + 1 ) AND
1102: (p_curr_end_date = l_next_start_date - 1 ) THEN
1103: FND_MESSAGE.SET_NAME('PSB', 'PSB_CANNOT_DELETE_YEAR');
1104: FND_MSG_PUB.Add ;
1105: RAISE FND_API.G_EXC_ERROR ;
1106: END IF;
1107: END IF;
1108: --
1109: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1105: RAISE FND_API.G_EXC_ERROR ;
1106: END IF;
1107: END IF;
1108: --
1109: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1110:
1111: -- Standard call to get message count and if count is 1, get message info.
1112: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1113: p_data => p_msg_data);
1114: --
1115: --
1116: EXCEPTION
1117: --
1118: when FND_API.G_EXC_ERROR then
1119: --
1120: p_return_status := FND_API.G_RET_STS_ERROR;
1121: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1122: p_data => p_msg_data);
1116: EXCEPTION
1117: --
1118: when FND_API.G_EXC_ERROR then
1119: --
1120: p_return_status := FND_API.G_RET_STS_ERROR;
1121: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1122: p_data => p_msg_data);
1123: --
1124: when FND_API.G_EXC_UNEXPECTED_ERROR then
1120: p_return_status := FND_API.G_RET_STS_ERROR;
1121: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1122: p_data => p_msg_data);
1123: --
1124: when FND_API.G_EXC_UNEXPECTED_ERROR then
1125: --
1126: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1127: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1128: p_data => p_msg_data);
1122: p_data => p_msg_data);
1123: --
1124: when FND_API.G_EXC_UNEXPECTED_ERROR then
1125: --
1126: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1127: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1128: p_data => p_msg_data);
1129: --
1130: when OTHERS then
1128: p_data => p_msg_data);
1129: --
1130: when OTHERS then
1131: --
1132: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1133: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
1134: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
1135: l_api_name);
1136: END if;
1194: --
1195: --
1196: INSERT_ROW (
1197: p_api_version => 1.0,
1198: p_init_msg_list => fnd_api.g_false,
1199: p_commit => fnd_api.g_false,
1200: p_validation_level => fnd_api.g_valid_level_full,
1201: p_return_status => l_return_status,
1202: p_msg_count => p_msg_count,
1195: --
1196: INSERT_ROW (
1197: p_api_version => 1.0,
1198: p_init_msg_list => fnd_api.g_false,
1199: p_commit => fnd_api.g_false,
1200: p_validation_level => fnd_api.g_valid_level_full,
1201: p_return_status => l_return_status,
1202: p_msg_count => p_msg_count,
1203: p_msg_data => p_msg_data,
1196: INSERT_ROW (
1197: p_api_version => 1.0,
1198: p_init_msg_list => fnd_api.g_false,
1199: p_commit => fnd_api.g_false,
1200: p_validation_level => fnd_api.g_valid_level_full,
1201: p_return_status => l_return_status,
1202: p_msg_count => p_msg_count,
1203: p_msg_data => p_msg_data,
1204: p_rowid => l_rowid,
1227: p_mode => 'R',
1228: p_requery => l_requery
1229: );
1230: --
1231: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1232: RAISE FND_API.G_EXC_ERROR ;
1233: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1235: END IF;
1228: p_requery => l_requery
1229: );
1230: --
1231: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1232: RAISE FND_API.G_EXC_ERROR ;
1233: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1235: END IF;
1236: --
1229: );
1230: --
1231: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1232: RAISE FND_API.G_EXC_ERROR ;
1233: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1235: END IF;
1236: --
1237: --p_requery := 'N';
1230: --
1231: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1232: RAISE FND_API.G_EXC_ERROR ;
1233: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1235: END IF;
1236: --
1237: --p_requery := 'N';
1238: l_start_date := l_end_date + 1 ;
1239: l_counter := l_counter + 1 ;
1240: --
1241: END LOOP;
1242: --
1243: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1244: --
1245: EXCEPTION
1246:
1247: when FND_API.G_EXC_ERROR then
1243: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1244: --
1245: EXCEPTION
1246:
1247: when FND_API.G_EXC_ERROR then
1248: --
1249: p_return_status := FND_API.G_RET_STS_ERROR;
1250: --
1251: when FND_API.G_EXC_UNEXPECTED_ERROR then
1245: EXCEPTION
1246:
1247: when FND_API.G_EXC_ERROR then
1248: --
1249: p_return_status := FND_API.G_RET_STS_ERROR;
1250: --
1251: when FND_API.G_EXC_UNEXPECTED_ERROR then
1252: --
1253: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1247: when FND_API.G_EXC_ERROR then
1248: --
1249: p_return_status := FND_API.G_RET_STS_ERROR;
1250: --
1251: when FND_API.G_EXC_UNEXPECTED_ERROR then
1252: --
1253: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1254: --
1255: END Create_Child_Periods ;
1249: p_return_status := FND_API.G_RET_STS_ERROR;
1250: --
1251: when FND_API.G_EXC_UNEXPECTED_ERROR then
1252: --
1253: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1254: --
1255: END Create_Child_Periods ;
1256: --
1257: PROCEDURE Create_Budget_Periods
1280: p_return_status => l_return_status,
1281: p_msg_count => p_msg_count,
1282: p_msg_data => p_msg_data);
1283: --
1284: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1285: RAISE FND_API.G_EXC_ERROR ;
1286: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1287: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1288: END IF;
1281: p_msg_count => p_msg_count,
1282: p_msg_data => p_msg_data);
1283: --
1284: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1285: RAISE FND_API.G_EXC_ERROR ;
1286: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1287: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1288: END IF;
1289: --
1282: p_msg_data => p_msg_data);
1283: --
1284: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1285: RAISE FND_API.G_EXC_ERROR ;
1286: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1287: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1288: END IF;
1289: --
1290: EXCEPTION
1283: --
1284: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1285: RAISE FND_API.G_EXC_ERROR ;
1286: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1287: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1288: END IF;
1289: --
1290: EXCEPTION
1291:
1288: END IF;
1289: --
1290: EXCEPTION
1291:
1292: when FND_API.G_EXC_ERROR then
1293: --
1294: p_return_status := FND_API.G_RET_STS_ERROR;
1295: --
1296: when FND_API.G_EXC_UNEXPECTED_ERROR then
1290: EXCEPTION
1291:
1292: when FND_API.G_EXC_ERROR then
1293: --
1294: p_return_status := FND_API.G_RET_STS_ERROR;
1295: --
1296: when FND_API.G_EXC_UNEXPECTED_ERROR then
1297: --
1298: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1292: when FND_API.G_EXC_ERROR then
1293: --
1294: p_return_status := FND_API.G_RET_STS_ERROR;
1295: --
1296: when FND_API.G_EXC_UNEXPECTED_ERROR then
1297: --
1298: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1299: --
1300: END Create_Budget_Periods ;
1294: p_return_status := FND_API.G_RET_STS_ERROR;
1295: --
1296: when FND_API.G_EXC_UNEXPECTED_ERROR then
1297: --
1298: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1299: --
1300: END Create_Budget_Periods ;
1301: --
1302: PROCEDURE Create_New_Distr_Calc_Period(
1321: BEGIN
1322:
1323: -- Initialize API return status to success
1324:
1325: l_return_status := FND_API.G_RET_STS_SUCCESS;
1326:
1327: --
1328: -- delete existing budget periods and create new ones
1329:
1353: p_period_record_type => 'P',
1354: p_return_status => l_return_status,
1355: p_msg_count => p_msg_count,
1356: p_msg_data => p_msg_data);
1357: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1358: RAISE FND_API.G_EXC_ERROR ;
1359: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1361: END IF;
1354: p_return_status => l_return_status,
1355: p_msg_count => p_msg_count,
1356: p_msg_data => p_msg_data);
1357: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1358: RAISE FND_API.G_EXC_ERROR ;
1359: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1361: END IF;
1362:
1355: p_msg_count => p_msg_count,
1356: p_msg_data => p_msg_data);
1357: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1358: RAISE FND_API.G_EXC_ERROR ;
1359: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1361: END IF;
1362:
1363: END IF;
1356: p_msg_data => p_msg_data);
1357: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1358: RAISE FND_API.G_EXC_ERROR ;
1359: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1361: END IF;
1362:
1363: END IF;
1364:
1392: p_period_record_type => 'C',
1393: p_return_status => l_return_status,
1394: p_msg_count => p_msg_count,
1395: p_msg_data => p_msg_data);
1396: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1397: RAISE FND_API.G_EXC_ERROR ;
1398: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1399: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1400: END IF;
1393: p_return_status => l_return_status,
1394: p_msg_count => p_msg_count,
1395: p_msg_data => p_msg_data);
1396: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1397: RAISE FND_API.G_EXC_ERROR ;
1398: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1399: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1400: END IF;
1401:
1394: p_msg_count => p_msg_count,
1395: p_msg_data => p_msg_data);
1396: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1397: RAISE FND_API.G_EXC_ERROR ;
1398: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1399: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1400: END IF;
1401:
1402: END IF;
1395: p_msg_data => p_msg_data);
1396: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1397: RAISE FND_API.G_EXC_ERROR ;
1398: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1399: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1400: END IF;
1401:
1402: END IF;
1403:
1403:
1404: END IF;
1405:
1406: --
1407: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1408: --
1409: EXCEPTION
1410:
1411: when FND_API.G_EXC_ERROR then
1407: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1408: --
1409: EXCEPTION
1410:
1411: when FND_API.G_EXC_ERROR then
1412: --
1413: p_return_status := FND_API.G_RET_STS_ERROR;
1414: --
1415: when FND_API.G_EXC_UNEXPECTED_ERROR then
1409: EXCEPTION
1410:
1411: when FND_API.G_EXC_ERROR then
1412: --
1413: p_return_status := FND_API.G_RET_STS_ERROR;
1414: --
1415: when FND_API.G_EXC_UNEXPECTED_ERROR then
1416: --
1417: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1411: when FND_API.G_EXC_ERROR then
1412: --
1413: p_return_status := FND_API.G_RET_STS_ERROR;
1414: --
1415: when FND_API.G_EXC_UNEXPECTED_ERROR then
1416: --
1417: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1418: --
1419: END Create_New_Distr_Calc_Period;
1413: p_return_status := FND_API.G_RET_STS_ERROR;
1414: --
1415: when FND_API.G_EXC_UNEXPECTED_ERROR then
1416: --
1417: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1418: --
1419: END Create_New_Distr_Calc_Period;
1420: ----
1421: PROCEDURE Create_Periods(
1438: BEGIN
1439:
1440: -- Initialize API return status to success
1441:
1442: l_return_status := FND_API.G_RET_STS_SUCCESS;
1443: --
1444: IF p_budget_period_type <> 'Y' THEN
1445:
1446: Create_Budget_Periods(
1453: p_period_record_type => 'P',
1454: p_return_status => l_return_status,
1455: p_msg_count => p_msg_count,
1456: p_msg_data => p_msg_data);
1457: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1458: RAISE FND_API.G_EXC_ERROR ;
1459: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1461: END IF;
1454: p_return_status => l_return_status,
1455: p_msg_count => p_msg_count,
1456: p_msg_data => p_msg_data);
1457: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1458: RAISE FND_API.G_EXC_ERROR ;
1459: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1461: END IF;
1462: END IF;
1455: p_msg_count => p_msg_count,
1456: p_msg_data => p_msg_data);
1457: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1458: RAISE FND_API.G_EXC_ERROR ;
1459: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1461: END IF;
1462: END IF;
1463:
1456: p_msg_data => p_msg_data);
1457: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1458: RAISE FND_API.G_EXC_ERROR ;
1459: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1461: END IF;
1462: END IF;
1463:
1464: --
1478: p_return_status => l_return_status,
1479: p_msg_count => p_msg_count,
1480: p_msg_data => p_msg_data);
1481:
1482: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1483: RAISE FND_API.G_EXC_ERROR ;
1484: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1485: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1486: END IF;
1479: p_msg_count => p_msg_count,
1480: p_msg_data => p_msg_data);
1481:
1482: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1483: RAISE FND_API.G_EXC_ERROR ;
1484: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1485: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1486: END IF;
1487:
1480: p_msg_data => p_msg_data);
1481:
1482: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1483: RAISE FND_API.G_EXC_ERROR ;
1484: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1485: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1486: END IF;
1487:
1488: END IF;
1481:
1482: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1483: RAISE FND_API.G_EXC_ERROR ;
1484: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1485: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1486: END IF;
1487:
1488: END IF;
1489:
1487:
1488: END IF;
1489:
1490: --
1491: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1492: --
1493: EXCEPTION
1494:
1495: when FND_API.G_EXC_ERROR then
1491: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1492: --
1493: EXCEPTION
1494:
1495: when FND_API.G_EXC_ERROR then
1496: --
1497: p_return_status := FND_API.G_RET_STS_ERROR;
1498: --
1499: when FND_API.G_EXC_UNEXPECTED_ERROR then
1493: EXCEPTION
1494:
1495: when FND_API.G_EXC_ERROR then
1496: --
1497: p_return_status := FND_API.G_RET_STS_ERROR;
1498: --
1499: when FND_API.G_EXC_UNEXPECTED_ERROR then
1500: --
1501: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1495: when FND_API.G_EXC_ERROR then
1496: --
1497: p_return_status := FND_API.G_RET_STS_ERROR;
1498: --
1499: when FND_API.G_EXC_UNEXPECTED_ERROR then
1500: --
1501: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1502: --
1503: END Create_Periods ;
1497: p_return_status := FND_API.G_RET_STS_ERROR;
1498: --
1499: when FND_API.G_EXC_UNEXPECTED_ERROR then
1500: --
1501: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1502: --
1503: END Create_Periods ;
1504: --
1505: PROCEDURE Copy_Years_In_Calendar(
1503: END Create_Periods ;
1504: --
1505: PROCEDURE Copy_Years_In_Calendar(
1506: p_api_version IN NUMBER,
1507: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1508: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1509: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1510: p_return_status OUT NOCOPY VARCHAR2,
1511: p_msg_count OUT NOCOPY NUMBER,
1504: --
1505: PROCEDURE Copy_Years_In_Calendar(
1506: p_api_version IN NUMBER,
1507: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1508: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1509: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1510: p_return_status OUT NOCOPY VARCHAR2,
1511: p_msg_count OUT NOCOPY NUMBER,
1512: p_msg_data OUT NOCOPY VARCHAR2,
1505: PROCEDURE Copy_Years_In_Calendar(
1506: p_api_version IN NUMBER,
1507: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1508: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1509: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1510: p_return_status OUT NOCOPY VARCHAR2,
1511: p_msg_count OUT NOCOPY NUMBER,
1512: p_msg_data OUT NOCOPY VARCHAR2,
1513: p_source_cal_id IN NUMBER,
1570: SAVEPOINT Copy_Years_In_Calendar;
1571:
1572: -- Initialize message list if p_init_msg_list is set to TRUE.
1573:
1574: if FND_API.to_Boolean (p_init_msg_list) then
1575: FND_MSG_PUB.initialize;
1576: end if;
1577:
1578: -- Initialize API return status to success
1576: end if;
1577:
1578: -- Initialize API return status to success
1579:
1580: l_return_status := FND_API.G_RET_STS_SUCCESS;
1581: --
1582:
1583: FOR cal_years_rec IN cal_years_csr LOOP
1584: --
1623: END IF ;
1624: --
1625: INSERT_ROW (
1626: p_api_version => 1.0,
1627: p_init_msg_list => fnd_api.g_false,
1628: p_commit => fnd_api.g_false,
1629: p_validation_level => fnd_api.g_valid_level_full,
1630: p_return_status => l_return_status,
1631: p_msg_count => p_msg_count,
1624: --
1625: INSERT_ROW (
1626: p_api_version => 1.0,
1627: p_init_msg_list => fnd_api.g_false,
1628: p_commit => fnd_api.g_false,
1629: p_validation_level => fnd_api.g_valid_level_full,
1630: p_return_status => l_return_status,
1631: p_msg_count => p_msg_count,
1632: p_msg_data => p_msg_data,
1625: INSERT_ROW (
1626: p_api_version => 1.0,
1627: p_init_msg_list => fnd_api.g_false,
1628: p_commit => fnd_api.g_false,
1629: p_validation_level => fnd_api.g_valid_level_full,
1630: p_return_status => l_return_status,
1631: p_msg_count => p_msg_count,
1632: p_msg_data => p_msg_data,
1633: p_rowid => l_rowid,
1682: AND a.budget_period_type = 'P' ;
1683: --
1684: --
1685: --
1686: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1687: --
1688: EXCEPTION
1689:
1690: when FND_API.G_EXC_ERROR then
1686: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1687: --
1688: EXCEPTION
1689:
1690: when FND_API.G_EXC_ERROR then
1691: --
1692: rollback to Copy_Years_In_Calendar;
1693: p_return_status := FND_API.G_RET_STS_ERROR;
1694: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1689:
1690: when FND_API.G_EXC_ERROR then
1691: --
1692: rollback to Copy_Years_In_Calendar;
1693: p_return_status := FND_API.G_RET_STS_ERROR;
1694: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1695: p_data => p_msg_data);
1696: --
1697: when FND_API.G_EXC_UNEXPECTED_ERROR then
1693: p_return_status := FND_API.G_RET_STS_ERROR;
1694: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1695: p_data => p_msg_data);
1696: --
1697: when FND_API.G_EXC_UNEXPECTED_ERROR then
1698: --
1699: rollback to Copy_Years_In_Calendar;
1700: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1701: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1696: --
1697: when FND_API.G_EXC_UNEXPECTED_ERROR then
1698: --
1699: rollback to Copy_Years_In_Calendar;
1700: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1701: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
1702: p_data => p_msg_data);
1703: --
1704: when OTHERS then
1703: --
1704: when OTHERS then
1705: --
1706: rollback to Copy_Years_In_Calendar ;
1707: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1708: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
1709: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
1710: l_api_name);
1711: end if;
1731: --
1732: IF l_type_count > 0 THEN
1733: FND_MESSAGE.SET_NAME('PSB', 'PSB_CALENDAR_USED_IN_WORKSHEET');
1734: FND_MSG_PUB.Add ;
1735: RAISE FND_API.G_EXC_ERROR ;
1736: END IF;
1737: --
1738: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1739: --
1734: FND_MSG_PUB.Add ;
1735: RAISE FND_API.G_EXC_ERROR ;
1736: END IF;
1737: --
1738: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1739: --
1740: EXCEPTION
1741: --
1742: when FND_API.G_EXC_ERROR then
1738: p_return_status := FND_API.G_RET_STS_SUCCESS ;
1739: --
1740: EXCEPTION
1741: --
1742: when FND_API.G_EXC_ERROR then
1743: --
1744: p_return_status := FND_API.G_RET_STS_ERROR;
1745: --
1746: when FND_API.G_EXC_UNEXPECTED_ERROR then
1740: EXCEPTION
1741: --
1742: when FND_API.G_EXC_ERROR then
1743: --
1744: p_return_status := FND_API.G_RET_STS_ERROR;
1745: --
1746: when FND_API.G_EXC_UNEXPECTED_ERROR then
1747: --
1748: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1742: when FND_API.G_EXC_ERROR then
1743: --
1744: p_return_status := FND_API.G_RET_STS_ERROR;
1745: --
1746: when FND_API.G_EXC_UNEXPECTED_ERROR then
1747: --
1748: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1749: --
1750: END Check_Used_In_WS;
1744: p_return_status := FND_API.G_RET_STS_ERROR;
1745: --
1746: when FND_API.G_EXC_UNEXPECTED_ERROR then
1747: --
1748: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1749: --
1750: END Check_Used_In_WS;
1751:
1752: /* ----------------------------------------------------------------------- */