added LSL2 stored procedures
This commit is contained in:
306
LSL2/STPROC/SCHED.txt
Normal file
306
LSL2/STPROC/SCHED.txt
Normal file
@ -0,0 +1,306 @@
|
||||
COMPILE FUNCTION Sched(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
/*
|
||||
Commuter module for SCHED (Reactor Schedule) window
|
||||
|
||||
06/30/2014 - John C. Henry, J.C. Henry & Co., Inc.
|
||||
*/
|
||||
|
||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status,ErrMsg, obj_Appwindow
|
||||
|
||||
DECLARE FUNCTION Msg, obj_Appwindow, Get_Property, Send_Message, obj_Tables, Post_Event, MemberOf
|
||||
|
||||
$INSERT APPCOLORS
|
||||
$INSERT SCHED_EQUATES
|
||||
$INSERT SCHED_DET_EQUATES
|
||||
|
||||
EQU COL$SEQ TO 1
|
||||
EQU COL$WO_NO TO 2
|
||||
EQU COL$WO_STEP TO 3
|
||||
EQU COL_CUST_NAME TO 4
|
||||
EQU COL_DESC TO 5
|
||||
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
EQU TAB$ TO \09\
|
||||
|
||||
|
||||
|
||||
ErrTitle = 'Error in Sched Commuter'
|
||||
ErrorMsg = ''
|
||||
|
||||
Result = ''
|
||||
|
||||
|
||||
BEGIN CASE
|
||||
CASE EntID = @WINDOW
|
||||
BEGIN CASE
|
||||
CASE Event = 'CLEAR' ; GOSUB Clear
|
||||
CASE Event = 'CREATE' ; GOSUB Create
|
||||
CASE Event = 'CLOSE' ; GOSUB Close
|
||||
CASE Event = 'WRITE' ; GOSUB Write
|
||||
CASE Event = 'READ' ; GOSUB Read
|
||||
CASE Event[1,3] = 'QBF' ; GOSUB Refresh
|
||||
END CASE
|
||||
|
||||
|
||||
CASE EntID = @WINDOW:'.NEW_BUTTON' AND Event = 'CLICK' ; GOSUB AddNew
|
||||
CASE EntID = @WINDOW:'.REORDER' AND Event = 'CLICK' ; GOSUB MoveUp
|
||||
|
||||
|
||||
CASE EntID = @WINDOW:'.SCHED_DETAIL'
|
||||
BEGIN CASE
|
||||
CASE Event = 'POSCHANGED' ; GOSUB DetailPC
|
||||
CASE Event = 'DBLCLK' ; GOSUB DetailDC
|
||||
END CASE
|
||||
|
||||
|
||||
CASE 1
|
||||
|
||||
ErrorMsg = 'Unknown Parameters ':EntID:' - ':Event:' passed to commuter'
|
||||
ErrMsg(ErrorMsg)
|
||||
|
||||
END CASE
|
||||
|
||||
IF ErrorMsg NE '' THEN
|
||||
ErrMsg(ErrTitle:@SVM:ErrorMsg)
|
||||
END
|
||||
|
||||
RETURN Result
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Create:
|
||||
* * * * * * *
|
||||
|
||||
obj_Appwindow('Create',@WINDOW)
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Read:
|
||||
* * * * * * *
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Clear:
|
||||
* * * * * * *
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
* * * * * * *
|
||||
Write:
|
||||
* * * * * * *
|
||||
|
||||
*void = Post_Event(@WINDOW,'CLOSE')
|
||||
|
||||
RETURN 1
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Close:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Refresh:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.SCHED_DETAIL'
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
IF CurrRow > 1 THEN Prop = 1 ELSE Prop = 0
|
||||
Set_Property(@WINDOW:'.REORDER','ENABLED',Prop)
|
||||
|
||||
|
||||
* Turn edit table symbolic column backgrounds to green
|
||||
|
||||
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
|
||||
|
||||
ETCtrls = ETSymbolics<1>
|
||||
ETCols = ETSymbolics<2>
|
||||
|
||||
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
|
||||
ETCtrl = ETCtrls<1,I>
|
||||
|
||||
ETList = Get_Property(ETCtrl,'LIST')
|
||||
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
|
||||
IF ETList<Line,1> NE '' THEN
|
||||
FOR N = 1 TO COUNT(ETCols<1,I>,@SVM) + (ETCols<1,I> NE '')
|
||||
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,I,N>,Line,GREEN$)
|
||||
NEXT N
|
||||
END
|
||||
NEXT Line
|
||||
|
||||
NEXT I
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
DetailPC:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.SCHED_DETAIL'
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
IF CurrRow > 1 THEN Prop = 1 ELSE Prop = 0
|
||||
Set_Property(@WINDOW:'.REORDER','ENABLED',Prop)
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
*********
|
||||
DetailDC:
|
||||
*********
|
||||
|
||||
if (MemberOf(@USER4, "MASTER_SCHED") OR MemberOf(@USER4, "OI_ADMIN")) then
|
||||
|
||||
CtrlEntID = @WINDOW:'.SCHED_DETAIL'
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
ReactNo = Get_Property(@WINDOW:'.REACT_NO','DEFPROP')
|
||||
SchedDt = ICONV(Get_Property(@WINDOW:'.SCHED_DT','TEXT'),'D')
|
||||
|
||||
IF ((ReactNo NE '') AND (SchedDt NE '')) THEN
|
||||
|
||||
SchedSeq = Get_Property(CtrlEntID,'CELLPOS',COL$SEQ:@FM:CurrRow)
|
||||
|
||||
IF (SchedSeq NE '') THEN
|
||||
|
||||
SchedDetKey = ReactNo:'*':SchedDt:'*':SchedSeq
|
||||
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
|
||||
DetWindow = 'SCHED_DET'
|
||||
DetKeys = SchedDetKey
|
||||
DefaultRec = ''
|
||||
RetKey = ReactNo:'*':SchedDt
|
||||
RetWin = @WINDOW
|
||||
RetPage = 1
|
||||
RetCtrl = CtrlEntID
|
||||
RetPos = CurrPos
|
||||
|
||||
obj_Appwindow('ViewNewDetail',DetWindow:@RM:DetKeys:@RM:DefaultRec:@RM:RetKey:@RM:RetPage:@RM:RetCtrl:@RM:RetPos)
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
AddNew:
|
||||
* * * * * * *
|
||||
|
||||
ReactNo = Get_Property(@WINDOW:'.REACT_NO','DEFPROP')
|
||||
SchedDt = ICONV(Get_Property(@WINDOW:'.SCHED_DT','TEXT'),'D')
|
||||
|
||||
IF ReactNo = '' OR SchedDt = '' THEN RETURN
|
||||
|
||||
CtrlEntID = @WINDOW:'.SCHED_DETAIL'
|
||||
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
SeqNos = Get_Property(CtrlEntID,'ARRAY')<COL$SEQ>
|
||||
|
||||
LOOP
|
||||
UNTIL SeqNos[-1,1] NE @VM OR SeqNos = ''
|
||||
SeqNos[-1,1] = ''
|
||||
REPEAT
|
||||
|
||||
LastSeq = SeqNos[-1,'B':@VM]
|
||||
|
||||
IF LastSeq = '' THEN LastSeq = 0
|
||||
|
||||
NextSeq = LastSeq + 1
|
||||
|
||||
SchedDetKey = ReactNo:'*':SchedDt:'*':NextSeq
|
||||
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
|
||||
DetWindow = 'SCHED_DET'
|
||||
DetKeys = SchedDetKey
|
||||
DefaultRec = ''
|
||||
RetKey = ReactNo:'*':SchedDt
|
||||
RetWin = @WINDOW
|
||||
RetPage = 1
|
||||
RetCtrl = CtrlEntID
|
||||
RetPos = CurrPos
|
||||
|
||||
obj_Appwindow('ViewNewDetail',DetWindow:@RM:DetKeys:@RM:DefaultRec:@RM:RetKey:@RM:RetPage:@RM:RetCtrl:@RM:RetPos)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
MoveUp:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.SCHED_DETAIL'
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
ReactNo = Get_Property(@WINDOW:'.REACT_NO','DEFPROP')
|
||||
SchedDt = ICONV(Get_Property(@WINDOW:'.SCHED_DT','TEXT'),'D')
|
||||
|
||||
IF ReactNo = '' OR SchedDt = '' THEN RETURN
|
||||
|
||||
CurrList = Get_Property(CtrlEntID,'LIST')
|
||||
|
||||
CurrSeq = CurrList<CurrRow,COL$SEQ>
|
||||
PrevSeq = CurrList<CurrRow - 1,COL$SEQ>
|
||||
|
||||
CurrKey = ReactNo:'*':SchedDt:'*':CurrSeq
|
||||
PrevKey = ReactNo:'*':SchedDt:'*':PrevSeq
|
||||
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
|
||||
otParms = 'SCHED_DET':@RM:CurrKey
|
||||
CurrRec = obj_Tables('ReadRec',otParms)
|
||||
|
||||
otParms = 'SCHED_DET':@RM:PrevKey
|
||||
PrevRec = obj_Tables('ReadRec',otParms)
|
||||
|
||||
otParms = 'SCHED_DET':@RM:PrevKey:@RM:@RM:CurrRec
|
||||
void = obj_Tables('WriteRec',otParms)
|
||||
|
||||
otParms = 'SCHED_DET':@RM:CurrKey:@RM:@RM:PrevRec
|
||||
void = obj_Tables('WriteRec',otParms)
|
||||
|
||||
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:ReactNo:'*':SchedDt)
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user