6: g_n_login_id igs_ps_unit_ver_all.last_update_login%TYPE := NVL(fnd_global.login_id,-1); -- Stores the Login Id
7:
8:
9: PROCEDURE Insert_schedule( p_api_version IN NUMBER,
10: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
11: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
12: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
13: x_return_status OUT NOCOPY VARCHAR2,
14: x_msg_count OUT NOCOPY NUMBER,
7:
8:
9: PROCEDURE Insert_schedule( p_api_version IN NUMBER,
10: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
11: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
12: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
13: x_return_status OUT NOCOPY VARCHAR2,
14: x_msg_count OUT NOCOPY NUMBER,
15: x_msg_data OUT NOCOPY VARCHAR2,
8:
9: PROCEDURE Insert_schedule( p_api_version IN NUMBER,
10: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
11: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
12: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
13: x_return_status OUT NOCOPY VARCHAR2,
14: x_msg_count OUT NOCOPY NUMBER,
15: x_msg_data OUT NOCOPY VARCHAR2,
16: p_transaction_type IN VARCHAR2,
101: -- Savepoint
102: SAVEPOINT Insert_schedule_pub;
103:
104: -- Check if the API call is compatible
105: IF NOT FND_API.Compatible_API_Call( l_api_version,
106: p_api_version,
107: l_api_name,
108: g_pkg_name) THEN
109:
107: l_api_name,
108: g_pkg_name) THEN
109:
110: -- If the call is incompatible, then raise the unexpected error
111: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
112:
113: END IF;
114:
115: -- If the p_init_msg_list is T, i.e. the calling program wants to initialise
113: END IF;
114:
115: -- If the p_init_msg_list is T, i.e. the calling program wants to initialise
116: -- the message list, then the message list is initialised using the API call
117: IF FND_API.To_Boolean(p_init_msg_list) THEN
118: FND_MSG_PUB.Initialize;
119: END IF;
120:
121: -- Set the return status as success for the api
118: FND_MSG_PUB.Initialize;
119: END IF;
120:
121: -- Set the return status as success for the api
122: x_return_status := FND_API.G_RET_STS_SUCCESS;
123:
124:
125: -- Enh bug#2833850
126: -- Deriving teaching period start date and end date from the parameters p_cal_type , p_sequence_number
143: p_transaction_type NOT IN ('REQUEST','UPDATE','CANCEL') THEN
144: FND_MESSAGE.Set_Name('IGS','IGS_FI_INVALID_TXN_TYPE');
145: FND_MESSAGE.Set_Token('TXN_TYPE',p_transaction_type);
146: FND_MSG_PUB.Add;
147: x_return_status := FND_API.G_RET_STS_ERROR;
148: END IF;
149:
150: -- Validation 1
151: -- Error text is mandatory for unit section occurrence scheduled as Error.
152:
153: IF p_schedule_status = 'ERROR' AND p_error_text IS NULL THEN
154: FND_MESSAGE.Set_Name('IGS','IGS_PS_SCH_ERR_TEXT_NULL');
155: FND_MSG_PUB.Add;
156: x_return_status := FND_API.G_RET_STS_ERROR;
157: END IF;
158:
159: -- Validation 2
160: -- Building identifier are mandatory for successfully scheduled unit section occurrence
163: (p_building_id IS NULL) AND
164: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
165: FND_MESSAGE.Set_Name('IGS','IGS_PS_SCH_BD_OR_RM_NULL');
166: FND_MSG_PUB.Add;
167: x_return_status := FND_API.G_RET_STS_ERROR;
168: END IF;
169:
170: -- Validation 3
171: -- Building and room identifier should be null for successfully cancelled unit section occurrence
174: (p_building_id IS NOT NULL OR p_room_id IS NOT NULL) AND
175: p_transaction_type = 'CANCEL' THEN
176: FND_MESSAGE.Set_Name('IGS','IGS_PS_SCH_BD_OR_RM_NOT_NULL');
177: FND_MSG_PUB.Add;
178: x_return_status := FND_API.G_RET_STS_ERROR;
179: END IF;
180:
181:
182: -- Validation 4
184:
185: IF cur_usec_rec.schedule_status IN ('PROCESSING','USER_UPDATE','USER_CANCEL') THEN
186: FND_MESSAGE.Set_Name('IGS','IGS_PS_CONFLICT_SCHD');
187: FND_MSG_PUB.Add;
188: x_return_status := FND_API.G_RET_STS_ERROR;
189: END IF;
190:
191:
192: -- Validation 5
199: cur_usec_rec.to_be_announced = 'Y' AND
200: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
201: FND_MESSAGE.Set_Name('IGS','IGS_PE_EDT_LT_SDT');
202: FND_MSG_PUB.Add;
203: x_return_status := FND_API.G_RET_STS_ERROR;
204: END IF;
205:
206: -- Validation 6
207: -- Unit Section Occurrence Start Date should be greater than or equal to Unit Section Start Date
212: cur_usec_rec.to_be_announced = 'Y' AND
213: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
214: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_STDT_GE_US_STDT');
215: FND_MSG_PUB.Add;
216: x_return_status := FND_API.G_RET_STS_ERROR;
217: END IF;
218:
219: -- Validation 7
220: -- Unit Section Occurrence Start Date should be greater than or equal to Teaching Period Start Date
226: cur_usec_rec.to_be_announced = 'Y' AND
227: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
228: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_STDT_GE_TP_STDT');
229: FND_MSG_PUB.Add;
230: x_return_status := FND_API.G_RET_STS_ERROR;
231: END IF;
232:
233: -- Validation 8
234: -- Unit Section Occurrence Start Date must be less than or equal to Unit Section End Date
239: cur_usec_rec.to_be_announced = 'Y' AND
240: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
241: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_ST_DT_UOO_END_DT');
242: FND_MSG_PUB.Add;
243: x_return_status := FND_API.G_RET_STS_ERROR;
244: END IF;
245:
246: -- Validation 9
247: -- Unit Section Occurrence Start Date must be less than or equal to Teaching Period End Date
253: cur_usec_rec.to_be_announced = 'Y' AND
254: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
255: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_ST_DT_TP_END_DT');
256: FND_MSG_PUB.Add;
257: x_return_status := FND_API.G_RET_STS_ERROR;
258: END IF;
259:
260: -- Validation 10
261: -- Unit Section Occurrence End Date should be greater than or equal to Unit Section Start Date
266: cur_usec_rec.to_be_announced = 'Y' AND
267: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
268: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_END_DT_UOO_ST_DT');
269: FND_MSG_PUB.Add;
270: x_return_status := FND_API.G_RET_STS_ERROR;
271: END IF;
272:
273: -- Validation 11
274: -- Unit Section Occurrence End Date should be greater than or equal to Teaching Period Start Date
280: cur_usec_rec.to_be_announced = 'Y' AND
281: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
282: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_END_DT_TP_ST_DT');
283: FND_MSG_PUB.Add;
284: x_return_status := FND_API.G_RET_STS_ERROR;
285: END IF;
286:
287: -- Validation 12
288: -- Unit Section Occurrence End Date must be less than or equal to Unit Section End Date
293: cur_usec_rec.to_be_announced = 'Y' AND
294: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
295: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_ENDT_LE_US_ENDT');
296: FND_MSG_PUB.Add;
297: x_return_status := FND_API.G_RET_STS_ERROR;
298: END IF;
299:
300: -- Validation 13
301: -- Unit Section Occurrence end Date must be less than or equal to Teaching Period End Date
307: cur_usec_rec.to_be_announced = 'Y' AND
308: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
309: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_ENDT_LE_TP_ENDT');
310: FND_MSG_PUB.Add;
311: x_return_status := FND_API.G_RET_STS_ERROR;
312: END IF;
313:
314: -- Validation 14
315: -- Invalid Scheduled Building Identifier
321: FETCH c_bld INTO rec_bld;
322: IF c_bld%NOTFOUND THEN
323: FND_MESSAGE.Set_Name('IGS','IGS_PS_BUILDING_ID_INVALID');
324: FND_MSG_PUB.Add;
325: x_return_status := FND_API.G_RET_STS_ERROR;
326: END IF;
327: CLOSE c_bld;
328: END IF;
329:
337: FETCH c_room INTO rec_room;
338: IF c_room%NOTFOUND THEN
339: FND_MESSAGE.Set_Name('IGS','IGS_PS_ROOM_ID_INVALID');
340: FND_MSG_PUB.Add;
341: x_return_status := FND_API.G_RET_STS_ERROR;
342: END IF;
343: CLOSE c_room;
344: END IF;
345:
354: FETCH c_bld_room INTO rec_bld_room;
355: IF c_bld_room%NOTFOUND THEN
356: FND_MESSAGE.Set_Name('IGS','IGS_PS_ROOM_INV_FOR_BLD');
357: FND_MSG_PUB.Add;
358: x_return_status := FND_API.G_RET_STS_ERROR;
359: END IF;
360: CLOSE c_bld_room;
361:
362: END IF;
375: cur_usec_rec.to_be_announced = 'Y' AND
376: (p_transaction_type = 'UPDATE' OR p_transaction_type = 'REQUEST') THEN
377: FND_MESSAGE.Set_Name('IGS','IGS_PS_ATLEAST_ONE_DAY_CHECK');
378: FND_MSG_PUB.Add;
379: x_return_status := FND_API.G_RET_STS_ERROR;
380: END IF;
381:
382: -- Raising an exception if any any of the above validations fail
383:
380: END IF;
381:
382: -- Raising an exception if any any of the above validations fail
383:
384: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
385: RAISE FND_API.G_EXC_ERROR;
386: END IF;
387:
388: -- Records have to be inserted into the Schedule Interface Tables.
381:
382: -- Raising an exception if any any of the above validations fail
383:
384: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
385: RAISE FND_API.G_EXC_ERROR;
386: END IF;
387:
388: -- Records have to be inserted into the Schedule Interface Tables.
389:
680:
681: -- If the p_commit parameter is set to True and no errors have been raised by the
682: -- then commit
683:
684: IF FND_API.To_Boolean(p_commit) THEN
685: COMMIT WORK;
686: END IF;
687:
688: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
689: p_data => x_msg_data);
690:
691:
692: EXCEPTION
693: WHEN FND_API.G_EXC_ERROR THEN
694: ROLLBACK TO Insert_schedule_pub;
695: x_return_status := FND_API.G_RET_STS_ERROR;
696: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
697: p_data => x_msg_data);
691:
692: EXCEPTION
693: WHEN FND_API.G_EXC_ERROR THEN
694: ROLLBACK TO Insert_schedule_pub;
695: x_return_status := FND_API.G_RET_STS_ERROR;
696: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
697: p_data => x_msg_data);
698:
699: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
695: x_return_status := FND_API.G_RET_STS_ERROR;
696: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
697: p_data => x_msg_data);
698:
699: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
700: ROLLBACK TO Insert_schedule_pub;
701: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
702: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
703: p_data => x_msg_data);
697: p_data => x_msg_data);
698:
699: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
700: ROLLBACK TO Insert_schedule_pub;
701: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
702: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
703: p_data => x_msg_data);
704:
705: WHEN OTHERS THEN
703: p_data => x_msg_data);
704:
705: WHEN OTHERS THEN
706: ROLLBACK TO Insert_schedule_pub;
707: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
708:
709: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
710: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name,
711: l_api_name);
716: END insert_schedule;
717:
718:
719: PROCEDURE update_schedule( p_api_version IN NUMBER,
720: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
721: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
722: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
723: x_return_status OUT NOCOPY VARCHAR2,
724: x_msg_count OUT NOCOPY NUMBER,
717:
718:
719: PROCEDURE update_schedule( p_api_version IN NUMBER,
720: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
721: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
722: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
723: x_return_status OUT NOCOPY VARCHAR2,
724: x_msg_count OUT NOCOPY NUMBER,
725: x_msg_data OUT NOCOPY VARCHAR2,
718:
719: PROCEDURE update_schedule( p_api_version IN NUMBER,
720: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
721: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
722: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
723: x_return_status OUT NOCOPY VARCHAR2,
724: x_msg_count OUT NOCOPY NUMBER,
725: x_msg_data OUT NOCOPY VARCHAR2,
726: p_int_occurs_id IN NUMBER,
764: -- Savepoint
765: SAVEPOINT Update_Schedule_pub;
766:
767: -- Check if the API call is compatible
768: IF NOT FND_API.Compatible_API_Call( l_api_version,
769: p_api_version,
770: l_api_name,
771: g_pkg_name) THEN
772:
770: l_api_name,
771: g_pkg_name) THEN
772:
773: -- If the call is incompatible, then raise the unexpected error
774: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
775:
776: END IF;
777:
778: -- If the p_init_msg_list is T, i.e. the calling program wants to initialise
776: END IF;
777:
778: -- If the p_init_msg_list is T, i.e. the calling program wants to initialise
779: -- the message list, then the message list is initialised using the API call
780: IF FND_API.To_Boolean(p_init_msg_list) THEN
781: FND_MSG_PUB.Initialize;
782: END IF;
783:
784: -- Set the return status as success for the api
781: FND_MSG_PUB.Initialize;
782: END IF;
783:
784: -- Set the return status as success for the api
785: x_return_status := FND_API.G_RET_STS_SUCCESS;
786:
787: -- Schedule Interface Tables have to be updated with the Scheduled fields.
788: -- Cursor for selecting the Unit Section Occurrence data from the Schedule Interface Table
789:
853:
854: IF p_schedule_status = 'ERROR' AND p_error_text IS NULL THEN
855: FND_MESSAGE.Set_Name('IGS','IGS_PS_SCH_ERR_TEXT_NULL');
856: FND_MSG_PUB.Add;
857: x_return_status := FND_API.G_RET_STS_ERROR;
858: END IF;
859:
860: -- Validation 2
861: -- Building identifier are mandatory for successfully scheduled unit section occurrence
864: (p_building_id IS NULL) AND
865: (cur_usec_rec.transaction_type = 'UPDATE' OR cur_usec_rec.transaction_type = 'REQUEST') THEN
866: FND_MESSAGE.Set_Name('IGS','IGS_PS_SCH_BD_OR_RM_NULL');
867: FND_MSG_PUB.Add;
868: x_return_status := FND_API.G_RET_STS_ERROR;
869: END IF;
870:
871: -- Validation 3
872: -- Building and room identifier should be null for successfully cancelled unit section occurrence
875: (p_building_id IS NOT NULL OR p_room_id IS NOT NULL) AND
876: cur_usec_rec.transaction_type = 'CANCEL' THEN
877: FND_MESSAGE.Set_Name('IGS','IGS_PS_SCH_BD_OR_RM_NOT_NULL');
878: FND_MSG_PUB.Add;
879: x_return_status := FND_API.G_RET_STS_ERROR;
880: END IF;
881:
882: -- Validation 4
883: -- Unit Section Occurrence start date must be lesser than or equal to Unit Section Occurrence end date
890: cur_usec_rec.tba_status = 'Y' AND
891: cur_usec_rec.uso_start_date IS NULL AND cur_usec_rec.uso_end_date IS NULL THEN
892: FND_MESSAGE.Set_Name('IGS','IGS_PE_EDT_LT_SDT');
893: FND_MSG_PUB.Add;
894: x_return_status := FND_API.G_RET_STS_ERROR;
895: END IF;
896:
897: -- Validation 5
898: -- Unit Section Occurrence Start Date should be greater than or equal to Unit Section Start Date
904: cur_usec_rec.tba_status = 'Y' AND
905: cur_usec_rec.uso_start_date IS NULL THEN
906: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_STDT_GE_US_STDT');
907: FND_MSG_PUB.Add;
908: x_return_status := FND_API.G_RET_STS_ERROR;
909: END IF;
910:
911: -- Validation 6
912: -- Unit Section Occurrence Start Date must be less than or equal to Unit Section End Date
918: cur_usec_rec.tba_status = 'Y' AND
919: cur_usec_rec.uso_start_date IS NULL THEN
920: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_ST_DT_UOO_END_DT');
921: FND_MSG_PUB.Add;
922: x_return_status := FND_API.G_RET_STS_ERROR;
923: END IF;
924:
925: -- Validation 7
926: -- Unit Section Occurrence End Date must be greater than or equal to Unit Section Start Date
932: cur_usec_rec.tba_status = 'Y' AND
933: cur_usec_rec.uso_end_date IS NULL THEN
934: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_END_DT_UOO_ST_DT');
935: FND_MSG_PUB.Add;
936: x_return_status := FND_API.G_RET_STS_ERROR;
937: END IF;
938:
939: -- Validation 8
940: -- Unit Section Occurrence End Date must be lesser than or equal to Unit Section End Date
946: cur_usec_rec.tba_status = 'Y' AND
947: cur_usec_rec.uso_end_date IS NULL THEN
948: FND_MESSAGE.Set_Name('IGS','IGS_PS_USO_ENDT_LE_US_ENDT');
949: FND_MSG_PUB.Add;
950: x_return_status := FND_API.G_RET_STS_ERROR;
951: END IF;
952:
953: -- Validation 9
954: -- Invalid Scheduled Building Identifier
961: FETCH c_bld INTO rec_bld;
962: IF c_bld%NOTFOUND THEN
963: FND_MESSAGE.Set_Name('IGS','IGS_PS_BUILDING_ID_INVALID');
964: FND_MSG_PUB.Add;
965: x_return_status := FND_API.G_RET_STS_ERROR;
966: END IF;
967: CLOSE c_bld;
968:
969: END IF;
979: FETCH c_room INTO rec_room;
980: IF c_room%NOTFOUND THEN
981: FND_MESSAGE.Set_Name('IGS','IGS_PS_ROOM_ID_INVALID');
982: FND_MSG_PUB.Add;
983: x_return_status := FND_API.G_RET_STS_ERROR;
984: END IF;
985: CLOSE c_room;
986:
987: END IF;
998: FETCH c_bld_room INTO rec_bld_room;
999: IF c_bld_room%NOTFOUND THEN
1000: FND_MESSAGE.Set_Name('IGS','IGS_PS_ROOM_INV_FOR_BLD');
1001: FND_MSG_PUB.Add;
1002: x_return_status := FND_API.G_RET_STS_ERROR;
1003: END IF;
1004: CLOSE c_bld_room;
1005:
1006: END IF;
1020: (cur_usec_rec.transaction_type = 'UPDATE' OR cur_usec_rec.transaction_type = 'REQUEST') THEN
1021:
1022: FND_MESSAGE.Set_Name('IGS','IGS_PS_ATLEAST_ONE_DAY_CHECK');
1023: FND_MSG_PUB.Add;
1024: x_return_status := FND_API.G_RET_STS_ERROR;
1025: END IF;
1026:
1027: -- Raising an exception if any any of the above validations fail
1028:
1025: END IF;
1026:
1027: -- Raising an exception if any any of the above validations fail
1028:
1029: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1030: RAISE FND_API.G_EXC_ERROR;
1031: END IF;
1032:
1033: l_int_occurs_id := cur_usec_rec.int_occurs_id;
1026:
1027: -- Raising an exception if any any of the above validations fail
1028:
1029: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1030: RAISE FND_API.G_EXC_ERROR;
1031: END IF;
1032:
1033: l_int_occurs_id := cur_usec_rec.int_occurs_id;
1034:
1158: END;
1159:
1160: -- If the p_commit parameter is set to True and no errors have been raised
1161: -- then commit
1162: IF FND_API.To_Boolean(p_commit) THEN
1163: COMMIT WORK;
1164: END IF;
1165:
1166: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
1167: p_data => x_msg_data);
1168:
1169:
1170: EXCEPTION
1171: WHEN FND_API.G_EXC_ERROR THEN
1172: ROLLBACK TO Update_Schedule_pub;
1173: x_return_status := FND_API.G_RET_STS_ERROR;
1174: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
1175: p_data => x_msg_data);
1169:
1170: EXCEPTION
1171: WHEN FND_API.G_EXC_ERROR THEN
1172: ROLLBACK TO Update_Schedule_pub;
1173: x_return_status := FND_API.G_RET_STS_ERROR;
1174: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
1175: p_data => x_msg_data);
1176:
1177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1173: x_return_status := FND_API.G_RET_STS_ERROR;
1174: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
1175: p_data => x_msg_data);
1176:
1177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1178: ROLLBACK TO Update_Schedule_pub;
1179: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1180: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
1181: p_data => x_msg_data);
1175: p_data => x_msg_data);
1176:
1177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1178: ROLLBACK TO Update_Schedule_pub;
1179: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1180: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
1181: p_data => x_msg_data);
1182:
1183: WHEN OTHERS THEN
1181: p_data => x_msg_data);
1182:
1183: WHEN OTHERS THEN
1184: ROLLBACK TO Update_Schedule_pub;
1185: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1186:
1187: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1188:
1189: FND_MSG_PUB.Add_Exc_Msg(g_pkg_name,