Fixed an issue which was preventing work orders without received material from being scheduled.

This commit is contained in:
Infineon\StieberD
2025-09-26 13:40:16 -07:00
parent edd09af821
commit 2036ed3289
2 changed files with 36 additions and 19 deletions

View File

@ -723,12 +723,16 @@ Event OLE_SCHEDULE.OnContextMenuClick(Item, UserData)
Description = AddEventDetails<5> Description = AddEventDetails<5>
WaferQty = AddEventDetails<6> WaferQty = AddEventDetails<6>
NewApptID = Schedule_Services('AddSchedEvent', ReactorNo, WorkOrder, StartDTM, StopDTM, Description, WaferQty) NewApptID = Schedule_Services('AddSchedEvent', ReactorNo, WorkOrder, StartDTM, StopDTM, Description, WaferQty)
NewAppt = Schedule_Services('GetScheduleEvent', NewApptID) If Error_Services('NoError') then
If Error_Services('NoError') then NewAppt = Schedule_Services('GetScheduleEvent', NewApptID)
GoSub RefreshReactor If Error_Services('NoError') then
If NewApptID NE '' then GoSub RefreshReactor
SchedRec = Database_Services('ReadDataRow', 'SCHED_DET_NG', NewApptID) If NewApptID NE '' then
Schedule_Services('NotifySupervisorsIfSameDayChange', SchedRec) SchedRec = Database_Services('ReadDataRow', 'SCHED_DET_NG', NewApptID)
Schedule_Services('NotifySupervisorsIfSameDayChange', SchedRec)
end
end else
Error_Services('DisplayError')
end end
end else end else
Error_Services('DisplayError') Error_Services('DisplayError')

View File

@ -2331,7 +2331,12 @@ Service AddSchedEvent(ReactorNo, WorkOrderNo, StartDTM, StopDTM, Description, Wa
If EpiPro then If EpiPro then
For CassNo = StartCass to StopCass For CassNo = StartCass to StopCass
WMIKey = WorkOrderNo:'*1*':CassNo WMIKey = WorkOrderNo:'*1*':CassNo
WMIRec = Database_Services('ReadDataRow', 'WM_IN', WMIKey) If RowExists('WM_IN', WMIKey) then
WMIRec = Database_Services('ReadDataRow', 'WM_IN', WMIKey)
end else
// Material not received yet
WMIRec = ''
end
If Error_Services('NoError') then If Error_Services('NoError') then
Voided = WMIRec<WM_IN_VOID$> Voided = WMIRec<WM_IN_VOID$>
If Not(Voided) then If Not(Voided) then
@ -2408,22 +2413,30 @@ Service AddSchedEvent(ReactorNo, WorkOrderNo, StartDTM, StopDTM, Description, Wa
end else end else
For CassNo = StartCass to StopCass For CassNo = StartCass to StopCass
DtmOut = ''
WOMatKey = WorkOrderNo:'*':CassNo WOMatKey = WorkOrderNo:'*':CassNo
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey) If RowExists('WO_MAT', WOMatKey) then
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
end else
// Material not received yet
WOMatRec = ''
end
If Error_Services('NoError') then If Error_Services('NoError') then
Voided = WOMatRec<WO_MAT_VOID$> Voided = WOMatRec<WO_MAT_VOID$>
If Not(Voided) then If Not(Voided) then
RDSKey = WOMatRec<WO_MAT_RDS_NO$> RDSKey = WOMatRec<WO_MAT_RDS_NO$>
RDSRec = Database_Services('ReadDataRow', 'RDS', RDSKey) If (RDSKey NE '') then
If Error_Services('NoError') then RDSRec = Database_Services('ReadDataRow', 'RDS', RDSKey)
DateOut = RDSRec<RDS_DATE_OUT$> If Error_Services('NoError') then
TimeOut = RDSRec<RDS_TIME_OUT$> DateOut = RDSRec<RDS_DATE_OUT$>
TimeOut = TimeOut/86400 TimeOut = RDSRec<RDS_TIME_OUT$>
TimeOut = SRP_Math('ROUND', TimeOut, 5) TimeOut = TimeOut/86400
TimeOut = TimeOut[2, 6] TimeOut = SRP_Math('ROUND', TimeOut, 5)
DtmOut = DateOut:TimeOut TimeOut = TimeOut[2, 6]
end else DtmOut = DateOut:TimeOut
ErrorMsg = Error_Services('GetMessage') end else
ErrorMsg = Error_Services('GetMessage')
end
end end
end end
end else end else
@ -2431,7 +2444,7 @@ Service AddSchedEvent(ReactorNo, WorkOrderNo, StartDTM, StopDTM, Description, Wa
end end
If (ErrorMsg EQ '') then If (ErrorMsg EQ '') then
If DtmOut NE '' then If (DtmOut NE '') then
LastUnloadedRDS = RDSKey LastUnloadedRDS = RDSKey
Locate CassNo in EventProcCassList using @VM setting Dummy else Locate CassNo in EventProcCassList using @VM setting Dummy else
EventProcCassList<0, -1> = CassNo EventProcCassList<0, -1> = CassNo