added LSL2 stored procedures
This commit is contained in:
356
LSL2/STPROC/LOAD_REACT_EVENT.txt
Normal file
356
LSL2/STPROC/LOAD_REACT_EVENT.txt
Normal file
@ -0,0 +1,356 @@
|
||||
COMPILE ROUTINE LOAD_REACT_EVENT(Dummy)
|
||||
ROWDEF (CHARSTR)
|
||||
|
||||
DECLARE SUBROUTINE SEND_INFO, SEND_DYN, Utility, msg, obj_React_Event, RList
|
||||
|
||||
$INSERT RLIST_EQUATES
|
||||
$INSERT REACT_UTIL_EQU
|
||||
$INSERT REACT_EVENT_EQUATES
|
||||
$INSERT REACTOR_LOG_EQUATES
|
||||
$INSERT REACT_ESC_EQUATES
|
||||
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
EQU TAB$ TO \09\
|
||||
|
||||
|
||||
OPEN 'REACT_EVENT' TO REventTable ELSE
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
OPEN 'REACTOR_LOG' TO RLogTable ELSE
|
||||
DEBUG
|
||||
GOTO BAil
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
* REACTOR_LOG table postings
|
||||
|
||||
|
||||
SelectSent = 'SELECT REACTOR_LOG WITH END_DATE >= "1/1/2011"'
|
||||
|
||||
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
||||
|
||||
|
||||
DEBUG
|
||||
|
||||
Done = 0
|
||||
|
||||
LOOP
|
||||
READNEXT RLogKey ELSE Done = 1
|
||||
UNTIL Done
|
||||
READ RLogRec FROM RLogTable,RLogKey THEN
|
||||
|
||||
IF RLogRec<REACTOR_LOG_CATEGORY$> = 'M' THEN
|
||||
|
||||
DEBUG
|
||||
|
||||
ReactNo = RLogRec<REACTOR_LOG_REACTOR$>
|
||||
|
||||
EndDt = RLogRec<REACTOR_LOG_END_DATE$>
|
||||
EndTm = RLogRec<REACTOR_LOG_END_TIME$>
|
||||
|
||||
exEndDTM = OCONV(EndDt,'D4/'):' ':OCONV(EndTm,'MTS')
|
||||
|
||||
EndDTM = ICONV(exEndDTM,'DT')
|
||||
|
||||
READ REventRec FROM REventTAble,ReactNo:'*'EndDTM THEN
|
||||
debug
|
||||
|
||||
END
|
||||
|
||||
LogUser = RLRec<REACTOR_LOG_ENTRY_ID$>
|
||||
|
||||
LogUser = OCONV(LogUser,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
|
||||
Note = XLATE('REACTOR_LOG',LogKey,REACTOR_LOG_NOTES$,'X')
|
||||
|
||||
* Data coming in with CRLF$ delimiters, T# formatting doesn't deal well with this.
|
||||
* Divide into Items and text format them individually and reassemble it
|
||||
|
||||
SWAP CRLF$ WITH @VM IN Note
|
||||
FormattedNote = ''
|
||||
ItemCnt = COUNT(Note,@VM) + (Note NE '')
|
||||
|
||||
FOR N = 1 TO ItemCnt
|
||||
Item = Note<1,N>
|
||||
FormattedNote<1,N> = OCONV(Item,'T#100')
|
||||
NEXT N
|
||||
|
||||
CONVERT @VM TO @TM IN FormattedNote
|
||||
Note = FormattedNote
|
||||
|
||||
|
||||
IF Types = '' THEN
|
||||
Types = 'MTC'
|
||||
TypeUsers = LogUser
|
||||
TypeNotes = Note
|
||||
END ELSE
|
||||
Types = 'COMB'
|
||||
TypeUsers = LogUser
|
||||
TypeNotes := @TM:STR('- ',20):@TM:Note
|
||||
END
|
||||
END ;* End of check for Maintenance record
|
||||
END ;* End of REACTOR_LOG record read
|
||||
REPEAT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
* * * * * * * * *
|
||||
|
||||
FixCnt = 0
|
||||
Done = 0
|
||||
LOOP
|
||||
READNEXT ReactEventKey ELSE Done = 1
|
||||
UNTIL Done
|
||||
READ ReactEventRec FROM ReactEventTable,ReactEventKey THEN
|
||||
FixCnt += 1
|
||||
|
||||
/*
|
||||
|
||||
ReactNo = ReactEventKey[1,'*']
|
||||
StartDTM = ReactEventKey[COL2()+1,'*']
|
||||
|
||||
ReactModeKey = ReactEventRec<REACT_EVENT_REACT_MODE_KEY$>
|
||||
MaintKey = ReactEventRec<REACT_EVENT_REACT_LOG_KEY$>
|
||||
PDKey = ReactEventRec<REACT_EVENT_REACT_LOG_PD_KEY$>
|
||||
EscStartKey = ReactEventRec<REACT_EVENT_REACT_ESC_START_KEY$>
|
||||
EscStopKey = ReactEventRec<REACT_EVENT_REACT_ESC_STOP_KEY$>
|
||||
|
||||
RelatedKeyList = ''
|
||||
KeyNameList = ''
|
||||
|
||||
IF ReactModeKey NE '' THEN
|
||||
RelatedKeyList<1,-1> = ReactModeKey
|
||||
KeyNameList<1,-1> = 'ReactMode'
|
||||
END
|
||||
|
||||
IF MaintKey NE '' THEN
|
||||
RelatedKeyList<1,-1> = MaintKey
|
||||
KeyNameList<1,-1> = 'RLMaintKey'
|
||||
END
|
||||
IF PDKey NE '' THEN
|
||||
RelatedKeyList<1,-1> = PDKey
|
||||
KeyNameList<1,-1> = 'Passdown'
|
||||
END
|
||||
|
||||
IF EscStartKey NE '' THEN
|
||||
RelatedKeyList<1,-1> = EscStartKey
|
||||
KeyNameList<1,-1> = 'Esc Start'
|
||||
END
|
||||
|
||||
IF EscStopKey NE '' THEN
|
||||
RelatedKeyList<1,-1> = EscStopKey
|
||||
KeyNameList<1,-1> = 'Esc Stop'
|
||||
END
|
||||
|
||||
RLCnt = COUNT(RelatedKeyList,@VM) + (RelatedKeyList NE '')
|
||||
|
||||
IF RLCnt > 1 THEN
|
||||
DEBUG
|
||||
Send_Dyn(ReactNo:' ':OCONV(StartDTM,'DT4/^HS'):' ':KeyNameList:' ':RelatedKeyList)
|
||||
END
|
||||
|
||||
Send_Info(FixCnt)
|
||||
|
||||
GOTO SkipIt
|
||||
/*
|
||||
Types = ''
|
||||
TypeUsers = ''
|
||||
TypeNotes = ''
|
||||
|
||||
|
||||
IF ReactEventRec<REACT_EVENT_REACT_MODE_KEY$> NE '' THEN
|
||||
|
||||
ModeKey = ReactEventRec<REACT_EVENT_REACT_MODE_KEY$>
|
||||
ModeRec = XLATE('REACT_MODE',ModeKey,'','X')
|
||||
Mode = OCONV(ModeRec<REACT_MODE_MODE$ >,'[REACT_MODE_CONV]')
|
||||
StartNote = ModeRec<REACT_MODE_START_NOTE$>
|
||||
|
||||
StartUser = ModeRec<REACT_MODE_START_USER$>
|
||||
StartUser = OCONV(StartUser,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
|
||||
Note = 'Mode: ':Mode:@TM:OCONV(ModeRec<REACT_MODE_START_NOTE$>,'T#100')
|
||||
|
||||
IF Types = '' THEN
|
||||
Types = 'MODE'
|
||||
TypeUsers = StartUser
|
||||
TypeNotes = Note
|
||||
|
||||
END ELSE
|
||||
Types = 'COMB'
|
||||
TypeUsers = StartUser
|
||||
TypeNotes := @TM:STR('- ',20):@TM:Note
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
IF ReactEventRec<REACT_EVENT_REACT_LOG_KEY$> NE '' THEN
|
||||
LogKey = ReactEventRec<REACT_EVENT_REACT_LOG_KEY$>
|
||||
|
||||
LogUser = XLATE('REACTOR_LOG',LogKey,REACTOR_LOG_ENTRY_ID$,'X')
|
||||
LogUser = OCONV(LogUser,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
|
||||
Note = XLATE('REACTOR_LOG',LogKey,REACTOR_LOG_NOTES$,'X')
|
||||
|
||||
* Data coming in with CRLF$ delimiters, T# formatting doesn't deal well with this.
|
||||
* Divide into Items and text format them individually and reassemble it
|
||||
|
||||
SWAP CRLF$ WITH @VM IN Note
|
||||
FormattedNote = ''
|
||||
ItemCnt = COUNT(Note,@VM) + (Note NE '')
|
||||
|
||||
FOR N = 1 TO ItemCnt
|
||||
Item = Note<1,N>
|
||||
FormattedNote<1,N> = OCONV(Item,'T#100')
|
||||
NEXT N
|
||||
|
||||
CONVERT @VM TO @TM IN FormattedNote
|
||||
Note = FormattedNote
|
||||
|
||||
|
||||
IF Types = '' THEN
|
||||
Types = 'MTC'
|
||||
TypeUsers = LogUser
|
||||
TypeNotes = Note
|
||||
END ELSE
|
||||
Types = 'COMB'
|
||||
TypeUsers = LogUser
|
||||
TypeNotes := @TM:STR('- ',20):@TM:Note
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
IF ReactEventRec<REACT_EVENT_REACT_LOG_PD_KEY$> NE '' THEN
|
||||
LogKey = ReactEventRec<REACT_EVENT_REACT_LOG_PD_KEY$>
|
||||
|
||||
LogUser = XLATE('REACTOR_LOG',LogKey,REACTOR_LOG_ENTRY_ID$,'X')
|
||||
LogUser = OCONV(LogUser,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
|
||||
Note = XLATE('REACTOR_LOG',LogKey,REACTOR_LOG_NOTES$,'X')
|
||||
|
||||
* Data coming in with CRLF$ delimiters, T# formatting doesn't deal well with this.
|
||||
* Divide into Items and text format them individually and reassemble it
|
||||
|
||||
SWAP CRLF$ WITH @VM IN Note
|
||||
FormattedNote = ''
|
||||
ItemCnt = COUNT(Note,@VM) + (Note NE '')
|
||||
|
||||
FOR N = 1 TO ItemCnt
|
||||
Item = Note<1,N>
|
||||
FormattedNote<1,N> = OCONV(Item,'T#100')
|
||||
NEXT N
|
||||
|
||||
CONVERT @VM TO @TM IN FormattedNote
|
||||
Note = FormattedNote
|
||||
|
||||
|
||||
IF Types = '' THEN
|
||||
Types = 'PD'
|
||||
TypeUsers = LogUser
|
||||
TypeNotes = Note
|
||||
END ELSE
|
||||
Types = 'COMB'
|
||||
TypeUsers = LogUser
|
||||
TypeNotes := @TM:STR('- ',20):@TM:Note
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
IF ReactEventRec<REACT_EVENT_REACT_ESC_START_KEY$> NE '' THEN
|
||||
EscKey = ReactEventRec<REACT_EVENT_REACT_ESC_START_KEY$>
|
||||
|
||||
EscUser = XLATE('REACT_ESC',EscKey,REACT_ESC_START_USER$,'X')
|
||||
EscUser = OCONV(EscUser,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
|
||||
Note = XLATE('REACT_ESC',EscKey,REACT_ESC_START_REASON$,'X')
|
||||
|
||||
SWAP CRLF$ WITH @VM IN Note
|
||||
FormattedNote = ''
|
||||
ItemCnt = COUNT(Note,@VM) + (Note NE '')
|
||||
|
||||
FOR N = 1 TO ItemCnt
|
||||
Item = Note<1,N>
|
||||
FormattedNote<1,N> = OCONV(Item,'T#100')
|
||||
NEXT N
|
||||
|
||||
CONVERT @VM TO @TM IN FormattedNote
|
||||
Note = FormattedNote
|
||||
|
||||
IF Types = '' THEN
|
||||
Types = 'ESTR'
|
||||
TypeUsers = EscUser
|
||||
TypeNotes = Note
|
||||
END ELSE
|
||||
Types = 'COMB'
|
||||
TypeUsers = EscUser
|
||||
TypeNotes := @TM:STR('- ',20):@TM:Note
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
IF ReactEventRec<REACT_EVENT_REACT_ESC_STOP_KEY$> NE '' THEN
|
||||
EscKey = ReactEventRec<REACT_EVENT_REACT_ESC_STOP_KEY$>
|
||||
|
||||
EscUser = XLATE('REACT_ESC',EscKey,REACT_ESC_STOP_USER$,'X')
|
||||
EscUser = OCONV(EscUser,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
|
||||
Note = XLATE('REACT_ESC',EscKey,REACT_ESC_STOP_REASON$,'X')
|
||||
|
||||
SWAP CRLF$ WITH @VM IN Note
|
||||
FormattedNote = ''
|
||||
ItemCnt = COUNT(Note,@VM) + (Note NE '')
|
||||
|
||||
FOR N = 1 TO ItemCnt
|
||||
Item = Note<1,N>
|
||||
FormattedNote<1,N> = OCONV(Item,'T#100')
|
||||
NEXT N
|
||||
|
||||
CONVERT @VM TO @TM IN FormattedNote
|
||||
Note = FormattedNote
|
||||
|
||||
IF Types = '' THEN
|
||||
Types = 'ESTP'
|
||||
TypeUsers = EscUser
|
||||
TypeNotes = Note
|
||||
END ELSE
|
||||
Types = 'COMB'
|
||||
TypeUsers = EscUser
|
||||
TypeNotes := @TM:STR('- ',20):@TM:Note
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
**********************************************
|
||||
WRITE ReactEventRec ON ReactEventTable,ReactEventKey THEN
|
||||
FixCnt += 1
|
||||
Send_Info(FixCnt:' ':ReactEventKey:' ':OCONV(EventDTM,'DT4/^HS'):' Updated from REACT_UTIL')
|
||||
END
|
||||
END
|
||||
*/
|
||||
|
||||
END
|
||||
|
||||
SkipIt:
|
||||
|
||||
REPEAT
|
||||
|
||||
|
||||
|
||||
|
||||
*UNLOCK All
|
||||
|
||||
* * * * * * *
|
||||
Bail:
|
||||
* * * * * * *
|
||||
|
||||
END
|
Reference in New Issue
Block a user