diff --git a/LSL2/STPROC/CLEAN_INSP_SERVICES.txt b/LSL2/STPROC/CLEAN_INSP_SERVICES.txt index 298e8db..673f165 100644 --- a/LSL2/STPROC/CLEAN_INSP_SERVICES.txt +++ b/LSL2/STPROC/CLEAN_INSP_SERVICES.txt @@ -488,9 +488,11 @@ Service PushSigProfileToWoMat(CleanInspKey) If WOMatKey NE '' then WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey) If Error_Services('NoError') then - WOMatSigProf = WOMatRec - WOMatSigs = WOMatRec - WOMatSigDTMs = WOMatRec + WOMatSigProf = WOMatRec + WOMatSigs = WOMatRec + WOMatSigDTMs = WOMatRec + WOMatSigsOrig = WOMatSigs + WOMatSigDTMsOrig = WOMatSigDTMs InspSig = Record InspSigDTM = Record @@ -520,8 +522,12 @@ Service PushSigProfileToWoMat(CleanInspKey) NumSteps = DCount(WOMatSigProf, @VM) WOMatSigs = Field(WOMatSigs, @VM, 1, NumSteps) WOMatSigDTMs = Field(WOMatSigDTMs, @VM, 1, NumSteps) - Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIGNATURE$, WOMatSigs) - Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_DTM$, WOMatSigDTMs) + If WOMatSigs NE WOMatSigsOrig then + Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIGNATURE$, WOMatSigs) + end + If WOMatSigDTMs NE WOMatSigDTMsOrig then + Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_DTM$, WOMatSigDTMs) + end end else ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage') end diff --git a/LSL2/STPROC/QA_SERVICES.txt b/LSL2/STPROC/QA_SERVICES.txt index 2ad08ce..a7e4eb3 100644 --- a/LSL2/STPROC/QA_SERVICES.txt +++ b/LSL2/STPROC/QA_SERVICES.txt @@ -3170,7 +3170,10 @@ Service UpdateFailedWafers(WOMatKey) AllFailedWafers<0, WfrIndex> = (PreFailedWafers<0, WfrIndex> OR FWIFailedWafers<0, WfrIndex> OR LWIFailedWafers<0, WfrIndex> OR PostFailedWafers<0, WfrIndex>) Next WfrIndex end - Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_FAILED_WAFERS$, AllFailedWafers) + AllFailedWafersOrig = WOMatRec + If AllFailedWafers NE AllFailedWafersOrig then + Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_FAILED_WAFERS$, AllFailedWafers) + end end else Error_Services('Add', 'Error in ':Service:' service. RDSNo is null') end diff --git a/LSL2/STPROC/RDS_SERVICES.txt b/LSL2/STPROC/RDS_SERVICES.txt index e925a82..54cba81 100644 --- a/LSL2/STPROC/RDS_SERVICES.txt +++ b/LSL2/STPROC/RDS_SERVICES.txt @@ -1889,9 +1889,12 @@ Service PushSigProfileToWoMat(RDSNo) If WOMatKey NE '' then WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey) If Error_Services('NoError') then - WOMatSigProf = obj_WO_Mat('CassSigProfile', WOMatKey) - WOMatSig = WOMatRec - WOMatSigDTM = WOMatRec + WOMatSigProf = obj_WO_Mat('CassSigProfile', WOMatKey) + WOMatSig = WOMatRec + WOMatSigDTM = WOMatRec + WOMatSigProfOrig = WOMatSigProf + WOMatSigOrig = WOMatSig + WOMatSigDTMOrig = WOMatSigDTM // Update WO_MAT signature profile to match for the "1VER" stage Stage = '1VER' @@ -1963,9 +1966,15 @@ Service PushSigProfileToWoMat(RDSNo) WOMatSigDTM<0, vPos> = FQASigDTM end - Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_PROFILE$, WOMatSigProf) - Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIGNATURE$, WOMatSig) - Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_DTM$, WOMatSigDTM) + If WOMatSigProf NE WOMatSigProfOrig then + Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_PROFILE$, WOMatSigProf) + end + If WOMatSig NE WOMatSigOrig then + Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIGNATURE$, WOMatSig) + end + If WOMatSigDTM NE WOMatSigDTMOrig then + Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_DTM$, WOMatSigDTM) + end end else ErrorMsg = Error_Services('GetMessage')