Changed from using obj_tables to Database_Services
This commit is contained in:
parent
cb5df15264
commit
56d992b961
@ -15,12 +15,12 @@ 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
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, ErrMsg, Btree.Extract, Database_Services, Logging_Services
|
||||||
|
|
||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box, obj_WO_Log, NextKey, obj_WO_Mat_QA
|
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
|
DECLARE FUNCTION obj_Prod_Spec, obj_RDS_Test, SRP_Math, Database_Services, Error_Services, Logging_Services
|
||||||
|
|
||||||
$INSERT LOGICAL
|
$Insert APP_INSERTS
|
||||||
$INSERT MSG_EQUATES
|
$INSERT MSG_EQUATES
|
||||||
$INSERT WO_LOG_EQUATES
|
$INSERT WO_LOG_EQUATES
|
||||||
$INSERT WO_MAT_EQUATES
|
$INSERT WO_MAT_EQUATES
|
||||||
@ -31,8 +31,14 @@ $INSERT PRS_STAGE_EQUATES
|
|||||||
$INSERT PROD_VER_EQUATES
|
$INSERT PROD_VER_EQUATES
|
||||||
$INSERT QA_MET_EQUATES ;* Used in GetQAMet data structure return variable
|
$INSERT QA_MET_EQUATES ;* Used in GetQAMet data structure return variable
|
||||||
|
|
||||||
|
LogPath = Environment_Services('GetApplicationRootPath') : '\WO_MAT_QA'; //Define the directory where the log will be saved to. This happens the first time of the day that the log is written to.
|
||||||
|
LogDate = Oconv(Date(), 'D4/')
|
||||||
|
LogTime = Oconv(Time(), 'MTS')
|
||||||
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
EQU CRLF$ TO \0D0A\
|
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' WO_MAT_QA_Writes.csv'; //Define the file name that will get created.
|
||||||
|
Headers = 'Logging DTM' : @FM : 'WOMatKey' : @FM : 'Message'; //Define the column names in the log file, delimited by a Field Mark.
|
||||||
|
objLogWOMatQAWrite = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$); //Actually creates the log.
|
||||||
|
|
||||||
ErrTitle = 'Error in Stored Procedure "obj_WO_Mat_QA"'
|
ErrTitle = 'Error in Stored Procedure "obj_WO_Mat_QA"'
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
@ -233,8 +239,9 @@ EpiProPSRec = ''
|
|||||||
|
|
||||||
MetLine = 1
|
MetLine = 1
|
||||||
|
|
||||||
WOMatQARec = ''
|
WOMatKey = WONo:'*':CassNo
|
||||||
WOMatRec = XLATE('WO_MAT',WONo:'*':CassNo,'','X') ;* WOMat record used to check for pre-existing signatures jch 6/7/2015
|
WOMatQARec = ''
|
||||||
|
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
|
||||||
@ -322,12 +329,15 @@ FOR WOStepNo = 1 TO StepCnt
|
|||||||
NEXT StageNo
|
NEXT StageNo
|
||||||
|
|
||||||
NEXT WOStepNo
|
NEXT WOStepNo
|
||||||
|
Database_Services('WriteDataRow', 'WO_MAT_QA', WOMatKey, WOMatQARec, True$, False$, False$)
|
||||||
|
If Error_Services('HasError') then
|
||||||
wommParms = 'WO_MAT_QA':@RM:WONo:'*':CassNo:@RM:@RM:WOMatQARec ;* Both table use the WO_Mat_Key
|
ErrorMessage = Error_Services('GetMessage')
|
||||||
|
LogData = ''
|
||||||
obj_Tables('WriteRec',wommParms)
|
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
||||||
|
LogData<2> = WOMatKey
|
||||||
|
LogData<3> = ErrorMessage
|
||||||
|
Logging_Services('AppendLog', objLogWOMatQAWrite, LogData, @RM, @FM, False$)
|
||||||
|
end
|
||||||
|
|
||||||
* * * * * * * * * * * *
|
* * * * * * * * * * * *
|
||||||
|
|
||||||
@ -410,88 +420,89 @@ IF ErrorMsg NE '' THEN RETURN
|
|||||||
|
|
||||||
NewMetKey = WOStep:'*':Stage:'*':MetProp
|
NewMetKey = WOStep:'*':Stage:'*':MetProp
|
||||||
|
|
||||||
WOMatKey = WONo:'*':CassNo
|
WOMatKey = WONo:'*':CassNo
|
||||||
otParms = 'WO_MAT_QA':@RM:WOMatKey
|
HaveLock = Database_Services('GetKeyIDLock', 'WO_MAT_QA', WOMatKey, True$)
|
||||||
WOMatQARec = obj_Tables('ReadRec',otParms)
|
If HaveLock then
|
||||||
WOMatRec = XLATE('WO_MAT',WOMatKey,'','X')
|
WOMatQARec = Database_Services('ReadDataRow', 'WO_MAT_QA', WOMatKey, True$, 0, False$)
|
||||||
|
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>
|
AllMetKeys = AllQAMetKeysStruct<1> ;* Correctly sorted list of all possible QA Met keys built from the PRS_SPEC records for all WO Steps
|
||||||
|
AllLines = AllQAMetKeysStruct<2> ;* List of position numbers for each of the met keys
|
||||||
|
|
||||||
AllMetKeys = AllQAMetKeysStruct<1> ;* Correctly sorted list of all possible QA Met keys built from the PRS_SPEC records for all WO Steps
|
CurrMetKeys = ''
|
||||||
AllLines = AllQAMetKeysStruct<2> ;* List of position numbers for each of the met keys
|
CurrLines = ''
|
||||||
|
cmqCnt = COUNT(WOMatQARec<WO_MAT_QA_PROFILE$>,@VM) + (WOMatQARec<WO_MAT_QA_PROFILE$> NE '')
|
||||||
|
|
||||||
CurrMetKeys = ''
|
FOR M = 1 to cmqCnt
|
||||||
CurrLines = ''
|
CurrMetKey = WOMatQARec<WO_MAT_QA_PROFILE$,M>[1,1]:'*':WOMatQARec<WO_MAT_QA_STAGE$,M>:'*':WOMatQARec<WO_MAT_QA_PROP$,M>
|
||||||
cmqCnt = COUNT(WOMatQARec<WO_MAT_QA_PROFILE$>,@VM) + (WOMatQARec<WO_MAT_QA_PROFILE$> NE '')
|
CurrMetKeys<1,M> = CurrMetKey
|
||||||
|
|
||||||
FOR M = 1 to cmqCnt
|
LOCATE CurrMetKey IN AllMetKeys USING @VM SETTING AllPos THEN
|
||||||
CurrMetKey = WOMatQARec<WO_MAT_QA_PROFILE$,M>[1,1]:'*':WOMatQARec<WO_MAT_QA_STAGE$,M>:'*':WOMatQARec<WO_MAT_QA_PROP$,M>
|
CurrLines<1,M> = AllPos ;* Builds a list of CurrLines for the Met Keys on the existing WO_MAT records
|
||||||
CurrMetKeys<1,M> = CurrMetKey
|
END
|
||||||
|
NEXT M
|
||||||
LOCATE CurrMetKey IN AllMetKeys USING @VM SETTING AllPos THEN
|
|
||||||
CurrLines<1,M> = AllPos ;* Builds a list of CurrLines for the Met Keys on the existing WO_MAT records
|
|
||||||
END
|
|
||||||
NEXT M
|
|
||||||
|
|
||||||
LOCATE NewMetKey IN AllMetKeys USING @VM SETTING SpecLine THEN
|
|
||||||
|
|
||||||
LOCATE SpecLine IN CurrLines BY 'AR' USING @VM SETTING InsertPos THEN
|
|
||||||
|
|
||||||
obj_Tables('UnlockRec',otParms)
|
|
||||||
|
|
||||||
END ELSE
|
|
||||||
|
|
||||||
CurrLines = INSERT(CurrLines,1,InsertPos,0,SpecLine)
|
|
||||||
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_PROFILE$, InsertPos, 0, WOStep:MetTest)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_PROP$,InsertPos,0,MetProp)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_TOOL_CLASS$, InsertPos, 0, MetToolClass)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STAGE$, InsertPos, 0, Stage)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_MIN$, InsertPos, 0, MetMin)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_MAX$, InsertPos, 0, MetMax)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SLOT$, InsertPos, 0, MetSlot)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_RECIPE$, InsertPos, 0, MetRecipe)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_RECIPE_PATTERN$, InsertPos, 0, MetRecipePattern)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_WFR_QTY$, InsertPos, 0, MetWfrQty)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_WFR_TYPE$, InsertPos, 0, MetWfrType)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_REACT_SCHED$, InsertPos, 0, MetReactSched)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SHIP_DOC$, InsertPos, 0, MetShipDoc)
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_PHASE_MIN$, InsertPos, 0, MetPhaseMin) ; // 10/15/18 - djs - Added Phase Min Spec for HgCV
|
|
||||||
|
|
||||||
* Retrieve any existing results from the WO_MAT record
|
|
||||||
|
|
||||||
ProfileKey = WOMatQARec<WO_MAT_QA_PROFILE$, InsertPos>
|
|
||||||
|
|
||||||
LOCATE ProfileKey IN WOMatRec<WO_MAT_MET_PROFILE$> USING @VM SETTING DPos THEN
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SLOT_TEST$, InsertPos, 0, WOMatRec<WO_MAT_MET_SLOT_TEST$,DPos> )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_RESULT$, InsertPos, 0, WOMatRec<WO_MAT_MET_RESULT$,DPos> )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SIG$, InsertPos, 0, WOMatRec<WO_MAT_MET_SIG$,DPos> )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SIG_DTM$, InsertPos, 0, WOMatRec<WO_MAT_MET_SIG_DTM$,DPos> )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STD_MAX$, InsertPos, 0, WOMatRec<WO_MAT_MET_STD_MAX$,DPos> )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STD_RESULT$, InsertPos, 0, WOMatRec<WO_MAT_MET_STD_RESULT$,DPos> )
|
|
||||||
END ELSE
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SLOT_TEST$, InsertPos, 0, '' )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_RESULT$, InsertPos, 0, '')
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SIG$, InsertPos, 0, '' )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SIG_DTM$, InsertPos, 0, '' )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STD_MAX$, InsertPos, 0, '' )
|
|
||||||
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STD_RESULT$, InsertPos, 0, '' )
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
otParms = FIELDSTORE(otParms,@RM,4,0,WOMatQARec)
|
|
||||||
obj_Tables('WriteRec',otParms)
|
|
||||||
|
|
||||||
END ;* End of SpecLine LOCATE
|
|
||||||
|
|
||||||
END ELSE
|
|
||||||
|
|
||||||
obj_Tables('UnlockRec',otParms)
|
|
||||||
|
|
||||||
END ;* End of NewMetKey LOCATE
|
|
||||||
|
|
||||||
|
LOCATE NewMetKey IN AllMetKeys USING @VM SETTING SpecLine THEN
|
||||||
|
|
||||||
|
LOCATE SpecLine IN CurrLines BY 'AR' USING @VM SETTING InsertPos ELSE
|
||||||
|
|
||||||
|
CurrLines = INSERT(CurrLines,1,InsertPos,0,SpecLine)
|
||||||
|
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_PROFILE$, InsertPos, 0, WOStep:MetTest)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_PROP$,InsertPos,0,MetProp)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_TOOL_CLASS$, InsertPos, 0, MetToolClass)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STAGE$, InsertPos, 0, Stage)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_MIN$, InsertPos, 0, MetMin)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_MAX$, InsertPos, 0, MetMax)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SLOT$, InsertPos, 0, MetSlot)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_RECIPE$, InsertPos, 0, MetRecipe)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_RECIPE_PATTERN$, InsertPos, 0, MetRecipePattern)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_WFR_QTY$, InsertPos, 0, MetWfrQty)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_WFR_TYPE$, InsertPos, 0, MetWfrType)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_REACT_SCHED$, InsertPos, 0, MetReactSched)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SHIP_DOC$, InsertPos, 0, MetShipDoc)
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_PHASE_MIN$, InsertPos, 0, MetPhaseMin) ; // 10/15/18 - djs - Added Phase Min Spec for HgCV
|
||||||
|
|
||||||
|
* Retrieve any existing results from the WO_MAT record
|
||||||
|
|
||||||
|
ProfileKey = WOMatQARec<WO_MAT_QA_PROFILE$, InsertPos>
|
||||||
|
|
||||||
|
LOCATE ProfileKey IN WOMatRec<WO_MAT_MET_PROFILE$> USING @VM SETTING DPos THEN
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SLOT_TEST$, InsertPos, 0, WOMatRec<WO_MAT_MET_SLOT_TEST$,DPos> )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_RESULT$, InsertPos, 0, WOMatRec<WO_MAT_MET_RESULT$,DPos> )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SIG$, InsertPos, 0, WOMatRec<WO_MAT_MET_SIG$,DPos> )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SIG_DTM$, InsertPos, 0, WOMatRec<WO_MAT_MET_SIG_DTM$,DPos> )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STD_MAX$, InsertPos, 0, WOMatRec<WO_MAT_MET_STD_MAX$,DPos> )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STD_RESULT$, InsertPos, 0, WOMatRec<WO_MAT_MET_STD_RESULT$,DPos> )
|
||||||
|
END ELSE
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SLOT_TEST$, InsertPos, 0, '' )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_RESULT$, InsertPos, 0, '')
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SIG$, InsertPos, 0, '' )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_SIG_DTM$, InsertPos, 0, '' )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STD_MAX$, InsertPos, 0, '' )
|
||||||
|
WOMatQARec = INSERT(WOMatQARec, WO_MAT_QA_STD_RESULT$, InsertPos, 0, '' )
|
||||||
|
END
|
||||||
|
Database_Services('WriteDataRow', 'WO_MAT_QA', WOMatKey, WOMatQARec, True$, False$, False$)
|
||||||
|
If Error_Services('HasError') then
|
||||||
|
ErrorMessage = Error_Services('GetMessage')
|
||||||
|
LogData = ''
|
||||||
|
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
||||||
|
LogData<2> = WOMatKey
|
||||||
|
LogData<3> = ErrorMessage
|
||||||
|
Logging_Services('AppendLog', objLogWOMatQAWrite, LogData, @RM, @FM, False$)
|
||||||
|
end
|
||||||
|
END ;* End of SpecLine LOCATE
|
||||||
|
|
||||||
|
END
|
||||||
|
end else
|
||||||
|
LogData = ''
|
||||||
|
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
||||||
|
LogData<2> = WOMatKey
|
||||||
|
LogData<3> = 'Error getting lock on WO_MAT_QA record.'
|
||||||
|
Logging_Services('AppendLog', objLogWOMatQAWrite, LogData, @RM, @FM, False$)
|
||||||
|
end
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -737,3 +748,4 @@ Next I
|
|||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user