51: and table_changed = 3
52: and action=2;
53: begin
54: -- initialize message list
55: FND_MSG_PUB.initialize;
56: set_Vars;
57: IF undoid.count = 0 THEN
58: x_return_status := fnd_api.g_ret_sts_success;
59: return;
110: end if;
111: Exception
112: When others then
113: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
114: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UNDO');
115: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
116: p_data=>x_msg_data);
117: End ;
118: elsif ( l_action = updated ) then
111: Exception
112: When others then
113: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
114: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UNDO');
115: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
116: p_data=>x_msg_data);
117: End ;
118: elsif ( l_action = updated ) then
119: if (l_table_changed = 3) then
186:
187: Exception
188: When others then
189: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
190: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UNDO');
191: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
192: p_data=>x_msg_data);
193: End ;
194:
187: Exception
188: When others then
189: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
190: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UNDO');
191: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
192: p_data=>x_msg_data);
193: End ;
194:
195: elsif (l_action in (3)) then
199: and undo_id = l_undo_id;
200: Exception
201: When others then
202: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
203: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UNDO');
204: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
205: p_data=>x_msg_data);
206: End ;
207: end if;
200: Exception
201: When others then
202: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
203: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UNDO');
204: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
205: p_data=>x_msg_data);
206: End ;
207: end if;
208: end if;
211: i := undoid.next(i);
212:
213: END LOOP;
214: x_return_status := fnd_api.g_ret_sts_success;
215: fnd_msg_pub.count_and_get(p_count => x_msg_count,
216: p_data=>x_msg_data);
217: EXCEPTION
218: WHEN OTHERS THEN
219: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
216: p_data=>x_msg_data);
217: EXCEPTION
218: WHEN OTHERS THEN
219: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UNDO');
221: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
222: p_data=>x_msg_data);
223: end UNDO;
224:
217: EXCEPTION
218: WHEN OTHERS THEN
219: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UNDO');
221: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
222: p_data=>x_msg_data);
223: end UNDO;
224:
225: procedure STORE_UNDO (table_changed NUMBER,
246: l_parent_id NUMBER := parent_id;
247: l_transaction_id NUMBER:= transaction_id;
248: begin
249: --Initializa message list
250: FND_MSG_PUB.initialize;
251:
252: set_vars;
253:
254: if (plan_id is null or plan_id = -1 ) then
256: end if;
257:
258: if ( action not in (inserted, updated) ) then
259: x_return_status := FND_API.G_RET_STS_ERROR;
260: FND_MSG_PUB.add_exc_msg('MSC_UNDO',
261: 'DEVELOPER ERROR : Invalid action passed to STORE_UNDO');
262: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
263: p_data=>x_msg_data);
264: Return ;
258: if ( action not in (inserted, updated) ) then
259: x_return_status := FND_API.G_RET_STS_ERROR;
260: FND_MSG_PUB.add_exc_msg('MSC_UNDO',
261: 'DEVELOPER ERROR : Invalid action passed to STORE_UNDO');
262: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
263: p_data=>x_msg_data);
264: Return ;
265: end if;
266:
308: parent_id);
309: EXCEPTION
310: WHEN OTHERS THEN
311: ROLLBACK;
312: fnd_msg_pub.add_Exc_msg('MSC_UNDO', 'STORE_UNDO');
313: fnd_msg_pub.count_and_get(p_count=>x_msg_Count, p_data=>x_msg_data);
314: END ;
315: end if;
316: if ( action = updated ) then
309: EXCEPTION
310: WHEN OTHERS THEN
311: ROLLBACK;
312: fnd_msg_pub.add_Exc_msg('MSC_UNDO', 'STORE_UNDO');
313: fnd_msg_pub.count_and_get(p_count=>x_msg_Count, p_data=>x_msg_data);
314: END ;
315: end if;
316: if ( action = updated ) then
317:
356:
357: EXCEPTION
358: WHEN OTHERS THEN
359: --ROLLBACK;
360: fnd_msg_pub.add_Exc_msg('MSC_UNDO', 'STORE_UNDO');
361: fnd_msg_pub.count_and_get(p_count=>x_msg_Count, p_data=>x_msg_data);
362: END ;
363: END LOOP;
364: end if;
357: EXCEPTION
358: WHEN OTHERS THEN
359: --ROLLBACK;
360: fnd_msg_pub.add_Exc_msg('MSC_UNDO', 'STORE_UNDO');
361: fnd_msg_pub.count_and_get(p_count=>x_msg_Count, p_data=>x_msg_data);
362: END ;
363: END LOOP;
364: end if;
365:
377: v_undo_id number;
378:
379: begin
380: set_vars;
381: FND_MSG_PUB.Initialize;
382:
383: if (plan_id is null or plan_id = -1) then
384: return;
385: end if;
389: x_return_status := FND_API.G_RET_STS_ERROR;
390: x_msg_count := 1;
391: x_msg_data := 'DEVELOPER ERROR : '
392: ||' Invalid Action passed to MSC_UNDO.add_bookmark';
393: FND_MSG_PUB.count_and_get(p_count =>x_msg_count,
394: p_data=>x_msg_data );
395: ELSE
396: SELECT MSC_UNDO_SUMMARY_S.nextval
397: INTO v_undo_id
433: EXCEPTION
434: WHEN OTHERS THEN
435: ROLLBACK;
436: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
437: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'Add_Bookmark');
438: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
439: p_data => x_msg_data);
440:
441: end ADD_BOOKMARK;
434: WHEN OTHERS THEN
435: ROLLBACK;
436: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
437: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'Add_Bookmark');
438: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
439: p_data => x_msg_data);
440:
441: end ADD_BOOKMARK;
442:
483: l_order_type NUMBER;
484:
485: BEGIN
486: -- Initialize message list
487: FND_MSG_PUB.initialize;
488:
489: --Set the User-id
490: set_vars;
491:
635: EXCEPTION
636: WHEN OTHERS THEN
637: ROLLBACK;
638: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'INSERT_TABLE');
640: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
641: p_data => x_msg_data);
642: END insert_table ;
643:
636: WHEN OTHERS THEN
637: ROLLBACK;
638: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'INSERT_TABLE');
640: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
641: p_data => x_msg_data);
642: END insert_table ;
643:
644: PROCEDURE set_vars IS
689: l_column_name varchar2(30);
690:
691: BEGIN
692: -- Initialize message list
693: FND_MSG_PUB.Initialize;
694:
695: --Set the user-id
696: set_vars;
697:
851: EXCEPTION
852: WHEN OTHERS THEN
853: --ROLLBACK;
854: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
855: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UPDATE_TABLE'
856: ||' '||sql_string);
857: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
858: p_data => x_msg_data);
859: END update_table;
853: --ROLLBACK;
854: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
855: FND_MSG_PUB.add_exc_msg('MSC_UNDO', 'UPDATE_TABLE'
856: ||' '||sql_string);
857: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
858: p_data => x_msg_data);
859: END update_table;
860:
861: function undo_validate (v_undo_id number,
982: if (fnd_global.user_id <> l_last_updated_by ) then
983: x_return_status := FND_API.G_RET_STS_ERROR;
984: FND_MESSAGE.SET_NAME('MSC', 'MSC_UNDO_OTHER_USERS');
985: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
986: FND_MSG_PUB.ADD;
987: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
988: p_data => x_msg_data);
989: return -3;
990: end if;
983: x_return_status := FND_API.G_RET_STS_ERROR;
984: FND_MESSAGE.SET_NAME('MSC', 'MSC_UNDO_OTHER_USERS');
985: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
986: FND_MSG_PUB.ADD;
987: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
988: p_data => x_msg_data);
989: return -3;
990: end if;
991:
999: if (l_count <> 0 ) then
1000: x_return_status := FND_API.G_RET_STS_ERROR;
1001: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_REC_CHG_DIFF_USER');
1002: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1003: FND_MSG_PUB.ADD;
1004: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1005: p_data => x_msg_data);
1006: return -1;
1007: end if;
1000: x_return_status := FND_API.G_RET_STS_ERROR;
1001: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_REC_CHG_DIFF_USER');
1002: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1003: FND_MSG_PUB.ADD;
1004: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1005: p_data => x_msg_data);
1006: return -1;
1007: end if;
1008: else
1015: if (l_count <> 0 ) then
1016: x_return_status := FND_API.G_RET_STS_ERROR;
1017: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_REC_CHG_DIFF_USER');
1018: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1019: FND_MSG_PUB.ADD;
1020: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1021: p_data => x_msg_data);
1022: return -1;
1023: end if;
1016: x_return_status := FND_API.G_RET_STS_ERROR;
1017: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_REC_CHG_DIFF_USER');
1018: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1019: FND_MSG_PUB.ADD;
1020: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1021: p_data => x_msg_data);
1022: return -1;
1023: end if;
1024: end if;
1033: if (l_count <> 0 ) then
1034: x_return_status := FND_API.G_RET_STS_ERROR;
1035: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_REC_CHG_SAME_USER');
1036: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1037: FND_MSG_PUB.ADD;
1038: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1039: p_data => x_msg_data);
1040: return -2;
1041: end if;
1034: x_return_status := FND_API.G_RET_STS_ERROR;
1035: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_REC_CHG_SAME_USER');
1036: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1037: FND_MSG_PUB.ADD;
1038: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1039: p_data => x_msg_data);
1040: return -2;
1041: end if;
1042: else
1049: if (l_count <> 0 ) then
1050: x_return_status := FND_API.G_RET_STS_ERROR;
1051: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_REC_CHG_SAME_USER');
1052: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1053: FND_MSG_PUB.ADD;
1054: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1055: p_data => x_msg_data);
1056: return -2;
1057: end if;
1050: x_return_status := FND_API.G_RET_STS_ERROR;
1051: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_REC_CHG_SAME_USER');
1052: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1053: FND_MSG_PUB.ADD;
1054: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1055: p_data => x_msg_data);
1056: return -2;
1057: end if;
1058: end if;
1067: if (l_count <> 1) then
1068: x_return_status := FND_API.G_RET_STS_ERROR;
1069: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_UNFIRM');
1070: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1071: FND_MSG_PUB.ADD;
1072: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1073: p_data => x_msg_data);
1074: return -4;
1075: end if;
1068: x_return_status := FND_API.G_RET_STS_ERROR;
1069: FND_MESSAGE.set_name('MSC', 'MSC_UNDO_UNFIRM');
1070: FND_MESSAGE.SET_TOKEN('RECORD',l_token);
1071: FND_MSG_PUB.ADD;
1072: FND_MSG_PUB.count_and_get(p_count=>x_msg_count,
1073: p_data => x_msg_data);
1074: return -4;
1075: end if;
1076: end if;