36: l_Periodicities_Rec_Type BSC_PERIODICITIES_PUB.Periodicities_Rec_Type;
37: BEGIN
38: SAVEPOINT CreatePeriodicityPVT;
39: FND_MSG_PUB.Initialize;
40: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
41:
42: l_Periodicities_Rec_Type := p_Periodicities_Rec_Type;
43:
44: /*
117: AND T.LANGUAGE = L.LANGUAGE_CODE
118: );
119:
120:
121: IF ((p_Commit IS NOT NULL) AND p_Commit = FND_API.G_TRUE) THEN
122: COMMIT;
123: END IF;
124:
125: EXCEPTION
122: COMMIT;
123: END IF;
124:
125: EXCEPTION
126: WHEN FND_API.G_EXC_ERROR THEN
127: ROLLBACK TO CreatePeriodicityPVT;
128: IF (x_msg_data IS NULL) THEN
129: FND_MSG_PUB.Count_And_Get
130: ( p_encoded => FND_API.G_FALSE
126: WHEN FND_API.G_EXC_ERROR THEN
127: ROLLBACK TO CreatePeriodicityPVT;
128: IF (x_msg_data IS NULL) THEN
129: FND_MSG_PUB.Count_And_Get
130: ( p_encoded => FND_API.G_FALSE
131: , p_count => x_msg_count
132: , p_data => x_msg_data
133: );
134: END IF;
131: , p_count => x_msg_count
132: , p_data => x_msg_data
133: );
134: END IF;
135: x_Return_Status := FND_API.G_RET_STS_ERROR;
136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
137: ROLLBACK TO CreatePeriodicityPVT;
138: IF (x_msg_data IS NULL) THEN
139: FND_MSG_PUB.Count_And_Get
132: , p_data => x_msg_data
133: );
134: END IF;
135: x_Return_Status := FND_API.G_RET_STS_ERROR;
136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
137: ROLLBACK TO CreatePeriodicityPVT;
138: IF (x_msg_data IS NULL) THEN
139: FND_MSG_PUB.Count_And_Get
140: ( p_encoded => FND_API.G_FALSE
136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
137: ROLLBACK TO CreatePeriodicityPVT;
138: IF (x_msg_data IS NULL) THEN
139: FND_MSG_PUB.Count_And_Get
140: ( p_encoded => FND_API.G_FALSE
141: , p_count => x_msg_count
142: , p_data => x_msg_data
143: );
144: END IF;
141: , p_count => x_msg_count
142: , p_data => x_msg_data
143: );
144: END IF;
145: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
146: WHEN NO_DATA_FOUND THEN
147: ROLLBACK TO CreatePeriodicityPVT;
148: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
149: IF (x_msg_data IS NOT NULL) THEN
144: END IF;
145: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
146: WHEN NO_DATA_FOUND THEN
147: ROLLBACK TO CreatePeriodicityPVT;
148: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
149: IF (x_msg_data IS NOT NULL) THEN
150: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Create_Periodicity ';
151: ELSE
152: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Create_Periodicity ';
152: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Create_Periodicity ';
153: END IF;
154: WHEN OTHERS THEN
155: ROLLBACK TO CreatePeriodicityPVT;
156: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
157: IF (x_msg_data IS NOT NULL) THEN
158: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Create_Periodicity ';
159: ELSE
160: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Create_Periodicity ';
204: AND TL.LANGUAGE = USERENV('LANG');
205:
206: BEGIN
207: FND_MSG_PUB.Initialize;
208: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
209:
210: FOR C1RP IN c_RetrievePeriodicity LOOP
211: x_Periodicities_Rec_Type.Periodicity_Id := C1RP.PERIODICITY_ID;
212: x_Periodicities_Rec_Type.Num_Of_Periods := C1RP.NUM_OF_PERIODS;
234: END LOOP;
235:
236:
237: EXCEPTION
238: WHEN FND_API.G_EXC_ERROR THEN
239: IF (x_msg_data IS NULL) THEN
240: FND_MSG_PUB.Count_And_Get
241: ( p_encoded => FND_API.G_FALSE
242: , p_count => x_msg_count
237: EXCEPTION
238: WHEN FND_API.G_EXC_ERROR THEN
239: IF (x_msg_data IS NULL) THEN
240: FND_MSG_PUB.Count_And_Get
241: ( p_encoded => FND_API.G_FALSE
242: , p_count => x_msg_count
243: , p_data => x_msg_data
244: );
245: END IF;
242: , p_count => x_msg_count
243: , p_data => x_msg_data
244: );
245: END IF;
246: x_Return_Status := FND_API.G_RET_STS_ERROR;
247: --removed rollback here.
248: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
249: IF (x_msg_data IS NULL) THEN
250: FND_MSG_PUB.Count_And_Get
244: );
245: END IF;
246: x_Return_Status := FND_API.G_RET_STS_ERROR;
247: --removed rollback here.
248: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
249: IF (x_msg_data IS NULL) THEN
250: FND_MSG_PUB.Count_And_Get
251: ( p_encoded => FND_API.G_FALSE
252: , p_count => x_msg_count
247: --removed rollback here.
248: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
249: IF (x_msg_data IS NULL) THEN
250: FND_MSG_PUB.Count_And_Get
251: ( p_encoded => FND_API.G_FALSE
252: , p_count => x_msg_count
253: , p_data => x_msg_data
254: );
255: END IF;
252: , p_count => x_msg_count
253: , p_data => x_msg_data
254: );
255: END IF;
256: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
257: WHEN NO_DATA_FOUND THEN
258: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
259: IF (x_msg_data IS NOT NULL) THEN
260: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Retrieve_Periodicity ';
254: );
255: END IF;
256: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
257: WHEN NO_DATA_FOUND THEN
258: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
259: IF (x_msg_data IS NOT NULL) THEN
260: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Retrieve_Periodicity ';
261: ELSE
262: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Retrieve_Periodicity ';
261: ELSE
262: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Retrieve_Periodicity ';
263: END IF;
264: WHEN OTHERS THEN
265: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
266: IF (x_msg_data IS NOT NULL) THEN
267: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Retrieve_Periodicity ';
268: ELSE
269: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Retrieve_Periodicity ';
286:
287: BEGIN
288: SAVEPOINT UpdatePeriodicityPVT;
289: FND_MSG_PUB.Initialize;
290: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
291:
292: x_Structural_Flag := FND_API.G_FALSE;
293:
294: BSC_PERIODICITIES_PVT.Retrieve_Periodicity (
288: SAVEPOINT UpdatePeriodicityPVT;
289: FND_MSG_PUB.Initialize;
290: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
291:
292: x_Structural_Flag := FND_API.G_FALSE;
293:
294: BSC_PERIODICITIES_PVT.Retrieve_Periodicity (
295: p_Api_Version => BSC_PERIODS_UTILITY_PKG.C_API_VERSION_1_0
296: ,p_Periodicities_Rec_Type => p_Periodicities_Rec_Type
299: ,x_Msg_Count => x_Msg_Count
300: ,x_Msg_Data => x_Msg_Data
301: );
302:
303: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
304: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305: END IF;
306:
307: IF (p_Periodicities_Rec_Type.Num_Of_Periods IS NOT NULL) THEN
300: ,x_Msg_Data => x_Msg_Data
301: );
302:
303: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
304: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305: END IF;
306:
307: IF (p_Periodicities_Rec_Type.Num_Of_Periods IS NOT NULL) THEN
308:
306:
307: IF (p_Periodicities_Rec_Type.Num_Of_Periods IS NOT NULL) THEN
308:
309: IF(l_Periodicities_Rec_Type.Num_Of_Periods <> p_Periodicities_Rec_Type.Num_Of_Periods) THEN
310: x_Structural_Flag := FND_API.G_TRUE;
311: END IF;
312:
313: l_Periodicities_Rec_Type.Num_Of_Periods := p_Periodicities_Rec_Type.Num_Of_Periods;
314: END IF;
315:
316: IF (p_Periodicities_Rec_Type.Base_Periodicity_Id IS NOT NULL) THEN
317: -- Fixed for Bug#4539411 ,all Custom Periodicities should *not* have comma separated list.
318: IF (TO_CHAR(p_Periodicities_Rec_Type.Base_Periodicity_Id) <> l_Periodicities_Rec_Type.Source) THEN
319: x_Structural_Flag := FND_API.G_TRUE;
320: l_Periodicities_Rec_Type.Base_Periodicity_Id := p_Periodicities_Rec_Type.Base_Periodicity_Id;
321: l_Periodicities_Rec_Type.Source := p_Periodicities_Rec_Type.Base_Periodicity_Id;
322: END IF;
323: END IF;
372: WHERE periodicity_id = l_Periodicities_Rec_Type.Periodicity_id;
373: --dbms_output.PUT_LINE('Name - ' ||l_Periodicities_Rec_Type.Name);
374:
375:
376: IF ((p_Commit IS NOT NULL) AND p_Commit = FND_API.G_TRUE) THEN
377: COMMIT;
378: END IF;
379:
380: EXCEPTION
377: COMMIT;
378: END IF;
379:
380: EXCEPTION
381: WHEN FND_API.G_EXC_ERROR THEN
382: ROLLBACK TO UpdatePeriodicityPVT;
383: IF (x_msg_data IS NULL) THEN
384: FND_MSG_PUB.Count_And_Get
385: ( p_encoded => FND_API.G_FALSE
381: WHEN FND_API.G_EXC_ERROR THEN
382: ROLLBACK TO UpdatePeriodicityPVT;
383: IF (x_msg_data IS NULL) THEN
384: FND_MSG_PUB.Count_And_Get
385: ( p_encoded => FND_API.G_FALSE
386: , p_count => x_msg_count
387: , p_data => x_msg_data
388: );
389: END IF;
386: , p_count => x_msg_count
387: , p_data => x_msg_data
388: );
389: END IF;
390: x_Return_Status := FND_API.G_RET_STS_ERROR;
391: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
392: ROLLBACK TO UpdatePeriodicityPVT;
393: IF (x_msg_data IS NULL) THEN
394: FND_MSG_PUB.Count_And_Get
387: , p_data => x_msg_data
388: );
389: END IF;
390: x_Return_Status := FND_API.G_RET_STS_ERROR;
391: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
392: ROLLBACK TO UpdatePeriodicityPVT;
393: IF (x_msg_data IS NULL) THEN
394: FND_MSG_PUB.Count_And_Get
395: ( p_encoded => FND_API.G_FALSE
391: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
392: ROLLBACK TO UpdatePeriodicityPVT;
393: IF (x_msg_data IS NULL) THEN
394: FND_MSG_PUB.Count_And_Get
395: ( p_encoded => FND_API.G_FALSE
396: , p_count => x_msg_count
397: , p_data => x_msg_data
398: );
399: END IF;
396: , p_count => x_msg_count
397: , p_data => x_msg_data
398: );
399: END IF;
400: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
401: WHEN NO_DATA_FOUND THEN
402: ROLLBACK TO UpdatePeriodicityPVT;
403: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
404: IF (x_msg_data IS NOT NULL) THEN
399: END IF;
400: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
401: WHEN NO_DATA_FOUND THEN
402: ROLLBACK TO UpdatePeriodicityPVT;
403: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
404: IF (x_msg_data IS NOT NULL) THEN
405: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Update_Periodicity ';
406: ELSE
407: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Update_Periodicity ';
407: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Update_Periodicity ';
408: END IF;
409: WHEN OTHERS THEN
410: ROLLBACK TO UpdatePeriodicityPVT;
411: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
412: IF (x_msg_data IS NOT NULL) THEN
413: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Update_Periodicity ';
414: ELSE
415: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Update_Periodicity ';
429: WHERE K.PERIODICITY_ID = p_Periodicities_Rec_Type.Periodicity_Id;
430: BEGIN
431: SAVEPOINT IncrRefreshPerPVT;
432: FND_MSG_PUB.Initialize;
433: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
434:
435:
436: FOR cObj IN c_Objectives LOOP
437: BSC_DESIGNER_PVT.ActionFlag_Change(cObj.INDICATOR, BSC_DESIGNER_PVT.G_ActionFlag.GAA_Structure);
436: FOR cObj IN c_Objectives LOOP
437: BSC_DESIGNER_PVT.ActionFlag_Change(cObj.INDICATOR, BSC_DESIGNER_PVT.G_ActionFlag.GAA_Structure);
438: END LOOP;
439:
440: IF ((p_Commit IS NOT NULL) AND p_Commit = FND_API.G_TRUE) THEN
441: COMMIT;
442: END IF;
443:
444: EXCEPTION
441: COMMIT;
442: END IF;
443:
444: EXCEPTION
445: WHEN FND_API.G_EXC_ERROR THEN
446: ROLLBACK TO IncrRefreshPerPVT;
447: IF (x_msg_data IS NULL) THEN
448: FND_MSG_PUB.Count_And_Get
449: ( p_encoded => FND_API.G_FALSE
445: WHEN FND_API.G_EXC_ERROR THEN
446: ROLLBACK TO IncrRefreshPerPVT;
447: IF (x_msg_data IS NULL) THEN
448: FND_MSG_PUB.Count_And_Get
449: ( p_encoded => FND_API.G_FALSE
450: , p_count => x_msg_count
451: , p_data => x_msg_data
452: );
453: END IF;
450: , p_count => x_msg_count
451: , p_data => x_msg_data
452: );
453: END IF;
454: x_Return_Status := FND_API.G_RET_STS_ERROR;
455: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
456: ROLLBACK TO IncrRefreshPerPVT;
457: IF (x_msg_data IS NULL) THEN
458: FND_MSG_PUB.Count_And_Get
451: , p_data => x_msg_data
452: );
453: END IF;
454: x_Return_Status := FND_API.G_RET_STS_ERROR;
455: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
456: ROLLBACK TO IncrRefreshPerPVT;
457: IF (x_msg_data IS NULL) THEN
458: FND_MSG_PUB.Count_And_Get
459: ( p_encoded => FND_API.G_FALSE
455: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
456: ROLLBACK TO IncrRefreshPerPVT;
457: IF (x_msg_data IS NULL) THEN
458: FND_MSG_PUB.Count_And_Get
459: ( p_encoded => FND_API.G_FALSE
460: , p_count => x_msg_count
461: , p_data => x_msg_data
462: );
463: END IF;
460: , p_count => x_msg_count
461: , p_data => x_msg_data
462: );
463: END IF;
464: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
465: WHEN NO_DATA_FOUND THEN
466: ROLLBACK TO IncrRefreshPerPVT;
467: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
468: IF (x_msg_data IS NOT NULL) THEN
463: END IF;
464: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
465: WHEN NO_DATA_FOUND THEN
466: ROLLBACK TO IncrRefreshPerPVT;
467: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
468: IF (x_msg_data IS NOT NULL) THEN
469: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Incr_Refresh_Objectives ';
470: ELSE
471: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Incr_Refresh_Objectives ';
471: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Incr_Refresh_Objectives ';
472: END IF;
473: WHEN OTHERS THEN
474: ROLLBACK TO IncrRefreshPerPVT;
475: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
476: IF (x_msg_data IS NOT NULL) THEN
477: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Incr_Refresh_Objectives ';
478: ELSE
479: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Incr_Refresh_Objectives ';
492: BEGIN
493: SAVEPOINT DeletePeriodicityPVT;
494: FND_MSG_PUB.Initialize;
495:
496: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
497:
498: DELETE BSC_SYS_PERIODS_TL
499: WHERE PERIODICITY_ID = p_Periodicities_Rec_Type.Periodicity_Id;
500:
506:
507: DELETE BSC_SYS_PERIODICITIES
508: WHERE PERIODICITY_ID = p_Periodicities_Rec_Type.Periodicity_Id;
509:
510: IF ((p_Commit IS NOT NULL) AND p_Commit = FND_API.G_TRUE) THEN
511: COMMIT;
512: END IF;
513:
514: EXCEPTION
511: COMMIT;
512: END IF;
513:
514: EXCEPTION
515: WHEN FND_API.G_EXC_ERROR THEN
516: ROLLBACK TO DeletePeriodicityPVT;
517: IF (x_msg_data IS NULL) THEN
518: FND_MSG_PUB.Count_And_Get
519: ( p_encoded => FND_API.G_FALSE
515: WHEN FND_API.G_EXC_ERROR THEN
516: ROLLBACK TO DeletePeriodicityPVT;
517: IF (x_msg_data IS NULL) THEN
518: FND_MSG_PUB.Count_And_Get
519: ( p_encoded => FND_API.G_FALSE
520: , p_count => x_msg_count
521: , p_data => x_msg_data
522: );
523: END IF;
520: , p_count => x_msg_count
521: , p_data => x_msg_data
522: );
523: END IF;
524: x_Return_Status := FND_API.G_RET_STS_ERROR;
525: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
526: ROLLBACK TO DeletePeriodicityPVT;
527: IF (x_msg_data IS NULL) THEN
528: FND_MSG_PUB.Count_And_Get
521: , p_data => x_msg_data
522: );
523: END IF;
524: x_Return_Status := FND_API.G_RET_STS_ERROR;
525: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
526: ROLLBACK TO DeletePeriodicityPVT;
527: IF (x_msg_data IS NULL) THEN
528: FND_MSG_PUB.Count_And_Get
529: ( p_encoded => FND_API.G_FALSE
525: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
526: ROLLBACK TO DeletePeriodicityPVT;
527: IF (x_msg_data IS NULL) THEN
528: FND_MSG_PUB.Count_And_Get
529: ( p_encoded => FND_API.G_FALSE
530: , p_count => x_msg_count
531: , p_data => x_msg_data
532: );
533: END IF;
530: , p_count => x_msg_count
531: , p_data => x_msg_data
532: );
533: END IF;
534: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
535: WHEN NO_DATA_FOUND THEN
536: ROLLBACK TO DeletePeriodicityPVT;
537: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
538: IF (x_msg_data IS NOT NULL) THEN
533: END IF;
534: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
535: WHEN NO_DATA_FOUND THEN
536: ROLLBACK TO DeletePeriodicityPVT;
537: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
538: IF (x_msg_data IS NOT NULL) THEN
539: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Delete_Periodicity ';
540: ELSE
541: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Delete_Periodicity ';
541: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Delete_Periodicity ';
542: END IF;
543: WHEN OTHERS THEN
544: ROLLBACK TO DeletePeriodicityPVT;
545: x_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
546: IF (x_msg_data IS NOT NULL) THEN
547: x_msg_data := x_msg_data||' -> BSC_PERIODICITIES_PVT.Delete_Periodicity ';
548: ELSE
549: x_msg_data := SQLERRM||' at BSC_PERIODICITIES_PVT.Delete_Periodicity ';