62: end if;
63: wip_logger.log(' Start Time : = '||to_char(sysdate),l_return_status);
64:
65: end if;
66: wip_ws_util.trace_log('Org id = '||to_char(p_org_id));
67: wip_ws_util.trace_log('Start time = '||to_char(sysdate));
68:
69:
70: wip_logger.log(' Trying to get lock for this organization ',l_return_status);
63: wip_logger.log(' Start Time : = '||to_char(sysdate),l_return_status);
64:
65: end if;
66: wip_ws_util.trace_log('Org id = '||to_char(p_org_id));
67: wip_ws_util.trace_log('Start time = '||to_char(sysdate));
68:
69:
70: wip_logger.log(' Trying to get lock for this organization ',l_return_status);
71: savepoint wip_ws_ptpkpi_calc;
69:
70: wip_logger.log(' Trying to get lock for this organization ',l_return_status);
71: savepoint wip_ws_ptpkpi_calc;
72:
73: l_concurrent_count := wip_ws_util.get_no_of_running_concurrent(
74: p_program_application_id => fnd_global.prog_appl_id,
75: p_concurrent_program_id => fnd_global.conc_program_id,
76: p_org_id => p_org_id);
77:
75: p_concurrent_program_id => fnd_global.conc_program_id,
76: p_org_id => p_org_id);
77:
78: if l_concurrent_count > 1 then
79: wip_ws_util.log_for_duplicate_concurrent (
80: p_org_id => p_org_id,
81: p_program_name => 'Production to Plan KPI');
82: l_conc_status := FND_CONCURRENT.SET_COMPLETION_STATUS('ERROR', 'Errors encountered in calculation program, please check the log file.');
83: return;
88: x_org_ptpkpi_rec => l_org_ptpkpi_rec);
89:
90:
91: If l_pref_exists = 'N' then
92: wip_ws_util.trace_log(' No Preference exists for this organization');
93: fnd_message.set_name('WIP','NO_PTPKPI_PREF_EXISTS');
94: raise FND_API.G_EXC_ERROR;
95: End if;
96:
103: x_msg_count => l_msg_count,
104: x_msg_data => l_msg_data);
105:
106: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
107: wip_ws_util.trace_log('Unexpected error occured in populate_plan_data API');
108: raise FND_API.G_EXC_UNEXPECTED_ERROR;
109: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
110: wip_ws_util.trace_log('Expected error occurred in populate_plan_data API');
111: raise FND_API.G_EXC_ERROR;
106: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
107: wip_ws_util.trace_log('Unexpected error occured in populate_plan_data API');
108: raise FND_API.G_EXC_UNEXPECTED_ERROR;
109: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
110: wip_ws_util.trace_log('Expected error occurred in populate_plan_data API');
111: raise FND_API.G_EXC_ERROR;
112: ELSE
113: wip_ws_util.trace_log('populate_plan_data_API is successfull');
114: END IF;
109: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
110: wip_ws_util.trace_log('Expected error occurred in populate_plan_data API');
111: raise FND_API.G_EXC_ERROR;
112: ELSE
113: wip_ws_util.trace_log('populate_plan_data_API is successfull');
114: END IF;
115:
116: -- Call populate actual data api
117:
122: x_msg_count => l_msg_count,
123: x_msg_data => l_msg_data);
124:
125: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
126: wip_ws_util.trace_log('Unexpected error occured in populate_actual_data API');
127: raise FND_API.G_EXC_UNEXPECTED_ERROR;
128: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
129: wip_ws_util.trace_log('Expected error occurred in populate_actual_data API');
130: raise FND_API.G_EXC_ERROR;
125: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
126: wip_ws_util.trace_log('Unexpected error occured in populate_actual_data API');
127: raise FND_API.G_EXC_UNEXPECTED_ERROR;
128: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
129: wip_ws_util.trace_log('Expected error occurred in populate_actual_data API');
130: raise FND_API.G_EXC_ERROR;
131: ELSE
132: wip_ws_util.trace_log('populate_actual_data is successfull');
133: END IF;
128: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
129: wip_ws_util.trace_log('Expected error occurred in populate_actual_data API');
130: raise FND_API.G_EXC_ERROR;
131: ELSE
132: wip_ws_util.trace_log('populate_actual_data is successfull');
133: END IF;
134:
135:
136: EXCEPTION
134:
135:
136: EXCEPTION
137: when FND_API.G_EXC_UNEXPECTED_ERROR then
138: wip_ws_util.trace_log('Came to unexpected error in wip_ws_PTPKPI_CONC_PROG');
139: rollback to wip_ws_ptpkpi_calc;
140: retcode := 2; -- End with error
141: when FND_API.G_EXC_ERROR then
142: retcode := 1;
139: rollback to wip_ws_ptpkpi_calc;
140: retcode := 2; -- End with error
141: when FND_API.G_EXC_ERROR then
142: retcode := 1;
143: wip_ws_util.trace_log('Came to expected error in wip_ws_PTPKPI_CONC_PROG');
144: rollback to wip_ws_ptpkpi_calc;
145: when others then
146: wip_ws_util.trace_log('Came to others error in wip_ws_PTPKPI_CONC_PROG');
147: rollback to wip_ws_ptpkpi_calc;
142: retcode := 1;
143: wip_ws_util.trace_log('Came to expected error in wip_ws_PTPKPI_CONC_PROG');
144: rollback to wip_ws_ptpkpi_calc;
145: when others then
146: wip_ws_util.trace_log('Came to others error in wip_ws_PTPKPI_CONC_PROG');
147: rollback to wip_ws_ptpkpi_calc;
148: retcode := 2; -- End with error
149: End wip_ws_PTPKPI_CONC_PROG;
150:
181:
182: -- Delete the rows that are populated by last concurrent run
183: -- for the parameter org
184:
185: wip_ws_util.trace_log('Entering Populate_plan_data API');
186:
187: delete wip_ws_ptpkpi_plan
188: where organization_id = p_org_id;
189:
186:
187: delete wip_ws_ptpkpi_plan
188: where organization_id = p_org_id;
189:
190: wip_ws_util.trace_log(' Deleted old rows in the table. Rows deleted = '||sql%rowcount);
191:
192: -- Populate data from wip data model to
193: -- ptp kpi plan table
194: l_job_status_clause := ' and wdj.status_type in ('|| get_pref_job_statuses(p_org_ptpkpi_rec) || ')';
243: and wdj.primary_item_id = msi.inventory_item_id
244: and wdj.organization_id = msi.organization_id';
245: l_sql := l_sql || l_job_status_clause || l_job_type_clause;
246:
247: wip_ws_util.trace_log('Constructed sql statement = ');
248: wip_ws_util.trace_log(l_sql);
249: l_cursor := dbms_sql.open_cursor;
250: dbms_sql.parse(l_cursor, l_sql, dbms_sql.native);
251: dbms_sql.bind_variable(l_cursor, ':p_org_id', p_org_id);
244: and wdj.organization_id = msi.organization_id';
245: l_sql := l_sql || l_job_status_clause || l_job_type_clause;
246:
247: wip_ws_util.trace_log('Constructed sql statement = ');
248: wip_ws_util.trace_log(l_sql);
249: l_cursor := dbms_sql.open_cursor;
250: dbms_sql.parse(l_cursor, l_sql, dbms_sql.native);
251: dbms_sql.bind_variable(l_cursor, ':p_org_id', p_org_id);
252: dbms_sql.bind_variable(l_cursor,':guserid',g_user_id);
250: dbms_sql.parse(l_cursor, l_sql, dbms_sql.native);
251: dbms_sql.bind_variable(l_cursor, ':p_org_id', p_org_id);
252: dbms_sql.bind_variable(l_cursor,':guserid',g_user_id);
253: l_dummy := dbms_sql.execute(l_cursor);
254: wip_ws_util.trace_log(' Number of rows inserted = '||sql%rowcount);
255: dbms_sql.close_cursor(l_cursor);
256:
257: EXCEPTION
258: when FND_API.G_EXC_UNEXPECTED_ERROR then
255: dbms_sql.close_cursor(l_cursor);
256:
257: EXCEPTION
258: when FND_API.G_EXC_UNEXPECTED_ERROR then
259: wip_ws_util.trace_log('Error message = '||sqlerrm);
260: wip_ws_util.trace_log('Came to unexpected error in populate_plan_data');
261: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
262: when FND_API.G_EXC_ERROR then
263: wip_ws_util.trace_log('Came to expected error in populate_plan_data');
256:
257: EXCEPTION
258: when FND_API.G_EXC_UNEXPECTED_ERROR then
259: wip_ws_util.trace_log('Error message = '||sqlerrm);
260: wip_ws_util.trace_log('Came to unexpected error in populate_plan_data');
261: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
262: when FND_API.G_EXC_ERROR then
263: wip_ws_util.trace_log('Came to expected error in populate_plan_data');
264: x_return_status := FND_API.G_RET_STS_ERROR;
259: wip_ws_util.trace_log('Error message = '||sqlerrm);
260: wip_ws_util.trace_log('Came to unexpected error in populate_plan_data');
261: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
262: when FND_API.G_EXC_ERROR then
263: wip_ws_util.trace_log('Came to expected error in populate_plan_data');
264: x_return_status := FND_API.G_RET_STS_ERROR;
265: when others then
266: wip_ws_util.trace_log('Error message = '||sqlerrm);
267: wip_ws_util.trace_log('Came to others error in populate_plan_data');
262: when FND_API.G_EXC_ERROR then
263: wip_ws_util.trace_log('Came to expected error in populate_plan_data');
264: x_return_status := FND_API.G_RET_STS_ERROR;
265: when others then
266: wip_ws_util.trace_log('Error message = '||sqlerrm);
267: wip_ws_util.trace_log('Came to others error in populate_plan_data');
268: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
269: End populate_plan_data;
270:
263: wip_ws_util.trace_log('Came to expected error in populate_plan_data');
264: x_return_status := FND_API.G_RET_STS_ERROR;
265: when others then
266: wip_ws_util.trace_log('Error message = '||sqlerrm);
267: wip_ws_util.trace_log('Came to others error in populate_plan_data');
268: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
269: End populate_plan_data;
270:
271:
306: FUNCTION get_job_types(
307: p_org_ptpkpi_rec IN org_ptpkpi_rec_type) RETURN VARCHAR2 IS
308: job_type_str VARCHAR2(240) := null;
309: BEGIN
310: wip_ws_util.trace_log('include std jobs = '||p_org_ptpkpi_rec.inc_standard_jobs);
311: wip_ws_util.trace_log('include non std jobs = '||p_org_ptpkpi_rec.inc_nonstd_jobs);
312: if (p_org_ptpkpi_rec.inc_standard_jobs = WIP_CONSTANTS.YES) then
313: job_type_str := to_char(wip_constants.STANDARD);
314: end if;
307: p_org_ptpkpi_rec IN org_ptpkpi_rec_type) RETURN VARCHAR2 IS
308: job_type_str VARCHAR2(240) := null;
309: BEGIN
310: wip_ws_util.trace_log('include std jobs = '||p_org_ptpkpi_rec.inc_standard_jobs);
311: wip_ws_util.trace_log('include non std jobs = '||p_org_ptpkpi_rec.inc_nonstd_jobs);
312: if (p_org_ptpkpi_rec.inc_standard_jobs = WIP_CONSTANTS.YES) then
313: job_type_str := to_char(wip_constants.STANDARD);
314: end if;
315: if (p_org_ptpkpi_rec.inc_nonstd_jobs = WIP_CONSTANTS.YES) then
328: x_org_ptpkpi_rec OUT NOCOPY org_ptpkpi_rec_type) is
329: l_row_seq_num number;
330: Begin
331:
332: l_row_seq_num := WIP_WS_UTIL.get_multival_pref_seq(p_pref_id => g_pref_id_ptp,
333: p_level_id => g_pref_level_id_site,
334: p_attribute_name => g_pref_val_mast_org_att,
335: p_attribute_val => p_org_id);
336:
333: p_level_id => g_pref_level_id_site,
334: p_attribute_name => g_pref_val_mast_org_att,
335: p_attribute_val => p_org_id);
336:
337: wip_ws_util.trace_log('Preferenc row seq num = '||l_row_seq_num);
338:
339: If l_row_seq_num is not null then
340: x_pref_exists := 'Y';
341: x_org_ptpkpi_rec.org_id := p_org_id;
339: If l_row_seq_num is not null then
340: x_pref_exists := 'Y';
341: x_org_ptpkpi_rec.org_id := p_org_id;
342: x_org_ptpkpi_rec.inc_released_jobs :=
343: WIP_WS_UTIL.get_multival_pref_val_code(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_release_att);
344: x_org_ptpkpi_rec.inc_unreleased_jobs :=
345: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_unreleased_att);
346: x_org_ptpkpi_rec.inc_onhold_jobs :=
347: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_onhold_att);
341: x_org_ptpkpi_rec.org_id := p_org_id;
342: x_org_ptpkpi_rec.inc_released_jobs :=
343: WIP_WS_UTIL.get_multival_pref_val_code(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_release_att);
344: x_org_ptpkpi_rec.inc_unreleased_jobs :=
345: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_unreleased_att);
346: x_org_ptpkpi_rec.inc_onhold_jobs :=
347: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_onhold_att);
348: x_org_ptpkpi_rec.inc_completed_jobs :=
349: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_completed_att);
343: WIP_WS_UTIL.get_multival_pref_val_code(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_release_att);
344: x_org_ptpkpi_rec.inc_unreleased_jobs :=
345: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_unreleased_att);
346: x_org_ptpkpi_rec.inc_onhold_jobs :=
347: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_onhold_att);
348: x_org_ptpkpi_rec.inc_completed_jobs :=
349: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_completed_att);
350: x_org_ptpkpi_rec.inc_standard_jobs :=
351: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_standard_att);
345: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_unreleased_att);
346: x_org_ptpkpi_rec.inc_onhold_jobs :=
347: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_onhold_att);
348: x_org_ptpkpi_rec.inc_completed_jobs :=
349: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_completed_att);
350: x_org_ptpkpi_rec.inc_standard_jobs :=
351: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_standard_att);
352: x_org_ptpkpi_rec.inc_nonstd_jobs :=
353: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_nonstd_att);
347: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_onhold_att);
348: x_org_ptpkpi_rec.inc_completed_jobs :=
349: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_completed_att);
350: x_org_ptpkpi_rec.inc_standard_jobs :=
351: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_standard_att);
352: x_org_ptpkpi_rec.inc_nonstd_jobs :=
353: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_nonstd_att);
354: else
355: x_pref_exists := 'N';
349: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_completed_att);
350: x_org_ptpkpi_rec.inc_standard_jobs :=
351: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_standard_att);
352: x_org_ptpkpi_rec.inc_nonstd_jobs :=
353: WIP_WS_UTIL.GET_MULTIVAL_PREF_VAL_CODE(g_pref_id_ptp, g_pref_level_id_site, l_row_seq_num, g_pref_val_inc_nonstd_att);
354: else
355: x_pref_exists := 'N';
356: end if;
357:
488: REJECT CONSTANT NUMBER := 4;
489: SCRAP CONSTANT NUMBER := 5;
490: */
491:
492: wip_ws_util.trace_log('Entering populate_actual_data API');
493: -- remove old data
494:
495: l_stmt_no := 10;
496:
498: from wip_ws_ptpkpi_actual
499: where shift_start_time < trunc(sysdate) - 30
500: and organization_id = p_org_id;
501:
502: wip_ws_util.trace_log('Deleted old records. Number of records deleted = '||sql%rowcount);
503:
504: -- get the most recent shift information from existing aggregated actuals
505:
506: l_stmt_no := 20;
529:
530: End;
531:
532: l_stmt_no := 30;
533: --wip_ws_util.trace_log(' Most recent shift id = '||to_char(RecentShiftid));
534: wip_ws_util.trace_log(' Most recent shift id = '||to_char(RecentShiftStartTime));
535:
536: /*
537: If RecentShiftid is not null then
530: End;
531:
532: l_stmt_no := 30;
533: --wip_ws_util.trace_log(' Most recent shift id = '||to_char(RecentShiftid));
534: wip_ws_util.trace_log(' Most recent shift id = '||to_char(RecentShiftStartTime));
535:
536: /*
537: If RecentShiftid is not null then
538: -- remove possible partial aggregated data for the most recent shift
546: and organization_id = p_org_id;
547: -- process each row and find out whether the quantity should be
548: -- counted as a positive/negative move, scrap, or reject.
549:
550: wip_ws_util.trace_log('Before starting For loop');
551:
552: l_stmt_no := 40;
553: l_sql := 'select
554: wo.organization_id ,
634:
635: l_stmt_no := 42;
636: l_sql := l_sql||l_job_status_clause || l_job_type_clause;
637:
638: wip_ws_util.trace_log('Sql Statement');
639: wip_ws_util.trace_log(l_sql);
640:
641: l_stmt_no := 45;
642: RECENTSHIFTDATE := nvl(RecentShiftStartTime,sysdate-30);
635: l_stmt_no := 42;
636: l_sql := l_sql||l_job_status_clause || l_job_type_clause;
637:
638: wip_ws_util.trace_log('Sql Statement');
639: wip_ws_util.trace_log(l_sql);
640:
641: l_stmt_no := 45;
642: RECENTSHIFTDATE := nvl(RecentShiftStartTime,sysdate-30);
643:
646: fetch move_tran_cur into l_organization_id,l_department_id,l_wip_entity_id,
647: l_operation_seq_num,l_primary_quantity,l_shift_id,
648: l_fm_op,l_fm_step,l_to_op,l_to_step,l_primary_uom_code,
649: l_lead_time,l_op;
650: wip_ws_util.trace_log(' Inside loop');
651: exit when move_tran_cur%notfound;
652: move_qty := 0;
653: scrap_qty := 0;
654: reject_qty := 0;
718:
719: l_stmt_no := 110;
720:
721:
722: wip_ws_util.trace_log(' Org id = '||to_char(l_organization_id));
723: wip_ws_util.trace_log(' dept = '||to_char(l_department_id));
724: wip_ws_util.trace_log(' entity id = '||to_char(l_wip_entity_id));
725: wip_ws_util.trace_log(' op = '||to_char(l_op));
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
719: l_stmt_no := 110;
720:
721:
722: wip_ws_util.trace_log(' Org id = '||to_char(l_organization_id));
723: wip_ws_util.trace_log(' dept = '||to_char(l_department_id));
724: wip_ws_util.trace_log(' entity id = '||to_char(l_wip_entity_id));
725: wip_ws_util.trace_log(' op = '||to_char(l_op));
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
720:
721:
722: wip_ws_util.trace_log(' Org id = '||to_char(l_organization_id));
723: wip_ws_util.trace_log(' dept = '||to_char(l_department_id));
724: wip_ws_util.trace_log(' entity id = '||to_char(l_wip_entity_id));
725: wip_ws_util.trace_log(' op = '||to_char(l_op));
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
728: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
721:
722: wip_ws_util.trace_log(' Org id = '||to_char(l_organization_id));
723: wip_ws_util.trace_log(' dept = '||to_char(l_department_id));
724: wip_ws_util.trace_log(' entity id = '||to_char(l_wip_entity_id));
725: wip_ws_util.trace_log(' op = '||to_char(l_op));
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
728: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
729: wip_ws_util.trace_log(' shift id = '||l_shift_id);
722: wip_ws_util.trace_log(' Org id = '||to_char(l_organization_id));
723: wip_ws_util.trace_log(' dept = '||to_char(l_department_id));
724: wip_ws_util.trace_log(' entity id = '||to_char(l_wip_entity_id));
725: wip_ws_util.trace_log(' op = '||to_char(l_op));
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
728: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
729: wip_ws_util.trace_log(' shift id = '||l_shift_id);
730: wip_ws_util.trace_log(' uom = '||l_primary_uom_code);
723: wip_ws_util.trace_log(' dept = '||to_char(l_department_id));
724: wip_ws_util.trace_log(' entity id = '||to_char(l_wip_entity_id));
725: wip_ws_util.trace_log(' op = '||to_char(l_op));
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
728: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
729: wip_ws_util.trace_log(' shift id = '||l_shift_id);
730: wip_ws_util.trace_log(' uom = '||l_primary_uom_code);
731: wip_ws_util.trace_log(' Lead time = '||to_char(l_lead_time));
724: wip_ws_util.trace_log(' entity id = '||to_char(l_wip_entity_id));
725: wip_ws_util.trace_log(' op = '||to_char(l_op));
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
728: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
729: wip_ws_util.trace_log(' shift id = '||l_shift_id);
730: wip_ws_util.trace_log(' uom = '||l_primary_uom_code);
731: wip_ws_util.trace_log(' Lead time = '||to_char(l_lead_time));
732:
725: wip_ws_util.trace_log(' op = '||to_char(l_op));
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
728: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
729: wip_ws_util.trace_log(' shift id = '||l_shift_id);
730: wip_ws_util.trace_log(' uom = '||l_primary_uom_code);
731: wip_ws_util.trace_log(' Lead time = '||to_char(l_lead_time));
732:
733: If move_qty+scrap_qty+reject_qty <> 0 Then
726: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
728: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
729: wip_ws_util.trace_log(' shift id = '||l_shift_id);
730: wip_ws_util.trace_log(' uom = '||l_primary_uom_code);
731: wip_ws_util.trace_log(' Lead time = '||to_char(l_lead_time));
732:
733: If move_qty+scrap_qty+reject_qty <> 0 Then
734: insert into wip_ws_ptp_gt
727: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
728: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
729: wip_ws_util.trace_log(' shift id = '||l_shift_id);
730: wip_ws_util.trace_log(' uom = '||l_primary_uom_code);
731: wip_ws_util.trace_log(' Lead time = '||to_char(l_lead_time));
732:
733: If move_qty+scrap_qty+reject_qty <> 0 Then
734: insert into wip_ws_ptp_gt
735: (organization_id,
761:
762: /*
763: For move_tran_rec in move_tran_cur(p_org_id,nvl(RecentShiftStartTime,sysdate-30))
764: Loop
765: wip_ws_util.trace_log('Inside Loop');
766: move_qty := 0;
767: scrap_qty := 0;
768: reject_qty := 0;
769:
833:
834: l_stmt_no := 110;
835:
836:
837: wip_ws_util.trace_log(' Org id = '||to_char(move_tran_rec.organization_id));
838: wip_ws_util.trace_log(' dept = '||to_char(move_tran_rec.department_id));
839: wip_ws_util.trace_log(' entity id = '||to_char(move_tran_rec.wip_entity_id));
840: wip_ws_util.trace_log(' op = '||to_char(move_tran_rec.op));
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
834: l_stmt_no := 110;
835:
836:
837: wip_ws_util.trace_log(' Org id = '||to_char(move_tran_rec.organization_id));
838: wip_ws_util.trace_log(' dept = '||to_char(move_tran_rec.department_id));
839: wip_ws_util.trace_log(' entity id = '||to_char(move_tran_rec.wip_entity_id));
840: wip_ws_util.trace_log(' op = '||to_char(move_tran_rec.op));
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
835:
836:
837: wip_ws_util.trace_log(' Org id = '||to_char(move_tran_rec.organization_id));
838: wip_ws_util.trace_log(' dept = '||to_char(move_tran_rec.department_id));
839: wip_ws_util.trace_log(' entity id = '||to_char(move_tran_rec.wip_entity_id));
840: wip_ws_util.trace_log(' op = '||to_char(move_tran_rec.op));
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
843: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
836:
837: wip_ws_util.trace_log(' Org id = '||to_char(move_tran_rec.organization_id));
838: wip_ws_util.trace_log(' dept = '||to_char(move_tran_rec.department_id));
839: wip_ws_util.trace_log(' entity id = '||to_char(move_tran_rec.wip_entity_id));
840: wip_ws_util.trace_log(' op = '||to_char(move_tran_rec.op));
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
843: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
844: wip_ws_util.trace_log(' shift id = '||move_tran_rec.shift_id);
837: wip_ws_util.trace_log(' Org id = '||to_char(move_tran_rec.organization_id));
838: wip_ws_util.trace_log(' dept = '||to_char(move_tran_rec.department_id));
839: wip_ws_util.trace_log(' entity id = '||to_char(move_tran_rec.wip_entity_id));
840: wip_ws_util.trace_log(' op = '||to_char(move_tran_rec.op));
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
843: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
844: wip_ws_util.trace_log(' shift id = '||move_tran_rec.shift_id);
845: wip_ws_util.trace_log(' uom = '||move_tran_rec.primary_uom_code);
838: wip_ws_util.trace_log(' dept = '||to_char(move_tran_rec.department_id));
839: wip_ws_util.trace_log(' entity id = '||to_char(move_tran_rec.wip_entity_id));
840: wip_ws_util.trace_log(' op = '||to_char(move_tran_rec.op));
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
843: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
844: wip_ws_util.trace_log(' shift id = '||move_tran_rec.shift_id);
845: wip_ws_util.trace_log(' uom = '||move_tran_rec.primary_uom_code);
846: wip_ws_util.trace_log(' Lead time = '||to_char(move_tran_rec.op_lead_time));
839: wip_ws_util.trace_log(' entity id = '||to_char(move_tran_rec.wip_entity_id));
840: wip_ws_util.trace_log(' op = '||to_char(move_tran_rec.op));
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
843: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
844: wip_ws_util.trace_log(' shift id = '||move_tran_rec.shift_id);
845: wip_ws_util.trace_log(' uom = '||move_tran_rec.primary_uom_code);
846: wip_ws_util.trace_log(' Lead time = '||to_char(move_tran_rec.op_lead_time));
847:
840: wip_ws_util.trace_log(' op = '||to_char(move_tran_rec.op));
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
843: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
844: wip_ws_util.trace_log(' shift id = '||move_tran_rec.shift_id);
845: wip_ws_util.trace_log(' uom = '||move_tran_rec.primary_uom_code);
846: wip_ws_util.trace_log(' Lead time = '||to_char(move_tran_rec.op_lead_time));
847:
848: insert into wip_ws_ptp_gt
841: wip_ws_util.trace_log(' move qty = '||to_char(move_qty));
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
843: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
844: wip_ws_util.trace_log(' shift id = '||move_tran_rec.shift_id);
845: wip_ws_util.trace_log(' uom = '||move_tran_rec.primary_uom_code);
846: wip_ws_util.trace_log(' Lead time = '||to_char(move_tran_rec.op_lead_time));
847:
848: insert into wip_ws_ptp_gt
849: (organization_id,
842: wip_ws_util.trace_log(' scrap qty = '||to_char(scrap_qty));
843: wip_ws_util.trace_log(' reject qty = '||to_char(reject_qty));
844: wip_ws_util.trace_log(' shift id = '||move_tran_rec.shift_id);
845: wip_ws_util.trace_log(' uom = '||move_tran_rec.primary_uom_code);
846: wip_ws_util.trace_log(' Lead time = '||to_char(move_tran_rec.op_lead_time));
847:
848: insert into wip_ws_ptp_gt
849: (organization_id,
850: department_id,
872:
873:
874: End loop;
875: */
876: wip_ws_util.trace_log(' After loop');
877: l_stmt_no := 120;
878:
879: -- aggregate the temp data and insert to the actual table
880: insert into wip_ws_ptpkpi_actual(
917: op_lead_time;
918:
919: EXCEPTION
920: when FND_API.G_EXC_UNEXPECTED_ERROR then
921: wip_ws_util.trace_log('Error message = '||sqlerrm);
922: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
923: wip_ws_util.trace_log('Came to unexpected error in populate_actual_data');
924: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
925: when FND_API.G_EXC_ERROR then
918:
919: EXCEPTION
920: when FND_API.G_EXC_UNEXPECTED_ERROR then
921: wip_ws_util.trace_log('Error message = '||sqlerrm);
922: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
923: wip_ws_util.trace_log('Came to unexpected error in populate_actual_data');
924: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
925: when FND_API.G_EXC_ERROR then
926: wip_ws_util.trace_log('Came to expected error in populate_actual_data');
919: EXCEPTION
920: when FND_API.G_EXC_UNEXPECTED_ERROR then
921: wip_ws_util.trace_log('Error message = '||sqlerrm);
922: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
923: wip_ws_util.trace_log('Came to unexpected error in populate_actual_data');
924: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
925: when FND_API.G_EXC_ERROR then
926: wip_ws_util.trace_log('Came to expected error in populate_actual_data');
927: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
922: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
923: wip_ws_util.trace_log('Came to unexpected error in populate_actual_data');
924: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
925: when FND_API.G_EXC_ERROR then
926: wip_ws_util.trace_log('Came to expected error in populate_actual_data');
927: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
928: x_return_status := FND_API.G_RET_STS_ERROR;
929: when others then
930: wip_ws_util.trace_log('Error message = '||sqlerrm);
923: wip_ws_util.trace_log('Came to unexpected error in populate_actual_data');
924: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
925: when FND_API.G_EXC_ERROR then
926: wip_ws_util.trace_log('Came to expected error in populate_actual_data');
927: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
928: x_return_status := FND_API.G_RET_STS_ERROR;
929: when others then
930: wip_ws_util.trace_log('Error message = '||sqlerrm);
931: wip_ws_util.trace_log('Came to others error in populate_actual_data');
926: wip_ws_util.trace_log('Came to expected error in populate_actual_data');
927: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
928: x_return_status := FND_API.G_RET_STS_ERROR;
929: when others then
930: wip_ws_util.trace_log('Error message = '||sqlerrm);
931: wip_ws_util.trace_log('Came to others error in populate_actual_data');
932: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
933: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
934: End populate_actual_data;
927: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
928: x_return_status := FND_API.G_RET_STS_ERROR;
929: when others then
930: wip_ws_util.trace_log('Error message = '||sqlerrm);
931: wip_ws_util.trace_log('Came to others error in populate_actual_data');
932: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
933: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
934: End populate_actual_data;
935:
928: x_return_status := FND_API.G_RET_STS_ERROR;
929: when others then
930: wip_ws_util.trace_log('Error message = '||sqlerrm);
931: wip_ws_util.trace_log('Came to others error in populate_actual_data');
932: wip_ws_util.trace_log(' Statement no '||l_stmt_no);
933: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
934: End populate_actual_data;
935:
936: