diff --git a/LSL2/STPROC/OBJ_WO_MAT_QA.txt b/LSL2/STPROC/OBJ_WO_MAT_QA.txt
index b4a22c7..097db74 100644
--- a/LSL2/STPROC/OBJ_WO_MAT_QA.txt
+++ b/LSL2/STPROC/OBJ_WO_MAT_QA.txt
@@ -501,7 +501,7 @@ AddQAMet:
//Record is blank, create new from spec.
PSN_Services('UpdateAllQAMetrologyRecord', WOMatKey)
end
- Database_Services('ReleaseKeyIDLock', 'WO_MAT_QA', WOMatKey)
+
end else
LogData = ''
LogData<1> = LoggingDTM;//Defined at entry of subroutine
@@ -756,4 +756,3 @@ RETURN
-
diff --git a/LSL2/STPROC/OBJ_WO_REACT.txt b/LSL2/STPROC/OBJ_WO_REACT.txt
index 49e25c0..b8d3747 100644
--- a/LSL2/STPROC/OBJ_WO_REACT.txt
+++ b/LSL2/STPROC/OBJ_WO_REACT.txt
@@ -18,7 +18,6 @@ COMPILE FUNCTION obj_WO_React(Method,Parms)
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, obj_Prod_Spec, obj_WO_Mat_QA, GetTickCount
Declare function Environment_Services
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, RList, ErrMsg, Btree.Extract, obj_WO_Mat_QA, Mona_Services
-Declare subroutine RDS_Services
$INSERT MSG_EQUATES
$INSERT WO_REACT_EQUATES
@@ -304,8 +303,46 @@ RETURN
AddSchedQA:
* * * * * * *
-//Redirect to this service as a fallback because the below logic doesn't work
-RDS_Services('ProcessMetQA', RDSNo)
+chgCnt = COUNT(ChangePosList,@VM) + (ChangePosList NE '')
+
+FOR I = 1 TO chgCnt
+ AddCassNo = CassNos<1,ChangePoslist<1,I>>
+
+ Log:= 'AddSched on CassNo: ':AddCassNo:@FM
+
+ owmParms = WONo:@RM
+ owmParms := StepNo:@RM
+ owmParms := AddCassNo:@RM
+ owmParms := QAMetData
:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData:@RM
+ owmParms := QAMetData ; // 10/15/18 - djs - Added Phase Min Spec for HgCV
+
+
+ obj_WO_Mat_QA('AddQAMet', owmParms) ;* Schedule test boxes after list change
+
+ IF Get_Status(errCode) THEN
+ ErrMsg(errCode)
+ END
+
+ *obj_WO_Mat('AddQAMet',owmParms) ;* Dead 6/5/2015 JCH - remove after a few days
+
+ *IF Get_Status(errCode) THEN
+ * ErrMsg(errCode)
+ *END
+
+
+
+NEXT I
RETURN
-
diff --git a/LSL2/STPROC/RDS_SERVICES.txt b/LSL2/STPROC/RDS_SERVICES.txt
index 1f2bc9b..54cba81 100644
--- a/LSL2/STPROC/RDS_SERVICES.txt
+++ b/LSL2/STPROC/RDS_SERVICES.txt
@@ -85,7 +85,6 @@ $Insert DICT_EQUATES
$Insert COMPANY_EQUATES
$Insert RETURN_TO_FAB_LOTS_EQUATES
$Insert TEST_RUN_EQUATES
-$Insert QA_MET_EQUATES
EQU COL$LSID TO 1
EQU COL$RECIPE TO 2
@@ -120,7 +119,7 @@ AutoDisplayErrors = FALSE$ ; // Set this to True$ when debugging so all erro
Declare subroutine SRP_Stopwatch, Error_Services, obj_Tables, Metrology_Services, obj_RDS_Test, SRP_JSON, Logging_Services
Declare subroutine RTI_Set_Debugger, Database_Services, Btree.Extract, Extract_SI_Keys, Obj_WO_Mat, Obj_WO_Mat_Log
Declare subroutine Dialog_Box, Obj_Notes, RList, Set_Status, Errmsg, Obj_React_Status , Reactor_Services
-Declare subroutine Rds_Services, Obj_Post_Log, Mona_Services, Transaction_Services, Reduce, obj_wo_mat_qa
+Declare subroutine Rds_Services, Obj_Post_Log, Mona_Services, Transaction_Services, Reduce
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
Declare function Memberof, Obj_WO_Mat, Obj_WO_Mat_Log, SRP_Array, DateTime, Dialog_Box, obj_Prod_Spec
@@ -810,104 +809,6 @@ Service GetRDSRunHistoryByReactorAndWO(ReactorNo, WO)
end service
-Service ProcessMetQA(RDSNo)
-
- RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo)
- WONo = RDSRec
- CassNo = RDSRec
- StepNo = 1
- PSNos = XLATE('WO_LOG',WoNo,'PROD_VER_STEP_PSN','X')
- PSNo = PSNos<1,StepNo>
-
- QAMetData = obj_Prod_Spec('GetQAMet',PSNo:@RM:@RM:1) ;* * * Get Reactor Scheduled QA Metrology * * *
- If QAMetData NE '' then
- for each Stage in QAMetData using @VM setting StagePos
- Start = QAMetData
- Interval = QAMetData
- Stage = QAMetData
- MetPropCd = QAMetData
-
- IsProdTestReqd = RDS_Services('IsProdTestReqd', RDSNo, MetPropCd)
-
- If IsProdTestReqd then
-
- owmParms = WONo:@RM
- owmParms := StepNo:@RM
- owmParms := CassNo:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData:@RM
- owmParms := QAMetData ; // 10/15/18 - djs - Added Phase Min Spec for HgCV
-
-
- obj_WO_Mat_QA('AddQAMet', owmParms) ;* Schedule test boxes after list change
-
- IF Get_Status(errCode) THEN
- ErrMsg(errCode)
- END
- end
- Next Stage
- end
-
-end service
-
-Service IsProdTestReqd(RDSNo, PropCd)
-
- ProdTestReqd = False$
- RDSRec = Database_Services('ReadDataRow', 'RDS', RDSNo)
- WONo = RDSRec
- ReactNo = RDSRec
- ReactorType = Database_Services('ReadDataColumn', 'REACTOR', ReactNo, REACTOR_REACT_TYPE$, True$, 0, False$)
- ThisReactorRunOrder = 0
- ReactRDSNos = RDS_Services('GetRDSRunHistoryByReactorAndWO', ReactNo, WONo)
- LOCATE RDSNo IN ReactRDSNos USING @VM SETTING ThisReactorRunOrder else
- //Add it to the end of the RDS List assuming that it's next to run.
- LastIndex = DCount(ReactRDSNos, @VM)
- ThisReactorRunOrder = LastIndex + 1
- ReactRDSNos<1, ThisReactorRunOrder> = RDSNo
- end
- PSNo = RDSRec
- PSRec = Database_Services('ReadDataRow', 'PROD_SPEC', PSNo)
- PRSLayerKeys = PSRec
- for each PRSLayerKey in PRSLayerKeys using @VM
- PRSPropKeys = Database_Services('ReadDataColumn', 'PRS_LAYER', PRSLayerKey, 5)
- for each PRSPropKey in PRSPropKeys using @VM
- PRSPropRec = Database_Services('ReadDataRow', 'PRS_PROP', PRSPropKey)
- ReqdPropCd = Field(PRSPropKey, '*', 3)
- If PropCd EQ ReqdPropCd then
- WaferType = PRSPropRec<6>
- TestType = Field(PRSPropKey, '*', 3)
- Layer = Field(PRSPropKey, '*', 2)
- MeasureFreq = PRSPropRec
- Start = PRSPropRec
- If WaferType EQ 'Product' OR WaferType EQ 'Prod' then
- BEGIN CASE
- CASE MeasureFreq = 'F' AND ThisReactorRunOrder = 1 ; ProdTestReqd = 1
- CASE ThisReactorRunOrder = Start ; ProdTestReqd = 1
- CASE NUM(MeasureFreq)
- If MOD(ThisReactorRunOrder,MeasureFreq) - Start = 0 then
- ProdTestReqd = 1
- end
- END CASE
- end
- end
- Until ProdTestReqd EQ True$
- Next PRSPropKey
- Until ProdTestReqd EQ True$
- Next PRSLayerKey
- Response = ProdTestReqd
-
-end service
Service IsTWLoggingReqd(RDSNo)
@@ -2397,4 +2298,3 @@ ClearCursors:
return
-