added LSL2 stored procedures
This commit is contained in:
404
LSL2/STPROC/FIX_REACT_ITEM.txt
Normal file
404
LSL2/STPROC/FIX_REACT_ITEM.txt
Normal file
@ -0,0 +1,404 @@
|
||||
COMPILE ROUTINE FIX_REACT_ITEM(Dummy)
|
||||
ROWDEF(CHARSTR)
|
||||
|
||||
DECLARE SUBROUTINE Send_Dyn,Send_Info,RList, Btree.Extract
|
||||
DECLARE FUNCTION Get_Status, Set_Printer, NextKey, obj_React_Item_Hist, obj_Reactor_Log, obj_React_Item
|
||||
|
||||
$INSERT REACT_ITEM_EQUATES
|
||||
$INSERT REACT_ITEM_HIST_EQUATES
|
||||
|
||||
$INSERT REACT_ITEMS_EQU
|
||||
$INSERT RLIST_EQUATES
|
||||
|
||||
$INSERT REACTOR_LOG_EQUATES
|
||||
|
||||
|
||||
|
||||
EQU REACT_SERVS_REACT_ITEM_TYPE$ TO 9
|
||||
|
||||
|
||||
EQU TAB$ TO \09\
|
||||
|
||||
OPEN 'TUBE' TO TubeTable ELSE
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
OPEN 'REACT_ITEM' TO ReactItemTable ELSE
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
OPEN 'REACT_ITEM_HIST' TO ReactItemHistTable ELSE
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
|
||||
OPEN 'REACT_GRAPHITE' TO ReactGraphiteTable ELSE
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
OPEN 'REACTOR_LOG' TO ReactLogTable ELSE
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
OPEN 'DICT.REACT_ITEM' TO DictReactItem ELSE
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
|
||||
SELECT ReactItemTable
|
||||
|
||||
Done = 0
|
||||
LOOP
|
||||
READNEXT RINo ELSE Done = 1
|
||||
UNTIL Done
|
||||
READ ReactItemRec FROM ReactItemTable,RINo THEN
|
||||
|
||||
IF ReactItemRec<REACT_ITEM_RI_TYPE$> = 'T' THEN
|
||||
|
||||
SerialNo = ReactItemRec<REACT_ITEM_SERIAL_NO$>
|
||||
Serial = ReactItemRec<REACT_ITEM_SERIAL$>
|
||||
|
||||
IF SerialNo = '' AND Serial NE '' THEN
|
||||
ReactItemRec<REACT_ITEM_SERIAL_NO$> = Serial
|
||||
|
||||
*WRITE ReactItemRec ON ReactITemTable,RINo THEN
|
||||
Send_Dyn(RINo:' ':ReactItemRec<REACT_ITEM_SERIAL$>:' -> ':ReactItemRec<REACT_ITEM_SERIAL_NO$>)
|
||||
*END
|
||||
END
|
||||
|
||||
|
||||
|
||||
END ;* End of check for Tube records
|
||||
|
||||
END ;* End of item read
|
||||
|
||||
REPEAT
|
||||
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
* * * * * * * * * * * * * * *
|
||||
|
||||
|
||||
RITypes = 'A':@FM:'G':@FM:'R':@FM:'RU':@FM:'RL':@FM:'S':@FM:'T':@FM:'W'
|
||||
|
||||
DEBUG
|
||||
|
||||
FOR I = 1 TO 8
|
||||
RIType = RITypes<I>
|
||||
FOR ReactNo = 20 TO 79
|
||||
|
||||
HistKeys = obj_React_Item_Hist('GetHistory',ReactNo:@RM:@RM:RIType)
|
||||
HistCnt = COUNT(HistKeys,@VM) + (HistKeys NE '')
|
||||
|
||||
IF HistCnt > 1 THEN
|
||||
|
||||
|
||||
OPEN 'REACT_ITEM_HIST' TO ReactItemHistTable ELSE
|
||||
ErrorMsg = 'Unable to OPEN "REACT_ITEM_HIST" for updates.'
|
||||
RETURN
|
||||
END
|
||||
|
||||
FOR N = 2 TO HistCnt
|
||||
HistKey = HistKeys<1,N>
|
||||
PrevHistKey = HistKeys<1,N-1>
|
||||
|
||||
READ HistRec FROM ReactItemHistTable,HistKey THEN
|
||||
|
||||
READ PrevHistRec FROM ReactItemHistTable,PrevHistKey THEN
|
||||
|
||||
*IF HistRec<REACT_ITEM_HIST_REM_DTM$> = '' THEN
|
||||
HistRec<REACT_ITEM_HIST_REM_DTM$> = FIELD(PrevHistKey,'*',3)
|
||||
HistRec<REACT_ITEM_HIST_REM_RL_ID$> = PrevHistRec<REACT_ITEM_HIST_INST_RL_ID$>
|
||||
HistRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$> = PrevHistRec<REACT_ITEM_HIST_INST_REACT_WFR_CNT$>
|
||||
HistRec<REACT_ITEM_HIST_REM_REACT_HRS$> = PrevHistRec<REACT_ITEM_HIST_INST_REACT_HRS$>
|
||||
HistRec<REACT_ITEM_HIST_REM_REASON$> = ''
|
||||
|
||||
|
||||
*WRITE HistRec ON ReactItemHistTable,HistKey THEN
|
||||
NULL
|
||||
*Send_Dyn('Closed: ':HistKey:' ':HistRec)
|
||||
*END
|
||||
*END
|
||||
|
||||
END ;* End of Closing History Record
|
||||
END ;* End of History Record Read
|
||||
|
||||
NEXT N ;* End of loop through History keys
|
||||
END ;* End of check for HistCnt > 1
|
||||
|
||||
|
||||
|
||||
NEXT ReactNo
|
||||
NEXT I
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
******* This data from the ReactorLog table *****
|
||||
|
||||
SELECT ReactLogTable
|
||||
|
||||
Done = 0
|
||||
RecCnt = 0
|
||||
FixCnt = 0
|
||||
SerialNos = ''
|
||||
RINos = ''
|
||||
NextRINo = 22090
|
||||
CutOffDt = ICONV('12/31/2008','D')
|
||||
|
||||
DummyKey = 100
|
||||
|
||||
LOOP
|
||||
READNEXT ReactLogNo ELSE Done = 1
|
||||
UNTIL Done
|
||||
RecCnt += 1
|
||||
|
||||
|
||||
READ ReactLogRec FROM ReactLogTable,ReactLogNo THEN
|
||||
IF ReactLogRec<REACTOR_LOG_ENTRY_DATE$> > CutOffDt THEN
|
||||
|
||||
ReactNo = ReactLogRec<REACTOR_LOG_REACTOR$>
|
||||
EndDt = OCONV(ReactLogRec<REACTOR_LOG_END_DATE$>,'D4/')
|
||||
EndTm = OCONV(ReactLogRec<REACTOR_LOG_END_TIME$>,'MTS')
|
||||
InstDtm = ICONV(EndDt:' ':EndTm,'DT')
|
||||
|
||||
|
||||
|
||||
ReactItemIDs = ReactLogRec<REACTOR_LOG_REACT_ITEM_IDS$>
|
||||
|
||||
testReactItemIDs = ReactItemIDs
|
||||
CONVERT @VM TO '' IN testReactItemIDs
|
||||
|
||||
IF testReactItemIDs NE '' THEN
|
||||
|
||||
siCnt = COUNT(ReactItemIDs,@VM) + (ReactItemIDs NE '')
|
||||
|
||||
|
||||
|
||||
FOR I = 1 TO siCnt
|
||||
IF ReactItemIDs<1,I> NE '' THEN
|
||||
|
||||
OrgSerialNo = ReactItemIDs<1,I>
|
||||
|
||||
SerialNo = OrgSerialNo
|
||||
IF SerialNo[1,1] = '#' THEN
|
||||
|
||||
SWAP '#' WITH 'No.' IN SerialNo
|
||||
END
|
||||
|
||||
SearchString = 'SERIAL':@VM:SerialNo:@FM
|
||||
|
||||
|
||||
Option = ''
|
||||
Flag = ''
|
||||
|
||||
Btree.Extract(SearchString,'REACT_ITEM',DictReactItem,RINo,Option,Flag)
|
||||
|
||||
IF INDEX(RINo,@VM,1) THEN
|
||||
*DEBUG
|
||||
Send_Dyn(SerialNo -> RINo)
|
||||
END
|
||||
|
||||
IF RINo = '' THEN
|
||||
|
||||
|
||||
/*
|
||||
ReactItemsRec = XLATE('REACT_ITEMS',OrgSerialNo,'','X')
|
||||
|
||||
IF ReactItemsRec = '' THEN
|
||||
Send_Dyn('RLNo: ':ReactLogNo:' Bad Serial No: ':SerialNo) ;* Junk data in REACTOR_LOG field
|
||||
END ELSE
|
||||
|
||||
Send_Dyn('Serial: ':SerialNo:' -> ':ReactItemsRec)
|
||||
|
||||
|
||||
LOCATE SerialNo IN SerialNos BY 'AR' USING @VM SETTING SPos THEN
|
||||
* Add History
|
||||
RINo = RINos<1,SPos>
|
||||
Send_Dyn(SerialNo:' <-> ':RINo)
|
||||
|
||||
END ELSE
|
||||
SerialNos = INSERT(SerialNos,1,SPos,0,SerialNo)
|
||||
|
||||
*RINo = NextRINo ;********************************************************
|
||||
*NextRINo += 1 ;********************************************************
|
||||
|
||||
RINo = NextKey('REACT_ITEM')
|
||||
RINos = INSERT(RINos,1,SPos,0,RINo)
|
||||
|
||||
ItemType = ReactItemsRec<REACT_ITEMS_GRAPHITE_OR_TUBE$>
|
||||
|
||||
ReactItemRec = ''
|
||||
ReactItemRec<REACT_ITEM_SERIAL$> = SerialNo
|
||||
ReactItemRec<REACT_ITEM_DESC$> = ReactItemsRec<REACT_ITEMS_DESCRIPTION$>
|
||||
ReactItemRec<REACT_ITEM_ENTER_BY$> = ReactItemsRec<REACT_ITEMS_ENTRY_ID$>
|
||||
ReactItemRec<REACT_ITEM_ENTER_DTM$> = ICONV(OCONV(ReactItemsRec<REACT_ITEMS_ENTRY_DATE$>,'D4/'):' 00:12:00','DT')
|
||||
ReactItemRec<REACT_ITEM_RI_TYPE$> = ReactItemsRec<REACT_ITEMS_GRAPHITE_OR_TUBE$>
|
||||
|
||||
RetireDt = ReactItemsRec<REACT_ITEMS_INACTIVE_DATE$>
|
||||
|
||||
IF RetireDt NE '' THEN
|
||||
ReactItemRec<REACT_ITEM_RETIRE_BY$> = 'BRYCE_BARB'
|
||||
END
|
||||
|
||||
ReactItemRec<REACT_ITEM_RETIRE_DT$> = RetireDt
|
||||
|
||||
WRITE ReactItemRec ON ReactItemTable,RINo THEN
|
||||
Send_Dyn('Serial: ':SerialNo:' -> ':RINo:' / ':ReactItemRec)
|
||||
END
|
||||
END ;* End of check for existing Serial No
|
||||
|
||||
|
||||
|
||||
END
|
||||
*/
|
||||
|
||||
END ELSE
|
||||
|
||||
|
||||
RIHKey = ReactNo:'*':RINo:'*':InstDTM
|
||||
READ ReactItemHistRec FROM ReactItemHistTable,RIHKey ELSE
|
||||
|
||||
ReactHistRec = ''
|
||||
ReactHistRec<REACT_ITEM_HIST_INST_RL_ID$> = ReactLogNo
|
||||
ReactHistRec<REACT_ITEM_HIST_INST_REACT_WFR_CNT$> = ReactLogRec<REACTOR_LOG_REACT_WAFER_CNT$>
|
||||
ReactHistRec<REACT_ITEM_HIST_INST_REACT_HRS$> = ReactLogRec<REACTOR_LOG_REACTORHOURS$>
|
||||
|
||||
FixCnt += 1
|
||||
WRITE ReactHistRec ON ReactItemHistTable,RIHKey THEN
|
||||
Send_Dyn(FixCnt:' ':RIHKey)
|
||||
END
|
||||
END
|
||||
END
|
||||
END
|
||||
NEXT I
|
||||
|
||||
END
|
||||
END ;* End of check for EntryDate
|
||||
END ;* End of ReactLogRec Read
|
||||
|
||||
Send_Info(RecCnt:" - ":FixCnt)
|
||||
|
||||
REPEAT
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
GOTO Bail
|
||||
* * * *
|
||||
|
||||
|
||||
******************************************************
|
||||
|
||||
FOR ReactNo = 20 TO 74
|
||||
|
||||
|
||||
RIType = 'W'
|
||||
|
||||
HistKeys = obj_React_Item_Hist('GetHistory',ReactNo:@RM:@RM:RIType)
|
||||
HistCnt = COUNT(HistKeys,@VM) + (HistKeys NE '')
|
||||
|
||||
IF HistCnt > 1 THEN
|
||||
|
||||
FOR N = 2 TO HistCnt
|
||||
HistKey = HistKeys<1,N>
|
||||
PrevHistKey = HistKeys<1,N-1>
|
||||
|
||||
READ HistRec FROM ReactItemHistTable,HistKey THEN
|
||||
|
||||
READ PrevHistRec FROM ReactItemHistTable,PrevHistKey THEN
|
||||
|
||||
|
||||
HistRec<REACT_ITEM_HIST_REM_DTM$> = FIELD(PrevHistKey,'*',3)
|
||||
HistRec<REACT_ITEM_HIST_REM_RL_ID$> = PrevHistRec<REACT_ITEM_HIST_INST_RL_ID$>
|
||||
HistRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$> = PrevHistRec<REACT_ITEM_HIST_INST_REACT_WFR_CNT$>
|
||||
HistRec<REACT_ITEM_HIST_REM_REACT_HRS$> = PrevHistRec<REACT_ITEM_HIST_INST_REACT_HRS$>
|
||||
HistRec<REACT_ITEM_HIST_REM_REASON$> = ''
|
||||
|
||||
|
||||
*WRITE HistRec ON ReactItemHistTable,HistKey THEN
|
||||
Send_Dyn(ReactNo:' Closed: ':HistKey:' ':HistRec)
|
||||
*END
|
||||
|
||||
|
||||
END ;* End of Closing History Record
|
||||
END ;* End of History Record Read
|
||||
|
||||
NEXT N ;* End of loop through History keys
|
||||
END ;* End of check for HistCnt > 1
|
||||
NEXT ReactNo
|
||||
|
||||
GOTO Bail
|
||||
|
||||
GOTO Bail
|
||||
|
||||
************************************
|
||||
|
||||
SELECT ReactGraphiteTable
|
||||
|
||||
Done = 0
|
||||
RecCnt = 0
|
||||
|
||||
LOOP
|
||||
READNEXT RGKey ELSE Done = 1
|
||||
UNTIL Done
|
||||
READ RGRec FROM ReactGraphiteTable,RGKey THEN
|
||||
|
||||
ReactNo = RGKey[1,'*']
|
||||
GRType = RGKey[COL2()+1,'*'] ;* Not used in REACT_HIST_EQUATES
|
||||
InstDTM = RGKey[COL2()+1,'*']
|
||||
|
||||
RINo = RGRec<REACT_GRAPHITE_GR_NO$>
|
||||
|
||||
RIHKey = ReactNo:'*':RINo:'*':InstDTM
|
||||
|
||||
RIHRec = ''
|
||||
RIHRec<REACT_ITEM_HIST_INST_RL_ID$> = RGRec<REACT_GRAPHITE_INST_RL_ID$>
|
||||
RIHRec<REACT_ITEM_HIST_INST_REACT_WFR_CNT$> = RGRec<REACT_GRAPHITE_INST_REACT_WFR_CNT$>
|
||||
RIHRec<REACT_ITEM_HIST_INST_REACT_HRS$> = RGRec<REACT_GRAPHITE_INST_REACT_HRS$>
|
||||
RIHRec<REACT_ITEM_HIST_REM_DTM$> = RGRec<REACT_GRAPHITE_REM_DTM$>
|
||||
RIHRec<REACT_ITEM_HIST_REM_RL_ID$> = RGRec<REACT_GRAPHITE_REM_RL_ID$>
|
||||
|
||||
RIHRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$> = RGRec<REACT_GRAPHITE_REM_REACT_WFR_CNT$>
|
||||
RIHRec<REACT_ITEM_HIST_REM_REACT_HRS$> = RGRec<REACT_GRAPHITE_REM_REACT_HRS$>
|
||||
RIHRec<REACT_ITEM_HIST_REM_REASON$> = ''
|
||||
|
||||
*WRITE RIHRec ON ReactItemHistTable,RIHKey THEN
|
||||
RecCnt += 1
|
||||
Send_Info(RecCnt)
|
||||
*END
|
||||
|
||||
|
||||
|
||||
END ;* End of RGRecord read
|
||||
|
||||
REPEAT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Bail:
|
||||
* * * * * * *
|
||||
|
||||
END
|
Reference in New Issue
Block a user