added LSL2 stored procedures
This commit is contained in:
272
LSL2/STPROC/COMM_VISION_COMM.txt
Normal file
272
LSL2/STPROC/COMM_VISION_COMM.txt
Normal file
@ -0,0 +1,272 @@
|
||||
COMPILE FUNCTION Comm_Vision_Comm( Instruction, Parm1 )
|
||||
|
||||
/*
|
||||
Commuter Module for Vision Communications Window
|
||||
|
||||
J.C. Henry, Inc. - John C. Henry
|
||||
|
||||
*/
|
||||
|
||||
DECLARE SUBROUTINE Center_Window,StatusLine,Set_Property,End_Dialog, Send_Event, Set_Status, Adios, obj_Vision, obj_Notes, obj_Post_Log
|
||||
DECLARE SUBROUTINE ErrMsg, Send_Message, obj_Tables, Post_Event, Send_INfo, ShowWindow, obj_Appwindow, Send_Dyn,ErrLog, obj_WO_Mat_Log
|
||||
DECLARE SUBROUTINE obj_Calib_List
|
||||
DECLARE FUNCTION Get_Property, Get_Status,Dialog_Box, FindWindow, Utility
|
||||
|
||||
$INSERT QUOTE_SIGS_EQU
|
||||
$INSERT NOTIFICATION_EQU
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
|
||||
EQU TRUE$ TO 1
|
||||
EQU FALSE$ TO 2
|
||||
|
||||
$INSERT ENVIRON_CONSTANTS
|
||||
|
||||
ErrTitle = 'Error in Comm_Vision_Comm routine'
|
||||
ErrorMsg = ''
|
||||
|
||||
|
||||
Instructions = 'Create'
|
||||
Instructions := @FM:'Timer'
|
||||
Instructions := @FM:'StartStop'
|
||||
Instructions := @FM:'CommStartStop'
|
||||
Instructions := @FM:'Close'
|
||||
|
||||
RetVal = ''
|
||||
|
||||
|
||||
BEGIN CASE
|
||||
CASE Instruction = 'Create' ; GOSUB Create
|
||||
CASE Instruction = 'Timer' ; GOSUB Timer
|
||||
CASE Instruction = 'StartStop' ; GOSUB StartStop
|
||||
CASE Instruction = 'VisionStartStop' ; GOSUB VisionStartStop
|
||||
CASE Instruction = 'Close' ; GOSUB Close
|
||||
CASE 1
|
||||
ErrorMsg = 'Unknown Instruction ':QUOTE(Instruction):' passed to routine'
|
||||
|
||||
END CASE
|
||||
|
||||
|
||||
IF ErrorMsg NE '' THEN
|
||||
ErrMsg(ErrTitle:@SVM:ErrorMsg)
|
||||
END
|
||||
|
||||
|
||||
RETURN RetVal
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Create:
|
||||
* * * * * * *
|
||||
|
||||
ErrMsg('This is deprecated... Bye')
|
||||
|
||||
GOTO Close
|
||||
|
||||
|
||||
obj_Appwindow('Create',@WINDOW)
|
||||
|
||||
otParms = 'SYSOBJ':@RM:'VISION_COMM'
|
||||
obj_Tables('LockRec',otParms) ;* Places lock on fictional record
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrorMsg = ErrTitle:@SVM:'Another Vision Communications Server is already running.'
|
||||
ErrMsg(ErrorMsg)
|
||||
Post_Event(@WINDOW,'CLOSE')
|
||||
RETURN
|
||||
END
|
||||
|
||||
Set_Property(@WINDOW,'@LOCKED',1) ;* Set ad-hoc property '@LOCKED' to true
|
||||
Set_Property(@WINDOW,'TIMER','1000':@FM:'0') ;* Set timer event to 5000 msecs (5 seconds) to check Inbound data from Vision
|
||||
|
||||
|
||||
* Show engine window when running on a runtime JCH
|
||||
|
||||
*OpenEngineHandle = FindWindow("AREV":\00\,0)
|
||||
*ShowWindow(OpenEngineHandle,1)
|
||||
|
||||
|
||||
* No return on create -> automatically starts communications server
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
* * * * * * *
|
||||
StartStop:
|
||||
* * * * * * *
|
||||
|
||||
StartStop = Get_Property(@WINDOW:'.START_STOP_BUTTON','TEXT')
|
||||
|
||||
IF StartStop[1,4] = 'Stop' THEN
|
||||
|
||||
* Server is running
|
||||
|
||||
Set_Property(@WINDOW:'.START_STOP_BUTTON','TEXT', 'Start Monitor')
|
||||
Set_Property(@WINDOW:'.CLOSE_BUTTON','ENABLED',1)
|
||||
|
||||
Set_Property(@WINDOW:'.COMM_START_STOP_BUTTON', 'TEXT', 'Start Vision Communications')
|
||||
Set_Property(@WINDOW:'.COMM_START_STOP_BUTTON','ENABLED',0)
|
||||
|
||||
END ELSE
|
||||
|
||||
Set_Property(@WINDOW:'.START_STOP_BUTTON','TEXT', 'Stop Monitor')
|
||||
Set_Property(@WINDOW:'.CLOSE_BUTTON','ENABLED',0)
|
||||
|
||||
Set_Property(@WINDOW:'.COMM_START_STOP_BUTTON','TEXT', 'Stop Vision Communications')
|
||||
Set_Property(@WINDOW:'.COMM_START_STOP_BUTTON','ENABLED',1)
|
||||
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
* * * * * * *
|
||||
VisionStartStop:
|
||||
* * * * * * *
|
||||
|
||||
CommStartStop = Get_Property(@WINDOW:'.COMM_START_STOP_BUTTON','TEXT')
|
||||
|
||||
IF CommStartStop[1,4] = 'Stop' THEN
|
||||
Set_Property(@WINDOW:'.COMM_START_STOP_BUTTON', 'TEXT', 'Start Vision Communications')
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.COMM_START_STOP_BUTTON', 'TEXT', 'Stop Vision Communications')
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
* * * * * * *
|
||||
Close:
|
||||
* * * * * * *
|
||||
|
||||
UNLOCK ALL
|
||||
|
||||
Set_Property('SYSTEM','IDLEPROC','ADIOS')
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Timer:
|
||||
* * * * * * *
|
||||
|
||||
Set_Status(0)
|
||||
|
||||
Set_Property(@WINDOW:'.CURR_TIME','TEXT',OCONV( Time(), 'MTHS' )) ;* Clock on window
|
||||
|
||||
LastTime = Get_Property(@WINDOW,'@LAST_TIME')
|
||||
LastLoginTime = Get_Property(@WINDOW,'@LAST_LOGIN_TIME')
|
||||
|
||||
IF Get_Property(@WINDOW:'.COMM_START_STOP_BUTTON','TEXT')[1,' '] = 'Stop' THEN
|
||||
VisionCommFlag = 1
|
||||
END ELSE
|
||||
VisionCommFlag = 0
|
||||
END
|
||||
|
||||
IF Get_Property(@WINDOW:'.START_STOP_BUTTON','TEXT')[1,' '] = 'Stop' THEN
|
||||
|
||||
* We're in run mode
|
||||
|
||||
IF LastTime > Time() THEN
|
||||
Set_Property(@WINDOW,'@LAST_TIME', Time()) ;* Midnight -> clock resets to 0
|
||||
Set_Property(@WINDOW,'@LAST_LOGIN_TIME',Time())
|
||||
LastTime = Time()
|
||||
LastLoginTime = Time()
|
||||
*obj_Calib_List('SendReminders') ;* Sends calibration notifications to recepients
|
||||
|
||||
END
|
||||
|
||||
IF Get_Property(@WINDOW:'.COMM_START_STOP_BUTTON','TEXT')[1,' '] = 'Stop' THEN
|
||||
VisionCommFlag = 1
|
||||
END ELSE
|
||||
VisionCommFlag = 0
|
||||
END
|
||||
|
||||
IF Time() >= (LastLoginTime + 3600) AND VisionCommFlag THEN
|
||||
|
||||
* Login to the AS400 so we can access the 'Z:' drive which is a folder used for moving stuff
|
||||
|
||||
AS400Login = 'C:\PROGRA~1\IBM\CLIENT~1\CWBLOGON.EXE 10.64.110.100 /U EPIDWNLD /P EPIDWNLD'
|
||||
|
||||
Set_Property(@WINDOW,'@LAST_LOGIN_TIME',Time())
|
||||
|
||||
Result = Utility('RUNWIN',AS400Login,1)
|
||||
|
||||
IF Result<2> = '' THEN
|
||||
ErrLog('No Logon to the AS400!') ;* This doesn't seem to ever happen - leave it for now
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
IF Time() >= (LastTime + 5) THEN
|
||||
|
||||
IF VisionCommFlag THEN
|
||||
|
||||
Send_Info('Checking Inbound...')
|
||||
|
||||
obj_Vision('GetInbound')
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
|
||||
ErrLog(errCode) ;* ErrLog clears status
|
||||
|
||||
Recipients = XLATE('NOTIFICATION','ORDER_ENTRY',NOTIFICATION_USER_ID$,'X')
|
||||
SentFrom = 'Vision Comm Server'
|
||||
Subject = 'Vision Communications Server Errors'
|
||||
Message = "Communications Errors logged during 'Get_Inbound' on the Vision Communications Server"
|
||||
AttachWindow = ''
|
||||
AttachKey = ''
|
||||
SendToGroup = ''
|
||||
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
|
||||
IF Get_Status(errCode) THEN ErrLog(errCode)
|
||||
|
||||
END
|
||||
|
||||
*Send_Event(@WINDOW:'.START_STOP_BUTTON','CLICK') ;* One shot - Comment out to run continuous *************************************
|
||||
|
||||
* Check 'VISION_COMM' for pending outbound transaction
|
||||
|
||||
Send_Info('Checking Outbound...')
|
||||
|
||||
obj_Vision('SendOutbound')
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
|
||||
ErrLog(errCode) ;* ErrLog clears status
|
||||
|
||||
Recipients = XLATE('NOTIFICATION','ORDER_ENTRY',NOTIFICATION_USER_ID$,'X')
|
||||
SentFrom = 'Vision Comm Server'
|
||||
Subject = 'Vision Communications Server Errors'
|
||||
Message = "Communications Errors logged during 'SendOutbound' on the Vision Communications Server"
|
||||
AttachWindow = ''
|
||||
AttachKey = ''
|
||||
SendToGroup = ''
|
||||
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
|
||||
IF Get_Status(errCode) THEN ErrLog(errCode)
|
||||
|
||||
END
|
||||
END ;* End of check for VisionCommFlag = 1
|
||||
|
||||
Send_Info('Posting Barcode Scans...')
|
||||
obj_WO_Mat_Log('Post')
|
||||
|
||||
Send_Info('Posting Post Log Transactions...')
|
||||
obj_Post_Log('Post')
|
||||
|
||||
Send_Info('Forwarding eMail...')
|
||||
obj_Notes('ForwardEMail')
|
||||
|
||||
Set_Property(@WINDOW,'@LAST_TIME', Time())
|
||||
|
||||
END
|
||||
END
|
||||
|
||||
Send_Info(' ')
|
||||
|
||||
RETURN
|
Reference in New Issue
Block a user