{ "header": { "version": 1, "type": "record" }, "body": { "record1": { "<1>": "DECLARE FUNCTION start_window, findwindow, showwindow, Post_Event, Utility, obj_Notes_Sent, FindWindow\r\nDECLARE FUNCTION log_check, send_event, set_printer, obj_Install, Get_Status, Show_Windows_Processes,GetEngineWindow, GetCommandLine\r\nDeclare FUNCTION memberof, Dialog_Box, Environment_Services, Security_Services\r\nDECLARE SUBROUTINE Get_BMP_Info, Set_Property, Msg,\tobj_Tables, ErrMsg, Set_Status, Post_Event, Utility, ErrMsg, obj_Appwindow\r\nDECLARE SUBROUTINE ShowWindow, obj_Calib_List, Set_Env, obj_Login, Send_Message, Send_Event\r\n\r\nDeclare function LSL2_MAIN_SCRIPT_CREATE, SVC_Scheduler\r\n\r\n$insert lsl_common\r\n$insert lsl_users_equ\r\n$INSERT QUOTE_SIGS_EQU\r\n$INSERT NOTIFICATION_EQU\r\n$INSERT ENVIRON_CONSTANTS\r\n$insert LOGICAL\r\n\r\nEQU X_OFF$\tTO 1\r\nEQU Y_OFF$\tTO 2\r\nEQU WIDTH$\tTO 3\r\nEQU HEIGHT$\tTO 4\r\n\r\nServer = Environment_Services('GetServer')\r\nCommand = GetCommandLine()\r\nCommand = Trim(Command)\r\nConvert ' ' to @FM in Command\r\nConvert @Lower_Case to @Upper_Case in Command\r\nNumArguments = Count(Command, @FM) + (Command NE '')\r\nDone = False$\r\nFor ArgCnt = 1 to NumArguments\r\n\tArgument = Command\r\n\tIf Argument[1, 3] EQ '/UN' then\r\n\t\t@USER4 = Argument[-1, 'B=']\r\n\t\tDone = True$\r\n\tend\r\nUntil Done\r\nNext ArgCnt\r\n\r\nIf @USERNAME EQ 'MESFISYSADMIN' OR @USERNAME EQ 'CRISP' OR @USERNAME EQ 'OUELLETTE' OR @USERNAME EQ 'DANIEL_ST' OR @USERNAME EQ 'STIEBERD' then\r\n\tvoid = Start_Window('NDW_MAIN', '', '', '', '')\r\n\tPost_Event(@Window, 'CLOSE')\r\n\tReturn 0\r\nend\r\n\r\n\r\nIF @USER4 = 'INDEXER' THEN\r\n\tvoid = Start_Window( 'IDXSVR', '', '', '', '' )\r\n\tPost_Event(@Window, 'CLOSE')\r\n\tRETURN 0\r\nEND\r\n\r\nIF @USER4 = 'VISION' THEN\r\n\tvoid = Start_Window( 'VISION_COMM', @WINDOW, '', '', '' )\r\n\tRETURN 0\r\nEND\r\n\r\nIF @USER4 = 'ADCSVR' THEN\r\n\t* void = Start_Window( 'ADCSVR', @window, '', '', '' )\r\n\trv = Start_Window('NDW_MESSAGING_PROCESSOR', @Window)\r\n\tvoid = Start_Window( 'SERVICE_MANAGER', '', '', '', '' )\r\n\tPost_Event(@Window, 'CLOSE')\r\n\tRETURN 0\r\nEND\r\n\r\nIF @USER4 = 'SAP' THEN\r\n\tvoid = Start_Window( 'DIALOG_SAP_COMM', '', '', '', '')\r\n\tPost_Event(@Window, 'CLOSE')\r\n\tRETURN 0\r\nEND\r\n\r\nIF @USER4 = 'MESSENGER' THEN\r\n\tvoid = Start_Window('NDW_MESSAGE_LISTENER', '', '', '', '')\r\n\tPost_Event(@Window, 'CLOSE')\r\n\tRETURN 0\r\nEND\r\n\r\nrv = Start_Window('NDW_MESSAGING_PROCESSOR', @Window)\r\n\r\n*IF @USER4 = '' THEN\r\n @USER4 = @USERNAME\r\n*END\r\n\r\n\r\nAccessLevel\t= -1\r\nAccessLevel\t= Dialog_Box('LOGON', @Window)\r\n\r\nIf (AccessLevel EQ -1) OR (AccessLevel EQ '') then\r\n\tSet_Property(@Window, '@CLOSE', 1)\r\nend\r\n\r\n\r\nIF MemberOf(@USER4, 'OI_ADMIN') OR @USER4 = 'MIS' THEN\r\n\tSet_Env(ENV_DEBUGGER_ENABLED$, 1, 1)\r\n\tSet_Env(ENV_DEBUGGER_INTERCEPT_PROC$,'',1)\r\n\t\r\n\t* This section added 9/17/2014 JCH for FTPQueueing for manual batch transmits\r\n\t\r\n\tOPEN 'FTP_QUEUE' TO FTPQueue THEN\r\n\t\tSELECT FTPQueue\r\n\t\t\r\n\t\tRecCnt = 0\r\n\t\tDone = 0\r\n\t\tLOOP\r\n\t\t\tREADNEXT QueueKey ELSE Done = 1\r\n\t\tUNTIL Done\r\n\t\t\tRecCnt += 1\r\n\t\tREPEAT\r\n\t\r\n\t\tSet_Property('LSL_MAIN2.FTP_QUEUE','DEFPROP',RecCnt:' in Ship Data Queue')\r\n\t\tSet_Property('LSL_MAIN2.FTP_QUEUE','VISIBLE',1)\r\n\tEND\r\n\t\r\nEND ELSE\r\n\t\r\n\tSet_Env(ENV_DEBUGGER_ENABLED$, 2, 1)\r\n\tSet_Env(ENV_DEBUGGER_INTERCEPT_PROC$,'EPI_USER_DEBUG',1)\r\n\t\r\n\tSet_Property('LSL_MAIN.FTP_QUEUE','VISIBLE',0)\r\nEND\r\n\r\n\r\nIF MemberOf(@USER4,'EMAIL_PDF_QUEUE') THEN\r\n\r\n\t* This section added 7/31/2015 JCH for Shipment eMail Queueing for manual batch transmits\r\n\t\r\n\tOPEN 'SHIP_EMAIL_QUEUE' TO Ship_eMailQueue THEN\r\n\t\tSELECT Ship_eMailQueue\r\n\t\t\r\n\t\tRecCnt = 0\r\n\t\tDone = 0\r\n\t\tLOOP\r\n\t\t\tREADNEXT QueueKey ELSE Done = 1\r\n\t\tUNTIL Done\r\n\t\t\tRecCnt += 1\r\n\t\tREPEAT\r\n\t\r\n\t\tSet_Property('LSL_MAIN2.SHIP_EMAIL_QUEUE','DEFPROP',RecCnt:' in Ship Doc Queue')\r\n\t\tSet_Property('LSL_MAIN2.SHIP_EMAIL_QUEUE','VISIBLE',1)\r\n\tEND\r\n\r\nEND\r\n\r\n\r\nstat = Set_Property(@WINDOW,'TIMER',1200000:@FM:0)\t;* Start the Keep Alive Timer event and run every 20 Minutes * * * * * * * * * * * *\r\n\r\nstat = Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUS_LINE')\t\t;* Setup status line \r\n\r\nIf AccessLevel GE 0 then\r\n\tobj_Appwindow('Create')\r\nend else\r\n\tReturn 0\r\nend\r\n\r\n* Added by JCH on 7/18/2004\r\n\r\nGraphicPath = obj_Install('Get_Prop','ColorBMP')\r\n\r\nIF GraphicPath NE '' THEN\r\n\tSet_Property(@WINDOW:'.BITMAP_2','BITMAP',GraphicPath)\r\n\tGet_BMP_Info(GraphicPath,BmSize,BmWidth,BmHeight)\r\n\t\r\n\tBMAspectRatio = BmWidth/BmHeight\r\n\t\r\n\tMainSize = Get_Property(@WINDOW,'SIZE')\r\n\t\r\n\tWinWidth = MainSize\r\n\tWinHeight = MainSize\r\n\t\r\n\tIF BmHeight > INT(WinHeight * .666) THEN\r\n\t\tSet_Property(@WINDOW:'.BITMAP_2','IMAGECLIP',0)\t;* Allow Resize of bitmap\r\n\t\tBmDispHeight = INT(WinHeight * .666)\r\n\t\tBmDispWidth\t = INT(BmDispHeight*(BmWidth/BmHeight))\r\n\tEND ELSE\r\n\t\tSet_Property(@WINDOW:'.BITMAP_2','IMAGECLIP',0)\t;* Allow Resize of bitmap\r\n\t\tBmDispHeight\t= INT(WinHeight * .20)\r\n\t\tBmDispWidth\t\t= INT(BmDispHeight * BMAspectRatio)\r\n\tEND\r\n\t\r\n\tXorg = INT((WinWidth - BmDispWidth) / 2 )\r\n\tYorg = INT((WinHeight - BmDispHeight) / 3)\r\n\t\r\n\r\n\tSet_Property(@WINDOW:'.BITMAP_2','SIZE',Xorg:@FM:Yorg:@FM:BmDispWidth:@FM:BmDispHeight)\r\n\tSet_Property(@WINDOW:'.BITMAP_2','VISIBLE',1)\r\n\t\r\nEND\r\n\r\nCompany = obj_Install('Get_Prop','CompTitle')\r\n\r\nMachine = ''\r\nIf (Server EQ 'MESST6501') or (Server EQ 'MESST6502') or (Server EQ 'MESTST1006') then \r\n\tMachine = 'Server'\r\nend else\r\n\tMachine = 'Client'\r\nend\r\n\r\nWinTitle = Get_Property(@WINDOW,'TEXT')\r\n\r\n\r\nLSL2Version = Xlate('LSL_USERS', @User4, 'LSL2_VERSION', 'X')\r\nOCXVersion = Xlate('LSL_USERS', @User4, 'OCX_VERSION', 'X')\r\n\r\nSet_Property(@WINDOW,'TEXT',Company:' ':WinTitle: ' - ':Machine: ' - v':LSL2Version:' - OCX v':OCXVersion)\r\n\r\n.current_user->text = 'User: ':oconv( @user4, '[XLATE_CONV,LSL_USERS*FIRST_LAST]' )\r\nrv = Set_Property(@WINDOW:'.OLE_PIC_CURRENT_USER','OLE.Caption','User: ':OCONV( @USER4, '[XLATE_CONV,LSL_USERS*FIRST_LAST]' ))\r\n*.current_date->text = 'Date: ':oconv( date(), 'D2/' )\r\n\r\n.group_1->visible = 1\r\n\r\n\r\nIf AccessLevel GE 0 then\r\n\tVoid = set_property( @window, 'VISIBLE', 1 )\r\nend\r\n\r\nRecipients\t= XLATE('NOTIFICATION','CONFIG_LIMITED',NOTIFICATION_USER_ID$,'X')\r\n\r\nLOCATE @USER4 IN Recipients USING @VM SETTING Pos THEN\r\n\tobj_Login('LateShip')\r\nEND\r\n\r\nNotesSent = obj_Notes_Sent('GetUserKeys',@USER4)\r\nNewMessages = XLATE('NOTE_PTRS',@USER4,'NEW_MESSAGES','X')\r\n\r\n\r\nIF NotesSent NE '' OR NewMessages > 0 THEN\r\n\tVoid = Start_Window( 'NOTE_PTRS', @WINDOW, '*CENTER', '', '' )\r\nEND\r\n\r\nIF MemberOf(@USER4, 'SPEC_CHANGE') OR MemberOf(@USER4, 'OI_ADMIN') THEN\r\n\tSet_Property(@WINDOW:'.MENU.ENGINEERING.TOOL_CLASS_-_RECIPES__PATTERNS','VISIBLE',1)\r\nEND ELSE\r\n\tSet_Property(@WINDOW:'.MENU.ENGINEERING.TOOL_CLASS_-_RECIPES__PATTERNS','VISIBLE',0)\r\nEND\r\n\r\n\r\nIf ( Memberof(@User4, 'OI_ADMIN') OR Memberof(@User4, 'OI_TEST') ) then\r\n\tSet_Property(@Window:'.MENU.MATERIAL.FQA_MATERIAL_SCAN', 'ENABLED', 1)\r\nend\r\n\r\n\r\n* New Security for LSL_MAIN2 menu options\tdkk 11/27/13\r\n* Set security for LSL_MAIN2 menu options. Adjust Ctrls as needed to add/remove main menu item security properties.\r\n\r\nCtrls = @WINDOW:'.MENU.ADMIN.FABTIME_SUPPORT':@RM ; Props = 'ENABLED':@RM\r\nCtrls := @WINDOW:'.MENU.MAINT.REACTOR_MAINTENANCE':@RM \t\t; Props := 'ENABLED':@RM\r\nCtrls := @WINDOW:'.MENU.ADM.SYSTEM_CONFIG':@RM \t\t\t\t; Props := 'ENABLED':@RM\r\nCtrls := @WINDOW:'.MENU.ADM.TOOLS':@RM \t\t\t\t\t\t; Props := 'ENABLED':@RM\r\nCtrls := @WINDOW:'.MENU.ADM.RAS':@RM \t\t\t\t\t\t; Props := 'ENABLED':@RM\r\nCtrls := @WINDOW:'.MENU.ADM.DEVELOPER':@RM \t\t\t\t\t; Props := 'ENABLED':@RM\r\nCtrls := @WINDOW:'.MENU.ADMIN.DEV.ARCHIVE' ; Props := 'ENABLED' \r\nIF Memberof(@user4, 'OI_ADMIN') THEN\t \r\n\tVals = 1\t\t\t\t\t\t\t\t\r\nEND ELSE\r\n\tVals = 0\t\r\nEND\r\nSet_Property(Ctrls,Props,Vals)\t\t\t\t\t\t\t\t\t\t; * Sets the enabled property ON/OFF for the record mark delimited variables Ctrls,Props, and Vals\r\n\r\n\r\nCtrls := @WINDOW:'.MENU.ADMIN.SAP_INTERFACE':@RM\t\t\t\t\t; Props := 'ENABLED':@RM\r\nCtrls := @WINDOW:'.MENU.ADM.WAREHOUSE':@RM \t\t\t\t\t; Props := 'ENABLED'\r\nIF Memberof(@user4, 'OI_ADMIN') OR Memberof(@user4, 'OI_SUPERUSER') THEN\t \r\n\tVals = 1\t\t\t\t\t\t\t\t\r\nEND ELSE\r\n\tVals = 0\t\r\nEND\r\nSet_Property(Ctrls,Props,Vals)\t\t\t\t\t\t\t\t\t\t; * Sets the enabled property ON/OFF for the record mark delimited variables Ctrls,Props, and Vals\r\n\r\nCtrls = @WINDOW:'.MENU.ADM.THRUPUT_TARGETS':@RM \t \t\t\t; Props = 'ENABLED':@RM\r\nCtrls := @WINDOW:'.MENU.PROD.REACTOR_RUN'\t \t\t\t\t\t; Props := 'ENABLED'\r\nIF Memberof(@user4,'CONFIG_LIMITED') OR @USERNAME = 'BRYCE_BARB' THEN\t \r\n\tVals = 1\t\t\t\t\t\t\t\t\r\nEND ELSE\r\n\tVals = 0\t\r\nEND\r\nSet_Property(Ctrls,Props,Vals)\t\t\t\t\t\t\t\t\t\t; * Sets the enabled property ON/OFF for the record mark delimited variables Ctrls,Props, and Vals\r\n\r\nIf Not(MemberOf(@USER4, 'LEAD')) AND Not(MemberOf(@USER4, 'SUPERVISOR')) then\r\n\tSet_Property(@Window : '.MENU.ADMIN.TOOLS_EVAC', 'VISIBLE', 0)\r\nend\r\n\r\nCalDueRecipients = XLATE('NOTIFICATION','CALIB_DUE_NOTIFY',NOTIFICATION_USER_ID$,'X')\r\n\r\nLOCATE @USER4 IN CalDueRecipients USING @VM SETTING POS THEN\r\n\tobj_Calib_List('SendReminders')\t\t\t\t\t\t\t\t;* New system added 3/18/2010 JCH\r\nEND\r\n\r\nIF @ADMIN < 2 THEN\r\n\thWnd1% = FindWindow(\"RTI_OINSIGHT\":\\00\\, \"\")\r\n\thWnd2% = FindWindow(\"AREV\":\\00\\, \"\")\r\n\thWnd3% = FindWindow(\"PROGMAN\":\\00\\, \"\")\r\n\trv = ShowWindow(hWnd1%, 0)\r\n\trv = ShowWindow(hWnd2%, 0)\r\n\trv = ShowWindow(hWnd3%, 2)\r\nEND\r\n\r\nRETURN 1" } } }