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 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 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 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 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 MSG_EQUATES
|
||||||
$INSERT WO_VERIFY_EQU
|
$INSERT WO_VERIFY_EQU
|
||||||
@ -464,32 +464,7 @@ Create:
|
|||||||
NEXT I
|
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...')
|
Send_Info('Saving RDS record...')
|
||||||
@ -502,6 +477,29 @@ Create:
|
|||||||
END ELSE
|
END ELSE
|
||||||
Lot_Services('CreateNewLot', 'RDS', '', WaferQty, SubPartNo, LotNo, SubVendCd, @User4, '', RDSNo)
|
Lot_Services('CreateNewLot', 'RDS', '', WaferQty, SubPartNo, LotNo, SubVendCd, @User4, '', RDSNo)
|
||||||
Result = 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
|
END
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
@ -1479,3 +1477,5 @@ CalcThickTarget:
|
|||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2030,7 +2030,8 @@ Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOp
|
|||||||
RunOrderNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
|
RunOrderNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
|
||||||
SchedQty = RDSRec<RDS_CASS_WAFER_QTY$>
|
SchedQty = RDSRec<RDS_CASS_WAFER_QTY$>
|
||||||
ParamOutOfSpec = Xlate('RDS', RDSNo, 'PARAM_OUT_OF_SPEC', 'X')
|
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)
|
ReactorCapacity = Reactor_Services('GetReactorAvailChamberCount', Reactor)
|
||||||
If ReactorCapacity LE 0 then
|
If ReactorCapacity LE 0 then
|
||||||
@ -2092,8 +2093,7 @@ Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOp
|
|||||||
end
|
end
|
||||||
|
|
||||||
Locate True$ in ParamOutOfSpec using @VM setting oPos then
|
Locate True$ in ParamOutOfSpec using @VM setting oPos then
|
||||||
|
IF Supplement EQ False$ then
|
||||||
IF Supplement NE True$ then
|
|
||||||
ErrorMsg = 'Process Error: Recipe parameters are out of spec and no supplement has been set.'
|
ErrorMsg = 'Process Error: Recipe parameters are out of spec and no supplement has been set.'
|
||||||
Error_Services('Set', ErrorMsg)
|
Error_Services('Set', ErrorMsg)
|
||||||
Response = False$
|
Response = False$
|
||||||
@ -2601,9 +2601,9 @@ Service UnloadSignatureReady(RDSNo, Username, Reactor)
|
|||||||
return
|
return
|
||||||
END
|
END
|
||||||
ParamOutOfSpec = Xlate('RDS', RDSNo, 'PARAM_OUT_OF_SPEC', 'X')
|
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
|
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.'
|
ErrorMsg = 'Process Error: Recipe parameters are out of spec and no supplement has been set.'
|
||||||
Error_Services('Set', ErrorMsg)
|
Error_Services('Set', ErrorMsg)
|
||||||
Response = False$
|
Response = False$
|
||||||
@ -3645,3 +3645,5 @@ ClearCursors:
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -80,14 +80,6 @@ READ RDSRec FROM RDSTable,RDSNo THEN
|
|||||||
RunRec<REACT_RUN_SUSCEPTOR_ID$> = RDSRec<RDS_SUSCEPTOR_ID$>
|
RunRec<REACT_RUN_SUSCEPTOR_ID$> = RDSRec<RDS_SUSCEPTOR_ID$>
|
||||||
RunRec<REACT_RUN_REACT_IDLE_TIME$> = RDSRec<RDS_REACT_IDLE_TIME$>
|
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$> = 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_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$> = ''
|
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_NO$> = RunRec<REACT_RUN_OUT_CASS_NO$>
|
||||||
RDSRec<RDS_OUT_CASS_SLOT$> = RunRec<REACT_RUN_OUT_SLOT_NO$>
|
RDSRec<RDS_OUT_CASS_SLOT$> = RunRec<REACT_RUN_OUT_SLOT_NO$>
|
||||||
RDSRec<RDS_WAFER_CHAR$> = RunRec<REACT_RUN_WAFER_CHAR$>
|
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$>
|
RDSRec<RDS_OP_OUT_EX1$> = RunRec<REACT_RUN_EX_UNLOAD$>
|
||||||
|
|
||||||
|
@ -239,6 +239,57 @@ Service GetLotsWithSupplements(LotType)
|
|||||||
|
|
||||||
end service
|
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
|
// GetSupplementsForLot
|
||||||
@ -633,3 +684,5 @@ Service SendNotifications(RDSList, EditEvent, Instructions, EntryUser)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user