4: G_USER_ID CONSTANT NUMBER := TO_NUMBER(FND_GLOBAL.USER_ID);
5: G_LOGIN_ID CONSTANT NUMBER := TO_NUMBER(FND_GLOBAL.LOGIN_ID);
6: G_SYSDATE CONSTANT DATE := SYSDATE;
7: --Flag for determining wether to use Actual dates or Estimated dates.
8: G_USE_ACTUALS CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
9:
10: -- Internal record structure used to pass visit reschedule related details to
11: -- Visit sync procedure.
12: TYPE visit_sync_rec_type IS RECORD
115: );
116: END IF;
117:
118: -- initialize return status to success at the begining
119: x_return_status := FND_API.G_RET_STS_SUCCESS;
120:
121:
122: l_record_identifier := get_record_identifier(
123: p_flight_schedule_rec => p_flight_schedule_rec
142: 'DML Operation specified is invalid for '
143: ||p_flight_schedule_rec.unit_schedule_id
144: );
145: END IF;
146: x_return_status := FND_API.G_RET_STS_ERROR;
147: RAISE FND_API.G_EXC_ERROR;
148: END IF;
149:
150:
143: ||p_flight_schedule_rec.unit_schedule_id
144: );
145: END IF;
146: x_return_status := FND_API.G_RET_STS_ERROR;
147: RAISE FND_API.G_EXC_ERROR;
148: END IF;
149:
150:
151: --Obj version number and Unit Schedule id check in case of update or delete.
155: )
156: THEN
157: --Unit Schedule id cannot be null
158: IF p_flight_schedule_rec.UNIT_SCHEDULE_ID IS NULL OR
159: p_flight_schedule_rec.UNIT_SCHEDULE_ID = FND_API.G_MISS_NUM
160: THEN
161: FND_MESSAGE.set_name( 'AHL','AHL_UA_US_NOT_FOUND' );
162: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
163: FND_MSG_PUB.add;
169: 'Unit Schedule ID is null for '
170: ||p_flight_schedule_rec.unit_schedule_id
171: );
172: END IF;
173: x_return_status := FND_API.G_RET_STS_ERROR;
174: RAISE FND_API.G_EXC_ERROR;
175: END IF;
176:
177: -- Check for Object Version number.
170: ||p_flight_schedule_rec.unit_schedule_id
171: );
172: END IF;
173: x_return_status := FND_API.G_RET_STS_ERROR;
174: RAISE FND_API.G_EXC_ERROR;
175: END IF;
176:
177: -- Check for Object Version number.
178: IF ( p_flight_schedule_rec.OBJECT_VERSION_NUMBER IS NULL OR
175: END IF;
176:
177: -- Check for Object Version number.
178: IF ( p_flight_schedule_rec.OBJECT_VERSION_NUMBER IS NULL OR
179: p_flight_schedule_rec.OBJECT_VERSION_NUMBER = FND_API.G_MISS_NUM )
180: THEN
181: FND_MESSAGE.set_name( 'AHL','AHL_UA_OBJ_VERNO_NULL' );
182: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
183: FND_MSG_PUB.add;
189: 'Object Version Number is null for '
190: ||p_flight_schedule_rec.unit_schedule_id
191: );
192: END IF;
193: x_return_status := FND_API.G_RET_STS_ERROR;
194: RAISE FND_API.G_EXC_ERROR;
195: END IF;
196:
197: -- Check if unit schedule rec is valid.
190: ||p_flight_schedule_rec.unit_schedule_id
191: );
192: END IF;
193: x_return_status := FND_API.G_RET_STS_ERROR;
194: RAISE FND_API.G_EXC_ERROR;
195: END IF;
196:
197: -- Check if unit schedule rec is valid.
198: OPEN get_cur_us_csr(p_flight_schedule_rec.unit_schedule_id, p_flight_schedule_rec.object_version_number);
210: 'Unit Schedule record is not valid ->'
211: ||p_flight_schedule_rec.unit_schedule_id
212: );
213: END IF;
214: x_return_status := FND_API.G_RET_STS_ERROR;
215: RAISE FND_API.G_EXC_ERROR;
216: END IF;
217: END IF;
218:
211: ||p_flight_schedule_rec.unit_schedule_id
212: );
213: END IF;
214: x_return_status := FND_API.G_RET_STS_ERROR;
215: RAISE FND_API.G_EXC_ERROR;
216: END IF;
217: END IF;
218:
219: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
283: );
284: END IF;
285:
286: -- Initialize return status to success at the begining
287: x_return_status := FND_API.G_RET_STS_SUCCESS;
288:
289: l_record_identifier := get_record_identifier(
290: p_flight_schedule_rec => p_x_flight_schedule_rec
291: );
292:
293: -- convert unit name(UC Name) to UC header id
294: IF /*(
295: p_x_flight_schedule_rec.unit_config_header_id IS NULL OR
296: p_x_flight_schedule_rec.unit_config_header_id = FND_API.G_MISS_NUM
297: )
298: AND*/
299: (
300: p_x_flight_schedule_rec.unit_config_name IS NOT NULL AND
297: )
298: AND*/
299: (
300: p_x_flight_schedule_rec.unit_config_name IS NOT NULL AND
301: p_x_flight_schedule_rec.unit_config_name <> FND_API.G_MISS_CHAR
302: )
303: THEN
304:
305: OPEN uc_name_to_id_csr(p_x_flight_schedule_rec.unit_config_name);
316: 'Unit Config name specified for '||p_x_flight_schedule_rec.unit_schedule_id
317: ||' is invalid'
318: );
319: END IF;
320: x_return_status := FND_API.G_RET_STS_ERROR;
321: END IF;
322: CLOSE uc_name_to_id_csr;
323:
324: END IF;
325:
326: -- convert arrival org
327: IF/*(
328: p_x_flight_schedule_rec.arrival_org_id IS NULL OR
329: p_x_flight_schedule_rec.arrival_org_id = FND_API.G_MISS_NUM
330: )
331: AND*/
332: (
333: p_x_flight_schedule_rec.ARRIVAL_ORG_CODE IS NOT NULL AND
330: )
331: AND*/
332: (
333: p_x_flight_schedule_rec.ARRIVAL_ORG_CODE IS NOT NULL AND
334: p_x_flight_schedule_rec.ARRIVAL_ORG_CODE <> FND_API.G_MISS_CHAR
335: )
336: THEN
337: OPEN org_name_to_id_csr(p_x_flight_schedule_rec.ARRIVAL_ORG_CODE);
338: FETCH org_name_to_id_csr INTO p_x_flight_schedule_rec.arrival_org_id;
348: 'Arrival Org code specified for '||p_x_flight_schedule_rec.unit_schedule_id
349: ||' is invalid'
350: );
351: END IF;
352: x_return_status := FND_API.G_RET_STS_ERROR;
353: END IF;
354: CLOSE org_name_to_id_csr;
355: END IF;
356:
356:
357: -- convert arrival department
358: IF /*(
359: p_x_flight_schedule_rec.arrival_dept_id IS NULL OR
360: p_x_flight_schedule_rec.arrival_dept_id = FND_API.G_MISS_NUM
361: )
362: AND*/
363: (
364: p_x_flight_schedule_rec.arrival_dept_code IS NOT NULL AND
361: )
362: AND*/
363: (
364: p_x_flight_schedule_rec.arrival_dept_code IS NOT NULL AND
365: p_x_flight_schedule_rec.arrival_dept_code <> FND_API.G_MISS_CHAR
366: )
367: AND
368: (
369: p_x_flight_schedule_rec.arrival_org_id IS NOT NULL AND
366: )
367: AND
368: (
369: p_x_flight_schedule_rec.arrival_org_id IS NOT NULL AND
370: p_x_flight_schedule_rec.arrival_org_id <> FND_API.G_MISS_NUM
371: )
372: THEN
373: OPEN dept_name_to_id_csr(p_x_flight_schedule_rec.arrival_dept_code,
374: p_x_flight_schedule_rec.ARRIVAL_ORG_ID);
385: 'Arrival Department code specified for '||p_x_flight_schedule_rec.unit_schedule_id
386: ||' is invalid'
387: );
388: END IF;
389: x_return_status := FND_API.G_RET_STS_ERROR;
390: END IF;
391: CLOSE dept_name_to_id_csr;
392: END IF;
393:
394:
395: -- convert departure org
396: IF /*(
397: p_x_flight_schedule_rec.departure_org_id IS NULL OR
398: p_x_flight_schedule_rec.departure_org_id = FND_API.G_MISS_NUM
399: )
400: AND*/
401: (
402: p_x_flight_schedule_rec.departure_org_code IS NOT NULL AND
399: )
400: AND*/
401: (
402: p_x_flight_schedule_rec.departure_org_code IS NOT NULL AND
403: p_x_flight_schedule_rec.departure_org_code <> FND_API.G_MISS_CHAR
404: )
405: THEN
406: OPEN org_name_to_id_csr(p_x_flight_schedule_rec.departure_org_code);
407: FETCH org_name_to_id_csr INTO p_x_flight_schedule_rec.departure_org_id;
417: 'Departure org code specified for '||p_x_flight_schedule_rec.unit_schedule_id
418: ||' is invalid'
419: );
420: END IF;
421: x_return_status := FND_API.G_RET_STS_ERROR;
422: END IF;
423: CLOSE org_name_to_id_csr;
424: END IF;
425:
425:
426: -- convert departure department
427: IF /*(
428: p_x_flight_schedule_rec.departure_dept_id IS NULL OR
429: p_x_flight_schedule_rec.departure_dept_id = FND_API.G_MISS_NUM
430: )
431: AND*/
432: (
433: p_x_flight_schedule_rec.departure_dept_code IS NOT NULL AND
430: )
431: AND*/
432: (
433: p_x_flight_schedule_rec.departure_dept_code IS NOT NULL AND
434: p_x_flight_schedule_rec.departure_dept_code <> FND_API.G_MISS_CHAR
435: )
436: AND
437: (
438: p_x_flight_schedule_rec.departure_org_id IS NOT NULL AND
435: )
436: AND
437: (
438: p_x_flight_schedule_rec.departure_org_id IS NOT NULL AND
439: p_x_flight_schedule_rec.departure_org_id <> FND_API.G_MISS_NUM
440: )
441: THEN
442: OPEN dept_name_to_id_csr(p_x_flight_schedule_rec.departure_dept_code,
443: p_x_flight_schedule_rec.departure_org_id);
454: 'Departure department code specified for '||p_x_flight_schedule_rec.unit_schedule_id
455: ||' is invalid'
456: );
457: END IF;
458: x_return_status := FND_API.G_RET_STS_ERROR;
459: END IF;
460: CLOSE dept_name_to_id_csr;
461: END IF;
462:
462:
463: -- validate visit synchronization rule lookup type.
464: IF /*(
465: p_x_flight_schedule_rec.VISIT_RESCHEDULE_MODE IS NOT NULL AND
466: p_x_flight_schedule_rec.VISIT_RESCHEDULE_MODE <> FND_API.G_MISS_CHAR
467: )
468: OR*/
469: (
470: p_x_flight_schedule_rec.VISIT_RESCHEDULE_MEANING IS NOT NULL AND
467: )
468: OR*/
469: (
470: p_x_flight_schedule_rec.VISIT_RESCHEDULE_MEANING IS NOT NULL AND
471: p_x_flight_schedule_rec.VISIT_RESCHEDULE_MEANING <> FND_API.G_MISS_CHAR
472: )
473:
474: THEN
475: AHL_RM_ROUTE_UTIL.validate_lookup(
480: p_x_lookup_code => p_x_flight_schedule_rec.VISIT_RESCHEDULE_MODE
481: );
482:
483: -- If any severe error occurs, then, abort API.
484: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
485: FND_MESSAGE.SET_NAME('AHL','AHL_UA_INV_RESCH_MODE');
486: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
487: FND_MSG_PUB.ADD;
488: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
493: 'visit reschedule mode specified for '||p_x_flight_schedule_rec.unit_schedule_id
494: ||' is invalid'
495: );
496: END IF;
497: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
498: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
499: END IF;
500: END IF;
501:
494: ||' is invalid'
495: );
496: END IF;
497: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
498: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
499: END IF;
500: END IF;
501:
502: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
550: -- Default Unit Config Header id.
551: IF (p_x_flight_schedule_rec.unit_config_header_id IS NULL )
552: THEN
553: p_x_flight_schedule_rec.unit_config_header_id := l_current_us_rec.unit_config_header_id;
554: ELSIF p_x_flight_schedule_rec.unit_config_header_id = FND_API.G_MISS_NUM THEN
555: p_x_flight_schedule_rec.unit_config_header_id := NULL;
556: END IF;
557:
558: -- Default Flight Number
557:
558: -- Default Flight Number
559: IF ( p_x_flight_schedule_rec.flight_number IS NULL ) THEN
560: p_x_flight_schedule_rec.flight_number := l_current_us_rec.flight_number;
561: ELSIF p_x_flight_schedule_rec.flight_number = FND_API.G_MISS_CHAR THEN
562: p_x_flight_schedule_rec.flight_number := NULL;
563: END IF;
564:
565: -- Default segment
564:
565: -- Default segment
566: IF ( p_x_flight_schedule_rec.segment IS NULL ) THEN
567: p_x_flight_schedule_rec.segment := l_current_us_rec.segment;
568: ELSIF p_x_flight_schedule_rec.segment = FND_API.G_MISS_CHAR THEN
569: p_x_flight_schedule_rec.segment := NULL;
570: END IF;
571:
572: -- Default departure dept id.
571:
572: -- Default departure dept id.
573: IF ( p_x_flight_schedule_rec.departure_dept_id IS NULL ) THEN
574: p_x_flight_schedule_rec.departure_dept_id := l_current_us_rec.departure_dept_id;
575: ELSIF p_x_flight_schedule_rec.departure_dept_id = FND_API.G_MISS_NUM THEN
576: p_x_flight_schedule_rec.departure_dept_id := NULL;
577: END IF;
578:
579: -- Default departure org id.
578:
579: -- Default departure org id.
580: IF ( p_x_flight_schedule_rec.departure_org_id IS NULL ) THEN
581: p_x_flight_schedule_rec.departure_org_id := l_current_us_rec.departure_org_id;
582: ELSIF ( p_x_flight_schedule_rec.departure_org_id = FND_API.G_MISS_NUM ) THEN
583: p_x_flight_schedule_rec.departure_org_id := NULL;
584: END IF;
585:
586: -- Default arrival dept id.
585:
586: -- Default arrival dept id.
587: IF ( p_x_flight_schedule_rec.arrival_dept_id IS NULL ) THEN
588: p_x_flight_schedule_rec.arrival_dept_id := l_current_us_rec.arrival_dept_id;
589: ELSIF p_x_flight_schedule_rec.arrival_dept_id = FND_API.G_MISS_NUM THEN
590: p_x_flight_schedule_rec.arrival_dept_id := NULL;
591: END IF;
592:
593: -- Default arrival org is updated
592:
593: -- Default arrival org is updated
594: IF ( p_x_flight_schedule_rec.arrival_org_id IS NULL ) THEN
595: p_x_flight_schedule_rec.arrival_org_id := l_current_us_rec.arrival_org_id;
596: ELSIF p_x_flight_schedule_rec.arrival_org_id = FND_API.G_MISS_NUM THEN
597: p_x_flight_schedule_rec.arrival_org_id := NULL;
598: END IF;
599:
600: -- Default estimated departure time.
599:
600: -- Default estimated departure time.
601: IF ( p_x_flight_schedule_rec.est_departure_time IS NULL ) THEN
602: p_x_flight_schedule_rec.est_departure_time := l_current_us_rec.est_departure_time;
603: ELSIF p_x_flight_schedule_rec.est_departure_time = FND_API.G_MISS_DATE THEN
604: p_x_flight_schedule_rec.est_departure_time := NULL;
605: END IF;
606:
607: -- Default estimated Arrival time.
606:
607: -- Default estimated Arrival time.
608: IF ( p_x_flight_schedule_rec.est_arrival_time IS NULL ) THEN
609: p_x_flight_schedule_rec.est_arrival_time := l_current_us_rec.est_arrival_time;
610: ELSIF p_x_flight_schedule_rec.est_arrival_time = FND_API.G_MISS_DATE THEN
611: p_x_flight_schedule_rec.est_arrival_time := NULL;
612: END IF;
613:
614: -- default actual_departure_time
613:
614: -- default actual_departure_time
615: IF ( p_x_flight_schedule_rec.actual_departure_time IS NULL ) THEN
616: p_x_flight_schedule_rec.actual_departure_time := l_current_us_rec.actual_departure_time;
617: ELSIF p_x_flight_schedule_rec.actual_departure_time = FND_API.G_MISS_DATE
618: THEN
619: p_x_flight_schedule_rec.actual_departure_time := NULL;
620: END IF;
621:
621:
622: -- default actual_arrival_time
623: IF ( p_x_flight_schedule_rec.actual_arrival_time IS NULL ) THEN
624: p_x_flight_schedule_rec.actual_arrival_time := l_current_us_rec.actual_arrival_time;
625: ELSIF p_x_flight_schedule_rec.actual_arrival_time = FND_API.G_MISS_DATE
626: THEN
627: p_x_flight_schedule_rec.actual_arrival_time := NULL;
628: END IF;
629:
629:
630: -- default preceding_us_id
631: IF ( p_x_flight_schedule_rec.preceding_us_id IS NULL ) THEN
632: p_x_flight_schedule_rec.preceding_us_id := l_current_us_rec.preceding_us_id;
633: ELSIF p_x_flight_schedule_rec.preceding_us_id = FND_API.G_MISS_NUM
634: THEN
635: p_x_flight_schedule_rec.preceding_us_id := NULL;
636: END IF;
637:
637:
638: -- default visit_reschedule_mode
639: IF ( p_x_flight_schedule_rec.visit_reschedule_mode IS NULL ) THEN
640: p_x_flight_schedule_rec.visit_reschedule_mode := l_current_us_rec.visit_reschedule_mode;
641: ELSIF p_x_flight_schedule_rec.visit_reschedule_mode = FND_API.G_MISS_CHAR
642: THEN
643: p_x_flight_schedule_rec.visit_reschedule_mode := NULL;
644: END IF;
645:
682: );
683: END IF;
684:
685: -- Initialize return status to success at the begining
686: x_return_status := FND_API.G_RET_STS_SUCCESS;
687:
688: l_record_identifier := get_record_identifier(
689: p_flight_schedule_rec => p_flight_schedule_rec
690: );
691:
692: -- Unit Config Header is Mandatory input Field and cannot be null
693: IF (
694: p_flight_schedule_rec.unit_config_header_id IS NULL OR
695: p_flight_schedule_rec.unit_config_header_id = FND_API.G_MISS_NUM
696: )
697: THEN
698: FND_MESSAGE.set_name( 'AHL','AHL_UA_INV_UC_NAME' );
699: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
706: 'Unit Config Header id is a mandatory input field and cannot be null for '
707: ||p_flight_schedule_rec.unit_schedule_id
708: );
709: END IF;
710: x_return_status := FND_API.G_RET_STS_ERROR;
711: END IF;
712:
713: -- Flight Number is a mandatory input field and cannot be null
714: IF (
712:
713: -- Flight Number is a mandatory input field and cannot be null
714: IF (
715: p_flight_schedule_rec.flight_number IS NULL OR
716: p_flight_schedule_rec.flight_number = FND_API.G_MISS_CHAR
717: )
718: THEN
719: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_FLG_NUMBER_NULL' );
720: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
727: 'Flight Number cannot be null for '
728: ||p_flight_schedule_rec.unit_schedule_id
729: );
730: END IF;
731: x_return_status := FND_API.G_RET_STS_ERROR;
732: --RAISE FND_API.G_EXC_ERROR;
733: END IF;
734:
735: -- Segment is a mandatory input field and cannot be null
728: ||p_flight_schedule_rec.unit_schedule_id
729: );
730: END IF;
731: x_return_status := FND_API.G_RET_STS_ERROR;
732: --RAISE FND_API.G_EXC_ERROR;
733: END IF;
734:
735: -- Segment is a mandatory input field and cannot be null
736: IF (
734:
735: -- Segment is a mandatory input field and cannot be null
736: IF (
737: p_flight_schedule_rec.segment IS NULL OR
738: p_flight_schedule_rec.segment = FND_API.G_MISS_CHAR
739: )
740: THEN
741: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_SEGMENT_NULL' );
742: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
749: 'Segment cannot be null for '
750: ||p_flight_schedule_rec.unit_schedule_id
751: );
752: END IF;
753: x_return_status := FND_API.G_RET_STS_ERROR;
754: --RAISE FND_API.G_EXC_ERROR;
755: END IF;
756:
757: -- Departure department is a mandatory input field and cannot be null
750: ||p_flight_schedule_rec.unit_schedule_id
751: );
752: END IF;
753: x_return_status := FND_API.G_RET_STS_ERROR;
754: --RAISE FND_API.G_EXC_ERROR;
755: END IF;
756:
757: -- Departure department is a mandatory input field and cannot be null
758: IF (
756:
757: -- Departure department is a mandatory input field and cannot be null
758: IF (
759: p_flight_schedule_rec.departure_dept_id IS NULL OR
760: p_flight_schedule_rec.departure_dept_id = FND_API.G_MISS_NUM
761: )
762: THEN
763: FND_MESSAGE.set_name( 'AHL','AHL_UA_DEP_DEPT_NULL' );
764: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
771: 'Departure_Dept_Id is a mandatory input field and cannot be null for '
772: ||p_flight_schedule_rec.unit_schedule_id
773: );
774: END IF;
775: x_return_status := FND_API.G_RET_STS_ERROR;
776: END IF;
777:
778: -- Departure Organization is a mandatory input field and cannot be null
779: IF (
777:
778: -- Departure Organization is a mandatory input field and cannot be null
779: IF (
780: p_flight_schedule_rec.departure_org_id IS NULL OR
781: p_flight_schedule_rec.departure_org_id = FND_API.G_MISS_NUM
782: )
783: THEN
784: FND_MESSAGE.set_name( 'AHL','AHL_UA_DEP_ORG_NULL' );
785: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
792: 'Departure_Org_Id is a mandatory input field and cannot be null for '
793: ||p_flight_schedule_rec.unit_schedule_id
794: );
795: END IF;
796: x_return_status := FND_API.G_RET_STS_ERROR;
797: END IF;
798:
799: -- Arrival Department is a mandatory input field and cannot be null
800: IF (
798:
799: -- Arrival Department is a mandatory input field and cannot be null
800: IF (
801: p_flight_schedule_rec.arrival_dept_id IS NULL OR
802: p_flight_schedule_rec.arrival_dept_id = FND_API.G_MISS_NUM
803: )
804: THEN
805: FND_MESSAGE.set_name( 'AHL','AHL_UA_ARR_DEPT_NULL' );
806: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
813: 'Arrival_Dept_Id is a mandatory input field and cannot be null for '
814: ||p_flight_schedule_rec.unit_schedule_id
815: );
816: END IF;
817: x_return_status := FND_API.G_RET_STS_ERROR;
818: END IF;
819:
820: -- Arrival Organization is a mandatory input field and cannot be null
821: IF (
819:
820: -- Arrival Organization is a mandatory input field and cannot be null
821: IF (
822: p_flight_schedule_rec.arrival_org_id IS NULL OR
823: p_flight_schedule_rec.arrival_org_id = FND_API.G_MISS_NUM
824: )
825: THEN
826: FND_MESSAGE.set_name( 'AHL','AHL_UA_ARR_ORG_NULL' );
827: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
834: 'Arrival_Org_Id is a mandatory input field and cannot be null for '
835: ||p_flight_schedule_rec.unit_schedule_id
836: );
837: END IF;
838: x_return_status := FND_API.G_RET_STS_ERROR;
839: END IF;
840:
841: -- Estimated Departure Time is a mandatory input field and cannot be null
842: IF (
840:
841: -- Estimated Departure Time is a mandatory input field and cannot be null
842: IF (
843: p_flight_schedule_rec.est_departure_time IS NULL OR
844: p_flight_schedule_rec.est_departure_time = FND_API.G_MISS_DATE
845: )
846: THEN
847: FND_MESSAGE.set_name( 'AHL','AHL_UA_EST_DEP_TIME_NULL' );
848: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
855: 'Est_Departure_Time is a mandatory input field and cannot be null for '
856: ||p_flight_schedule_rec.unit_schedule_id
857: );
858: END IF;
859: x_return_status := FND_API.G_RET_STS_ERROR;
860: END IF;
861:
862: -- Estimated Arrival Time is a mandatory input field and cannot be null
863: IF (
861:
862: -- Estimated Arrival Time is a mandatory input field and cannot be null
863: IF (
864: p_flight_schedule_rec.est_arrival_time IS NULL OR
865: p_flight_schedule_rec.est_arrival_time = FND_API.G_MISS_DATE
866: )
867: THEN
868: FND_MESSAGE.set_name( 'AHL','AHL_UA_EST_ARR_TIME_NULL' );
869: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
876: 'Est_Arrival_Time is a mandatory input field and cannot be null for '
877: ||p_flight_schedule_rec.unit_schedule_id
878: );
879: END IF;
880: x_return_status := FND_API.G_RET_STS_ERROR;
881: END IF;
882:
883: -- Visit Reschedule Mode is a mandatory input field and cannot be null
884: IF (
882:
883: -- Visit Reschedule Mode is a mandatory input field and cannot be null
884: IF (
885: p_flight_schedule_rec.visit_reschedule_mode IS NULL OR
886: p_flight_schedule_rec.visit_reschedule_mode = FND_API.G_MISS_CHAR
887: )
888: THEN
889: FND_MESSAGE.set_name( 'AHL','AHL_UA_VST_RES_MODE_NULL' );
890: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
897: 'Visit_Reschedule_Mode is a mandatory input field and cannot be null for '
898: ||p_flight_schedule_rec.unit_schedule_id
899: );
900: END IF;
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: --RAISE FND_API.G_EXC_ERROR;
903: END IF;
904:
905: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
898: ||p_flight_schedule_rec.unit_schedule_id
899: );
900: END IF;
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: --RAISE FND_API.G_EXC_ERROR;
903: END IF;
904:
905: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
906: fnd_log.string
944: );
945: END IF;
946:
947: --Initialize x_return_status to success at the start of the procedure
948: x_return_status := FND_API.G_RET_STS_SUCCESS;
949:
950: --Check if update is allowed for the record
951: l_update_allowed := is_update_allowed(
952: p_x_flight_schedule_rec.unit_schedule_id,
976: ||p_x_flight_schedule_rec.unit_schedule_id
977: );
978: END IF;
979: CLOSE get_current_us_csr;
980: x_return_status := FND_API.G_RET_STS_ERROR;
981: --RAISE FND_API.G_EXC_ERROR;
982: END IF;
983:
984: CLOSE get_current_us_csr;
977: );
978: END IF;
979: CLOSE get_current_us_csr;
980: x_return_status := FND_API.G_RET_STS_ERROR;
981: --RAISE FND_API.G_EXC_ERROR;
982: END IF;
983:
984: CLOSE get_current_us_csr;
985:
997: 'Unit config header id cannot be updated for '
998: ||p_x_flight_schedule_rec.unit_schedule_id
999: );
1000: END IF;
1001: x_return_status := FND_API.G_RET_STS_ERROR;
1002: --RAISE FND_API.G_EXC_ERROR;
1003: END IF;
1004:
1005: ----------------------------------------------------------------------------------------------------
998: ||p_x_flight_schedule_rec.unit_schedule_id
999: );
1000: END IF;
1001: x_return_status := FND_API.G_RET_STS_ERROR;
1002: --RAISE FND_API.G_EXC_ERROR;
1003: END IF;
1004:
1005: ----------------------------------------------------------------------------------------------------
1006: /* --Un comment the code if this is required
1018: 'Flight Number cannot be updated for '
1019: ||p_x_flight_schedule_rec.unit_schedule_id
1020: );
1021: END IF;
1022: x_return_status := FND_API.G_RET_STS_ERROR;
1023: --RAISE FND_API.G_EXC_ERROR;
1024: END IF;
1025:
1026: -- Flight Segment cannot be updated unless user is super user.
1019: ||p_x_flight_schedule_rec.unit_schedule_id
1020: );
1021: END IF;
1022: x_return_status := FND_API.G_RET_STS_ERROR;
1023: --RAISE FND_API.G_EXC_ERROR;
1024: END IF;
1025:
1026: -- Flight Segment cannot be updated unless user is super user.
1027: IF p_x_flight_schedule_rec.segment <> l_current_us_rec.segment
1037: 'Flight Segment cannot be updated for '
1038: ||p_x_flight_schedule_rec.unit_schedule_id
1039: );
1040: END IF;
1041: x_return_status := FND_API.G_RET_STS_ERROR;
1042: --RAISE FND_API.G_EXC_ERROR;
1043: END IF;
1044: ------------------------------------------------------------------------------------------------------
1045: --Un comment the code if this is required */
1038: ||p_x_flight_schedule_rec.unit_schedule_id
1039: );
1040: END IF;
1041: x_return_status := FND_API.G_RET_STS_ERROR;
1042: --RAISE FND_API.G_EXC_ERROR;
1043: END IF;
1044: ------------------------------------------------------------------------------------------------------
1045: --Un comment the code if this is required */
1046:
1045: --Un comment the code if this is required */
1046:
1047: -- Departure department cannot be updated unless user is super user.
1048: IF p_x_flight_schedule_rec.departure_dept_id <> l_current_us_rec.departure_dept_id AND
1049: l_update_allowed = FND_API.G_FALSE
1050: THEN
1051: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_DEP_DEPT_NO_UPDATE' );
1052: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
1053: FND_MSG_PUB.add;
1059: 'Departure deparment cannot be updated for '
1060: ||p_x_flight_schedule_rec.unit_schedule_id
1061: );
1062: END IF;
1063: x_return_status := FND_API.G_RET_STS_ERROR;
1064: --RAISE FND_API.G_EXC_ERROR;
1065: END IF;
1066:
1067: -- Departure Organization cannot be updated unless user is super user.
1060: ||p_x_flight_schedule_rec.unit_schedule_id
1061: );
1062: END IF;
1063: x_return_status := FND_API.G_RET_STS_ERROR;
1064: --RAISE FND_API.G_EXC_ERROR;
1065: END IF;
1066:
1067: -- Departure Organization cannot be updated unless user is super user.
1068: IF p_x_flight_schedule_rec.departure_org_id <> l_current_us_rec.departure_org_id AND
1065: END IF;
1066:
1067: -- Departure Organization cannot be updated unless user is super user.
1068: IF p_x_flight_schedule_rec.departure_org_id <> l_current_us_rec.departure_org_id AND
1069: l_update_allowed = FND_API.G_FALSE
1070: THEN
1071: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_DEP_ORG_NO_UPDATE' );
1072: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
1073: FND_MSG_PUB.add;
1079: 'Departure org cannot be updated for '
1080: ||p_x_flight_schedule_rec.unit_schedule_id
1081: );
1082: END IF;
1083: x_return_status := FND_API.G_RET_STS_ERROR;
1084: --RAISE FND_API.G_EXC_ERROR;
1085: END IF;
1086:
1087: -- Arrival Department cannot be updated unless user is super user.
1080: ||p_x_flight_schedule_rec.unit_schedule_id
1081: );
1082: END IF;
1083: x_return_status := FND_API.G_RET_STS_ERROR;
1084: --RAISE FND_API.G_EXC_ERROR;
1085: END IF;
1086:
1087: -- Arrival Department cannot be updated unless user is super user.
1088: IF p_x_flight_schedule_rec.arrival_dept_id <> l_current_us_rec.arrival_dept_id AND
1085: END IF;
1086:
1087: -- Arrival Department cannot be updated unless user is super user.
1088: IF p_x_flight_schedule_rec.arrival_dept_id <> l_current_us_rec.arrival_dept_id AND
1089: l_update_allowed = FND_API.G_FALSE
1090: THEN
1091: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_ARR_DEP_NO_UPDATE' );
1092: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
1093: FND_MSG_PUB.add;
1099: 'Arrival Department cannot be updated for'
1100: ||p_x_flight_schedule_rec.unit_schedule_id
1101: );
1102: END IF;
1103: x_return_status := FND_API.G_RET_STS_ERROR;
1104: --RAISE FND_API.G_EXC_ERROR;
1105: END IF;
1106:
1107: -- Arrival Organization cannot be updated unless user is super user.
1100: ||p_x_flight_schedule_rec.unit_schedule_id
1101: );
1102: END IF;
1103: x_return_status := FND_API.G_RET_STS_ERROR;
1104: --RAISE FND_API.G_EXC_ERROR;
1105: END IF;
1106:
1107: -- Arrival Organization cannot be updated unless user is super user.
1108: IF p_x_flight_schedule_rec.arrival_org_id <> l_current_us_rec.arrival_org_id AND
1105: END IF;
1106:
1107: -- Arrival Organization cannot be updated unless user is super user.
1108: IF p_x_flight_schedule_rec.arrival_org_id <> l_current_us_rec.arrival_org_id AND
1109: l_update_allowed = FND_API.G_FALSE
1110: THEN
1111: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_ARR_ORG_NO_UPDATE' );
1112: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
1113: FND_MSG_PUB.add;
1119: 'Arrival org cannot be updated for '
1120: ||p_x_flight_schedule_rec.unit_schedule_id
1121: );
1122: END IF;
1123: x_return_status := FND_API.G_RET_STS_ERROR;
1124: --RAISE FND_API.G_EXC_ERROR;
1125: END IF;
1126:
1127: -- Estimated Departure Time cannot be updated unless user is super user.
1120: ||p_x_flight_schedule_rec.unit_schedule_id
1121: );
1122: END IF;
1123: x_return_status := FND_API.G_RET_STS_ERROR;
1124: --RAISE FND_API.G_EXC_ERROR;
1125: END IF;
1126:
1127: -- Estimated Departure Time cannot be updated unless user is super user.
1128: IF p_x_flight_schedule_rec.est_departure_time <> l_current_us_rec.est_departure_time AND
1125: END IF;
1126:
1127: -- Estimated Departure Time cannot be updated unless user is super user.
1128: IF p_x_flight_schedule_rec.est_departure_time <> l_current_us_rec.est_departure_time AND
1129: l_update_allowed = FND_API.G_FALSE
1130: THEN
1131: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_EST_DEP_NO_UPDATE' );
1132: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
1133: FND_MSG_PUB.add;
1139: 'Estimated Departure time cannot be updated for '
1140: ||p_x_flight_schedule_rec.unit_schedule_id
1141: );
1142: END IF;
1143: x_return_status := FND_API.G_RET_STS_ERROR;
1144: --RAISE FND_API.G_EXC_ERROR;
1145: END IF;
1146:
1147: -- Estimated Arrival Time cannot be updated unless user is super user.
1140: ||p_x_flight_schedule_rec.unit_schedule_id
1141: );
1142: END IF;
1143: x_return_status := FND_API.G_RET_STS_ERROR;
1144: --RAISE FND_API.G_EXC_ERROR;
1145: END IF;
1146:
1147: -- Estimated Arrival Time cannot be updated unless user is super user.
1148: IF p_x_flight_schedule_rec.est_arrival_time <> l_current_us_rec.est_arrival_time AND
1145: END IF;
1146:
1147: -- Estimated Arrival Time cannot be updated unless user is super user.
1148: IF p_x_flight_schedule_rec.est_arrival_time <> l_current_us_rec.est_arrival_time AND
1149: l_update_allowed = FND_API.G_FALSE
1150: THEN
1151: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_EST_ARR_NO_UPDATE' );
1152: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
1153: FND_MSG_PUB.add;
1159: 'Estimated Arrival time cannot be updated for '
1160: ||p_x_flight_schedule_rec.unit_schedule_id
1161: );
1162: END IF;
1163: x_return_status := FND_API.G_RET_STS_ERROR;
1164: --RAISE FND_API.G_EXC_ERROR;
1165: END IF;
1166:
1167: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
1160: ||p_x_flight_schedule_rec.unit_schedule_id
1161: );
1162: END IF;
1163: x_return_status := FND_API.G_RET_STS_ERROR;
1164: --RAISE FND_API.G_EXC_ERROR;
1165: END IF;
1166:
1167: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
1168: fnd_log.string
1255: END IF;
1256:
1257: -- Set return status to success.
1258:
1259: x_return_status := FND_API.G_RET_STS_SUCCESS;
1260:
1261: l_record_identifier := get_record_identifier(
1262: p_flight_schedule_rec => p_x_flight_schedule_rec
1263: );
1275: IF ( l_curr_act_dates_rec.actual_departure_time IS NOT NULL OR
1276: l_curr_act_dates_rec.actual_arrival_time IS NOT NULL )
1277: AND is_delete_allowed(p_unit_schedule_id => p_x_flight_schedule_rec.unit_schedule_id,
1278: p_is_super_user => is_super_user
1279: ) = FND_API.G_FALSE
1280: THEN
1281: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_ACT_NO_DEL' );
1282: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
1283: FND_MSG_PUB.add;
1289: 'Actual times are entered for '||p_x_flight_schedule_rec.unit_schedule_id
1290: ||'so delete not allowed'
1291: );
1292: END IF;
1293: x_return_status := FND_API.G_RET_STS_ERROR;
1294: END IF;
1295:
1296: ELSE
1297: --Check for duplicate records.
1317: 'Duplicates flight schedules found for ,'
1318: ||p_x_flight_schedule_rec.unit_schedule_id
1319: );
1320: END IF;
1321: x_return_status := FND_API.G_RET_STS_ERROR;
1322: RAISE FND_API.G_EXC_ERROR;
1323: END IF;
1324:
1325: --Check if Actual Arrival is entered without departure.
1318: ||p_x_flight_schedule_rec.unit_schedule_id
1319: );
1320: END IF;
1321: x_return_status := FND_API.G_RET_STS_ERROR;
1322: RAISE FND_API.G_EXC_ERROR;
1323: END IF;
1324:
1325: --Check if Actual Arrival is entered without departure.
1326: IF (
1324:
1325: --Check if Actual Arrival is entered without departure.
1326: IF (
1327: p_x_flight_schedule_rec.ACTUAL_ARRIVAL_TIME IS NOT NULL AND
1328: p_x_flight_schedule_rec.ACTUAL_ARRIVAL_TIME <> FND_API.G_MISS_DATE
1329: )
1330: AND
1331: (
1332: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME IS NULL OR
1329: )
1330: AND
1331: (
1332: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME IS NULL OR
1333: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME = FND_API.G_MISS_DATE
1334: )
1335: THEN
1336: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_ARR_WO_DEP' );
1337: FND_MESSAGE.set_token( 'RECORD', l_record_identifier );
1343: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
1344: 'Actuals Arrival time cannot be entered until departure time is entered '||p_x_flight_schedule_rec.unit_schedule_id
1345: );
1346: END IF;
1347: x_return_status := FND_API.G_RET_STS_ERROR;
1348: END IF;
1349:
1350: --Check if actuals are greater than sysdate.
1351: IF (
1349:
1350: --Check if actuals are greater than sysdate.
1351: IF (
1352: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME IS NOT NULL AND
1353: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME <> FND_API.G_MISS_DATE AND
1354: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME > SYSDATE
1355: )
1356: OR
1357: (
1355: )
1356: OR
1357: (
1358: p_x_flight_schedule_rec.ACTUAL_ARRIVAL_TIME IS NOT NULL AND
1359: p_x_flight_schedule_rec.ACTUAL_ARRIVAL_TIME <> FND_API.G_MISS_DATE AND
1360: p_x_flight_schedule_rec.ACTUAL_ARRIVAL_TIME > SYSDATE
1361: )
1362: THEN
1363: FND_MESSAGE.set_name( 'AHL', 'AHL_UA_ACT_GT_SYSDATE' );
1370: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
1371: 'Actuals cannot be greater than sysdate for '||p_x_flight_schedule_rec.unit_schedule_id
1372: );
1373: END IF;
1374: x_return_status := FND_API.G_RET_STS_ERROR;
1375: END IF;
1376:
1377: --Validate if arrival dates are greater than departure dates.
1378: IF (
1376:
1377: --Validate if arrival dates are greater than departure dates.
1378: IF (
1379: p_x_flight_schedule_rec.EST_DEPARTURE_TIME IS NOT NULL AND
1380: p_x_flight_schedule_rec.EST_DEPARTURE_TIME <> FND_API.G_MISS_DATE
1381: )
1382: AND
1383: p_x_flight_schedule_rec.EST_DEPARTURE_TIME >= p_x_flight_schedule_rec.EST_ARRIVAL_TIME
1384: THEN
1393: 'Estimated Departure cannot be greater than arrival for '
1394: ||p_x_flight_schedule_rec.unit_schedule_id
1395: );
1396: END IF;
1397: x_return_status := FND_API.G_RET_STS_ERROR;
1398: END IF;
1399:
1400: --Validate if arrival dates are greater than departure dates.
1401: IF (
1399:
1400: --Validate if arrival dates are greater than departure dates.
1401: IF (
1402: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME IS NOT NULL AND
1403: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME <> FND_API.G_MISS_DATE
1404: )
1405: AND
1406: p_x_flight_schedule_rec.ACTUAL_DEPARTURE_TIME >= p_x_flight_schedule_rec.ACTUAL_ARRIVAL_TIME
1407: THEN
1416: 'Actual Departure cannot be greater than arrival for '
1417: ||p_x_flight_schedule_rec.unit_schedule_id
1418: );
1419: END IF;
1420: x_return_status := FND_API.G_RET_STS_ERROR;
1421: END IF;
1422:
1423:
1424: IF (
1422:
1423:
1424: IF (
1425: p_x_flight_schedule_rec.actual_departure_time IS NOT NULL AND
1426: p_x_flight_schedule_rec.actual_departure_time <> FND_API.G_MISS_DATE
1427: )
1428: OR
1429: (
1430: p_x_flight_schedule_rec.actual_arrival_time IS NOT NULL AND
1427: )
1428: OR
1429: (
1430: p_x_flight_schedule_rec.actual_arrival_time IS NOT NULL AND
1431: p_x_flight_schedule_rec.actual_arrival_time <> FND_API.G_MISS_DATE
1432: )
1433: THEN
1434: --If create then use unit_config_header_id to fetch actual times
1435: -- Added for bug 4071579
1470: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
1471: 'previous actuals are not entered for '||p_x_flight_schedule_rec.unit_schedule_id
1472: );
1473: END IF;
1474: x_return_status := FND_API.G_RET_STS_ERROR;
1475: END IF;
1476: END IF;
1477:
1478: -- code to verify if estimated times are updated to a value less than
1498: 'estimated arrival time violates another flight'||
1499: 'schedules estimated arrival time for '||p_x_flight_schedule_rec.unit_schedule_id
1500: );
1501: END IF;
1502: x_return_status := FND_API.G_RET_STS_ERROR;
1503: END IF;
1504:
1505: END IF;
1506: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
1553: LOOP
1554: --Get preceeding us id.
1555: l_equal_arr_count := 0;
1556: l_count := 1;
1557: IF G_USE_ACTUALS = FND_API.G_TRUE THEN
1558: OPEN get_pre_us_id_act(p_x_flight_schedules_tbl(i).unit_config_header_id);
1559: LOOP
1560: FETCH get_pre_us_id_act INTO l_pre_us_tbl(l_count).unit_schedule_id,
1561: l_pre_us_tbl(l_count).arrival_time;
1633:
1634: BEGIN
1635: -- Initialize the return status to success.
1636:
1637: x_return_status := FND_API.G_RET_STS_SUCCESS;
1638:
1639: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
1640: fnd_log.string
1641: (
1680: THEN
1681: l_visit_tbl(l_visit_count).PLAN_END_DATE := l_flight_visit.close_date_time + l_time_diff;
1682: ELSE
1683: -- calculate the close date time.
1684: l_visit_tbl(l_visit_count).PLAN_END_DATE := AHL_VWP_TIMES_PVT.GET_VISIT_END_TIME(l_flight_visit.visit_id , FND_API.G_FALSE) + l_time_diff;
1685: END IF;
1686:
1687: l_visit_tbl(l_visit_count).item_instance_id := l_flight_visit.item_instance_id;
1688: l_visit_tbl(l_visit_count).unit_schedule_id := l_flight_visit.unit_schedule_id;
1715: CLOSE get_flight_visit;
1716:
1717: AHL_VWP_VISITS_PVT.Process_Visit (
1718: p_api_version => 1.0,
1719: p_init_msg_list => FND_API.g_false,
1720: p_commit => FND_API.g_false,
1721: p_validation_level => FND_API.g_valid_level_full,
1722: p_module_type => 'JSP',
1723: p_x_Visit_tbl => l_visit_tbl,
1716:
1717: AHL_VWP_VISITS_PVT.Process_Visit (
1718: p_api_version => 1.0,
1719: p_init_msg_list => FND_API.g_false,
1720: p_commit => FND_API.g_false,
1721: p_validation_level => FND_API.g_valid_level_full,
1722: p_module_type => 'JSP',
1723: p_x_Visit_tbl => l_visit_tbl,
1724: x_return_status => x_return_status,
1717: AHL_VWP_VISITS_PVT.Process_Visit (
1718: p_api_version => 1.0,
1719: p_init_msg_list => FND_API.g_false,
1720: p_commit => FND_API.g_false,
1721: p_validation_level => FND_API.g_valid_level_full,
1722: p_module_type => 'JSP',
1723: p_x_Visit_tbl => l_visit_tbl,
1724: x_return_status => x_return_status,
1725: x_msg_count => l_msg_count,
1726: x_msg_data => l_msg_data
1727: );
1728:
1729:
1730: IF(x_return_status <> FND_API.G_RET_STS_SUCCESS )
1731: THEN
1732: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
1733: fnd_log.string
1734: (
1758: 'At the end of '||l_api_name
1759: );
1760: END IF;
1761: EXCEPTION
1762: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1763: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1764: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1765: p_count => l_msg_count,
1766: p_data => l_msg_data);
1759: );
1760: END IF;
1761: EXCEPTION
1762: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1763: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1764: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1765: p_count => l_msg_count,
1766: p_data => l_msg_data);
1767:
1760: END IF;
1761: EXCEPTION
1762: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1763: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1764: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1765: p_count => l_msg_count,
1766: p_data => l_msg_data);
1767:
1768: WHEN FND_API.G_EXC_ERROR THEN
1764: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1765: p_count => l_msg_count,
1766: p_data => l_msg_data);
1767:
1768: WHEN FND_API.G_EXC_ERROR THEN
1769: x_return_status := FND_API.G_RET_STS_ERROR;
1770: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1771: p_count => l_msg_count,
1772: p_data => l_msg_data);
1765: p_count => l_msg_count,
1766: p_data => l_msg_data);
1767:
1768: WHEN FND_API.G_EXC_ERROR THEN
1769: x_return_status := FND_API.G_RET_STS_ERROR;
1770: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1771: p_count => l_msg_count,
1772: p_data => l_msg_data);
1773:
1766: p_data => l_msg_data);
1767:
1768: WHEN FND_API.G_EXC_ERROR THEN
1769: x_return_status := FND_API.G_RET_STS_ERROR;
1770: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1771: p_count => l_msg_count,
1772: p_data => l_msg_data);
1773:
1774: WHEN OTHERS THEN
1771: p_count => l_msg_count,
1772: p_data => l_msg_data);
1773:
1774: WHEN OTHERS THEN
1775: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1776: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1777: THEN
1778: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
1779: p_procedure_name => l_api_name,
1783: FND_MSG_PUB.count_and_get
1784: (
1785: p_count => l_msg_count,
1786: p_data => l_msg_data,
1787: p_encoded => FND_API.G_FALSE
1788: );
1789:
1790: END Synchronize_Visit_Details;
1791:
1802: l_overlap_us_count NUMBER;
1803:
1804: BEGIN
1805: -- Initialize return status to success initially
1806: x_return_status:=FND_API.G_RET_STS_SUCCESS;
1807:
1808: FOR i IN p_x_flight_schedules_tbl.FIRST..p_x_flight_schedules_tbl.LAST
1809: LOOP
1810: IF p_x_flight_schedules_tbl(i).DML_OPERATION = 'C'
1852: x_return_status
1853: );
1854:
1855: -- If any severe error occurs, then, abort API.
1856: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1857: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1858: fnd_log.string
1859: (
1860: fnd_log.level_exception,
1861: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
1862: 'convert_values_to_ids returned with expected error..'
1863: );
1864: END IF;
1865: RAISE FND_API.G_EXC_ERROR;
1866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1867: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1868: fnd_log.string
1869: (
1862: 'convert_values_to_ids returned with expected error..'
1863: );
1864: END IF;
1865: RAISE FND_API.G_EXC_ERROR;
1866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1867: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1868: fnd_log.string
1869: (
1870: fnd_log.level_exception,
1871: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
1872: 'convert_values_to_ids returned with un-expected error..'
1873: );
1874: END IF;
1875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1876: END IF;-- return status
1877: END IF;-- module type
1878:
1879:
1892: x_return_status
1893: );
1894:
1895: -- If any severe error occurs, then, abort API.
1896: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1897: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1898: fnd_log.string
1899: (
1900: fnd_log.level_exception,
1901: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
1902: 'validate_mandatory_fields returned with expected error..'
1903: );
1904: END IF;
1905: RAISE FND_API.G_EXC_ERROR;
1906: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1907: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1908: fnd_log.string
1909: (
1902: 'validate_mandatory_fields returned with expected error..'
1903: );
1904: END IF;
1905: RAISE FND_API.G_EXC_ERROR;
1906: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1907: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1908: fnd_log.string
1909: (
1910: fnd_log.level_exception,
1911: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
1912: 'validate_mandatory_fields returned with un-expected error..'
1913: );
1914: END IF;
1915: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1916: END IF;
1917:
1918: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
1919: fnd_log.string
1930: x_return_status
1931: );
1932:
1933: -- If any severe error occurs, then, abort API.
1934: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1935: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1936: fnd_log.string
1937: (
1938: fnd_log.level_exception,
1939: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
1940: 'validate_record returned with expected error..'
1941: );
1942: END IF;
1943: RAISE FND_API.G_EXC_ERROR;
1944: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1945: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1946: fnd_log.string
1947: (
1940: 'validate_record returned with expected error..'
1941: );
1942: END IF;
1943: RAISE FND_API.G_EXC_ERROR;
1944: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1945: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
1946: fnd_log.string
1947: (
1948: fnd_log.level_exception,
1949: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
1950: 'validate_record returned with un-expected error..'
1951: );
1952: END IF;
1953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1954: END IF;
1955:
1956: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
1957: fnd_log.string
2135: l_overlap_us_count NUMBER;
2136:
2137: BEGIN
2138: -- Initialize return status to success initially
2139: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2140:
2141: -- Validate all inputs to the API
2142: FOR i IN p_x_flight_schedules_tbl.FIRST..p_x_flight_schedules_tbl.LAST
2143: LOOP
2185: x_return_status
2186: );
2187:
2188: -- If any severe error occurs, then, abort API.
2189: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2190: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2191: fnd_log.string
2192: (
2193: fnd_log.level_exception,
2194: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2195: 'convert_values_to_ids returned with expected error..'
2196: );
2197: END IF;
2198: RAISE FND_API.G_EXC_ERROR;
2199: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2200: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2201: fnd_log.string
2202: (
2195: 'convert_values_to_ids returned with expected error..'
2196: );
2197: END IF;
2198: RAISE FND_API.G_EXC_ERROR;
2199: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2200: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2201: fnd_log.string
2202: (
2203: fnd_log.level_exception,
2204: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2205: 'convert_values_to_ids returned with un-expected error..'
2206: );
2207: END IF;
2208: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2209: END IF;-- return status
2210: END IF;-- module type
2211:
2212: -- Default missing and unchanged attributes.
2242: x_return_status
2243: );
2244:
2245: -- If any severe error occurs, then, abort API.
2246: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2247: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2248: fnd_log.string
2249: (
2250: fnd_log.level_exception,
2251: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2252: 'validate_mandatory_fields returned with expected error..'
2253: );
2254: END IF;
2255: RAISE FND_API.G_EXC_ERROR;
2256: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2257: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2258: fnd_log.string
2259: (
2252: 'validate_mandatory_fields returned with expected error..'
2253: );
2254: END IF;
2255: RAISE FND_API.G_EXC_ERROR;
2256: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2257: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2258: fnd_log.string
2259: (
2260: fnd_log.level_exception,
2261: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2262: 'validate_mandatory_fields returned with un-expected error..'
2263: );
2264: END IF;
2265: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2266: END IF; -- return status
2267:
2268:
2269: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)
2282: x_return_status
2283: );
2284:
2285: -- If any severe error occurs, then, abort API.
2286: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2287: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2288: fnd_log.string
2289: (
2290: fnd_log.level_exception,
2291: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2292: 'validate_update returned with expected error..'
2293: );
2294: END IF;
2295: RAISE FND_API.G_EXC_ERROR;
2296: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2297: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2298: fnd_log.string
2299: (
2292: 'validate_update returned with expected error..'
2293: );
2294: END IF;
2295: RAISE FND_API.G_EXC_ERROR;
2296: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2297: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2298: fnd_log.string
2299: (
2300: fnd_log.level_exception,
2301: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2302: 'validate_update returned with un-expected error..'
2303: );
2304: END IF;
2305: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2306: END IF;
2307:
2308: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
2309: fnd_log.string
2320: x_return_status
2321: );
2322:
2323: -- If any severe error occurs, then, abort API.
2324: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2325: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2326: fnd_log.string
2327: (
2328: fnd_log.level_exception,
2329: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2330: 'validate_record returned with expected error..'
2331: );
2332: END IF;
2333: RAISE FND_API.G_EXC_ERROR;
2334: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2335: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2336: fnd_log.string
2337: (
2330: 'validate_record returned with expected error..'
2331: );
2332: END IF;
2333: RAISE FND_API.G_EXC_ERROR;
2334: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2335: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2336: fnd_log.string
2337: (
2338: fnd_log.level_exception,
2339: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2340: 'validate_record returned with un-expected error..'
2341: );
2342: END IF;
2343: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2344: END IF;
2345:
2346: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
2347: fnd_log.string
2469: p_visit_sync_rec => l_visit_sync_rec
2470: );
2471:
2472: -- If any severe error occurs, then, abort API.
2473: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2474: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2475: fnd_log.string
2476: (
2477: fnd_log.level_exception,
2478: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2479: 'Synchronize_Visit_Details returned with expected error..'
2480: );
2481: END IF;
2482: RAISE FND_API.G_EXC_ERROR;
2483: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2484: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2485: fnd_log.string
2486: (
2479: 'Synchronize_Visit_Details returned with expected error..'
2480: );
2481: END IF;
2482: RAISE FND_API.G_EXC_ERROR;
2483: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2484: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2485: fnd_log.string
2486: (
2487: fnd_log.level_exception,
2488: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2489: 'Synchronize_Visit_Details returned with un-expected error..'
2490: );
2491: END IF;
2492: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2493: END IF; -- return status check
2494: END IF; -- l_sync_flag
2495: END IF; -- DML Operation check
2496:
2575:
2576: BEGIN
2577:
2578: -- Initialize return status to success initially
2579: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2580:
2581: -- Validate all inputs to the API
2582: FOR i IN p_x_flight_schedules_tbl.FIRST..p_x_flight_schedules_tbl.LAST
2583: LOOP
2615: x_return_status
2616: );
2617:
2618: -- If any severe error occurs, then, abort API.
2619: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2620: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2621: fnd_log.string
2622: (
2623: fnd_log.level_exception,
2624: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2625: 'validate_record returned with expected error..'
2626: );
2627: END IF;
2628: RAISE FND_API.G_EXC_ERROR;
2629: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2630: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2631: fnd_log.string
2632: (
2625: 'validate_record returned with expected error..'
2626: );
2627: END IF;
2628: RAISE FND_API.G_EXC_ERROR;
2629: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2630: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2631: fnd_log.string
2632: (
2633: fnd_log.level_exception,
2634: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2635: 'validate_record returned with un-expected error..'
2636: );
2637: END IF;
2638: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2639: END IF;
2640:
2641: -- Delete the record
2642: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
2666: x_return_status
2667: );
2668:
2669: -- If any severe error occurs, then, abort API.
2670: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2671: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2672: fnd_log.string
2673: (
2674: fnd_log.level_exception,
2675: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2676: 'AHL_VWP_VISITS_PVT.Process_Visit returned with expected error..'
2677: );
2678: END IF;
2679: RAISE FND_API.G_EXC_ERROR;
2680: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2681: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2682: fnd_log.string
2683: (
2676: 'AHL_VWP_VISITS_PVT.Process_Visit returned with expected error..'
2677: );
2678: END IF;
2679: RAISE FND_API.G_EXC_ERROR;
2680: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2681: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2682: fnd_log.string
2683: (
2684: fnd_log.level_exception,
2685: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2686: 'validate_record returned with un-expected error..'
2687: );
2688: END IF;
2689: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2690: END IF;
2691:
2692: -- delete the transit visits found
2693: AHL_VWP_VISITS_PVT.Process_Visit (
2691:
2692: -- delete the transit visits found
2693: AHL_VWP_VISITS_PVT.Process_Visit (
2694: p_api_version => 1.0,
2695: p_init_msg_list => FND_API.g_false,
2696: p_commit => FND_API.g_false,
2697: p_validation_level => FND_API.g_valid_level_full,
2698: p_module_type => 'JSP',
2699: p_x_Visit_tbl => l_visit_tbl,
2692: -- delete the transit visits found
2693: AHL_VWP_VISITS_PVT.Process_Visit (
2694: p_api_version => 1.0,
2695: p_init_msg_list => FND_API.g_false,
2696: p_commit => FND_API.g_false,
2697: p_validation_level => FND_API.g_valid_level_full,
2698: p_module_type => 'JSP',
2699: p_x_Visit_tbl => l_visit_tbl,
2700: x_return_status => x_return_status,
2693: AHL_VWP_VISITS_PVT.Process_Visit (
2694: p_api_version => 1.0,
2695: p_init_msg_list => FND_API.g_false,
2696: p_commit => FND_API.g_false,
2697: p_validation_level => FND_API.g_valid_level_full,
2698: p_module_type => 'JSP',
2699: p_x_Visit_tbl => l_visit_tbl,
2700: x_return_status => x_return_status,
2701: x_msg_count => l_msg_count,
2703: );
2704:
2705:
2706: -- If any severe error occurs, then, abort API.
2707: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2708: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2709: fnd_log.string
2710: (
2711: fnd_log.level_exception,
2712: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2713: 'AHL_VWP_VISITS_PVT.Process_Visit returned with expected error..'
2714: );
2715: END IF;
2716: RAISE FND_API.G_EXC_ERROR;
2717: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2718: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2719: fnd_log.string
2720: (
2713: 'AHL_VWP_VISITS_PVT.Process_Visit returned with expected error..'
2714: );
2715: END IF;
2716: RAISE FND_API.G_EXC_ERROR;
2717: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2718: IF (fnd_log.level_exception >= fnd_log.g_current_runtime_level)THEN
2719: fnd_log.string
2720: (
2721: fnd_log.level_exception,
2722: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
2723: 'validate_record returned with un-expected error..'
2724: );
2725: END IF;
2726: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2727: END IF;
2728: DELETE FROM AHL_UNIT_SCHEDULES
2729: WHERE unit_schedule_id = p_x_flight_schedules_tbl(i).unit_schedule_id
2730: AND object_version_number= p_x_flight_schedules_tbl(i).object_version_number;
2754: -- Procedure for creating/updating/deleting Flight Schedules.
2755: -----------------------------------------------------------------------------------------------------
2756: PROCEDURE Process_Flight_Schedules(
2757: p_api_version IN NUMBER :=1.0,
2758: p_init_msg_list IN VARCHAR2 :=FND_API.G_FALSE,
2759: p_commit IN VARCHAR2 :=FND_API.G_FALSE,
2760: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
2761: p_default IN VARCHAR2 :=FND_API.G_FALSE,
2762: p_module_type IN VARCHAR2 :=NULL,
2755: -----------------------------------------------------------------------------------------------------
2756: PROCEDURE Process_Flight_Schedules(
2757: p_api_version IN NUMBER :=1.0,
2758: p_init_msg_list IN VARCHAR2 :=FND_API.G_FALSE,
2759: p_commit IN VARCHAR2 :=FND_API.G_FALSE,
2760: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
2761: p_default IN VARCHAR2 :=FND_API.G_FALSE,
2762: p_module_type IN VARCHAR2 :=NULL,
2763: x_return_status OUT NOCOPY VARCHAR2,
2756: PROCEDURE Process_Flight_Schedules(
2757: p_api_version IN NUMBER :=1.0,
2758: p_init_msg_list IN VARCHAR2 :=FND_API.G_FALSE,
2759: p_commit IN VARCHAR2 :=FND_API.G_FALSE,
2760: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
2761: p_default IN VARCHAR2 :=FND_API.G_FALSE,
2762: p_module_type IN VARCHAR2 :=NULL,
2763: x_return_status OUT NOCOPY VARCHAR2,
2764: x_msg_count OUT NOCOPY NUMBER,
2757: p_api_version IN NUMBER :=1.0,
2758: p_init_msg_list IN VARCHAR2 :=FND_API.G_FALSE,
2759: p_commit IN VARCHAR2 :=FND_API.G_FALSE,
2760: p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL,
2761: p_default IN VARCHAR2 :=FND_API.G_FALSE,
2762: p_module_type IN VARCHAR2 :=NULL,
2763: x_return_status OUT NOCOPY VARCHAR2,
2764: x_msg_count OUT NOCOPY NUMBER,
2765: x_msg_data OUT NOCOPY VARCHAR2,
2781:
2782: SAVEPOINT process_flight_schedules_pvt;
2783:
2784: -- Initialize return status to success initially
2785: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2786:
2787: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2788: p_api_version,
2789: l_api_name,G_PKG_NAME)
2783:
2784: -- Initialize return status to success initially
2785: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2786:
2787: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2788: p_api_version,
2789: l_api_name,G_PKG_NAME)
2790: THEN
2791: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2787: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2788: p_api_version,
2789: l_api_name,G_PKG_NAME)
2790: THEN
2791: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2792: END IF;
2793:
2794: -- Initialize message list if p_init_msg_list is set to TRUE.
2795: IF FND_API.to_boolean(p_init_msg_list) THEN
2791: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2792: END IF;
2793:
2794: -- Initialize message list if p_init_msg_list is set to TRUE.
2795: IF FND_API.to_boolean(p_init_msg_list) THEN
2796: FND_MSG_PUB.initialize;
2797: END IF;
2798:
2799: --Local procedure for Deleting Flight Schedules
2833: 'Done DML , committing the work'
2834: );
2835: END IF;
2836:
2837: IF FND_API.TO_BOOLEAN(p_commit) THEN
2838: COMMIT;
2839: END IF;
2840:
2841: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
2846: 'At the end of Process_Flight_Schedules'
2847: );
2848: END IF;
2849: EXCEPTION
2850: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2851: ROLLBACK TO process_flight_schedules_pvt;
2852: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2853: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2854: p_count => x_msg_count,
2848: END IF;
2849: EXCEPTION
2850: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2851: ROLLBACK TO process_flight_schedules_pvt;
2852: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2853: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2854: p_count => x_msg_count,
2855: p_data => x_msg_data);
2856:
2849: EXCEPTION
2850: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2851: ROLLBACK TO process_flight_schedules_pvt;
2852: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2853: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2854: p_count => x_msg_count,
2855: p_data => x_msg_data);
2856:
2857: WHEN FND_API.G_EXC_ERROR THEN
2853: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2854: p_count => x_msg_count,
2855: p_data => x_msg_data);
2856:
2857: WHEN FND_API.G_EXC_ERROR THEN
2858: ROLLBACK TO process_flight_schedules_pvt;
2859: x_return_status := FND_API.G_RET_STS_ERROR;
2860: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2861: p_count => x_msg_count,
2855: p_data => x_msg_data);
2856:
2857: WHEN FND_API.G_EXC_ERROR THEN
2858: ROLLBACK TO process_flight_schedules_pvt;
2859: x_return_status := FND_API.G_RET_STS_ERROR;
2860: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2861: p_count => x_msg_count,
2862: p_data => X_msg_data);
2863:
2856:
2857: WHEN FND_API.G_EXC_ERROR THEN
2858: ROLLBACK TO process_flight_schedules_pvt;
2859: x_return_status := FND_API.G_RET_STS_ERROR;
2860: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2861: p_count => x_msg_count,
2862: p_data => X_msg_data);
2863:
2864: WHEN OTHERS THEN
2862: p_data => X_msg_data);
2863:
2864: WHEN OTHERS THEN
2865: ROLLBACK TO process_flight_schedules_pvt;
2866: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2867: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2868: THEN
2869: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
2870: p_procedure_name => l_api_name,
2874: FND_MSG_PUB.count_and_get
2875: (
2876: p_count => x_msg_count,
2877: p_data => x_msg_data,
2878: p_encoded => FND_API.G_FALSE
2879: );
2880: END Process_Flight_Schedules;
2881:
2882: -----------------------------------------------------------------------------------------------------
2927: );
2928: END IF;
2929:
2930: -- Initialize return status to success initially
2931: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2932:
2933: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2934: p_api_version,
2935: l_api_name,G_PKG_NAME)
2929:
2930: -- Initialize return status to success initially
2931: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2932:
2933: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2934: p_api_version,
2935: l_api_name,G_PKG_NAME)
2936: THEN
2937: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2933: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2934: p_api_version,
2935: l_api_name,G_PKG_NAME)
2936: THEN
2937: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2938: END IF;
2939:
2940: -- Throw error if p_unit_schedule_id is null
2941:
2949: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
2950: 'unit schedule id is null..'
2951: );
2952: END IF;
2953: x_return_status := FND_API.G_RET_STS_ERROR;
2954: RAISE FND_API.G_EXC_ERROR;
2955: ELSE
2956: OPEN check_flight_exists_csr(p_unit_schedule_id, p_unit_config_id);
2957: FETCH check_flight_exists_csr INTO l_dummy;
2950: 'unit schedule id is null..'
2951: );
2952: END IF;
2953: x_return_status := FND_API.G_RET_STS_ERROR;
2954: RAISE FND_API.G_EXC_ERROR;
2955: ELSE
2956: OPEN check_flight_exists_csr(p_unit_schedule_id, p_unit_config_id);
2957: FETCH check_flight_exists_csr INTO l_dummy;
2958: IF check_flight_exists_csr%NOTFOUND THEN
2965: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
2966: 'unit schedule Record is invalid..'
2967: );
2968: END IF;
2969: x_return_status := FND_API.G_RET_STS_ERROR;
2970: CLOSE check_flight_exists_csr;
2971: RAISE FND_API.G_EXC_ERROR;
2972: END IF;
2973: CLOSE check_flight_exists_csr;
2967: );
2968: END IF;
2969: x_return_status := FND_API.G_RET_STS_ERROR;
2970: CLOSE check_flight_exists_csr;
2971: RAISE FND_API.G_EXC_ERROR;
2972: END IF;
2973: CLOSE check_flight_exists_csr;
2974: END IF;
2975:
2981: 'At the start of '||l_api_name
2982: );
2983: END IF;
2984: EXCEPTION
2985: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2986: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2987: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2988: p_count => x_msg_count,
2989: p_data => x_msg_data);
2982: );
2983: END IF;
2984: EXCEPTION
2985: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2986: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2987: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2988: p_count => x_msg_count,
2989: p_data => x_msg_data);
2990:
2983: END IF;
2984: EXCEPTION
2985: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2986: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2987: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2988: p_count => x_msg_count,
2989: p_data => x_msg_data);
2990:
2991: WHEN FND_API.G_EXC_ERROR THEN
2987: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2988: p_count => x_msg_count,
2989: p_data => x_msg_data);
2990:
2991: WHEN FND_API.G_EXC_ERROR THEN
2992: x_return_status := FND_API.G_RET_STS_ERROR;
2993: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2994: p_count => x_msg_count,
2995: p_data => X_msg_data);
2988: p_count => x_msg_count,
2989: p_data => x_msg_data);
2990:
2991: WHEN FND_API.G_EXC_ERROR THEN
2992: x_return_status := FND_API.G_RET_STS_ERROR;
2993: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2994: p_count => x_msg_count,
2995: p_data => X_msg_data);
2996:
2989: p_data => x_msg_data);
2990:
2991: WHEN FND_API.G_EXC_ERROR THEN
2992: x_return_status := FND_API.G_RET_STS_ERROR;
2993: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2994: p_count => x_msg_count,
2995: p_data => X_msg_data);
2996:
2997: WHEN OTHERS THEN
2994: p_count => x_msg_count,
2995: p_data => X_msg_data);
2996:
2997: WHEN OTHERS THEN
2998: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2999: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3000: THEN
3001: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
3002: p_procedure_name => l_api_name,
3006: FND_MSG_PUB.count_and_get
3007: (
3008: p_count => x_msg_count,
3009: p_data => x_msg_data,
3010: p_encoded => FND_API.G_FALSE
3011: );
3012:
3013: END Validate_Flight_Schedule;
3014:
3023: BEGIN
3024:
3025: IF (FND_FUNCTION.TEST('AHL_UA_SUPER_USER'))
3026: THEN
3027: RETURN FND_API.G_TRUE;
3028: --RETURN 'Y';
3029: ELSE
3030: RETURN FND_API.G_FALSE;
3031: --RETURN 'N';
3026: THEN
3027: RETURN FND_API.G_TRUE;
3028: --RETURN 'Y';
3029: ELSE
3030: RETURN FND_API.G_FALSE;
3031: --RETURN 'N';
3032: END IF;
3033:
3034: END is_super_user;
3083:
3084: IF (l_curr_acutals_rec.actual_departure_time IS NULL
3085: AND l_curr_acutals_rec.actual_arrival_time IS NULL)
3086: THEN
3087: RETURN FND_API.G_TRUE;
3088: ELSIF (p_is_super_user = FND_API.G_TRUE
3089: AND l_curr_acutals_rec.actual_departure_time IS NOT NULL
3090: AND l_curr_acutals_rec.actual_arrival_time IS NOT NULL )
3091: THEN
3084: IF (l_curr_acutals_rec.actual_departure_time IS NULL
3085: AND l_curr_acutals_rec.actual_arrival_time IS NULL)
3086: THEN
3087: RETURN FND_API.G_TRUE;
3088: ELSIF (p_is_super_user = FND_API.G_TRUE
3089: AND l_curr_acutals_rec.actual_departure_time IS NOT NULL
3090: AND l_curr_acutals_rec.actual_arrival_time IS NOT NULL )
3091: THEN
3092: RETURN FND_API.G_TRUE;
3088: ELSIF (p_is_super_user = FND_API.G_TRUE
3089: AND l_curr_acutals_rec.actual_departure_time IS NOT NULL
3090: AND l_curr_acutals_rec.actual_arrival_time IS NOT NULL )
3091: THEN
3092: RETURN FND_API.G_TRUE;
3093: ELSE
3094: RETURN FND_API.G_FALSE;
3095: END IF;
3096:
3090: AND l_curr_acutals_rec.actual_arrival_time IS NOT NULL )
3091: THEN
3092: RETURN FND_API.G_TRUE;
3093: ELSE
3094: RETURN FND_API.G_FALSE;
3095: END IF;
3096:
3097: END is_delete_allowed;
3098:
3151: END IF;
3152:
3153: IF l_actual_recorded = 'N'
3154: THEN
3155: RETURN FND_API.G_TRUE;
3156: ELSIF l_actual_recorded = 'Y' AND p_is_super_user = FND_API.G_TRUE
3157: THEN
3158: RETURN FND_API.G_TRUE;
3159: ELSE
3152:
3153: IF l_actual_recorded = 'N'
3154: THEN
3155: RETURN FND_API.G_TRUE;
3156: ELSIF l_actual_recorded = 'Y' AND p_is_super_user = FND_API.G_TRUE
3157: THEN
3158: RETURN FND_API.G_TRUE;
3159: ELSE
3160: RETURN FND_API.G_FALSE;
3154: THEN
3155: RETURN FND_API.G_TRUE;
3156: ELSIF l_actual_recorded = 'Y' AND p_is_super_user = FND_API.G_TRUE
3157: THEN
3158: RETURN FND_API.G_TRUE;
3159: ELSE
3160: RETURN FND_API.G_FALSE;
3161: END IF;
3162:
3156: ELSIF l_actual_recorded = 'Y' AND p_is_super_user = FND_API.G_TRUE
3157: THEN
3158: RETURN FND_API.G_TRUE;
3159: ELSE
3160: RETURN FND_API.G_FALSE;
3161: END IF;
3162:
3163: END is_update_allowed;
3164: END AHL_UA_FLIGHT_SCHEDULES_PVT;