Added additional steps if WO_MAT_QA rec is blank.
This commit is contained in:
parent
56d992b961
commit
47a4257d95
@ -15,7 +15,7 @@ COMPILE FUNCTION obj_WO_Mat_QA(Method,Parms)
|
|||||||
#pragma precomp SRP_PreCompiler
|
#pragma precomp SRP_PreCompiler
|
||||||
|
|
||||||
|
|
||||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, ErrMsg, Btree.Extract, Database_Services, Logging_Services
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, ErrMsg, Btree.Extract, Database_Services, Logging_Services, PSN_Services
|
||||||
|
|
||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box, obj_WO_Log, NextKey, obj_WO_Mat_QA, Environment_Services
|
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box, obj_WO_Log, NextKey, obj_WO_Mat_QA, Environment_Services
|
||||||
DECLARE FUNCTION obj_Prod_Spec, obj_RDS_Test, SRP_Math, Database_Services, Error_Services, Logging_Services
|
DECLARE FUNCTION obj_Prod_Spec, obj_RDS_Test, SRP_Math, Database_Services, Error_Services, Logging_Services
|
||||||
@ -83,18 +83,18 @@ RETURN Result
|
|||||||
GetQAMet:
|
GetQAMet:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CassID = Parms[1,@RM]
|
CassID = Parms[1,@RM]
|
||||||
WOMatQARec = Parms[COL2()+1,@RM]
|
WOMatQARec = Parms[COL2()+1,@RM]
|
||||||
WOStep = Parms[COL2()+1,@RM]
|
WOStep = Parms[COL2()+1,@RM]
|
||||||
Stage = Parms[COL2()+1,@RM]
|
Stage = Parms[COL2()+1,@RM]
|
||||||
MetFields = Parms[COL2()+1,@RM]
|
MetFields = Parms[COL2()+1,@RM]
|
||||||
|
|
||||||
IF CassID = '' THEN RETURN
|
IF CassID = '' THEN RETURN
|
||||||
IF WOStep = '' THEN RETURN
|
IF WOStep = '' THEN RETURN
|
||||||
IF Stage = '' THEN RETURN
|
IF Stage = '' THEN RETURN
|
||||||
|
|
||||||
|
|
||||||
IF MetFields = '' THEN
|
IF MetFields = '' THEN
|
||||||
MetFields = WO_MAT_QA_PROFILE$:@VM
|
MetFields = WO_MAT_QA_PROFILE$:@VM
|
||||||
MetFields := WO_MAT_QA_STAGE$:@VM
|
MetFields := WO_MAT_QA_STAGE$:@VM
|
||||||
MetFields := WO_MAT_QA_MIN$:@VM
|
MetFields := WO_MAT_QA_MIN$:@VM
|
||||||
@ -113,22 +113,22 @@ IF MetFields = '' THEN
|
|||||||
MetFields := WO_MAT_QA_WFR_QTY$:@VM
|
MetFields := WO_MAT_QA_WFR_QTY$:@VM
|
||||||
MetFields := WO_MAT_QA_WFR_TYPE$:@VM
|
MetFields := WO_MAT_QA_WFR_TYPE$:@VM
|
||||||
MetFields := WO_MAT_QA_SHIP_DOC$
|
MetFields := WO_MAT_QA_SHIP_DOC$
|
||||||
END
|
END
|
||||||
|
|
||||||
IF WOMatQARec = '' THEN
|
IF WOMatQARec = '' THEN
|
||||||
WOMatQARec = XLATE('WO_MAT_QA',CassID,'','X')
|
WOMatQARec = XLATE('WO_MAT_QA',CassID,'','X')
|
||||||
IF WOMatQARec = '' THEN RETURN
|
IF WOMatQARec = '' THEN RETURN
|
||||||
END
|
END
|
||||||
|
|
||||||
MetTests = WOMatQARec<WO_MAT_QA_PROFILE$>
|
MetTests = WOMatQARec<WO_MAT_QA_PROFILE$>
|
||||||
MetStages = WOMatQARec<WO_MAT_QA_STAGE$>
|
MetStages = WOMatQARec<WO_MAT_QA_STAGE$>
|
||||||
|
|
||||||
FieldCnt = COUNT(MetFields,@VM) + (MetFields NE '')
|
FieldCnt = COUNT(MetFields,@VM) + (MetFields NE '')
|
||||||
MetCnt = COUNT(MetTests,@VM) + (MetTests NE '')
|
MetCnt = COUNT(MetTests,@VM) + (MetTests NE '')
|
||||||
|
|
||||||
LineCnt = 1
|
LineCnt = 1
|
||||||
Ans = ''
|
Ans = ''
|
||||||
FOR I = 1 TO MetCnt
|
FOR I = 1 TO MetCnt
|
||||||
MetWOStep = MetTests<1,I>[1,1]
|
MetWOStep = MetTests<1,I>[1,1]
|
||||||
|
|
||||||
IF MetWOStep = WOStep AND WOMatQARec<WO_MAT_QA_STAGE$,I> = Stage THEN
|
IF MetWOStep = WOStep AND WOMatQARec<WO_MAT_QA_STAGE$,I> = Stage THEN
|
||||||
@ -146,17 +146,17 @@ FOR I = 1 TO MetCnt
|
|||||||
Case Otherwise$
|
Case Otherwise$
|
||||||
Ans<N,LineCnt> = WOMatQARec<MetField,I>
|
Ans<N,LineCnt> = WOMatQARec<MetField,I>
|
||||||
End Case
|
End Case
|
||||||
* IF MetField = WO_MAT_QA_PROFILE$ THEN
|
* IF MetField = WO_MAT_QA_PROFILE$ THEN
|
||||||
* Ans<N,LineCnt> = WOMatQARec<MetField,I>[2,99] ;* Profile (test) field has stage embedded in the 1st character
|
* Ans<N,LineCnt> = WOMatQARec<MetField,I>[2,99] ;* Profile (test) field has stage embedded in the 1st character
|
||||||
* END ELSE
|
* END ELSE
|
||||||
* Ans<N,LineCnt> = WOMatQARec<MetField,I>
|
* Ans<N,LineCnt> = WOMatQARec<MetField,I>
|
||||||
* END
|
* END
|
||||||
NEXT N
|
NEXT N
|
||||||
LineCnt += 1
|
LineCnt += 1
|
||||||
END
|
END
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
Result = Ans
|
Result = Ans
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -165,22 +165,22 @@ RETURN
|
|||||||
GetShipDoc:
|
GetShipDoc:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
* Returns data for inclusion in documents sent to the customer
|
* Returns data for inclusion in documents sent to the customer
|
||||||
|
|
||||||
WONo = Parms[1,@RM]
|
WONo = Parms[1,@RM]
|
||||||
CassNo = Parms[COL2()+1,@RM]
|
CassNo = Parms[COL2()+1,@RM]
|
||||||
|
|
||||||
IF WONo = '' THEN ErrorMsg = 'Null parameter "WONo" passed to routine. (':Method:')'
|
IF WONo = '' THEN ErrorMsg = 'Null parameter "WONo" passed to routine. (':Method:')'
|
||||||
IF CassNo = '' THEN ErrorMsg = 'Null parameter "CassNo" passed to routine. (':Method:')'
|
IF CassNo = '' THEN ErrorMsg = 'Null parameter "CassNo" passed to routine. (':Method:')'
|
||||||
|
|
||||||
IF ErrorMsg NE '' THEN RETURN
|
IF ErrorMsg NE '' THEN RETURN
|
||||||
|
|
||||||
QAMetRec = XLATE('WO_MAT_QA',WONo:'*':CassNo,'','X')
|
QAMetRec = XLATE('WO_MAT_QA',WONo:'*':CassNo,'','X')
|
||||||
|
|
||||||
IF QAMetRec = '' THEN RETURN
|
IF QAMetRec = '' THEN RETURN
|
||||||
|
|
||||||
LineCnt = 0
|
LineCnt = 0
|
||||||
IF INDEX(QAMetRec<WO_MAT_QA_SHIP_DOC$>,'1',1) THEN
|
IF INDEX(QAMetRec<WO_MAT_QA_SHIP_DOC$>,'1',1) THEN
|
||||||
TestCnt = COUNT(QAMetRec<WO_MAT_QA_STAGE$>,@VM) + (QAMetRec<WO_MAT_QA_STAGE$> NE '')
|
TestCnt = COUNT(QAMetRec<WO_MAT_QA_STAGE$>,@VM) + (QAMetRec<WO_MAT_QA_STAGE$> NE '')
|
||||||
|
|
||||||
FOR I = 1 TO TestCnt
|
FOR I = 1 TO TestCnt
|
||||||
@ -193,7 +193,7 @@ IF INDEX(QAMetRec<WO_MAT_QA_SHIP_DOC$>,'1',1) THEN
|
|||||||
END
|
END
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@ -219,32 +219,32 @@ RETURN
|
|||||||
Create:
|
Create:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
WONo = Parms[1,@RM]
|
WONo = Parms[1,@RM]
|
||||||
CassNo = Parms[COL2()+1,@RM]
|
CassNo = Parms[COL2()+1,@RM]
|
||||||
|
|
||||||
|
|
||||||
IF WONo = '' THEN ErrorMsg = 'Null parameter "WONo" passed to routine. (':Method:')'
|
IF WONo = '' THEN ErrorMsg = 'Null parameter "WONo" passed to routine. (':Method:')'
|
||||||
IF CassNo = '' THEN ErrorMsg = 'Null parameter "CassNo" passed to routine. (':Method:')'
|
IF CassNo = '' THEN ErrorMsg = 'Null parameter "CassNo" passed to routine. (':Method:')'
|
||||||
|
|
||||||
IF ErrorMsg NE '' THEN RETURN
|
IF ErrorMsg NE '' THEN RETURN
|
||||||
|
|
||||||
* * * * * * * * Build QA_MET profile - Work Order scheduled only * * * * * * * *
|
* * * * * * * * Build QA_MET profile - Work Order scheduled only * * * * * * * *
|
||||||
|
|
||||||
WOStepKeys = XLATE('WO_LOG',WONo,WO_LOG_WO_STEP_KEY$,'X')
|
WOStepKeys = XLATE('WO_LOG',WONo,WO_LOG_WO_STEP_KEY$,'X')
|
||||||
|
|
||||||
StepCnt = COUNT(WOStepKeys,@VM) + (WOStepKeys NE '')
|
StepCnt = COUNT(WOStepKeys,@VM) + (WOStepKeys NE '')
|
||||||
|
|
||||||
EpiProPSNo = ''
|
EpiProPSNo = ''
|
||||||
EpiProPSRec = ''
|
EpiProPSRec = ''
|
||||||
|
|
||||||
MetLine = 1
|
MetLine = 1
|
||||||
|
|
||||||
WOMatKey = WONo:'*':CassNo
|
WOMatKey = WONo:'*':CassNo
|
||||||
WOMatQARec = ''
|
WOMatQARec = ''
|
||||||
WOMatRec = XLATE('WO_MAT',WOMatKey,'','X') ;* WOMat record used to check for pre-existing signatures jch 6/7/2015
|
WOMatRec = XLATE('WO_MAT',WOMatKey,'','X') ;* WOMat record used to check for pre-existing signatures jch 6/7/2015
|
||||||
|
|
||||||
|
|
||||||
FOR WOStepNo = 1 TO StepCnt
|
FOR WOStepNo = 1 TO StepCnt
|
||||||
PSNo = XLATE('WO_STEP',WOStepKeys<1,WOStepNo>,WO_STEP_PROD_SPEC_ID$,'X')
|
PSNo = XLATE('WO_STEP',WOStepKeys<1,WOStepNo>,WO_STEP_PROD_SPEC_ID$,'X')
|
||||||
PSRec = XLATE('PROD_SPEC',PSNo,'','X')
|
PSRec = XLATE('PROD_SPEC',PSNo,'','X')
|
||||||
|
|
||||||
@ -328,18 +328,18 @@ FOR WOStepNo = 1 TO StepCnt
|
|||||||
|
|
||||||
NEXT StageNo
|
NEXT StageNo
|
||||||
|
|
||||||
NEXT WOStepNo
|
NEXT WOStepNo
|
||||||
Database_Services('WriteDataRow', 'WO_MAT_QA', WOMatKey, WOMatQARec, True$, False$, False$)
|
Database_Services('WriteDataRow', 'WO_MAT_QA', WOMatKey, WOMatQARec, True$, False$, False$)
|
||||||
If Error_Services('HasError') then
|
If Error_Services('HasError') then
|
||||||
ErrorMessage = Error_Services('GetMessage')
|
ErrorMessage = Error_Services('GetMessage')
|
||||||
LogData = ''
|
LogData = ''
|
||||||
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
||||||
LogData<2> = WOMatKey
|
LogData<2> = WOMatKey
|
||||||
LogData<3> = ErrorMessage
|
LogData<3> = ErrorMessage
|
||||||
Logging_Services('AppendLog', objLogWOMatQAWrite, LogData, @RM, @FM, False$)
|
Logging_Services('AppendLog', objLogWOMatQAWrite, LogData, @RM, @FM, False$)
|
||||||
end
|
end
|
||||||
|
|
||||||
* * * * * * * * * * * *
|
* * * * * * * * * * * *
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -352,24 +352,24 @@ RETURN
|
|||||||
GetQAMetKeys:
|
GetQAMetKeys:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
WOMatKey = Parms[1,@RM]
|
WOMatKey = Parms[1,@RM]
|
||||||
WOMatQARec = Parms[COL2()+1,@RM]
|
WOMatQARec = Parms[COL2()+1,@RM]
|
||||||
|
|
||||||
IF WOMatKey = '' THEN RETURN
|
IF WOMatKey = '' THEN RETURN
|
||||||
IF WOMatQARec = '' THEN
|
IF WOMatQARec = '' THEN
|
||||||
WOMatQARec = XLATE('WO_MAT_QA',WOMatKey,'','X')
|
WOMatQARec = XLATE('WO_MAT_QA',WOMatKey,'','X')
|
||||||
IF WOMatQARec = '' THEN RETURN
|
IF WOMatQARec = '' THEN RETURN
|
||||||
END
|
END
|
||||||
|
|
||||||
ProdVerNo = XLATE('WO_MAT',WOMatKey,WO_MAT_PROD_VER_NO$,'X')
|
ProdVerNo = XLATE('WO_MAT',WOMatKey,WO_MAT_PROD_VER_NO$,'X')
|
||||||
|
|
||||||
StepPSNos = XLATE('PROD_VER',ProdVerNo,PROD_VER_PROC_STEP_PSN$,'X')
|
StepPSNos = XLATE('PROD_VER',ProdVerNo,PROD_VER_PROC_STEP_PSN$,'X')
|
||||||
|
|
||||||
psCnt = COUNT(StepPSNos,@VM) + (StepPSNos NE '')
|
psCnt = COUNT(StepPSNos,@VM) + (StepPSNos NE '')
|
||||||
|
|
||||||
LineCnt = 1
|
LineCnt = 1
|
||||||
|
|
||||||
FOR I = 1 TO psCNT
|
FOR I = 1 TO psCNT
|
||||||
StepPSNo = StepPSNos<1,I>
|
StepPSNo = StepPSNos<1,I>
|
||||||
|
|
||||||
QAMetStruct = obj_Prod_Spec('GetQAMet',StepPSNo:@RM:'')
|
QAMetStruct = obj_Prod_Spec('GetQAMet',StepPSNo:@RM:'')
|
||||||
@ -382,7 +382,7 @@ FOR I = 1 TO psCNT
|
|||||||
LineCnt += 1
|
LineCnt += 1
|
||||||
NEXT N
|
NEXT N
|
||||||
|
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -392,38 +392,39 @@ RETURN
|
|||||||
AddQAMet:
|
AddQAMet:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
WONo = Parms[1,@RM]
|
WONo = Parms[1,@RM]
|
||||||
WOStep = Parms[COL2()+1,@RM]
|
WOStep = Parms[COL2()+1,@RM]
|
||||||
CassNo = Parms[COL2()+1,@RM]
|
CassNo = Parms[COL2()+1,@RM]
|
||||||
Stage = Parms[COL2()+1,@RM]
|
Stage = Parms[COL2()+1,@RM]
|
||||||
MetTest = Parms[COL2()+1,@RM]
|
MetTest = Parms[COL2()+1,@RM]
|
||||||
MetProp = Parms[COL2()+1,@RM]
|
MetProp = Parms[COL2()+1,@RM]
|
||||||
MetToolClass = Parms[COL2()+1,@RM]
|
MetToolClass = Parms[COL2()+1,@RM]
|
||||||
MetMin = Parms[COL2()+1,@RM]
|
MetMin = Parms[COL2()+1,@RM]
|
||||||
MetMax = Parms[COL2()+1,@RM]
|
MetMax = Parms[COL2()+1,@RM]
|
||||||
MetSlot = Parms[COL2()+1,@RM]
|
MetSlot = Parms[COL2()+1,@RM]
|
||||||
MetRecipe = Parms[COL2()+1,@RM]
|
MetRecipe = Parms[COL2()+1,@RM]
|
||||||
MetRecipePattern = Parms[COL2()+1,@RM]
|
MetRecipePattern = Parms[COL2()+1,@RM]
|
||||||
MetWfrQty = Parms[COL2()+1,@RM]
|
MetWfrQty = Parms[COL2()+1,@RM]
|
||||||
MetWfrType = Parms[COL2()+1,@RM]
|
MetWfrType = Parms[COL2()+1,@RM]
|
||||||
MetReactSched = Parms[COL2()+1,@RM]
|
MetReactSched = Parms[COL2()+1,@RM]
|
||||||
MetShipDoc = Parms[COL2()+1,@RM]
|
MetShipDoc = Parms[COL2()+1,@RM]
|
||||||
MetPhaseMin = Parms[COL2()+1,@RM] ; // 10/15/18 - djs - Added Phase Min Spec for HgCV
|
MetPhaseMin = Parms[COL2()+1,@RM] ; // 10/15/18 - djs - Added Phase Min Spec for HgCV
|
||||||
|
|
||||||
IF WONo = '' THEN ErrorMsg = 'Null Parm "WONo" passed to routine. (':Method:')'
|
IF WONo = '' THEN ErrorMsg = 'Null Parm "WONo" passed to routine. (':Method:')'
|
||||||
IF WOStep = '' THEN ErrorMsg = 'Null Parm "WOStep" passed to routine. (':Method:')'
|
IF WOStep = '' THEN ErrorMsg = 'Null Parm "WOStep" passed to routine. (':Method:')'
|
||||||
IF CassNo = '' THEN ErrorMsg = 'Null Parm "CassNo" passed to routine. (':Method:')'
|
IF CassNo = '' THEN ErrorMsg = 'Null Parm "CassNo" passed to routine. (':Method:')'
|
||||||
IF Stage = '' THEN ErrorMsg = 'Null Parm "Stage" passed to routine. (':Method:')'
|
IF Stage = '' THEN ErrorMsg = 'Null Parm "Stage" passed to routine. (':Method:')'
|
||||||
IF MetProp = '' THEN ErrorMsg = 'Null Parm "MetProp" passed to routine. (':Method:')'
|
IF MetProp = '' THEN ErrorMsg = 'Null Parm "MetProp" passed to routine. (':Method:')'
|
||||||
|
|
||||||
IF ErrorMsg NE '' THEN RETURN
|
IF ErrorMsg NE '' THEN RETURN
|
||||||
|
|
||||||
NewMetKey = WOStep:'*':Stage:'*':MetProp
|
NewMetKey = WOStep:'*':Stage:'*':MetProp
|
||||||
|
|
||||||
WOMatKey = WONo:'*':CassNo
|
WOMatKey = WONo:'*':CassNo
|
||||||
HaveLock = Database_Services('GetKeyIDLock', 'WO_MAT_QA', WOMatKey, True$)
|
HaveLock = Database_Services('GetKeyIDLock', 'WO_MAT_QA', WOMatKey, True$)
|
||||||
If HaveLock then
|
If HaveLock then
|
||||||
WOMatQARec = Database_Services('ReadDataRow', 'WO_MAT_QA', WOMatKey, True$, 0, False$)
|
WOMatQARec = Database_Services('ReadDataRow', 'WO_MAT_QA', WOMatKey, True$, 0, False$)
|
||||||
|
if WOMatQARec NE '' then
|
||||||
WOMatRec = XLATE('WO_MAT',WOMatKey,'','X')
|
WOMatRec = XLATE('WO_MAT',WOMatKey,'','X')
|
||||||
|
|
||||||
AllQAMetKeysStruct = obj_WO_Mat_QA('GetQAMetKeys',WOMatKey:@RM:WOMatQARec) ;* All QAMetSort Keys Specified for this Work Order Returns Keys in <1> and Sequence numbers = <2>
|
AllQAMetKeysStruct = obj_WO_Mat_QA('GetQAMetKeys',WOMatKey:@RM:WOMatQARec) ;* All QAMetSort Keys Specified for this Work Order Returns Keys in <1> and Sequence numbers = <2>
|
||||||
@ -496,13 +497,18 @@ If HaveLock then
|
|||||||
END ;* End of SpecLine LOCATE
|
END ;* End of SpecLine LOCATE
|
||||||
|
|
||||||
END
|
END
|
||||||
end else
|
end else
|
||||||
|
//Record is blank, create new from spec.
|
||||||
|
PSN_Services('UpdateAllQAMetrologyRecord', WOMatKey)
|
||||||
|
end
|
||||||
|
|
||||||
|
end else
|
||||||
LogData = ''
|
LogData = ''
|
||||||
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
||||||
LogData<2> = WOMatKey
|
LogData<2> = WOMatKey
|
||||||
LogData<3> = 'Error getting lock on WO_MAT_QA record.'
|
LogData<3> = 'Error getting lock on WO_MAT_QA record.'
|
||||||
Logging_Services('AppendLog', objLogWOMatQAWrite, LogData, @RM, @FM, False$)
|
Logging_Services('AppendLog', objLogWOMatQAWrite, LogData, @RM, @FM, False$)
|
||||||
end
|
end
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -512,36 +518,36 @@ RETURN
|
|||||||
RemQAMet:
|
RemQAMet:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
WONo = Parms[1,@RM]
|
WONo = Parms[1,@RM]
|
||||||
WOStep = Parms[COL2()+1,@RM]
|
WOStep = Parms[COL2()+1,@RM]
|
||||||
CassNo = Parms[COL2()+1,@RM]
|
CassNo = Parms[COL2()+1,@RM]
|
||||||
Stage = Parms[COL2()+1,@RM]
|
Stage = Parms[COL2()+1,@RM]
|
||||||
PropCd = Parms[COL2()+1,@RM]
|
PropCd = Parms[COL2()+1,@RM]
|
||||||
|
|
||||||
IF WONo = '' THEN ErrorMsg = 'Null Parm "WONo" passed to routine. (':Method:')'
|
IF WONo = '' THEN ErrorMsg = 'Null Parm "WONo" passed to routine. (':Method:')'
|
||||||
IF WOStep = '' THEN ErrorMsg = 'Null Parm "WOStep" passed to routine. (':Method:')'
|
IF WOStep = '' THEN ErrorMsg = 'Null Parm "WOStep" passed to routine. (':Method:')'
|
||||||
IF CassNo = '' THEN ErrorMsg = 'Null Parm "CassNo" passed to routine. (':Method:')'
|
IF CassNo = '' THEN ErrorMsg = 'Null Parm "CassNo" passed to routine. (':Method:')'
|
||||||
IF Stage = '' THEN ErrorMsg = 'Null Parm "Stage" passed to routine. (':Method:')'
|
IF Stage = '' THEN ErrorMsg = 'Null Parm "Stage" passed to routine. (':Method:')'
|
||||||
IF PropCd = '' THEN ErrorMsg = 'Null Parm "PropCd" passed to routine. (':Method:')'
|
IF PropCd = '' THEN ErrorMsg = 'Null Parm "PropCd" passed to routine. (':Method:')'
|
||||||
|
|
||||||
IF ErrorMsg NE '' THEN RETURN
|
IF ErrorMsg NE '' THEN RETURN
|
||||||
|
|
||||||
WOMatKey = WONo:'*':CassNo
|
WOMatKey = WONo:'*':CassNo
|
||||||
otParms = 'WO_MAT_QA':@RM:WOMatKey
|
otParms = 'WO_MAT_QA':@RM:WOMatKey
|
||||||
WOMatQARec = obj_Tables('ReadRec',otParms)
|
WOMatQARec = obj_Tables('ReadRec',otParms)
|
||||||
|
|
||||||
CurrMetKeys = ''
|
CurrMetKeys = ''
|
||||||
|
|
||||||
cmqCnt = COUNT(WOMatQARec<WO_MAT_QA_PROFILE$>,@VM) + (WOMatQARec<WO_MAT_QA_PROFILE$> NE '')
|
cmqCnt = COUNT(WOMatQARec<WO_MAT_QA_PROFILE$>,@VM) + (WOMatQARec<WO_MAT_QA_PROFILE$> NE '')
|
||||||
|
|
||||||
FOR M = 1 to cmqCnt
|
FOR M = 1 to cmqCnt
|
||||||
CurrMetKey = WOMatQARec<WO_MAT_QA_PROFILE$,M>[1,1]:'*':WOMatQARec<WO_MAT_QA_STAGE$,M>:'*':WOMatQARec<WO_MAT_QA_PROP$,M>
|
CurrMetKey = WOMatQARec<WO_MAT_QA_PROFILE$,M>[1,1]:'*':WOMatQARec<WO_MAT_QA_STAGE$,M>:'*':WOMatQARec<WO_MAT_QA_PROP$,M>
|
||||||
CurrMetKeys<1,M> = CurrMetKey
|
CurrMetKeys<1,M> = CurrMetKey
|
||||||
NEXT M
|
NEXT M
|
||||||
|
|
||||||
DelMetKey = WOStep:'*':Stage:'*':PropCd
|
DelMetKey = WOStep:'*':Stage:'*':PropCd
|
||||||
|
|
||||||
LOCATE DelMetKey IN CurrMetKeys USING @VM SETTING DelPos THEN
|
LOCATE DelMetKey IN CurrMetKeys USING @VM SETTING DelPos THEN
|
||||||
|
|
||||||
IF WOMatQARec<WO_MAT_QA_SIG$,DelPos> = '' THEN
|
IF WOMatQARec<WO_MAT_QA_SIG$,DelPos> = '' THEN
|
||||||
|
|
||||||
@ -570,9 +576,9 @@ LOCATE DelMetKey IN CurrMetKeys USING @VM SETTING DelPos THEN
|
|||||||
obj_Tables('UnlockRec',otParms)
|
obj_Tables('UnlockRec',otParms)
|
||||||
END
|
END
|
||||||
|
|
||||||
END ELSE
|
END ELSE
|
||||||
obj_Tables('UnlockRec',otParms)
|
obj_Tables('UnlockRec',otParms)
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
@ -582,30 +588,30 @@ RETURN
|
|||||||
SetSignature:
|
SetSignature:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
WONo = Parms[1,@RM]
|
WONo = Parms[1,@RM]
|
||||||
CassNo = Parms[COL2()+1,@RM]
|
CassNo = Parms[COL2()+1,@RM]
|
||||||
WOStepNo = Parms[COL2()+1,@RM]
|
WOStepNo = Parms[COL2()+1,@RM]
|
||||||
SigProfKeys = Parms[COL2()+1,@RM]
|
SigProfKeys = Parms[COL2()+1,@RM]
|
||||||
Signatures = Parms[COL2()+1,@RM]
|
Signatures = Parms[COL2()+1,@RM]
|
||||||
SigDTMs = Parms[COL2()+1,@RM]
|
SigDTMs = Parms[COL2()+1,@RM]
|
||||||
MetResults = Parms[COL2()+1,@RM]
|
MetResults = Parms[COL2()+1,@RM]
|
||||||
Stages = Parms[COL2()+1,@RM]
|
Stages = Parms[COL2()+1,@RM]
|
||||||
StdMaxs = Parms[COL2()+1,@RM]
|
StdMaxs = Parms[COL2()+1,@RM]
|
||||||
StdResults = Parms[COL2()+1,@RM] ;* Added 08/05/2013 JCH
|
StdResults = Parms[COL2()+1,@RM] ;* Added 08/05/2013 JCH
|
||||||
Slot = Parms[COL2()+1,@RM] ;* Added 07/23/2019 DJS
|
Slot = Parms[COL2()+1,@RM] ;* Added 07/23/2019 DJS
|
||||||
|
|
||||||
IF WONo = '' THEN ErrorMsg = 'Null parameter "WONo" passed to routine. (':Method:')'
|
IF WONo = '' THEN ErrorMsg = 'Null parameter "WONo" passed to routine. (':Method:')'
|
||||||
IF CassNo = '' THEN ErrorMsg = 'Null parameter "CassNo" passed to routine. (':Method:')'
|
IF CassNo = '' THEN ErrorMsg = 'Null parameter "CassNo" passed to routine. (':Method:')'
|
||||||
IF WOStepNo = '' THEN Errormsg = 'Null parameter "WOStepNo" passed to routine. (':Method:')'
|
IF WOStepNo = '' THEN Errormsg = 'Null parameter "WOStepNo" passed to routine. (':Method:')'
|
||||||
IF SigProfKeys = '' THEN ErrorMsg = 'Null parameter "SigProfKeys" passed to routine. (':Method:')'
|
IF SigProfKeys = '' THEN ErrorMsg = 'Null parameter "SigProfKeys" passed to routine. (':Method:')'
|
||||||
IF Signatures = '' THEN ErrorMsg = 'Null parameter "Signatures" passed to routine. (':Method:')'
|
IF Signatures = '' THEN ErrorMsg = 'Null parameter "Signatures" passed to routine. (':Method:')'
|
||||||
IF SigDTMs = '' THEN ErrorMsg = 'Null parameter "SigDTMs" passed to routine. (':Method:')'
|
IF SigDTMs = '' THEN ErrorMsg = 'Null parameter "SigDTMs" passed to routine. (':Method:')'
|
||||||
|
|
||||||
IF ErrorMsg NE '' THEN RETURN
|
IF ErrorMsg NE '' THEN RETURN
|
||||||
|
|
||||||
SigCnt = COUNT(SigProfKeys,@VM) + (SigProfKeys NE '')
|
SigCnt = COUNT(SigProfKeys,@VM) + (SigProfKeys NE '')
|
||||||
|
|
||||||
FOR I = 1 TO SigCnt
|
FOR I = 1 TO SigCnt
|
||||||
|
|
||||||
IF SigProfKeys<1,I> = '' THEN ErrorMsg = 'Null parameter "SigProfKey" passed to routine. (':Method:')'
|
IF SigProfKeys<1,I> = '' THEN ErrorMsg = 'Null parameter "SigProfKey" passed to routine. (':Method:')'
|
||||||
|
|
||||||
@ -616,31 +622,31 @@ FOR I = 1 TO SigCnt
|
|||||||
|
|
||||||
IF ErrorMsg NE '' THEN RETURN
|
IF ErrorMsg NE '' THEN RETURN
|
||||||
|
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
|
|
||||||
otParms = 'WO_MAT_QA':@RM:WONo:'*':CassNo
|
otParms = 'WO_MAT_QA':@RM:WONo:'*':CassNo
|
||||||
WOMatQARec = obj_Tables('ReadRec',otParms)
|
WOMatQARec = obj_Tables('ReadRec',otParms)
|
||||||
|
|
||||||
errCode = ''
|
errCode = ''
|
||||||
IF Get_Status(errCode) THEN
|
IF Get_Status(errCode) THEN
|
||||||
RETURN
|
RETURN
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
ProfSteps = ''
|
ProfSteps = ''
|
||||||
ProfileCnt = COUNT(WOMatQARec<WO_MAT_QA_PROFILE$>,@VM) + (WOMatQARec<WO_MAT_QA_PROFILE$> NE '')
|
ProfileCnt = COUNT(WOMatQARec<WO_MAT_QA_PROFILE$>,@VM) + (WOMatQARec<WO_MAT_QA_PROFILE$> NE '')
|
||||||
|
|
||||||
FOR N = 1 TO ProfileCnt
|
FOR N = 1 TO ProfileCnt
|
||||||
ProfSteps<1,N> = WOMatQARec<WO_MAT_QA_PROFILE$,N>:'*':WOMatQARec<WO_MAT_QA_STAGE$,N>
|
ProfSteps<1,N> = WOMatQARec<WO_MAT_QA_PROFILE$,N>:'*':WOMatQARec<WO_MAT_QA_STAGE$,N>
|
||||||
NEXT N
|
NEXT N
|
||||||
|
|
||||||
LastProfSig = WOMatQARec<WO_MAT_QA_PROFILE$,ProfileCnt>
|
LastProfSig = WOMatQARec<WO_MAT_QA_PROFILE$,ProfileCnt>
|
||||||
|
|
||||||
LastBoxSigned = 0
|
LastBoxSigned = 0
|
||||||
WriteFlag = 0
|
WriteFlag = 0
|
||||||
|
|
||||||
FOR I = 1 TO SigCnt
|
FOR I = 1 TO SigCnt
|
||||||
SigProfKey = SigProfKeys<1,I>
|
SigProfKey = SigProfKeys<1,I>
|
||||||
Stage = Stages<1,I>
|
Stage = Stages<1,I>
|
||||||
|
|
||||||
@ -667,32 +673,32 @@ FOR I = 1 TO SigCnt
|
|||||||
WriteFlag = 1
|
WriteFlag = 1
|
||||||
end
|
end
|
||||||
|
|
||||||
* Sig = WOMatQARec<WO_MAT_QA_SIG$,vPos>
|
* Sig = WOMatQARec<WO_MAT_QA_SIG$,vPos>
|
||||||
* SigDTM = WOMatQARec<WO_MAT_QA_SIG_DTM$,vPos>
|
* SigDTM = WOMatQARec<WO_MAT_QA_SIG_DTM$,vPos>
|
||||||
* If Sig EQ '' and SigDTM EQ '' then
|
* If Sig EQ '' and SigDTM EQ '' then
|
||||||
* Found = True$
|
* Found = True$
|
||||||
* WOMatQARec<WO_MAT_QA_RESULT$,vPos> = MetResults<1,I>
|
* WOMatQARec<WO_MAT_QA_RESULT$,vPos> = MetResults<1,I>
|
||||||
* WOMatQARec<WO_MAT_QA_STD_MAX$,vPos> = ICONV(StdMaxs<1,I>,'MD3')
|
* WOMatQARec<WO_MAT_QA_STD_MAX$,vPos> = ICONV(StdMaxs<1,I>,'MD3')
|
||||||
* WOMatQARec<WO_MAT_QA_STD_RESULT$,vPos> = StdResults<1,I> ;* Added 8/5/2013 JCH
|
* WOMatQARec<WO_MAT_QA_STD_RESULT$,vPos> = StdResults<1,I> ;* Added 8/5/2013 JCH
|
||||||
* WOMatQARec<WO_MAT_QA_SIG$,vPos> = Signatures<1,I>
|
* WOMatQARec<WO_MAT_QA_SIG$,vPos> = Signatures<1,I>
|
||||||
* WOMatQARec<WO_MAT_QA_SIG_DTM$,vPos> = ICONV(SigDTMs<1,I>,'DT')
|
* WOMatQARec<WO_MAT_QA_SIG_DTM$,vPos> = ICONV(SigDTMs<1,I>,'DT')
|
||||||
*
|
*
|
||||||
* WriteFlag = 1
|
* WriteFlag = 1
|
||||||
* end
|
* end
|
||||||
|
|
||||||
Until Found EQ True$
|
Until Found EQ True$
|
||||||
Next ProfStep
|
Next ProfStep
|
||||||
|
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
IF WriteFlag = 1 THEN
|
IF WriteFlag = 1 THEN
|
||||||
|
|
||||||
otParms = FieldStore(OtParms,@RM,4,0,WOMatQARec) ;* Put record in 4th field of OtParms
|
otParms = FieldStore(OtParms,@RM,4,0,WOMatQARec) ;* Put record in 4th field of OtParms
|
||||||
obj_Tables('WriteRec',otParms)
|
obj_Tables('WriteRec',otParms)
|
||||||
|
|
||||||
END ELSE
|
END ELSE
|
||||||
obj_Tables('UnlockRec',otParms)
|
obj_Tables('UnlockRec',otParms)
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -701,26 +707,26 @@ RETURN
|
|||||||
QAResults:
|
QAResults:
|
||||||
* * * * * * * *
|
* * * * * * * *
|
||||||
|
|
||||||
* Returns Stage/test/missing or not signed * for incomplete tests
|
* Returns Stage/test/missing or not signed * for incomplete tests
|
||||||
|
|
||||||
WONo = Parms[1,@RM]
|
WONo = Parms[1,@RM]
|
||||||
WOStep = Parms[COL2()+1,@RM]
|
WOStep = Parms[COL2()+1,@RM]
|
||||||
CassNo = Parms[COL2()+1,@RM]
|
CassNo = Parms[COL2()+1,@RM]
|
||||||
|
|
||||||
IF WONo = '' THEN ErrorMsg = 'Null parameter "WONo" passed to routine. (':Method:')'
|
IF WONo = '' THEN ErrorMsg = 'Null parameter "WONo" passed to routine. (':Method:')'
|
||||||
If WOStep = '' Then ErrorMsg = 'Null Parameter "WOStep" passed to routine. (':Method:')'
|
If WOStep = '' Then ErrorMsg = 'Null Parameter "WOStep" passed to routine. (':Method:')'
|
||||||
IF CassNo = '' THEN ErrorMsg = 'Null parameter "CassNo" passed to routine. (':Method:')'
|
IF CassNo = '' THEN ErrorMsg = 'Null parameter "CassNo" passed to routine. (':Method:')'
|
||||||
|
|
||||||
IF ErrorMsg NE '' THEN RETURN
|
IF ErrorMsg NE '' THEN RETURN
|
||||||
|
|
||||||
WOMatQARec = Xlate('WO_MAT_QA',WONo:'*':CassNo,'','X')
|
WOMatQARec = Xlate('WO_MAT_QA',WONo:'*':CassNo,'','X')
|
||||||
|
|
||||||
If WOMatQARec = '' Then RETURN
|
If WOMatQARec = '' Then RETURN
|
||||||
|
|
||||||
QAProfile = WOMatQARec<WO_MAT_QA_PROFILE$>
|
QAProfile = WOMatQARec<WO_MAT_QA_PROFILE$>
|
||||||
pCnt = Count(QAProfile,@VM) + (QAProfile NE '')
|
pCnt = Count(QAProfile,@VM) + (QAProfile NE '')
|
||||||
|
|
||||||
For I = 1 To pCnt
|
For I = 1 To pCnt
|
||||||
|
|
||||||
PStep = QAProfile<1,I>[1,1]
|
PStep = QAProfile<1,I>[1,1]
|
||||||
PTest = QAProfile<1,I>[2,99]
|
PTest = QAProfile<1,I>[2,99]
|
||||||
@ -744,8 +750,9 @@ For I = 1 To pCnt
|
|||||||
End Case
|
End Case
|
||||||
|
|
||||||
End ;* End check for Same WOStep
|
End ;* End check for Same WOStep
|
||||||
Next I
|
Next I
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -535,6 +535,7 @@ Service UpdateAllQAMetrologyRecord(WOMatQAKey, stageToUpdate)
|
|||||||
WOMatQARec<1,vPos> = SpecQAMetData<1,vPos>
|
WOMatQARec<1,vPos> = SpecQAMetData<1,vPos>
|
||||||
if SpecQAMetData<2,vPos> EQ 'ADE' then SpecQAMetData<2,vPos> = '1ADE'
|
if SpecQAMetData<2,vPos> EQ 'ADE' then SpecQAMetData<2,vPos> = '1ADE'
|
||||||
if SpecQAMetData<2,vPos> EQ 'THICK_ONLY' then SpecQAMetData<2,vPos> = '1THICK_ONLY'
|
if SpecQAMetData<2,vPos> EQ 'THICK_ONLY' then SpecQAMetData<2,vPos> = '1THICK_ONLY'
|
||||||
|
if SpecQAMetData<2,vPos> EQ 'CRES' then SpecQAMetData<2,vPos> = '1CRES'
|
||||||
WOMatQARec<2,vPos> = SpecQAMetData<2,vPos>
|
WOMatQARec<2,vPos> = SpecQAMetData<2,vPos>
|
||||||
WOMatQARec<3,vPos> = SpecQAMetData<3,vPos>
|
WOMatQARec<3,vPos> = SpecQAMetData<3,vPos>
|
||||||
WOMatQARec<4,vPos> = SpecQAMetData<4,vPos>
|
WOMatQARec<4,vPos> = SpecQAMetData<4,vPos>
|
||||||
@ -549,7 +550,7 @@ Service UpdateAllQAMetrologyRecord(WOMatQAKey, stageToUpdate)
|
|||||||
|
|
||||||
Next SpecTest
|
Next SpecTest
|
||||||
|
|
||||||
Database_Services('WriteDataRow', 'WO_MAT_QA', WOMatQAKey, WOMatQARec)
|
Database_Services('WriteDataRow', 'WO_MAT_QA', WOMatQAKey, WOMatQARec, True$, True$, True$)
|
||||||
end else
|
end else
|
||||||
ErrorMsg = 'Null WOMatQAKey passed into service.'
|
ErrorMsg = 'Null WOMatQAKey passed into service.'
|
||||||
end
|
end
|
||||||
@ -948,3 +949,4 @@ CheckAdHoc:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user