diff --git a/LSL2/STPROC/MATERIAL_MOVEMENT_SERVICES.txt b/LSL2/STPROC/MATERIAL_MOVEMENT_SERVICES.txt index 3f19ef9..5181e5e 100644 --- a/LSL2/STPROC/MATERIAL_MOVEMENT_SERVICES.txt +++ b/LSL2/STPROC/MATERIAL_MOVEMENT_SERVICES.txt @@ -597,8 +597,6 @@ ToggleLotHold: WOMatKey = WONo:'*':CassNo CtrlEntID = False$ ;* Control checked/unchecked OriginFlag = 'PTO' ;* Flag to indicate a hold initiated from the packagaing form - //Parms = WOMatKey:@RM:HoldEntity:@RM:HoldEntityID:@RM:CtrlEntID:@RM:OriginFlag:@RM:OperatorID - //obj_WO_Mat('ToggleHold', Parms) Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEntID, OriginFlag, '', OperatorID) // Check if second cassette ID is a valid RDS or WM_OUT key @@ -625,9 +623,6 @@ ToggleLotHold: End Case -* testCass2 = Cassette2 -* Convert '*' to '.' in testCass2 - // Write fail packaging record in material log for second cassette ID If ValidCass EQ True$ then LogFile = 'WO_MAT' @@ -662,7 +657,6 @@ ToggleLotHold: CtrlEntID = False$ ;* Control checked/unchecked OriginFlag = 'PTO' ;* Flag to indicate a hold initiated from the packaging form Parms = WOMatKey:@RM:HoldEntity:@RM:HoldEntityID:@RM:CtrlEntID:@RM:OriginFlag:@RM:OperatorID - //obj_WO_Mat('ToggleHold', Parms) Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEntID, OriginFlag, '', OperatorID) end @@ -697,3 +691,4 @@ return + diff --git a/LSL2/STPROC/NDW_PACKAGING_EVENTS.txt b/LSL2/STPROC/NDW_PACKAGING_EVENTS.txt index 7f53558..e87093c 100644 --- a/LSL2/STPROC/NDW_PACKAGING_EVENTS.txt +++ b/LSL2/STPROC/NDW_PACKAGING_EVENTS.txt @@ -90,6 +90,7 @@ Event EDL_USER_ID_SCAN.LOSTFOCUS(Flag, FocusID) MsgStruct = "" MsgStruct = MSG_WIDTH$ Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Set_Property(CtrlEntId, 'FOCUS', True$) end end end @@ -114,7 +115,8 @@ Event EDL_CASS_SCAN_1.LOSTFOCUS(Flag, FocusID) ErrorMessage = Error_Services('GetMessage') MsgStruct = "" MsgStruct = MSG_WIDTH$ - Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Set_Property(@Window:'.EDL_USER_ID_SCAN', 'FOCUS', True$) end end end @@ -141,7 +143,8 @@ Event EDL_CASS_SCAN_2.LOSTFOCUS(Flag, FocusID) ErrorMessage = Error_Services('GetMessage') MsgStruct = "" MsgStruct = MSG_WIDTH$ - Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Set_Property(@Window:'.EDL_USER_ID_SCAN', 'FOCUS', True$) end end end @@ -229,7 +232,6 @@ Event EDL_PASSWORD_SCAN.LOSTFOCUS(Flag, FocusID) MsgStruct = MSG_WIDTH$ Msg(@Window, MsgStruct, 'PROCESS_COMPLETE', '', SuccessMessage) end else -* ErrorMessage = Error_Services('GetMessage') ErrorMessage = 'An internal error occurred. Please retry the pack scan.' MsgStruct = "" MsgStruct = MSG_WIDTH$ @@ -254,7 +256,9 @@ end event Event PUB_CLEAR_FORM.CLICK() + GoSub ClearForm + end event @@ -263,6 +267,7 @@ end event //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ClearForm: + Set_Property(@Window:'.EDL_SEQUENCE1' , 'TEXT' , '') Set_Property(@Window:'.EDL_USER_ID_SCAN' , 'TEXT' , '') Set_Property(@Window:'.EDL_CASS_SCAN_1' , 'TEXT' , '') @@ -295,3 +300,4 @@ return + diff --git a/LSL2/STPROC/NDW_PTI_MAT_SCAN_EVENTS.txt b/LSL2/STPROC/NDW_PTI_MAT_SCAN_EVENTS.txt index 98872bf..7acc7bb 100644 --- a/LSL2/STPROC/NDW_PTI_MAT_SCAN_EVENTS.txt +++ b/LSL2/STPROC/NDW_PTI_MAT_SCAN_EVENTS.txt @@ -52,19 +52,19 @@ Declare function Popup, obj_WO_Mat, Database_Services, Utility, Rds_Services, Me // Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler. If Event EQ 'OLE' then - Transfer Event to OIEvent - Transfer Param1 to Event - Transfer Param2 to Param1 - Transfer Param3 to Param2 - Transfer Param4 to Param3 - Transfer Param5 to Param4 - Transfer Param6 to Param5 - Transfer Param7 to Param6 - Transfer Param8 to Param7 + Transfer Event to OIEvent + Transfer Param1 to Event + Transfer Param2 to Param1 + Transfer Param3 to Param2 + Transfer Param4 to Param3 + Transfer Param5 to Param4 + Transfer Param6 to Param5 + Transfer Param7 to Param6 + Transfer Param8 to Param7 end GoToEvent Event for CtrlEntId else - // Event not implemented + // Event not implemented end Return EventFlow or 1 @@ -77,28 +77,28 @@ ScanField = '' //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Event WINDOW.CREATE(CreateParam) - - CurrVer = Xlate('APP_INFO', 'LSL2_VERSION', '', 'X') - UserVer = Xlate('LSL_USERS', @User4, 'LSL2_VERSION', 'X') - If UserVer NE CurrVer then - // Error message and close form - ErrMsg = 'OpenInsight Version Error':@FM:'You are running an outdated version of OpenInsight and cannot release material until you restart your session.' - Msg(@Window, '', 'OK', '', ErrMsg) - Post_Event(@Window, 'CLOSE') - end else - GoSub SetupOLEControls - GoSub ResetForm - SRP_Show_Window(@Window, '', 'C', 'C', 1, '', False$, False$, FormSize) - MsgStruct = '' - MsgStruct = MSG_WIDTH$ - end - + + CurrVer = Xlate('APP_INFO', 'LSL2_VERSION', '', 'X') + UserVer = Xlate('LSL_USERS', @User4, 'LSL2_VERSION', 'X') + If UserVer NE CurrVer then + // Error message and close form + ErrMsg = 'OpenInsight Version Error':@FM:'You are running an outdated version of OpenInsight and cannot release material until you restart your session.' + Msg(@Window, '', 'OK', '', ErrMsg) + Post_Event(@Window, 'CLOSE') + end else + GoSub SetupOLEControls + GoSub ResetForm + SRP_Show_Window(@Window, '', 'C', 'C', 1, '', False$, False$, FormSize) + MsgStruct = '' + MsgStruct = MSG_WIDTH$ + end + end event Event OLE_BTN_CLEAR.OnClick(Point, Button, Shift, Ctrl) - *get count of unprocessed records - + + *get count of unprocessed records allCompleted = True$ resp = '' Data = Get_Property(EditTable$, "OLE.ARRAY") @@ -120,90 +120,102 @@ Event OLE_BTN_CLEAR.OnClick(Point, Button, Shift, Ctrl) GoSub ResetForm end end + end event Event OLE_BTN_SAVE.OnClick(Point, Button, Shift, Ctrl) + *check for unfinished scan F1 = Get_Property(Cassette1$, 'TEXT') F2 = Get_Property(Cassette2$, 'TEXT') F3 = Get_Property(Supplier$, 'TEXT') resp = True$ - If F1 NE '' OR F2 NE '' OR F3 NE '' then + If F1 NE '' OR F2 NE '' OR F3 NE '' then resp = Message_Box(@Window, 'You have an unfinished scan (not in grid) - continue?', 'Confirm Save', MSG_BTN_OKCAN$ + MSG_DEFAULT2$) - end - if resp EQ True$ Then + end + if resp EQ True$ Then Warehouse = '1K' Location = 'PTI' Gosub SaveRecords end + end event Event EDL_CASSETTE1_SCAN.LOSTFOCUS(Flag, FocusID) + ScanField = 'Cassette1' - If Flag EQ 1 then - ScanData = Get_Property(CtrlEntID, 'TEXT') - If ScanData NE '' then - ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'CASSETTE1') - If Error_Services('NoError') then - Set_Property(CtrlEntID, 'TEXT', ScanData) - Set_Property(Cassette2$, 'ENABLED', True$) - Set_Property(Cassette2$, 'FOCUS', True$) - Set_Property(CtrlEntID, 'ENABLED', False$) - Gosub ValidateGrid - end else - GoSub ResetForm - ErrorMessage = Error_Services('GetMessage') - Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) - end - end - end + If Flag EQ 1 then + ScanData = Get_Property(CtrlEntID, 'TEXT') + If ScanData NE '' then + ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'CASSETTE1') + If Error_Services('NoError') then + Set_Property(CtrlEntID, 'TEXT', ScanData) + Set_Property(Cassette2$, 'ENABLED', True$) + Set_Property(Cassette2$, 'FOCUS', True$) + Set_Property(CtrlEntID, 'ENABLED', False$) + Gosub ValidateGrid + end else + GoSub ResetForm + ErrorMessage = Error_Services('GetMessage') + Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'FOCUS', True$) + end + end + end + end event Event EDL_CASSETTE2_SCAN.LOSTFOCUS(Flag, FocusID) + ScanField = 'Cassette2' - If Flag EQ 1 then - ScanData = Get_Property(CtrlEntID, 'TEXT') - Cass1 = Get_Property(Cassette1$, 'TEXT') - If ScanData NE '' then - ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'CASSETTE2', Cass1) - If Error_Services('NoError') then - Set_Property(CtrlEntID, 'TEXT', ScanData) + If Flag EQ 1 then + ScanData = Get_Property(CtrlEntID, 'TEXT') + Cass1 = Get_Property(Cassette1$, 'TEXT') + If ScanData NE '' then + ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'CASSETTE2', Cass1) + If Error_Services('NoError') then + Set_Property(CtrlEntID, 'TEXT', ScanData) Gosub ValidateGrid - Set_Property(Supplier$, 'ENABLED', True$) - Set_Property(Supplier$, 'FOCUS', True$) - Set_Property(CtrlEntID, 'ENABLED', False$) - Gosub ValidateGrid - end else - GoSub ResetForm - ErrorMessage = Error_Services('GetMessage') - Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) - end - end - end + Set_Property(Supplier$, 'ENABLED', True$) + Set_Property(Supplier$, 'FOCUS', True$) + Set_Property(CtrlEntID, 'ENABLED', False$) + Gosub ValidateGrid + end else + GoSub ResetForm + ErrorMessage = Error_Services('GetMessage') + Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'FOCUS', True$) + end + end + end + end event Event EDL_SUPPLIER_SCAN.LOSTFOCUS(Flag, FocusID) + ScanField = 'Lot' - If Flag EQ 1 then - Cassette1 = Get_Property(Cassette1$, 'TEXT') - ScanData = Get_Property(CtrlEntID, 'TEXT') - If ScanData NE '' then - ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'SUPPLIER', Cassette1) - If Error_Services('NoError') then - Set_Property(CtrlEntID, 'TEXT', ScanData) - Set_Property(CtrlEntID, 'ENABLED', False$) - Gosub ValidateGrid - end else - GoSub ResetForm - ErrorMessage = Error_Services('GetMessage') - Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) - end - end - end + If Flag EQ 1 then + Cassette1 = Get_Property(Cassette1$, 'TEXT') + ScanData = Get_Property(CtrlEntID, 'TEXT') + If ScanData NE '' then + ScanData = Material_Movement_Services('ProcessPTIScanData', ScanData, 'SUPPLIER', Cassette1) + If Error_Services('NoError') then + Set_Property(CtrlEntID, 'TEXT', ScanData) + Set_Property(CtrlEntID, 'ENABLED', False$) + Gosub ValidateGrid + end else + GoSub ResetForm + ErrorMessage = Error_Services('GetMessage') + Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'FOCUS', True$) + end + end + end + end event @@ -212,7 +224,8 @@ end event //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// SaveRecords: - *iterate thround all records in the grid, saving them and updating the status and location + + *iterate through all records in the grid, saving them and updating the status and location Data = Get_Property(EditTable$, "OLE.ARRAY") cnt = count(Data<1>, @VM) + (Data<1># '') MsgStruct = '' @@ -228,12 +241,12 @@ SaveRecords: Loc = '1K*PTI' Set_Property(EditTable$, 'OLE.CellColors[ALL;':i:']', 'Auto':@FM:'Auto') cntProc += 1 - end else - Status = 'Error' + end else + Status = 'Error' Set_Property(EditTable$, 'OLE.CellColors[ALL;':i:']', 'Auto':@FM:'Red') - end - - Set_Property(EditTable$, 'OLE.CELLTEXT[4;':i:']', Status) + end + + Set_Property(EditTable$, 'OLE.CELLTEXT[4;':i:']', Status) Set_Property(EditTable$, 'OLE.CELLTEXT[5;':i:']', Loc) end Next i @@ -254,11 +267,12 @@ SaveRecords: end Gosub DisableFormControls - + return ValidateGrid: + F1 = Get_Property(Cassette1$, 'TEXT') F2 = Get_Property(Cassette2$, 'TEXT') F3 = Get_Property(Supplier$, 'TEXT') @@ -270,11 +284,6 @@ ValidateGrid: result = 1 end end -* if ScanField = 'Lot' then ; * do not look for duplicates -* result = 0 -* end else -* result = InList(Data, ScanData, @VM) OR InList(Data, ScanData, @FM) -* end If INDEX(F1,'.',2) then RDSType = 'EPP' @@ -295,12 +304,12 @@ ValidateGrid: Case RDSType EQ 'GAN' WOMatKey = F1 Location = XLATE('WO_MAT', WOMatKey, 'CURR_LOCATION', '', '') - + End Case - + if result EQ 1 then ErrorMessage = 'Value already exists in grid: ':ScanData - Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Gosub ResetForm end else if F1 NE '' AND F2 NE '' AND F3 NE '' then Data = '' @@ -317,39 +326,41 @@ return DisableFormControls: + Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'TEXT', '') Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'TEXT', '') Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'TEXT', '') Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'ENABLED', False$) Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'ENABLED', False$) Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'ENABLED', False$) + return SetupOLEControls: - - // Qualify OLE events that we want to intercept - Qualifier = '' - Qualifier<1> = 1 - Qualifier<3> = '' - Qualifier<4> = 0 ; * process synchronously - NumCols = 5 - NumRows = 150 - - Ctrl = @Window:'.OLE_BTN_CLEAR' - Send_Message(Ctrl, 'QUALIFY_EVENT', 'OLE.OnClick', Qualifier) - Ctrl = @Window:'.OLE_BTN_SAVE' - Send_Message(Ctrl, 'QUALIFY_EVENT', 'OLE.OnClick', Qualifier) - - DimensionArray = NumCols:@FM:NumRows - Set_Property(EditTable$, "OLE.Dimension", DimensionArray) - Titles = "Top Label":@VM:"Bottom Label":@VM:"Sub Lot":@VM:"Scan Status":@VM:"Curr Location" - Set_Property(EditTable$, "OLE.TitleList", Titles) - - Set_Property(EditTable$, "OLE.DataColumn[1-2]", '85') - Set_Property(EditTable$, "OLE.DataColumn[3]", '80') - Set_Property(EditTable$, "OLE.DataColumn[4]", '90') - Set_Property(EditTable$, "OLE.DataColumn[5]", '115') + + // Qualify OLE events that we want to intercept + Qualifier = '' + Qualifier<1> = 1 + Qualifier<3> = '' + Qualifier<4> = 0 ; * process synchronously + NumCols = 5 + NumRows = 150 + + Ctrl = @Window:'.OLE_BTN_CLEAR' + Send_Message(Ctrl, 'QUALIFY_EVENT', 'OLE.OnClick', Qualifier) + Ctrl = @Window:'.OLE_BTN_SAVE' + Send_Message(Ctrl, 'QUALIFY_EVENT', 'OLE.OnClick', Qualifier) + + DimensionArray = NumCols:@FM:NumRows + Set_Property(EditTable$, "OLE.Dimension", DimensionArray) + Titles = "Top Label":@VM:"Bottom Label":@VM:"Sub Lot":@VM:"Scan Status":@VM:"Curr Location" + Set_Property(EditTable$, "OLE.TitleList", Titles) + + Set_Property(EditTable$, "OLE.DataColumn[1-2]", '85') + Set_Property(EditTable$, "OLE.DataColumn[3]", '80') + Set_Property(EditTable$, "OLE.DataColumn[4]", '90') + Set_Property(EditTable$, "OLE.DataColumn[5]", '115') AlignArray = 'C':@FM:'C':@FM:'L' Set_Property(EditTable$, "OLE.CellAlignment[All; All]", AlignArray) @@ -363,15 +374,16 @@ SetupOLEControls: AutoNumArray<1, 1> = 'I' ; // Integers AutoNumArray<1, 2> = 1 ; // Starting integer Set_Property(EditTable$, "OLE.AutoNumbers", AutoNumArray) - + Set_Property(EditTable$, "OLE.CellProtection[All; All]", 'SEL') SelStyleArray = 'Black' : @VM : OI_HOT_BLUE$ : ' L=70' : @FM : 'Black' : @VM : OI_HOT_BLUE$ Set_Property(EditTable$, 'OLE.SelectionStyle', SelStyleArray) ; // Automatically highlight the current row with one color and highlight the current row with another color. - + return ResetForm: + Set_Property(@Window:'.EDL_CASSETTE1_SCAN', 'ENABLED', True$) Set_Property(@Window:'.EDL_CASSETTE2_SCAN', 'ENABLED', True$) Set_Property(@Window:'.EDL_SUPPLIER_SCAN', 'ENABLED', True$) @@ -386,5 +398,6 @@ ResetForm: cnt = count(Data<1>, @VM) + (Data<1># '') Set_Property(@Window:'.OLE_BTN_SAVE', 'ENABLED', cnt GE 1) Set_Property(EditTable$, 'OLE.CellColors[ALL;All]', 'Auto':@FM:'Auto') + return diff --git a/LSL2/STPROC/NDW_PTO_MAT_SCAN_EVENTS.txt b/LSL2/STPROC/NDW_PTO_MAT_SCAN_EVENTS.txt index eb1a6f8..d37f7d1 100644 --- a/LSL2/STPROC/NDW_PTO_MAT_SCAN_EVENTS.txt +++ b/LSL2/STPROC/NDW_PTO_MAT_SCAN_EVENTS.txt @@ -120,6 +120,7 @@ end event Event EDL_LABEL1_SCAN.LOSTFOCUS(Flag, FocusID) + Set_Property(SaveBtn$, 'FOCUS', True$) ScanField = 'Label1' If Flag EQ 1 then @@ -138,6 +139,7 @@ Event EDL_LABEL1_SCAN.LOSTFOCUS(Flag, FocusID) if ErrorMessage NE 'Scan Cancelled' then Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) end + Set_Property(@Window:'.EDL_LABEL1_SCAN', 'FOCUS', True$) end end end @@ -147,6 +149,7 @@ end event Event EDL_LABEL2_SCAN.LOSTFOCUS(Flag, FocusID) + Set_Property(SaveBtn$, 'FOCUS', True$) ScanField = 'Label2' If Flag EQ 1 then ScanData = Get_Property(CtrlEntID, 'TEXT') @@ -165,14 +168,13 @@ Event EDL_LABEL2_SCAN.LOSTFOCUS(Flag, FocusID) if ErrorMessage[1,13] EQ 'Scan Mismatch' then Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) Gosub ResetForm + Set_Property(@Window:'.EDL_LABEL1_SCAN', 'FOCUS', True$) end else Set_Property(@Window:'.EDL_LABEL2_SCAN', 'ENABLED', True$) Set_Property(@Window:'.EDL_LABEL2_SCAN', 'TEXT', '') - Set_Property(@Window:'.EDL_LABEL2_SCAN', 'FOCUS', True$) - //ErrorMessage = Error_Services('GetMessage') Msg(@Window, MsgStruct, 'PROCESS_ERROR', '', ErrorMessage) + Set_Property(@Window:'.EDL_LABEL2_SCAN', 'FOCUS', True$) end - end end end @@ -225,7 +227,6 @@ ShowPopup: ForeColor = Get_Property(@Window, 'FORECOLOR') CursorXPos = Field(Point, ',', 1, 1) CursorYPos = Field(Point, ',', 2, 1) -* FormSize = SRP_Get_Window_Rect(@Window) FormSize = Get_Property(@Window, 'SIZE') FormXPos = FormSize<1> FormYPos = FormSize<2> @@ -366,4 +367,3 @@ ResetForm: return -