174: (SELECT WIP_ENTITY_ID,
175: ORGANIZATION_ID
176: FROM WIP_JOB_SCHEDULE_INTERFACE WJSI
177: WHERE WJSI.GROUP_ID = P_JOB_INTERFACE_GROUP_ID
178: AND WJSI.PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE
179: AND WJSI.PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE));
180:
181: ELSIF P_SCHEDULING_LEVEL = 2 THEN
182: INSERT INTO WIP_SCHEDULING_INTERFACE
175: ORGANIZATION_ID
176: FROM WIP_JOB_SCHEDULE_INTERFACE WJSI
177: WHERE WJSI.GROUP_ID = P_JOB_INTERFACE_GROUP_ID
178: AND WJSI.PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE
179: AND WJSI.PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE));
180:
181: ELSIF P_SCHEDULING_LEVEL = 2 THEN
182: INSERT INTO WIP_SCHEDULING_INTERFACE
183: (
233: (SELECT WIP_ENTITY_ID,
234: ORGANIZATION_ID
235: FROM WIP_JOB_SCHEDULE_INTERFACE WJSI
236: WHERE WJSI.GROUP_ID = P_JOB_INTERFACE_GROUP_ID
237: AND WJSI.PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE
238: AND WJSI.PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE));
239: END IF;
240: END IF;
241:
234: ORGANIZATION_ID
235: FROM WIP_JOB_SCHEDULE_INTERFACE WJSI
236: WHERE WJSI.GROUP_ID = P_JOB_INTERFACE_GROUP_ID
237: AND WJSI.PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE
238: AND WJSI.PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE));
239: END IF;
240: END IF;
241:
242: END LOAD_INTERFACE;
249: CURSOR CJOB IS
250: SELECT DISTINCT WIP_ENTITY_ID, ORGANIZATION_ID, SCHEDULING_LEVEL
251: FROM WIP_SCHEDULING_INTERFACE
252: WHERE GROUP_ID = P_GROUP_ID
253: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
254: AND PROCESS_STATUS = WIP_CONSTANTS.RUNNING;
255:
256: CURSOR COP(we_id number, org_id number) IS
257: SELECT OPERATION_SEQ_NUM
250: SELECT DISTINCT WIP_ENTITY_ID, ORGANIZATION_ID, SCHEDULING_LEVEL
251: FROM WIP_SCHEDULING_INTERFACE
252: WHERE GROUP_ID = P_GROUP_ID
253: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
254: AND PROCESS_STATUS = WIP_CONSTANTS.RUNNING;
255:
256: CURSOR COP(we_id number, org_id number) IS
257: SELECT OPERATION_SEQ_NUM
258: FROM WIP_OPERATIONS
261:
262: BEGIN
263:
264: UPDATE WIP_SCHEDULING_INTERFACE
265: SET PROCESS_STATUS = WIP_CONSTANTS.RUNNING
266: WHERE GROUP_ID = P_GROUP_ID
267: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
268: AND PROCESS_STATUS = WIP_CONSTANTS.PENDING;
269:
263:
264: UPDATE WIP_SCHEDULING_INTERFACE
265: SET PROCESS_STATUS = WIP_CONSTANTS.RUNNING
266: WHERE GROUP_ID = P_GROUP_ID
267: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
268: AND PROCESS_STATUS = WIP_CONSTANTS.PENDING;
269:
270: VALIDATE_JOBS(P_GROUP_ID);
271: VALIDATE_SCHEDULING_LEVEL(P_GROUP_ID);
264: UPDATE WIP_SCHEDULING_INTERFACE
265: SET PROCESS_STATUS = WIP_CONSTANTS.RUNNING
266: WHERE GROUP_ID = P_GROUP_ID
267: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
268: AND PROCESS_STATUS = WIP_CONSTANTS.PENDING;
269:
270: VALIDATE_JOBS(P_GROUP_ID);
271: VALIDATE_SCHEDULING_LEVEL(P_GROUP_ID);
272: VALIDATE_DATES(P_GROUP_ID);
367:
368: END LOOP;
369:
370: UPDATE WIP_SCHEDULING_INTERFACE
371: SET PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE,
372: PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE
373: WHERE GROUP_ID = P_GROUP_ID
374: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
375: AND PROCESS_STATUS = WIP_CONSTANTS.RUNNING;
368: END LOOP;
369:
370: UPDATE WIP_SCHEDULING_INTERFACE
371: SET PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE,
372: PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE
373: WHERE GROUP_ID = P_GROUP_ID
374: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
375: AND PROCESS_STATUS = WIP_CONSTANTS.RUNNING;
376:
370: UPDATE WIP_SCHEDULING_INTERFACE
371: SET PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE,
372: PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE
373: WHERE GROUP_ID = P_GROUP_ID
374: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
375: AND PROCESS_STATUS = WIP_CONSTANTS.RUNNING;
376:
377: DELETE FROM WIP_SCHEDULING_INTERFACE
378: WHERE GROUP_ID = P_GROUP_ID
371: SET PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE,
372: PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE
373: WHERE GROUP_ID = P_GROUP_ID
374: AND PROCESS_PHASE = WIP_CONSTANTS.ML_VALIDATION
375: AND PROCESS_STATUS = WIP_CONSTANTS.RUNNING;
376:
377: DELETE FROM WIP_SCHEDULING_INTERFACE
378: WHERE GROUP_ID = P_GROUP_ID
379: AND PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE
375: AND PROCESS_STATUS = WIP_CONSTANTS.RUNNING;
376:
377: DELETE FROM WIP_SCHEDULING_INTERFACE
378: WHERE GROUP_ID = P_GROUP_ID
379: AND PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE
380: AND PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE;
381:
382: COMMIT;
383:
376:
377: DELETE FROM WIP_SCHEDULING_INTERFACE
378: WHERE GROUP_ID = P_GROUP_ID
379: AND PROCESS_STATUS = WIP_CONSTANTS.ML_COMPLETE
380: AND PROCESS_PHASE = WIP_CONSTANTS.ML_COMPLETE;
381:
382: COMMIT;
383:
384: END LOAD_WIP;
393: SELECT count(*)
394: INTO recCount
395: FROM wip_scheduling_interface
396: WHERE group_id = p_group_id
397: and process_phase = WIP_CONSTANTS.ML_VALIDATION
398: and process_status = WIP_CONSTANTS.PENDING;
399:
400: if (recCount = 0) then
401: retcode := 1;
394: INTO recCount
395: FROM wip_scheduling_interface
396: WHERE group_id = p_group_id
397: and process_phase = WIP_CONSTANTS.ML_VALIDATION
398: and process_status = WIP_CONSTANTS.PENDING;
399:
400: if (recCount = 0) then
401: retcode := 1;
402: errbuf := 'LOAD_WIP: No schedules available in group '
415: SELECT count(*)
416: INTO recCount
417: FROM wip_scheduling_interface
418: WHERE group_id = p_group_id
419: and process_status = WIP_CONSTANTS.ERROR;
420:
421: if (recCount > 0) then
422: retcode := 2;
423: errbuf := 'LOAD_WIP: Error occurred in loading interface. Please refer to WIP_INTERFACE_ERRORS for more information.';
458:
459: WIP_MASS_LOAD_UTILITIES.Error
460: (P_Group_Id,
461: 'WIP_SCHEDULING_INTERFACE WSI',
462: WIP_CONSTANTS.ERROR,
463: ' NOT EXISTS
464: (SELECT 1
465: FROM WIP_DISCRETE_JOBS WDJ
466: WHERE WDJ.WIP_ENTITY_ID = WSI.WIP_ENTITY_ID
478:
479: WIP_MASS_LOAD_UTILITIES.Error
480: (P_Group_Id,
481: 'WIP_SCHEDULING_INTERFACE WSI',
482: WIP_CONSTANTS.ERROR,
483: ' SCHEDULING_LEVEL NOT IN (1,2) ',
484: WIP_MASS_LOAD_UTILITIES.MSG_ERROR,
485: 'WIP_SI_INVALID_SCHED_LEVEL');
486:
493:
494: WIP_MASS_LOAD_UTILITIES.Error
495: (P_Group_Id,
496: 'WIP_SCHEDULING_INTERFACE WSI',
497: WIP_CONSTANTS.ERROR,
498: ' ((WSI.SCHEDULING_LEVEL = 2
499: AND WSI.USAGE_RATE_OR_AMOUNT < 0)) ',
500: WIP_MASS_LOAD_UTILITIES.MSG_ERROR,
501: 'WIP_SI_INVALID_RATE');
509:
510: WIP_MASS_LOAD_UTILITIES.Error
511: (P_Group_Id,
512: 'WIP_SCHEDULING_INTERFACE WSI',
513: WIP_CONSTANTS.ERROR,
514: ' ((WSI.SCHEDULING_LEVEL = 1
515: AND( (WSI.OPERATION_COMPLETION_DATE IS NULL
516: OR WSI.OPERATION_START_DATE IS NULL)
517: OR (WSI.OPERATION_START_DATE >
532: -- Need to worry about erroring out 1 ==> erroring out all
533: WIP_MASS_LOAD_UTILITIES.Error
534: (P_Group_Id,
535: 'WIP_SCHEDULING_INTERFACE WSI',
536: WIP_CONSTANTS.ERROR,
537: ' WSI.SCHEDULING_LEVEL = 1
538: AND EXISTS (
539: SELECT OPERATION_SEQ_NUM
540: FROM WIP_SCHEDULING_INTERFACE SI2
553:
554: WIP_MASS_LOAD_UTILITIES.Error
555: (P_Group_Id,
556: 'WIP_SCHEDULING_INTERFACE WSI',
557: WIP_CONSTANTS.ERROR,
558: ' WSI.SCHEDULING_LEVEL = 1
559: AND EXISTS (
560: SELECT OPERATION_SEQ_NUM
561: FROM WIP_OPERATIONS WO
574:
575: WIP_MASS_LOAD_UTILITIES.Error
576: (P_Group_Id,
577: 'WIP_SCHEDULING_INTERFACE WSI',
578: WIP_CONSTANTS.ERROR,
579: ' WSI.SCHEDULING_LEVEL = 2
580: AND EXISTS (
581: SELECT OPERATION_SEQ_NUM, RESOURCE_SEQ_NUM
582: FROM WIP_SCHEDULING_INTERFACE SI2
596:
597: WIP_MASS_LOAD_UTILITIES.Error
598: (P_Group_Id,
599: 'WIP_SCHEDULING_INTERFACE WSI',
600: WIP_CONSTANTS.ERROR,
601: ' WSI.SCHEDULING_LEVEL = 2
602: AND EXISTS (
603: SELECT OPERATION_SEQ_NUM, RESOURCE_SEQ_NUM
604: FROM WIP_OPERATION_RESOURCES WOR
624: BEGIN
625: WIP_MASS_LOAD_UTILITIES.Error
626: (P_Group_Id,
627: 'WIP_SCHEDULING_INTERFACE WSI',
628: WIP_CONSTANTS.ERROR,
629: ' EXISTS (SELECT 1
630: FROM WIP_SCHEDULING_INTERFACE WSI2
631: WHERE WSI2.GROUP_ID = WSI.GROUP_ID
632: AND WSI2.WIP_ENTITY_ID = WSI.WIP_ENTITY_ID