84: WDJ1.SCHEDULED_START_DATE AS PARENT_START_DATE,
85: WDJ1.SCHEDULED_COMPLETION_DATE AS PARENT_COMPLETION_DATE,
86: WDJ2.SCHEDULED_START_DATE AS CHILD_START_DATE,
87: WDJ2.SCHEDULED_COMPLETION_DATE AS CHILD_COMPLETION_DATE
88: FROM WIP_SCHED_RELATIONSHIPS WSR,
89: WIP_ENTITIES WE1,
90: WIP_ENTITIES WE2,
91: WIP_DISCRETE_JOBS WDJ1,
92: WIP_DISCRETE_JOBS WDJ2
138: SELECT WSR.TOP_LEVEL_OBJECT_ID,
139: WSR.TOP_LEVEL_OBJECT_TYPE_ID
140: INTO l_top_level_object_id,
141: l_top_level_object_type_id
142: FROM WIP_SCHED_RELATIONSHIPS WSR
143: WHERE WSR.CHILD_OBJECT_ID = l_work_object_id
144: AND WSR.CHILD_OBJECT_TYPE_ID = l_work_object_type_id
145: AND WSR.RELATIONSHIP_TYPE = 1;
146: EXCEPTION
158: l_stmt_num := 30;
159:
160: -- for fix 7943516
161:
162: UPDATE WIP_SCHED_RELATIONSHIPS WSR
163: SET WSR.RELATIONSHIP_STATUS = 1
164: WHERE WSR.TOP_LEVEL_OBJECT_TYPE_ID = l_top_level_object_type_id
165: AND WSR.TOP_LEVEL_OBJECT_ID = l_top_level_object_id
166: AND WSR.CHILD_OBJECT_ID = l_work_object_id
186: Check Completion Dependancy between work orders for this structure
187: ************************************************************************** */
188: l_stmt_num := 40;
189:
190: UPDATE WIP_SCHED_RELATIONSHIPS WSR
191: SET WSR.RELATIONSHIP_STATUS = 3
192: WHERE WSR.SCHED_RELATIONSHIP_ID IN
193: (
194: SELECT WSR1.SCHED_RELATIONSHIP_ID
191: SET WSR.RELATIONSHIP_STATUS = 3
192: WHERE WSR.SCHED_RELATIONSHIP_ID IN
193: (
194: SELECT WSR1.SCHED_RELATIONSHIP_ID
195: FROM WIP_SCHED_RELATIONSHIPS WSR1,
196: WIP_DISCRETE_JOBS WDJ1,
197: WIP_DISCRETE_JOBS WDJ2
198: WHERE WSR1.PARENT_OBJECT_TYPE_ID = 1
199: AND WSR1.CHILD_OBJECT_TYPE_ID = 1
237:
238:
239: SELECT COUNT(WSR.SCHED_RELATIONSHIP_ID)
240: INTO l_released_rowcount
241: FROM WIP_SCHED_RELATIONSHIPS WSR,
242: WIP_DISCRETE_JOBS WDJ
243: WHERE WSR.PARENT_OBJECT_TYPE_ID = 1
244: AND WSR.CHILD_OBJECT_TYPE_ID = 1
245: AND WDJ.WIP_ENTITY_ID = WSR.CHILD_OBJECT_ID
370: -- from previous runs of Validate_Structure
371: delete from wip_scheduling_exceptions
372: where exception_type = 2
373: and sched_relationship_id in
374: (select /*+ index (WIP_SCHED_RELATIONSHIPS WIP_SCHED_RELATIONSHIPS_N1)*/ sched_relationship_id from
375: wip_sched_relationships
376: start with parent_object_id = l_top_level_object_id
377: connect by parent_object_id = prior child_object_id);
378:
371: delete from wip_scheduling_exceptions
372: where exception_type = 2
373: and sched_relationship_id in
374: (select /*+ index (WIP_SCHED_RELATIONSHIPS WIP_SCHED_RELATIONSHIPS_N1)*/ sched_relationship_id from
375: wip_sched_relationships
376: start with parent_object_id = l_top_level_object_id
377: connect by parent_object_id = prior child_object_id);
378:
379: l_stmt_num := 100;
552: l_stmt_num := 130;
553:
554: --fix for 7943516
555:
556: UPDATE WIP_SCHED_RELATIONSHIPS WSR
557: SET WSR.RELATIONSHIP_STATUS = 2
558: WHERE WSR.TOP_LEVEL_OBJECT_TYPE_ID = l_top_level_object_type_id
559: AND WSR.TOP_LEVEL_OBJECT_ID = l_top_level_object_id
560: AND WSR.CHILD_OBJECT_ID = l_work_object_id
596: p_data => x_msg_data
597: );
598:
599: /* Reset Status Flag for the entire structure */
600: UPDATE WIP_SCHED_RELATIONSHIPS WSR
601: SET WSR.RELATIONSHIP_STATUS = 0
602: WHERE WSR.TOP_LEVEL_OBJECT_TYPE_ID = l_top_level_object_type_id
603: AND WSR.TOP_LEVEL_OBJECT_ID = l_top_level_object_id;
604:
615: p_data => x_msg_data
616: );
617:
618: /* Reset Status Flag for the entire structure */
619: UPDATE WIP_SCHED_RELATIONSHIPS WSR
620: SET WSR.RELATIONSHIP_STATUS = 0
621: WHERE WSR.TOP_LEVEL_OBJECT_TYPE_ID = l_top_level_object_type_id
622: AND WSR.TOP_LEVEL_OBJECT_ID = l_top_level_object_id;
623:
641: p_data => x_msg_data
642: );
643:
644: /* Reset Status Flag for the entire structure */
645: UPDATE WIP_SCHED_RELATIONSHIPS WSR
646: SET WSR.RELATIONSHIP_STATUS = 0
647: WHERE WSR.TOP_LEVEL_OBJECT_TYPE_ID = l_top_level_object_type_id
648: AND WSR.TOP_LEVEL_OBJECT_ID = l_top_level_object_id;
649:
702:
703: CURSOR constrained_children_cur (l_p_object NUMBER, l_p_object_type NUMBER) IS
704: SELECT WSR.CHILD_OBJECT_ID,
705: WSR.CHILD_OBJECT_TYPE_ID
706: FROM WIP_SCHED_RELATIONSHIPS WSR
707: WHERE WSR.PARENT_OBJECT_ID = l_p_object
708: AND WSR.PARENT_OBJECT_TYPE_ID = l_p_object_type
709: AND WSR.RELATIONSHIP_TYPE = 1;
710:
743: l_stmt_num := 20;
744: --Code in the following conditional block is for replacing original update statements with performance issue
745: --Fix for bug 7660880
746: IF (child.child_object_type_id = 1 AND l_parent_object_type_id = 1) THEN
747: UPDATE WIP_SCHED_RELATIONSHIPS WSR
748: SET WSR.RELATIONSHIP_STATUS = 3
749: WHERE WSR.CHILD_OBJECT_TYPE_ID = child.child_object_type_id
750: AND WSR.CHILD_OBJECT_ID = child.child_object_id
751: AND WSR.PARENT_OBJECT_TYPE_ID = l_parent_object_type_id
799:
800:
801: SELECT COUNT(SCHED_RELATIONSHIP_ID)
802: INTO l_released_rowcount
803: FROM WIP_SCHED_RELATIONSHIPS WSR,
804: WIP_DISCRETE_JOBS WDJ
805: WHERE WSR.PARENT_OBJECT_TYPE_ID = 1
806: AND WSR.CHILD_OBJECT_TYPE_ID = 1
807: AND WSR.PARENT_OBJECT_ID = l_parent_object_id
944:
945: BEGIN
946: SELECT wdj.status_type
947: INTO l_parent_status
948: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr
949: WHERE wsr.child_object_id =p_work_object_id
950: and wsr.child_object_type_id = p_work_object_type_id
951: and wsr.relationship_type = 1
952: and wdj.wip_entity_id = wsr.parent_object_id;
976:
977: IF(l_wo_status=17) THEN
978: SELECT COUNT(*)
979: INTO l_invalid_child
980: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr
981: WHERE wsr.parent_object_id=p_work_object_id
982: AND wsr.parent_object_type_id= p_work_object_type_id
983: AND wsr.child_object_type_id=p_work_object_type_id
984: AND wsr.child_object_id=wdj.wip_entity_id
986: AND wdj.status_type NOT IN (17,7,6);
987: ELSIF(l_wo_status=1) THEN
988: SELECT COUNT(*)
989: INTO l_invalid_child
990: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr
991: WHERE wsr.parent_object_id=p_work_object_id
992: AND wsr.parent_object_type_id= p_work_object_type_id
993: AND wsr.child_object_type_id=p_work_object_type_id
994: AND wsr.child_object_id=wdj.wip_entity_id
996: AND wdj.status_type NOT IN (17,7,1,6);
997: ELSIF(l_wo_status IN (3,6)) THEN
998: SELECT COUNT(*)
999: INTO l_invalid_child
1000: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr
1001: WHERE wsr.parent_object_id=p_work_object_id
1002: AND wsr.parent_object_type_id= p_work_object_type_id
1003: AND wsr.child_object_type_id=p_work_object_type_id
1004: AND wsr.child_object_id=wdj.wip_entity_id
1006: AND wdj.status_type NOT IN (3,6,17,7,1,12,14,15,4,5);
1007: ELSIF(l_wo_status=7) THEN
1008: SELECT COUNT(*)
1009: INTO l_invalid_child
1010: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr
1011: WHERE wsr.parent_object_id=p_work_object_id
1012: AND wsr.parent_object_type_id= p_work_object_type_id
1013: AND wsr.child_object_type_id=p_work_object_type_id
1014: AND wsr.child_object_id=wdj.wip_entity_id
1016: AND wdj.status_type NOT IN (7,12,14,15);
1017: ELSIF(l_wo_status IN (4,5,12,14,15)) THEN
1018: SELECT COUNT(*)
1019: INTO l_invalid_child
1020: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr
1021: WHERE wsr.parent_object_id=p_work_object_id
1022: AND wsr.parent_object_type_id= p_work_object_type_id
1023: AND wsr.child_object_type_id=p_work_object_type_id
1024: AND wsr.child_object_id=wdj.wip_entity_id
1054:
1055: CURSOR constrained_children_cur (l_p_object NUMBER, l_p_object_type NUMBER) IS
1056: SELECT WSR.CHILD_OBJECT_ID,
1057: WSR.CHILD_OBJECT_TYPE_ID
1058: FROM WIP_SCHED_RELATIONSHIPS WSR
1059: WHERE WSR.PARENT_OBJECT_ID = l_p_object
1060: AND WSR.PARENT_OBJECT_TYPE_ID = l_p_object_type
1061: AND WSR.RELATIONSHIP_TYPE = 1;
1062:
1078:
1079: IF(l_wo_status=17) THEN
1080: SELECT wsr.child_object_id,lk.meaning BULK COLLECT INTO
1081: l_WipEntityId_tbl,l_workorder_status_tbl
1082: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr,mfg_lookups lk
1083: WHERE wsr.parent_object_id=p_work_object_id
1084: AND wsr.parent_object_type_id= p_work_object_type_id
1085: AND wsr.child_object_type_id=p_work_object_type_id
1086: AND wsr.child_object_id=wdj.wip_entity_id
1090: AND lk.lookup_code = wdj.status_type;
1091: ELSIF(l_wo_status=1) THEN
1092: SELECT wsr.child_object_id,lk.meaning BULK COLLECT INTO
1093: l_WipEntityId_tbl,l_workorder_status_tbl
1094: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr,mfg_lookups lk
1095: WHERE wsr.parent_object_id=p_work_object_id
1096: AND wsr.parent_object_type_id= p_work_object_type_id
1097: AND wsr.child_object_type_id=p_work_object_type_id
1098: AND wsr.child_object_id=wdj.wip_entity_id
1102: AND lk.lookup_code = wdj.status_type;
1103: ELSIF(l_wo_status IN (3,6)) THEN
1104: SELECT wsr.child_object_id,lk.meaning BULK COLLECT INTO
1105: l_WipEntityId_tbl,l_workorder_status_tbl
1106: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr,mfg_lookups lk
1107: WHERE wsr.parent_object_id=p_work_object_id
1108: AND wsr.parent_object_type_id= p_work_object_type_id
1109: AND wsr.child_object_type_id=p_work_object_type_id
1110: AND wsr.child_object_id=wdj.wip_entity_id
1114: AND lk.lookup_code = wdj.status_type;
1115: ELSIF(l_wo_status=7) THEN
1116: SELECT wsr.child_object_id,lk.meaning BULK COLLECT INTO
1117: l_WipEntityId_tbl,l_workorder_status_tbl
1118: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr,mfg_lookups lk
1119: WHERE wsr.parent_object_id=p_work_object_id
1120: AND wsr.parent_object_type_id= p_work_object_type_id
1121: AND wsr.child_object_type_id=p_work_object_type_id
1122: AND wsr.child_object_id=wdj.wip_entity_id
1126: AND lk.lookup_code = wdj.status_type;
1127: ELSIF(l_wo_status IN (4,5,12,14,15)) THEN
1128: SELECT wsr.child_object_id,lk.meaning BULK COLLECT INTO
1129: l_WipEntityId_tbl,l_workorder_status_tbl
1130: FROM wip_discrete_jobs wdj,wip_sched_relationships wsr,mfg_lookups lk
1131: WHERE wsr.parent_object_id=p_work_object_id
1132: AND wsr.parent_object_type_id= p_work_object_type_id
1133: AND wsr.child_object_type_id=p_work_object_type_id
1134: AND wsr.child_object_id=wdj.wip_entity_id