Merged PR 19430: Fix references to old supplement system.
This commit is contained in:
parent
1db89a3d3f
commit
52499b7616
@ -18,10 +18,10 @@ COMPILE FUNCTION obj_RDS(Method,Parms)
|
||||
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, obj_WO_Verify, obj_Prod_Spec, Send_Dyn, obj_RDS_Makeup
|
||||
DECLARE FUNCTION obj_RDS2, obj_RDS_Test, obj_WO_Mat, obj_Clean_Insp, obj_PRS_Prop, Database_Services
|
||||
DECLARE FUNCTION Logging_Services, Environment_Services, Error_Services, Signature_Services
|
||||
DECLARE FUNCTION Logging_Services, Environment_Services, Error_Services, Signature_Services, Supplement_Services
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, obj_WO_Step, obj_RDS_Layer, obj_RDS_Test, obj_WM_In
|
||||
DECLARE SUBROUTINE Btree.Extract, RDS_React_Run, Environment_Services, Logging_Services, Error_Services, Send_Info
|
||||
DECLARE SUBROUTINE SRP_Stopwatch, Database_Services, Lot_Services
|
||||
DECLARE SUBROUTINE SRP_Stopwatch, Database_Services, Lot_Services, Supplement_Services
|
||||
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT WO_VERIFY_EQU
|
||||
@ -464,32 +464,7 @@ Create:
|
||||
NEXT I
|
||||
|
||||
|
||||
********************************
|
||||
*Automatically Apply Supplement*
|
||||
********************************
|
||||
// If first cassette in work order, then there is no supplement in place, therefore skip this step.
|
||||
If RDSRec<RDS_CASS_NO$> GT 1 then
|
||||
WoStepKey = RDSRec<RDS_WO_STEP_KEY$>
|
||||
WoStepRec = Database_Services('ReadDataRow', 'WO_STEP', WoStepKey)
|
||||
If Error_Services('NoError') then
|
||||
LastRDSKey = WoStepRec<WO_STEP_RDS_KEY$>[-1, 'B' : @VM]
|
||||
LastRDSRec = Database_Services('ReadDataRow', 'RDS', LastRDSKey)
|
||||
If Error_Services('NoError') then
|
||||
HasSupplement = LastRDSRec<RDS_SUPPLEMENT$>
|
||||
If HasSupplement then
|
||||
RDSRec<RDS_SUPPLEMENT$> = True$
|
||||
RDSRec<RDS_SUPPL_INST$> = LastRDSRec<RDS_SUPPL_INST$>
|
||||
RDSRec<RDS_SUPPL_ENTRY_ID$> = LastRDSRec<RDS_SUPPL_ENTRY_ID$>
|
||||
RDSRec<RDS_SUPPL_ENTRY_DATE$> = LastRDSRec<RDS_SUPPL_ENTRY_DATE$>
|
||||
RDSRec<RDS_SUPPL_ENTRY_TIME$> = LastRDSRec<RDS_SUPPL_ENTRY_TIME$>
|
||||
end
|
||||
end else
|
||||
Logging_Services('AppendLog', objLog, LoggingDTM : ',' : @USER4 : ',' : RDSNo : ',' : 'Error automatically applying supplement to new RDS.')
|
||||
end
|
||||
end else
|
||||
Logging_Services('AppendLog', objLog, LoggingDTM : ',' : @USER4 : ',' : RDSNo : ',' : 'Error automatically applying supplement to new RDS.')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
Send_Info('Saving RDS record...')
|
||||
@ -502,6 +477,29 @@ Create:
|
||||
END ELSE
|
||||
Lot_Services('CreateNewLot', 'RDS', '', WaferQty, SubPartNo, LotNo, SubVendCd, @User4, '', RDSNo)
|
||||
Result = RDSNo
|
||||
********************************
|
||||
*Automatically Apply Supplement*
|
||||
********************************
|
||||
// If first cassette in work order, then there is no supplement in place, therefore skip this step.
|
||||
If RDSRec<RDS_CASS_NO$> GT 1 then
|
||||
WoStepKey = RDSRec<RDS_WO_STEP_KEY$>
|
||||
WoStepRec = Database_Services('ReadDataRow', 'WO_STEP', WoStepKey)
|
||||
If Error_Services('NoError') then
|
||||
RDSKeyCount = Dcount(WoStepRec<WO_STEP_RDS_KEY$>, @VM)
|
||||
LastRDSKey = WoStepRec<WO_STEP_RDS_KEY$, RDSKeyCount - 1>
|
||||
LastRDSRec = Database_Services('ReadDataRow', 'RDS', LastRDSKey)
|
||||
If Error_Services('NoError') then
|
||||
HasSupplement = Supplement_Services('HasSupplements', 'RDS', LastRDSKey, '')
|
||||
If HasSupplement then
|
||||
Supplement_Services('CopySupplementsToNewLot', 'RDS', LastRDSKey, RDSNo)
|
||||
end
|
||||
end else
|
||||
Logging_Services('AppendLog', objLog, LoggingDTM : ',' : @USER4 : ',' : RDSNo : ',' : 'Error automatically applying supplement to new RDS.')
|
||||
end
|
||||
end else
|
||||
Logging_Services('AppendLog', objLog, LoggingDTM : ',' : @USER4 : ',' : RDSNo : ',' : 'Error automatically applying supplement to new RDS.')
|
||||
end
|
||||
end
|
||||
END
|
||||
|
||||
* * * * * * *
|
||||
@ -1479,3 +1477,5 @@ CalcThickTarget:
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -2030,7 +2030,8 @@ Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOp
|
||||
RunOrderNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
|
||||
SchedQty = RDSRec<RDS_CASS_WAFER_QTY$>
|
||||
ParamOutOfSpec = Xlate('RDS', RDSNo, 'PARAM_OUT_OF_SPEC', 'X')
|
||||
Supplement = RDSRec<RDS_SUPPLEMENT$>
|
||||
* Supplement = RDSRec<RDS_SUPPLEMENT$>
|
||||
Supplement = Supplement_Services('HasSupplements', 'RDS', RDSNo, 'LOAD')
|
||||
|
||||
ReactorCapacity = Reactor_Services('GetReactorAvailChamberCount', Reactor)
|
||||
If ReactorCapacity LE 0 then
|
||||
@ -2092,8 +2093,7 @@ Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOp
|
||||
end
|
||||
|
||||
Locate True$ in ParamOutOfSpec using @VM setting oPos then
|
||||
|
||||
IF Supplement NE True$ then
|
||||
IF Supplement EQ False$ then
|
||||
ErrorMsg = 'Process Error: Recipe parameters are out of spec and no supplement has been set.'
|
||||
Error_Services('Set', ErrorMsg)
|
||||
Response = False$
|
||||
@ -2601,9 +2601,9 @@ Service UnloadSignatureReady(RDSNo, Username, Reactor)
|
||||
return
|
||||
END
|
||||
ParamOutOfSpec = Xlate('RDS', RDSNo, 'PARAM_OUT_OF_SPEC', 'X')
|
||||
Supplement = RDSRec<RDS_SUPPLEMENT$>
|
||||
Supplement = Supplement_Services('HasSupplements', 'RDS', RDSNo, '')
|
||||
Locate True$ in ParamOutOfSpec using @VM setting oPos then
|
||||
IF Supplement NE True$ then
|
||||
IF Supplement EQ False$ then
|
||||
ErrorMsg = 'Process Error: Recipe parameters are out of spec and no supplement has been set.'
|
||||
Error_Services('Set', ErrorMsg)
|
||||
Response = False$
|
||||
@ -3645,3 +3645,5 @@ ClearCursors:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -80,14 +80,6 @@ READ RDSRec FROM RDSTable,RDSNo THEN
|
||||
RunRec<REACT_RUN_SUSCEPTOR_ID$> = RDSRec<RDS_SUSCEPTOR_ID$>
|
||||
RunRec<REACT_RUN_REACT_IDLE_TIME$> = RDSRec<RDS_REACT_IDLE_TIME$>
|
||||
|
||||
IF RDSRec<RDS_SUPPLEMENT$> = 1 THEN
|
||||
RunRec<REACT_RUN_SUPP_INST$> = RDSRec<RDS_SUPPL_INST$>
|
||||
RunRec<REACT_RUN_SUPP_ENTRY_ID$> = RDSRec<RDS_SUPPL_ENTRY_ID$>
|
||||
RunRec<REACT_RUN_SUPP_ENTRY_DTM$> = ICONV(OCONV(RDSRec<RDS_SUPPL_ENTRY_DATE$>,'D4/'):' ':OCONV(RDSRec<RDS_SUPPL_ENTRY_TIME$>,'MTS'),'DT')
|
||||
RunRec<REACT_RUN_SUPP_SIG$> = RDSRec<RDS_SUPPL_SIG$>
|
||||
RunRec<REACT_RUN_SUPP_SIG_DTM$> = ICONV(OCONV(RDSRec<RDS_SUPPL_SIG_DATE$>,'D4/'):' ':OCONV(RDSRec<RDS_SUPPL_SIG_TIME$>,'MTS'),'DT')
|
||||
END
|
||||
|
||||
RunRec<REACT_RUN_EX_UNLOAD$> = RDSRec<RDS_OP_OUT_EX1$>
|
||||
RunRec<REACT_RUN_EX_UNLOAD_DTM$> = ICONV(OCONV(RDSRec<RDS_OP_OUT_EX1_DATE$>,'D4/'):' ':OCONV(RDSRec<RDS_OP_OUT_EX1_TIME$>,'MTS'),'DT')
|
||||
RunRec<REACT_RUN_EX_UNLOAD_REASON$> = ''
|
||||
|
@ -102,24 +102,6 @@ READ RunRec FROM RRTable,RDSNo THEN
|
||||
RDSRec<RDS_OUT_CASS_NO$> = RunRec<REACT_RUN_OUT_CASS_NO$>
|
||||
RDSRec<RDS_OUT_CASS_SLOT$> = RunRec<REACT_RUN_OUT_SLOT_NO$>
|
||||
RDSRec<RDS_WAFER_CHAR$> = RunRec<REACT_RUN_WAFER_CHAR$>
|
||||
|
||||
IF RunRec<REACT_RUN_SUPP_ENTRY_ID$> NE '' THEN
|
||||
RDSRec<RDS_SUPPLEMENT$> = 1
|
||||
RDSRec<RDS_SUPPL_INST$> = RunRec<REACT_RUN_SUPP_INST$>
|
||||
RDSRec<RDS_SUPPL_ENTRY_ID$> = RunRec<REACT_RUN_SUPP_ENTRY_ID$>
|
||||
|
||||
SuppEntryDTM = OCONV(RunRec<REACT_RUN_SUPP_ENTRY_DTM$>,'DT/4^HS')
|
||||
|
||||
RDSRec<RDS_SUPPL_ENTRY_DATE$> = ICONV(FIELD(SuppEntryDTM,' ',1),'D')
|
||||
RDSRec<RDS_SUPPL_ENTRY_TIME$> = ICONV(FIELD(SuppEntryDTM,' ',2),'MTS')
|
||||
|
||||
RDSRec<RDS_SUPPL_SIG$> = RunRec<REACT_RUN_SUPP_SIG$>
|
||||
|
||||
SuppSigDTM = RunRec<REACT_RUN_SUPP_SIG_DTM$>
|
||||
|
||||
RDSRec<RDS_SUPPL_SIG_DATE$> = ICONV(FIELD(SuppSigDTM,' ',1),'D')
|
||||
RDSRec<RDS_SUPPL_SIG_TIME$> = ICONV(FIELD(SuppSigDTM,' ',2),'MTS')
|
||||
END
|
||||
|
||||
RDSRec<RDS_OP_OUT_EX1$> = RunRec<REACT_RUN_EX_UNLOAD$>
|
||||
|
||||
|
@ -239,6 +239,57 @@ Service GetLotsWithSupplements(LotType)
|
||||
|
||||
end service
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// HasSupplements
|
||||
//
|
||||
// LotType - [Required]
|
||||
// LotID - [Required]
|
||||
// Stage = [Optional]
|
||||
//
|
||||
// Returns a boolean response for whether or not a lot has any supplements assigned.
|
||||
//
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service HasSupplements(LotType=LOTTYPES, LotID, Stage=STAGES)
|
||||
|
||||
Response = ''
|
||||
Supplements = Supplement_Services('GetSupplementsForLot', LotType, LotID, Stage)
|
||||
If Supplements EQ False$ then
|
||||
Response = Supplements
|
||||
end else
|
||||
Response = True$
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// CopySupplementsToNewLot
|
||||
//
|
||||
// LotType - [Required]
|
||||
// OldLotID - [Required]
|
||||
// NewLotID - [Required]
|
||||
//
|
||||
// Returns a boolean response for whether or not a lot has any supplements assigned.
|
||||
//
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service CopySupplementsToNewLot(LotType=LOTTYPES, OldLotID, NewLotID)
|
||||
|
||||
If Supplement_Services('HasSupplements', LotType, OldLotID, '') then
|
||||
SupplementKeys = Supplement_Services('GetSupplementsForLot', LotType, OldLotID, '')
|
||||
SuppCount = Dcount(SupplementKeys, @FM)
|
||||
For I = 1 to SuppCount
|
||||
OldSuppRec = Xlate('SUPPLEMENTS', SupplementKeys<I>, '', 'X')
|
||||
SupplText = OldSuppRec<SUPPLEMENTS_SUPPL_TEXT$>
|
||||
EntryUser = OldSuppRec<SUPPLEMENTS_ENTRY_USER$>
|
||||
Stage = OldSuppRec<SUPPLEMENTS_STAGE$>
|
||||
Supplement_Services('CreateSupplement', LotType, NewLotID, Stage, SupplText, EntryUser)
|
||||
Next I
|
||||
end else
|
||||
Error_Services('Add', 'The lot associatied with this OldLotID does not contain any supplements.')
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// GetSupplementsForLot
|
||||
@ -633,3 +684,5 @@ Service SendNotifications(RDSList, EditEvent, Instructions, EntryUser)
|
||||
end service
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user