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 -