242 lines
4.0 KiB
Plaintext
242 lines
4.0 KiB
Plaintext
COMPILE ROUTINE TEST_OBJ_WO_REACT(Dummy)
|
|
ROWDEF(CHARSTR)
|
|
|
|
DECLARE SUBROUTINE Set_Status, Send_Info, Send_Dyn, ErrMsg, obj_WO_React, obj_WO_Mat_QA,Rlist
|
|
DECLARE FUNCTION Get_Status,obj_WO_Log, Send_Dyn, obj_WO_Mat, obj_Tables, obj_WO_React,Collect.IXVals
|
|
|
|
$INSERT WO_REACT_EQUATES
|
|
$INSERT RDS_EQUATES
|
|
$INSERT WO_LOG_EQUATES
|
|
|
|
EQU TARGET_ACTIVELIST$ TO 5
|
|
|
|
OPEN 'WO_REACT' TO WOReactTable ELSE
|
|
DEBUG
|
|
GOTO Bail
|
|
END
|
|
|
|
OPEN 'WO_MAT_QA' TO WOMatQATable ELSE
|
|
DEBUG
|
|
GOTO Bail
|
|
END
|
|
|
|
|
|
|
|
WONo = 159870
|
|
|
|
|
|
SelectSent = 'SELECT WO_MAT WITH MET_PROFILE NE "" BY WO_NO'
|
|
|
|
RList(SelectSent,TARGET_ACTIVELIST$)
|
|
|
|
IF Get_Status(errCode) THEN
|
|
DEBUG
|
|
GOTO Bail
|
|
END
|
|
|
|
ExistWONos = Collect.IXVals('WO_MAT_QA','WO_NO')
|
|
|
|
|
|
Done = 0
|
|
RecCnt = 1
|
|
|
|
|
|
WONos = ''
|
|
WOCnt = 0
|
|
|
|
LOOP
|
|
READNEXT WOMatKey ELSE Done = 1
|
|
UNTIL Done
|
|
WONo = WOMatKey[1,'*']
|
|
LOCATE WONo IN WONos BY 'DR' USING @VM SETTING Pos ELSE
|
|
LOCATE WONo IN ExistWONos USING @FM SETTING EPos ELSE
|
|
* Not in WONos and not in ExistWONos -> OK to add to list
|
|
WONos = INSERT(WONos,1,Pos,0,WONo)
|
|
WOCnt += 1
|
|
END
|
|
END
|
|
RecCnt += 1
|
|
Send_Info(RecCnt:' ':WONo)
|
|
|
|
REPEAT
|
|
|
|
|
|
|
|
cntWO = COUNT(WONos,@VM) + (WONos NE '')
|
|
|
|
DEBUG
|
|
|
|
FOR N = 1 TO cntWO
|
|
|
|
WONo = WONos<1,N>
|
|
|
|
Send_Info(N:' ':WONo)
|
|
|
|
|
|
|
|
* * * Clear the WO_REACT records for this WO * * *
|
|
|
|
RList('SELECT WO_REACT WITH WO_NO ':QUOTE(WONo),TARGET_ACTIVELIST$)
|
|
|
|
Done = 0
|
|
RecCnt = 0
|
|
|
|
LOOP
|
|
READNEXT WOReactKey ELSE Done = 1
|
|
UNTIL Done
|
|
READ WOReactRec FROM WOReactTable,WOReactKey THEN
|
|
|
|
DELETE WOReactTable,WOReactKey THEN
|
|
Send_Dyn('Cleared WO_React: ':WOReactKey)
|
|
END
|
|
|
|
END ;* End of WOReactRec read
|
|
|
|
REPEAT
|
|
|
|
* * * Clear the WO_MAT_QA records for this WO * * *
|
|
|
|
|
|
|
|
RList('SELECT WO_MAT_QA WITH WO_NO ':QUOTE(WONo),TARGET_ACTIVELIST$)
|
|
|
|
Done = 0
|
|
RecCnt = 0
|
|
|
|
LOOP
|
|
READNEXT WOMatQAKey ELSE Done = 1
|
|
UNTIL Done
|
|
READ WOMatQARec FROM WOMatQATable,WOMatQAKey THEN
|
|
|
|
DELETE WOMatQATable,WOMatQAKey THEN
|
|
Send_Dyn('Cleared WO_Mat_QA: ':WOMatQAKey)
|
|
END
|
|
|
|
END ;* End of WOReactRec read
|
|
|
|
REPEAT
|
|
|
|
|
|
|
|
* * * Rebuild WO scheduled WO_Mat_QA records * * *
|
|
|
|
|
|
WOMatKeys = XLATE('WO_LOG',WONo,WO_LOG_WO_MAT_KEY$,'X')
|
|
|
|
womCnt = COUNT(WOMatKeys,@VM) + (WOMatKeys NE '')
|
|
|
|
FOR I = 1 TO womCnt
|
|
|
|
WOMatKey = WOMatKeys<1,I>
|
|
CassNo = WOMatKey[-1,'B*']
|
|
|
|
Send_Dyn('Build QAMet ':WOMatKey:' ':WOMatKey)
|
|
|
|
obj_WO_Mat_QA('Create',WONo:@RM:CassNo)
|
|
|
|
IF Get_Status(errCode) THEN
|
|
DEBUG
|
|
END
|
|
|
|
|
|
NEXT I
|
|
|
|
|
|
|
|
RList('SELECT RDS WITH WO ':QUOTE(WONo):' BY CASS_NO',TARGET_ACTIVELIST$)
|
|
|
|
|
|
Done = 0
|
|
RecCnt = 0
|
|
|
|
LOOP
|
|
READNEXT RDSNo ELSE Done = 1
|
|
UNTIL Done
|
|
RDSRec = XLATE('RDS',RDSNo,'','X')
|
|
|
|
StepNo = 1
|
|
ReactNo = RDSRec<RDS_REACTOR$>
|
|
CassNo = RDSRec<RDS_CASS_NO$>
|
|
|
|
IF ReactNo NE '' THEN
|
|
|
|
Send_Dyn(WONo:' ':StepNo:' ':ReactNo:' ':RDSNo:' ':CassNo)
|
|
owmParms = WONo:@RM:StepNo:@RM:ReactNo:@RM:RDSNo:@RM:CassNo
|
|
Log = obj_WO_React('AddRdsNo',owmParms)
|
|
|
|
IF Get_Status(errCode) THEN
|
|
DEBUG
|
|
ErrMsg(errCode)
|
|
END
|
|
END
|
|
|
|
|
|
REPEAT
|
|
|
|
NEXT N
|
|
|
|
|
|
GOTO Bail
|
|
|
|
* * * * * * * * * * * * * * * * * * * * *
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* * * * * * *
|
|
Bail:
|
|
* * * * * * *
|
|
|
|
|
|
END
|
|
|
|
/*
|
|
|
|
* * * Clear the WO_REACT records for this WO * * *
|
|
|
|
RList('SELECT WO_REACT WITH WO_NO ':QUOTE(WONo),TARGET_ACTIVELIST$)
|
|
|
|
Done = 0
|
|
RecCnt = 0
|
|
|
|
LOOP
|
|
READNEXT WOReactKey ELSE Done = 1
|
|
UNTIL Done
|
|
READ WOReactRec FROM WOReactTable,WOReactKey THEN
|
|
|
|
DELETE WOReactTable,WOReactKey THEN
|
|
Send_Dyn('Cleared WO_React: ':WOReactKey)
|
|
END
|
|
|
|
END ;* End of WOReactRec read
|
|
|
|
REPEAT
|
|
|
|
* * * Clear the WO_MAT_QA records for this WO * * *
|
|
|
|
|
|
|
|
RList('SELECT WO_MAT_QA WITH WO_NO ':QUOTE(WONo),TARGET_ACTIVELIST$)
|
|
|
|
Done = 0
|
|
RecCnt = 0
|
|
|
|
LOOP
|
|
READNEXT WOMatQAKey ELSE Done = 1
|
|
UNTIL Done
|
|
READ WOMatQARec FROM WOMatQATable,WOMatQAKey THEN
|
|
|
|
DELETE WOMatQATable,WOMatQAKey THEN
|
|
Send_Dyn('Cleared WO_Mat_QA: ':WOMatQAKey)
|
|
END
|
|
|
|
END ;* End of WOReactRec read
|
|
|
|
REPEAT
|
|
|
|
|
|
*/
|
|
|