open-insight/LSL2/STPROC/OBJ_REACT_STATUS.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

587 lines
21 KiB
Plaintext

COMPILE FUNCTION obj_React_Status(Method,Parms)
/*
Methods for the Reactor Mode (REACT_STATUS) table
10/02/2006 JCH - Initial Coding
Properties:
Methods:
SetOutOfProdDTM(React,OutOfProdDTM) ;* Create new React Mode record
SetUnloadDTM(React,UnloadDTM)
CassLoad(ReactNo,WONo,CassNo,LoadDTM) ;* Cass Load signoff button pressed
;* Loads may overlap in time (operators sign off BEFORE doing the work.
;* This returns a Date-Time for the PrevReactUnloadDTM
CassUnload(ReactNo,WONo,CassNo,UnloadDTM) ;* Cass Unload signoff button pressed. Removes load WONo & CassNo & Resets UnoadDTM
*/
#pragma precomp SRP_PreCompiler
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box,NextKey, Popup, Get_Property, Database_Services
DECLARE FUNCTION Error_Services, Environment_Services, Logging_Services, Override_Log_Services
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Database_Services, Rlist
DECLARE SUBROUTINE Logging_Services
$INSERT LOGICAL
$INSERT MSG_EQUATES
$INSERT REACT_STATUS_EQUATES
$INSERT REACTOR_EQUATES
$INSERT WO_MAT_EQUATES
$INSERT RLIST_EQUATES
$INSERT OVERRIDE_LOG_EQUATES
EQU CRLF$ TO \0D0A\
EQU Comma$ to ','
LogDate = Oconv(Date(), 'D4/')
LogTime = Oconv(Time(), 'MTS')
LoggingDTM = LogDate : ' ' : LogTime
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\ReactStatus'
LogFilename = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' React Status.csv'
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'CassNo' : @FM : 'RDSNo' : @FM : 'Load DTM' : @FM : 'Service' : @FM : 'Notes'
objReactStatusLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
ErrTitle = 'Error in Stored Procedure "obj_React_Status"'
ErrorMsg = ''
IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine'
IF NOT(ASSIGNED(Parms)) THEN Parms = ''
IF ErrorMsg NE '' THEN
Set_Status(-1,ErrTitle:@SVM:ErrorMsg)
RETURN ''
END
Result = ''
BEGIN CASE
CASE Method = 'SetOutOfProdDTM' ; GOSUB SetOutOfProdDTM
CASE Method = 'CassLoad' ; GOSUB CassLoad
CASE Method = 'CassUnload' ; GOSUB CassUnload
CASE Method = 'ReactorLoad' ; GOSUB ReactorLoad
CASE Method = 'ReactorUnload' ; GOSUB ReactorUnload
CASE Method = 'CleanHouse' ; GOSUB CleanHouse
CASE Method = 'HandleLoadUnsign' ; GOSUB HandleLoadUnsign
CASE Method = 'HandleUnloadUnsign' ; GOSUB HandleUnloadUnsign
CASE 1
ErrorMsg = 'Unknown Method ':QUOTE(Method):' passed to routine.'
END CASE
IF ErrorMsg NE '' THEN
Set_Status(-1,ErrTitle:@SVM:ErrorMsg)
RETURN ''
END
RETURN Result
* * * * * * *
SetOutOfProdDTM:
* * * * * * *
ReactNo = Parms[1,@RM]
OutOfProdDTM = Parms[COL2()+1,@RM]
IF ReactNo = '' THEN ErrorMsg = 'Null parameter ReactNo passed to routine (':Method:').'
IF OutOfProdDTM = '' THEN ErrorMsg = 'Null parameter OutOfProdDTM passed to routine (':Method:').'
IF ErrorMsg NE '' THEN RETURN
thisOutOfProdDTM = ICONV(OutOfProdDTM,'DT')
IF thisOutOfProdDTM = '' THEN
ErrorMsg = 'Invalid value ':QUOTE(OutOfProdDTM):' passed for parameter OutOfProdDTM (':Method:').'
RETURN
END
Test = XLATE('REACTOR',ReactNo,'','X')
IF Test = '' THEN
ErrorMsg = 'Invalid Reactor Number ':QUOTE(ReactNo):' passed to routine (':Method:').'
RETURN
END
ReactStatRec = Database_Services('ReadDataRow', 'REACT_STATUS', ReactNo)
IF Get_Status(errCode) or Error_Services('HasError') THEN
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
RETURN
END
ReactStatRec<REACT_STATUS_OUT_OF_PROD_DTM$> = thisOutOfProdDTM
Database_Services('WriteDataRow', 'REACT_STATUS', ReactNo, ReactStatRec, True$, False$, True$)
If Error_Services('HasError') then
ErrorMsg = Error_Services('GetMessage')
end
RETURN
* * * * * * *
CassLoad:
* * * * * * *
ReactNo = Parms[1,@RM]
WONo = Parms[COL2()+1,@RM]
CassNo = Parms[COL2()+1,@RM]
LoadDTM = Parms[COL2()+1,@RM]
RDSNo = Parms[COL2()+1,@RM]
IF ReactNo = '' THEN ErrorMsg = 'Null parameter ReactNo 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 LoadDTM = '' THEN ErrorMsg = 'Null parameter LoadDTM passed to routine (':Method:').'
IF RDSNo = '' THEN ErrorMsg = 'Null parameter RDSNo passed to routine(':Method:').'
IF ErrorMsg NE '' THEN RETURN
thisLoadDTM = ICONV(LoadDTM,'DT')
IF thisLoadDTM = '' THEN
ErrorMsg = 'Invalid value ':QUOTE(LoadDTM):' passed for parameter LoadDTM (':Method:').'
RETURN
END
ReactRec = XLATE('REACTOR',ReactNo,'','X')
IF ReactRec = '' THEN
ErrorMsg = 'Invalid Reactor Number ':QUOTE(ReactNo):' passed to routine (':Method:').'
RETURN
END
IF ReactRec<REACTOR_REACT_TYPE$> = 'EPP' THEN RETURN ;* CassLoad is for non EpiPro
ReactStatRec = Database_Services('ReadDataRow', 'REACT_STATUS', ReactNo)
IF Get_Status(errCode) or Error_Services('HasError') THEN
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
RETURN
END
CassID = WONo:'*':CassNo
* PrevLoadedCassCnt = COUNT(ReactStatRec<REACT_STATUS_LOAD_CASS_ID$>,@VM) + (ReactStatRec<REACT_STATUS_LOAD_CASS_ID$> NE '')
PrevLoadedCassCnt = DCount(ReactStatRec<REACT_STATUS_LOAD_RDS$>, @VM)
ReactStatRec = INSERT(ReactStatRec,REACT_STATUS_LOAD_CASS_ID$,PrevLoadedCassCnt+1,0,CassID)
ReactStatRec = INSERT(ReactStatRec,REACT_STATUS_LOAD_DTM$,PrevLoadedCassCnt+1,0,thisLoadDTM)
ReactStatRec<REACT_STATUS_LOAD_RDS$, -1> = RDSNo
ReactStatRec<REACT_STATUS_LOAD_RDS_DTM$, -1> = thisLoadDTM
Database_Services('WriteDataRow', 'REACT_STATUS', ReactNo, ReactStatRec, True$, False$, True$)
If Error_Services('HasError') then
ErrorMsg = Error_Services('GetMessage')
LogData = ''
LogData<1> = LoggingDTM
LogData<2> = @User4
LogData<3> = CassNo
LogData<4> = RDSNo
LogData<5> = LoadDTM
LogData<6> = 'obj_React_Status'
LogData<7> = ErrorMsg
Logging_Services('AppendLog', objReactStatusLog, LogData, @RM, @FM)
end
IF ReactStatRec<REACT_STATUS_UNLOAD_RDS_DTM$> = '' THEN
UnloadDTM = thisLoadDTM
END ELSE
UnloadDTM = ReactStatRec<REACT_STATUS_UNLOAD_RDS_DTM$,1>
END
IF PrevLoadedCassCnt > 0 THEN
IdleTime = 0
END ELSE
IdleTime = thisLoadDTM - UnloadDTM
END
IF IdleTime < 0 THEN IdleTime = 0
IdleTime = OCONV(ICONV(IdleTime*24,'MD2'),'MD2,')
Result = IdleTime
RETURN
* * * * * * *
CassUnload:
* * * * * * *
ReactNo = Parms[1,@RM]
WONo = Parms[COL2()+1,@RM]
CassNo = Parms[COL2()+1,@RM]
UnloadDTM = Parms[COL2()+1,@RM]
RDSNo = Parms[COL2()+1,@RM]
IF ReactNo = '' THEN ErrorMsg = 'Null parameter ReactNo 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 UnloadDTM = '' THEN ErrorMsg = 'Null parameter UnloadDTM passed to routine (':Method:').'
IF RDSNo = '' THEN ErrorMsg = 'Null parameter RDSNo passed to routine (':Method:').'
IF ErrorMsg NE '' THEN RETURN
thisUnloadDTM = ICONV(UnloadDTM,'DT')
IF thisUnloadDTM = '' THEN
ErrorMsg = 'Invalid value ':QUOTE(UnloadDTM):' passed for parameter UnloadDTM (':Method:').'
RETURN
END
ReactRec = XLATE('REACTOR',ReactNo,'','X')
IF ReactRec = '' THEN
ErrorMsg = 'Invalid Reactor Number ':QUOTE(ReactNo):' passed to routine (':Method:').'
RETURN
END
IF ReactRec<REACTOR_REACT_TYPE$> = 'EPP' THEN RETURN ;* CassUnload is for non EpiPro
ReactStatRec = Database_Services('ReadDataRow', 'REACT_STATUS', ReactNo)
IF Get_Status(errCode) or Error_Services('HasError') THEN
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
RETURN
END
CassID = WONo:'*':CassNo
LoadedCass = ReactStatRec<REACT_STATUS_LOAD_CASS_ID$>
Locate CassID in LoadedCass using @VM setting vPos then
ReactStatRec = DELETE(ReactStatRec,REACT_STATUS_LOAD_CASS_ID$,vPos,0)
ReactStatRec = DELETE(ReactStatRec,REACT_STATUS_LOAD_DTM$,vPos,0)
end
LoadedRDS = ReactStatRec<REACT_STATUS_LOAD_RDS$>
Locate RDSNo in LoadedRDS using @VM setting vPos then
ReactStatRec = Delete(ReactStatRec, REACT_STATUS_LOAD_RDS$, vPos, 0)
ReactStatRec = Delete(ReactStatRec, REACT_STATUS_LOAD_RDS_DTM$, vPos, 0)
end
ReactStatRec<REACT_STATUS_UNLOAD_DTM$> = thisUnloadDTM
ReactStatRec<REACT_STATUS_UNLOAD_CASS_ID$> = CassID ;* Added 11/14/2008 JCH
ReactStatRec<REACT_STATUS_UNLOAD_RDS_DTM$> = thisUnloadDTM
ReactStatRec<REACT_STATUS_UNLOAD_RDS$> = RDSNo
Database_Services('WriteDataRow', 'REACT_STATUS', ReactNo, ReactStatRec, True$, False$, True$)
If Error_Services('HasError') then
ErrorMsg = Error_Services('GetMessage')
end
RETURN
* * * * * * *
ReactorLoad:
* * * * * * *
* EpiPro Reactor Load
ReactNo = Parms[1,@RM]
WONo = Parms[COL2()+1,@RM]
CassNos = Parms[COL2()+1,@RM]
LoadDTM = Parms[COL2()+1,@RM]
RDSNos = Parms[COL2()+1,@RM]
IF ReactNo = '' THEN ErrorMsg = 'Null parameter ReactNo passed to routine (':Method:').'
IF WONo = '' THEN ErrorMsg = 'Null parameter WONo passed to routine (':Method:').'
IF CassNos = '' THEN ErrorMsg = 'Null parameter CassNos passed to routine (':Method:').'
IF LoadDTM = '' THEN ErrorMsg = 'Null parameter LoadDTM passed to routine (':Method:').'
IF RDSNos = '' THEN ErrorMsg = 'Null parameter RDSNos passed to routine (':Method:').'
IF ErrorMsg NE '' THEN RETURN
thisLoadDTM = ICONV(LoadDTM,'DT')
IF thisLoadDTM = '' THEN
ErrorMsg = 'Invalid value ':QUOTE(LoadDTM):' passed for parameter LoadDTM (':Method:').'
RETURN
END
ReactRec = XLATE('REACTOR',ReactNo,'','X')
IF ReactRec = '' THEN
ErrorMsg = 'Invalid Reactor Number ':QUOTE(ReactNo):' passed to routine (':Method:').' ;* Check for valid reactor number
RETURN
END ELSE
IF ReactRec<REACTOR_REACT_TYPE$> NE 'EPP' THEN
ErrorMsg = 'Invalid reactor type ':ReactRec<REACTOR_REACT_TYPE$>:' passed to routine.' ;* Not an EpiPro reactor
RETURN
END
END
ReactStatRec = Database_Services('ReadDataRow', 'REACT_STATUS', ReactNo)
If Error_Services('NoError') then
* PrevLoadCnt = COUNT(ReactStatRec<REACT_STATUS_LOAD_CASS_ID$>,@VM) + (ReactStatRec<REACT_STATUS_LOAD_CASS_ID$> NE '')
CassIDs = ''
CassCnt = COUNT(CassNos,@VM) + (CassNos NE '')
FOR I = 1 TO CassCnt
ReactStatRec<REACT_STATUS_LOAD_CASS_ID$,I> = WONo:'*':CassNos<1,I>
ReactStatRec<REACT_STATUS_LOAD_DTM$,I> = thisLoadDTM
NEXT I
PrevLoadCnt = DCount(ReactStatRec<REACT_STATUS_LOAD_RDS$>, @VM)
For each RDSNo in RDSNos using @VM
ReactStatRec<REACT_STATUS_LOAD_RDS$, -1> = RDSNo
ReactStatRec<REACT_STATUS_LOAD_RDS_DTM$, -1> = thisLoadDTM
Next RDSNo
Database_Services('WriteDataRow', 'REACT_STATUS', ReactNo, ReactStatRec, True$, False$, True$)
If Error_Services('HasError') then
ErrorMsg = Error_Services('GetMessage')
end
* IF ReactStatRec<REACT_STATUS_UNLOAD_DTM$,1> = '' THEN
* UnloadDTM = thisLoadDTM
* END ELSE
* UnloadDTM = ReactStatRec<REACT_STATUS_UNLOAD_DTM$,1>
* END
If ReactStatRec<REACT_STATUS_UNLOAD_RDS_DTM$, 1> EQ '' then
UnloadDTM = thisLoadDTM
end else
UnloadDTM = ReactStatRec<REACT_STATUS_UNLOAD_RDS_DTM$, 1>
end
IF PrevLoadCnt > 0 THEN
IdleTime = 0 ;* There were already a cassette on the reactor (HTR reactors)
END ELSE
IdleTime = thisLoadDTM - UnloadDTM
END
IF IdleTime < 0 THEN IdleTime = 0
IdleTime = OCONV(ICONV(IdleTime*24,'MD2'),'MD2,')
Result = IdleTime
end else
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
end
RETURN
* * * * * * *
ReactorUnload:
* * * * * * *
* EpiPro Reactor Unload
ReactNo = Parms[1,@RM]
WONo = Parms[COL2()+1,@RM]
CassNos = Parms[COL2()+1,@RM]
UnloadDTM = Parms[COL2()+1,@RM]
RDSNos = Parms[COL2()+1,@RM]
IF ReactNo = '' THEN ErrorMsg = 'Null parameter ReactNo passed to routine (':Method:').'
IF WONo = '' THEN ErrorMsg = 'Null parameter WONo passed to routine (':Method:').'
IF CassNos = '' THEN ErrorMsg = 'Null parameter CassNos passed to routine (':Method:').'
IF UnloadDTM = '' THEN ErrorMsg = 'Null parameter UnloadDTM passed to routine (':Method:').'
IF RDSNos = '' THEN ErrorMsg = 'Null parameter RDSNos passed to routine (':Method:').'
IF ErrorMsg NE '' THEN RETURN
thisUnloadDTM = ICONV(UnloadDTM,'DT')
IF thisUnloadDTM = '' THEN
ErrorMsg = 'Invalid value ':QUOTE(UnloadDTM):' passed for parameter UnloadDTM (':Method:').'
RETURN
END
ReactRec = XLATE('REACTOR',ReactNo,'','X')
IF ReactRec = '' THEN
ErrorMsg = 'Invalid Reactor Number ':QUOTE(ReactNo):' passed to routine (':Method:').'
RETURN
END ELSE
IF ReactRec<REACTOR_REACT_TYPE$> NE 'EPP' THEN
ErrorMsg = 'Invalid reactor type ':ReactRec<REACTOR_REACT_TYPE$>:' passed to routine.'
RETURN
END
END
ReactStatRec = Database_Services('ReadDataRow', 'REACT_STATUS', ReactNo)
If Error_Services('NoError') then
CassIDs = ''
CassCnt = COUNT(CassNos,@VM) + (CassNos NE '')
FOR I = 1 TO CassCnt
ReactStatRec<REACT_STATUS_UNLOAD_CASS_ID$,I> = WONo:'*':CassNos<1,I> ;* Set Unload CassID(s)
ReactStatRec<REACT_STATUS_UNLOAD_DTM$,I> = thisUnloadDTM ;* Set Unload DTM(s)
NEXT I
For each RDSNo in RDSNos using @VM setting vPos
ReactStatRec<REACT_STATUS_UNLOAD_RDS$, vPos> = RDSNo
ReactStatRec<REACT_STATUS_UNLOAD_RDS_DTM$, vPos> = thisUnloadDTM
Next RDSNo
ReactStatRec<REACT_STATUS_LOAD_CASS_ID$> = '' ;* Clear Load CassID(s)
ReactStatRec<REACT_STATUS_LOAD_DTM$> = '' ;* Clear Load DTM(s)
ReactStatRec<REACT_STATUS_LOAD_RDS$> = ''
ReactStatRec<REACT_STATUS_LOAD_RDS_DTM$> = ''
Database_Services('WriteDataRow', 'REACT_STATUS', ReactNo, ReactStatRec, True$, False$, True$)
If Error_Services('HasError') then
ErrorMsg = Error_Services('GetMessage')
end
end else
ErrorMsg = Error_Services('GetMessage')
end
RETURN
* * * * * * *
HandleLoadUnsign:
* * * * * * *
ReactNo = Parms[1,@RM]
WONo = Parms[COL2()+1,@RM]
CassNo = Parms[COL2()+1,@RM]
RDSNo = Parms[COL2()+1,@RM]
OverrideUser = Parms[COL2()+1,@RM]
Extra = Parms[COL2()+1,@RM]
IF ReactNo = '' THEN ErrorMsg = 'Null parameter ReactNo 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 RDSNo = '' THEN ErrorMsg = 'Null parameter RDSNo passed to routine(':Method:').'
IF OverrideUser = '' THEN ErrorMsg = 'Null parameter OverrideUser passed to routine(':Method:').'
If Extra = '' then Extra = 0
CassID = WONo:'*':CassNo
ReactStatRec = Database_Services('ReadDataRow', 'REACT_STATUS', ReactNo)
IF Get_Status(errCode) or Error_Services('HasError') THEN
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
RETURN
END
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', CassID)
LoadedRDS = ReactStatRec<REACT_STATUS_LOAD_RDS$>
Locate RDSNo in LoadedRDS using @VM setting vPos then
ReactStatRec<REACT_STATUS_LOAD_CASS_ID$> = Delete(ReactStatRec<REACT_STATUS_LOAD_CASS_ID$>, 0, vPos, 0)
ReactStatRec<REACT_STATUS_LOAD_DTM$> = Delete(ReactStatRec<REACT_STATUS_LOAD_DTM$>, 0, vPos, 0)
ReactStatRec<REACT_STATUS_LOAD_RDS$> = Delete(ReactStatRec<REACT_STATUS_LOAD_RDS$>, 0, vPos, 0)
ReactStatRec<REACT_STATUS_LOAD_RDS_DTM$> = Delete(ReactStatRec<REACT_STATUS_LOAD_RDS_DTM$>, 0, vPos, 0)
end
Database_Services('WriteDataRow', 'REACT_STATUS', ReactNo, ReactStatRec, True$, False$, True$)
If Error_Services('HasError') then
ErrorMsg = Error_Services('GetMessage')
return
end else
overrideLogTable = 'RDS':@VM:'REACTOR'
overrideLogKey = RDSNo:@VM:ReactNo
overrideLogUser = OverrideUser
If Extra then
overrideLogComment = 'UNSIGN-LOAD-EXTRA'
end else
overrideLogComment = 'UNSIGN-LOAD'
end
overrideLogCategory = 'UNSIGN'
orKey = Override_Log_Services('Create', overrideLogTable, overrideLogKey, overrideLogUser, overrideLogComment, overrideLogCategory)
end
Return
* * * * * * *
HandleUnloadUnsign:
* * * * * * *
ReactNo = Parms[1,@RM]
WONo = Parms[COL2()+1,@RM]
CassNo = Parms[COL2()+1,@RM]
RDSNo = Parms[COL2()+1,@RM]
OverrideUser = Parms[COL2()+1,@RM]
Extra = Parms[COL2()+1,@RM]; *This variable is used to determine whether or not this came from a regular unload signature or an unload
IF ReactNo = '' THEN ErrorMsg = 'Null parameter ReactNo 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 RDSNo = '' THEN ErrorMsg = 'Null parameter RDSNo passed to routine(':Method:').'
IF OverrideUser = '' THEN ErrorMsg = 'Null parameter OverrideUser passed to routine(':Method:').'
If Extra = '' then Extra = 0
CassID = WONo:'*':CassNo
ReactStatRec = Database_Services('ReadDataRow', 'REACT_STATUS', ReactNo)
IF Get_Status(errCode) or Error_Services('HasError') THEN
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
RETURN
END
OriginalLoadTime = ''
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', CassID)
// Get the original load event DTM to reload
OriginalLoadTime = Xlate('RDS', RDSNo, 'DTM_IN', 'X')
If OriginalLoadTime NE '' then
// Restore the loaded cassette information
PrevLoadedCassCnt = DCount(ReactStatRec<REACT_STATUS_LOAD_RDS$>, @VM)
ReactStatRec<REACT_STATUS_LOAD_RDS$, -1> = RDSNo
ReactStatRec<REACT_STATUS_LOAD_RDS_DTM$, -1> = OriginalLoadTime
PrevUnloadRDS = ''
PrevRDSUnloadDTM = ''
PrevUnloadCassID = ''
ErrCode = ''
Query = 'SELECT RDS WITH WO EQ ':WONo:' AND WITH REACTOR EQ ':ReactNo:' BY-DSND DATE_OUT BY-DSND TIME_OUT'
Rlist(Query, TARGET_ACTIVELIST$, '', '', '')
If Not(Get_Status(ErrCode)) then
ReadNext PrevUnloadRDS else Null
PrevRDSUnloadDTM = Xlate('RDS', PrevUnloadRDS, 'DTM_OUT', 'X')
end
ReactStatRec<REACT_STATUS_UNLOAD_RDS_DTM$> = PrevRDSUnloadDTM
ReactStatRec<REACT_STATUS_UNLOAD_RDS$> = PrevUnloadRDS
Database_Services('WriteDataRow', 'REACT_STATUS', ReactNo, ReactStatRec, True$, False$, True$)
If Error_Services('HasError') then
ErrorMsg = Error_Services('GetMessage')
return
end else
overrideLogTable = 'RDS':@VM:'REACTOR'
overrideLogKey = RDSNo:@VM:ReactNo
overrideLogUser = OverrideUser
overrideLogComment = 'UNSIGN-UNLOAD'
overrideLogCategory = 'UNSIGN'
orKey = Override_Log_Services('Create', overrideLogTable, overrideLogKey, overrideLogUser, overrideLogComment, overrideLogCategory)
end
end
Return
* * * * * * *
CleanHouse:
* * * * * * *
OPEN 'REACT_STATUS' TO FileIn ELSE
RETURN
END
SELECT FileIn
Done = 0
LOOP
READNEXT ReactNo ELSE Done =1
UNTIL DONE
READ ReactStatRec FROM FileIn,ReactNo THEN
ReactStatRec<REACT_STATUS_LOAD_DTM$> = ''
ReactStatRec<REACT_STATUS_LOAD_CASS_ID$> = ''
WRITE ReactStatRec ON FileIn,ReactNo
END ;* End of record read
REPEAT
RETURN