fixed a locking bug preventing work order quantities from updating when cassette quantities are modified

This commit is contained in:
Infineon\StieberD
2024-12-12 17:59:52 -07:00
committed by Stieber Daniel (CSC FI SPS MESLEO)
parent 7f309c87d4
commit bad03f6abe
4 changed files with 18 additions and 30 deletions

View File

@ -1527,42 +1527,34 @@ ChangeCassQty:
WOMatRec = XLATE('WO_MAT',WONo:'*':CassNo,'','X')
otParms = 'WO_LOG':@RM:WONo
WOLogRec = obj_Tables('ReadRec',otParms)
IF Get_Status(errCode) THEN RETURN
FirstRDS = WOMatRec<WO_MAT_RDS_NO$,1>
If FirstRDS NE '' then
// There will only be an RDS if the cassette has been released already, otherwise this will fail.
obj_RDS('SetSchedWfrQty',FirstRDS:@RM:NewCassQty)
IF Get_Status(errCode) THEN
obj_Tables('UnlockRec',otParms) ;* Unlock WO Record
RETURN
END
end
IF Get_Status(errCode) THEN RETURN
end
CurrWfrCnt = WOMatRec<WO_MAT_WAFER_QTY$>
PrevWfrCnt = obj_WO_Mat('SetWfrQty',WONo:'*':CassNo:@RM:NewCassQty)
IF Get_Status(errCode) THEN
obj_RDS('SetSchedWfrQty',FirstRDS:@RM:CurrWfrCnt) ;* Reset RDS Sched Qty to original
obj_Tables('UnlockRec',otParms) ;* Unlock WO Record
RETURN
END
WOQtyDelta = PrevWfrCnt - NewCassQty
IF WOQtyDelta NE 0 THEN
WOLogRec = Database_Services('ReadDataRow', 'WO_LOG', WONo)
If Error_Services('HasError') then
Set_Status(Error_Services('GetMessage'))
return
end
WOLogRec<WO_LOG_WO_QTY$> = WOLogRec<WO_LOG_WO_QTY$> + WOQtyDelta
Database_Services('WriteDataRow', 'WO_LOG', WONo, WOLogRec, True$, False$, False$)
END
otParms = FieldStore(otParms,@RM,4,1,WOLogRec)
obj_Tables('WriteRec',otParms)
RETURN
@ -2049,10 +2041,6 @@ RemoveCassettes:
AllRDSNos = XLATE('WO_MAT',AllCassIDs,WO_MAT_RDS_NO$,'X')
! Deprecated code 01/04/2022 - DJS
* WTParms = 'WO_LOG':@RM:WONo
* WORec = obj_Tables('ReadRec',WTParms)
WORec = Database_Services('ReadDataRow', 'WO_LOG', WONo)
If Error_Services('NoError') then
@ -2088,10 +2076,6 @@ RemoveCassettes:
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
end
! Deprecated code 01/04/2022 - DJS
* WTParms = FieldStore(WTParms,@RM,4,1,WORec)
* obj_Tables('WriteRec',WTParms)
RETURN