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>
WaferQty = AddEventDetails<6>
NewApptID = Schedule_Services('AddSchedEvent', ReactorNo, WorkOrder, StartDTM, StopDTM, Description, WaferQty)
NewAppt = Schedule_Services('GetScheduleEvent', NewApptID)
If Error_Services('NoError') then
GoSub RefreshReactor
If NewApptID NE '' then
SchedRec = Database_Services('ReadDataRow', 'SCHED_DET_NG', NewApptID)
Schedule_Services('NotifySupervisorsIfSameDayChange', SchedRec)
If Error_Services('NoError') then
NewAppt = Schedule_Services('GetScheduleEvent', NewApptID)
If Error_Services('NoError') then
GoSub RefreshReactor
If NewApptID NE '' then
SchedRec = Database_Services('ReadDataRow', 'SCHED_DET_NG', NewApptID)
Schedule_Services('NotifySupervisorsIfSameDayChange', SchedRec)
end
end else
Error_Services('DisplayError')
end
end else
Error_Services('DisplayError')

View File

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