39: l_params wip_logger.param_tbl_t;
40: l_returnStatus VARCHAR(1);
41: l_logLevel NUMBER := to_number(fnd_log.g_current_runtime_level);
42: BEGIN
43: if (l_logLevel <= wip_constants.trace_logging) then
44: l_params(1).paramName := 'wip_id';
45: l_params(1).paramValue := X_Wip_Entity_Id;
46: l_params(2).paramName := 'orgID';
47: l_params(2).paramValue := X_Organization_Id ;
128: SEQ.OPERATION_SEQUENCE_ID,
129: SEQ.STANDARD_OPERATION_ID,
130: SEQ.DEPARTMENT_ID,
131: SEQ.OPERATION_DESCRIPTION,
132: ROUND(X_Quantity, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
133: 0, 0, 0, 0, 0, 0, 0,
134: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
135: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
136: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
130: SEQ.DEPARTMENT_ID,
131: SEQ.OPERATION_DESCRIPTION,
132: ROUND(X_Quantity, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
133: 0, 0, 0, 0, 0, 0, 0,
134: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
135: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
136: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
137: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
138: 0, 0,
131: SEQ.OPERATION_DESCRIPTION,
132: ROUND(X_Quantity, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
133: 0, 0, 0, 0, 0, 0, 0,
134: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
135: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
136: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
137: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
138: 0, 0,
139: SEQ.COUNT_POINT_TYPE,
132: ROUND(X_Quantity, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
133: 0, 0, 0, 0, 0, 0, 0,
134: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
135: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
136: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
137: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
138: 0, 0,
139: SEQ.COUNT_POINT_TYPE,
140: SEQ.BACKFLUSH_FLAG,
133: 0, 0, 0, 0, 0, 0, 0,
134: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
135: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
136: TO_DATE(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
137: TO_DATE(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT),
138: 0, 0,
139: SEQ.COUNT_POINT_TYPE,
140: SEQ.BACKFLUSH_FLAG,
141: NVL(SEQ.MINIMUM_TRANSFER_QUANTITY, 0),
161: WHERE SEQ.ROUTING_SEQUENCE_ID = X_Routing_Seq
162: /* %cfm */
163: AND NVL(SEQ.OPERATION_TYPE, 1) = 1
164: /* %/cfm */
165: AND TO_DATE(TO_CHAR(SEQ.EFFECTIVITY_DATE, WIP_CONSTANTS.DATETIME_FMT),
166: WIP_CONSTANTS.DATETIME_FMT) <=
167: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
168: AND NVL(TO_DATE(TO_CHAR(SEQ.DISABLE_DATE,
169: WIP_CONSTANTS.DATETIME_FMT),
162: /* %cfm */
163: AND NVL(SEQ.OPERATION_TYPE, 1) = 1
164: /* %/cfm */
165: AND TO_DATE(TO_CHAR(SEQ.EFFECTIVITY_DATE, WIP_CONSTANTS.DATETIME_FMT),
166: WIP_CONSTANTS.DATETIME_FMT) <=
167: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
168: AND NVL(TO_DATE(TO_CHAR(SEQ.DISABLE_DATE,
169: WIP_CONSTANTS.DATETIME_FMT),
170: WIP_CONSTANTS.DATETIME_FMT),
163: AND NVL(SEQ.OPERATION_TYPE, 1) = 1
164: /* %/cfm */
165: AND TO_DATE(TO_CHAR(SEQ.EFFECTIVITY_DATE, WIP_CONSTANTS.DATETIME_FMT),
166: WIP_CONSTANTS.DATETIME_FMT) <=
167: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
168: AND NVL(TO_DATE(TO_CHAR(SEQ.DISABLE_DATE,
169: WIP_CONSTANTS.DATETIME_FMT),
170: WIP_CONSTANTS.DATETIME_FMT),
171: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT) + 2) >=
165: AND TO_DATE(TO_CHAR(SEQ.EFFECTIVITY_DATE, WIP_CONSTANTS.DATETIME_FMT),
166: WIP_CONSTANTS.DATETIME_FMT) <=
167: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
168: AND NVL(TO_DATE(TO_CHAR(SEQ.DISABLE_DATE,
169: WIP_CONSTANTS.DATETIME_FMT),
170: WIP_CONSTANTS.DATETIME_FMT),
171: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT) + 2) >=
172: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
173: AND SEQ.IMPLEMENTATION_DATE IS NOT NULL;
166: WIP_CONSTANTS.DATETIME_FMT) <=
167: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
168: AND NVL(TO_DATE(TO_CHAR(SEQ.DISABLE_DATE,
169: WIP_CONSTANTS.DATETIME_FMT),
170: WIP_CONSTANTS.DATETIME_FMT),
171: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT) + 2) >=
172: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
173: AND SEQ.IMPLEMENTATION_DATE IS NOT NULL;
174:
167: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
168: AND NVL(TO_DATE(TO_CHAR(SEQ.DISABLE_DATE,
169: WIP_CONSTANTS.DATETIME_FMT),
170: WIP_CONSTANTS.DATETIME_FMT),
171: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT) + 2) >=
172: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
173: AND SEQ.IMPLEMENTATION_DATE IS NOT NULL;
174:
175: UPDATE WIP_OPERATIONS WO
168: AND NVL(TO_DATE(TO_CHAR(SEQ.DISABLE_DATE,
169: WIP_CONSTANTS.DATETIME_FMT),
170: WIP_CONSTANTS.DATETIME_FMT),
171: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT) + 2) >=
172: TO_DATE(X_Routing_Rev_Date,WIP_CONSTANTS.DATETIME_FMT)
173: AND SEQ.IMPLEMENTATION_DATE IS NOT NULL;
174:
175: UPDATE WIP_OPERATIONS WO
176: SET WO.PREVIOUS_OPERATION_SEQ_NUM =
327: X_REQUEST_ID => p_req_id);
328:
329: END IF;
330: END LOOP;
331: if (l_logLevel <= wip_constants.trace_logging) then
332: wip_logger.exitPoint(p_procName => 'wip_scheduler.explode_routing',
333: p_procReturnStatus => 'S',
334: p_msg => 'procedure complete',
335: x_returnStatus => l_returnStatus);
359: x_comp DATE;
360: BEGIN
361:
362: X_Success_Flag := 1;
363: x_start := to_date(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT);
364: x_comp := to_date(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT);
365:
366: /* This portion chopped from check_quantity routine in wiloer */
367:
360: BEGIN
361:
362: X_Success_Flag := 1;
363: x_start := to_date(X_Start_Date, WIP_CONSTANTS.DT_NOSEC_FMT);
364: x_comp := to_date(X_Completion_Date, WIP_CONSTANTS.DT_NOSEC_FMT);
365:
366: /* This portion chopped from check_quantity routine in wiloer */
367:
368:
438: -- Update operation quantities and dates
439:
440: UPDATE WIP_OPERATIONS
441: SET FIRST_UNIT_START_DATE = x_start,
442: FIRST_UNIT_COMPLETION_DATE = decode(X_load_type, WIP_CONSTANTS.RESCHED_EAM_JOB, x_comp, x_start),
443: LAST_UNIT_START_DATE = x_start,
444: LAST_UNIT_COMPLETION_DATE = decode(X_load_type, WIP_CONSTANTS.RESCHED_EAM_JOB, x_comp, x_start),
445: SCHEDULED_QUANTITY =
446: ROUND(X_Quantity, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
440: UPDATE WIP_OPERATIONS
441: SET FIRST_UNIT_START_DATE = x_start,
442: FIRST_UNIT_COMPLETION_DATE = decode(X_load_type, WIP_CONSTANTS.RESCHED_EAM_JOB, x_comp, x_start),
443: LAST_UNIT_START_DATE = x_start,
444: LAST_UNIT_COMPLETION_DATE = decode(X_load_type, WIP_CONSTANTS.RESCHED_EAM_JOB, x_comp, x_start),
445: SCHEDULED_QUANTITY =
446: ROUND(X_Quantity, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
447: LAST_UPDATED_BY = X_Last_Updated_By,
448: LAST_UPDATE_DATE = SYSDATE,
442: FIRST_UNIT_COMPLETION_DATE = decode(X_load_type, WIP_CONSTANTS.RESCHED_EAM_JOB, x_comp, x_start),
443: LAST_UNIT_START_DATE = x_start,
444: LAST_UNIT_COMPLETION_DATE = decode(X_load_type, WIP_CONSTANTS.RESCHED_EAM_JOB, x_comp, x_start),
445: SCHEDULED_QUANTITY =
446: ROUND(X_Quantity, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
447: LAST_UPDATED_BY = X_Last_Updated_By,
448: LAST_UPDATE_DATE = SYSDATE,
449: LAST_UPDATE_LOGIN = X_Last_Update_Login,
450: REQUEST_ID = p_req_id,
478: AND NVL(REPETITIVE_SCHEDULE_ID, -1) = NVL(X_Repetitive_Schedule_ID, -1);
479:
480: UPDATE WIP_OPERATION_RESOURCES
481: SET START_DATE = X_Start,
482: COMPLETION_DATE = DECODE(X_load_type, WIP_CONSTANTS.RESCHED_EAM_JOB , x_comp, x_start) ,
483: LAST_UPDATED_BY = X_Last_Updated_By,
484: LAST_UPDATE_DATE = SYSDATE,
485: LAST_UPDATE_LOGIN = X_Last_Update_Login,
486: REQUEST_ID = p_req_id,