Removed error messages on lost focus events and instead just display the error on write operation.

This commit is contained in:
Infineon\StieberD
2025-10-22 12:39:26 -07:00
parent 374e5c2b51
commit 79cde8e098
2 changed files with 249 additions and 298 deletions

View File

@ -80,7 +80,7 @@ BEGIN CASE
CASE EntID = @WINDOW:'.PRINT_LABEL' AND Event = 'CLICK' ; GOSUB PrintLabel
CASE EntID = @WINDOW:'.RI_TYPE' AND Event = 'CHANGED' ; GOSUB RITypeChange
CASE EntID = @WINDOW:'.PKT_SIZE' AND Event = 'CHANGED' ; GOSUB PktSizeChange
CASE EntID = @WINDOW:'.PART_TYPE' AND Event = 'LOSTFOCUS' ; GOSUB PktSizeChange
CASE EntID = @WINDOW:'.PART_TYPE' AND Event = 'LOSTFOCUS' ; GOSUB PktSizeChange
CASE 1
@ -100,32 +100,30 @@ RETURN Result
Create:
* * * * * * *
obj_Appwindow('Create',@WINDOW)
obj_Appwindow('Create',@WINDOW)
RETURN
* * * * * * *
New:
* * * * * * *
RINo = Get_Property(@WINDOW:'.REACT_ITEM','DEFPROP')
RINo = Get_Property(@WINDOW:'.REACT_ITEM','DEFPROP')
IF RINo = '' THEN
NextRINo = NextKey('REACT_ITEM')
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:NextRINo)
END
IF RINo = '' THEN
NextRINo = NextKey('REACT_ITEM')
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:NextRINo)
END
EnterBy = Get_Property(@WINDOW:'.ENTER_BY','DEFPROP')
EnterBy = Get_Property(@WINDOW:'.ENTER_BY','DEFPROP')
IF EnterBy = '' THEN
Set_Property(@WINDOW:'.ENTER_BY','INVALUE',@USER4)
Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',obj_Calendar('CurrDTM'))
END
IF EnterBy = '' THEN
Set_Property(@WINDOW:'.ENTER_BY','INVALUE',@USER4)
Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',obj_Calendar('CurrDTM'))
END
GOSUB Refresh
GOSUB Refresh
RETURN
@ -134,19 +132,16 @@ RETURN
Close:
* * * * * * *
*DEBUG
obj_Appwindow('CardReturn',@WINDOW)
obj_Appwindow('CardReturn',@WINDOW)
RETURN
* * * * * * *
Read:
* * * * * * *
GOSUB Refresh
GOSUB Refresh
RETURN
@ -155,11 +150,11 @@ RETURN
Write:
* * * * * * *
Parent = Get_Property(@WINDOW,'PARENT')
Parent = Get_Property(@WINDOW,'PARENT')
IF Parent = 'REACTOR_LOG' OR Parent = 'REACT_STATE' THEN
Post_Event(@WINDOW,'CLOSE')
END
IF Parent = 'REACTOR_LOG' OR Parent = 'REACT_STATE' THEN
Post_Event(@WINDOW,'CLOSE')
END
RETURN
@ -168,159 +163,131 @@ RETURN
Clear:
* * * * * * *
*Send_Event(@WINDOW,'PAGE',1)
* * * * * * *
Refresh:
* * * * * * *
Ctrls = @WINDOW:'.ENTER_BY':@RM ; Props = 'TEXT':@RM
Ctrls := @WINDOW:'.ENTER_DTM' ; Props := 'TEXT'
Ctrls = @WINDOW:'.ENTER_BY':@RM ; Props = 'TEXT':@RM
Ctrls := @WINDOW:'.ENTER_DTM' ; Props := 'TEXT'
Vals = Get_Property(Ctrls,Props)
Vals = Get_Property(Ctrls,Props)
EnterBy = Vals[1,@RM]
EnterDTM = Vals[COL2()+1,@RM]
EnterBy = Vals[1,@RM]
EnterDTM = Vals[COL2()+1,@RM]
IF EnterBy = '' THEN Vals = 1:@RM ELSE Vals = 0:@RM
IF EnterDTM = '' THEN Vals := 1 ELSE Vals := 0
IF EnterBy = '' THEN Vals = 1:@RM ELSE Vals = 0:@RM
IF EnterDTM = '' THEN Vals := 1 ELSE Vals := 0
Props = 'ENABLED':@RM:'ENABLED'
Props = 'ENABLED':@RM:'ENABLED'
Set_Property(Ctrls,Props,Vals)
Set_Property(Ctrls,Props,Vals)
* QBF buttons
* QBF buttons
Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_PREV_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_ABS_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_NEXT_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_LAST_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_STOP_FIX' ; Props := 'ENABLED'
Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_PREV_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_ABS_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_NEXT_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_LAST_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_STOP_FIX' ; Props := 'ENABLED'
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
Vals = 0:@RM:0:@RM:0:@RM:0:@RM:0:@RM:0
END ELSE
Vals = 1:@RM:1:@RM:1:@RM:1:@RM:1:@RM:1
END
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
Vals = 0:@RM:0:@RM:0:@RM:0:@RM:0:@RM:0
END ELSE
Vals = 1:@RM:1:@RM:1:@RM:1:@RM:1:@RM:1
END
Set_Property(Ctrls,Props,Vals)
Set_Property(Ctrls,Props,Vals)
ETCtrl = @WINDOW:'.REACT_NO'
ETList = Get_Property(ETCtrl,'LIST')
ListCnt = COUNT(ETList,@FM) + (ETList NE '')
FOR Line = 1 TO ListCnt
* Turn edit table symbolic column backgrounds to green **************************************************
IF MOD(Line,2) THEN
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REACT_NO,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$SVC_HRS,Line,VL_YELLOW$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$SVC_WFRS,Line,VL_YELLOW$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$RDS_WAFER_COUNT,Line,VL_YELLOW$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$PCRC,Line,VL_YELLOW$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_DTM,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_REACT_HRS,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_REACT_WFRS,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_RL_ID,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_DTM,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_REACT_HRS,Line,RCV_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_REACT_WFRS,Line,RCV_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_RL_ID,Line,RCV_BLUE$)
/*
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 I
NEXT I
*/
ETCtrl = @WINDOW:'.REACT_NO'
ETList = Get_Property(ETCtrl,'LIST')
ListCnt = COUNT(ETList,@FM) + (ETList NE '')
FOR Line = 1 TO ListCnt
IF MOD(Line,2) THEN
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REACT_NO,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$SVC_HRS,Line,VL_YELLOW$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$SVC_WFRS,Line,VL_YELLOW$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$RDS_WAFER_COUNT,Line,VL_YELLOW$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$PCRC,Line,VL_YELLOW$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_DTM,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_REACT_HRS,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_REACT_WFRS,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_RL_ID,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_DTM,Line,SPECIAL_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_REACT_HRS,Line,RCV_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_REACT_WFRS,Line,RCV_BLUE$)
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_RL_ID,Line,RCV_BLUE$)
END ELSE
FOR N = 1 TO 11
stat = Send_Message(ETCtrl,'COLOR_BY_POS',N,Line,WHITE$)
NEXT N
END
NEXT Line
RIType = Get_Property(@Window:'.RI_TYPE', 'TEXT')
If RIType EQ 'S' then
Set_Property(@Window:'.SUSC_GROUP', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE', 'ENABLED', True$)
Set_Property(@Window:'.LU_PKT_SIZE', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'ENABLED', True$)
Set_Property(@Window:'.PKT_QTY_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.LU_PKT_QTY', 'ENABLED', True$)
Set_Property(@Window:'.PPLUS_RDS_NO_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'ENABLED', True$)
end else
Set_Property(@Window:'.SUSC_GROUP', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE', 'TEXT', '')
Set_Property(@Window:'.LU_PKT_SIZE', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'TEXT', '')
Set_Property(@Window:'PKT_QTY_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PKT_QTY', 'TEXT', '')
Set_Property(@Window:'.LU_PKT_QTY', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'TEXT', '')
end
END ELSE
FOR N = 1 TO 11
stat = Send_Message(ETCtrl,'COLOR_BY_POS',N,Line,WHITE$)
NEXT N
END
NEXT Line
RIType = Get_Property(@Window:'.RI_TYPE', 'TEXT')
If RIType EQ 'S' then
Set_Property(@Window:'.SUSC_GROUP', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE', 'ENABLED', True$)
Set_Property(@Window:'.LU_PKT_SIZE', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'ENABLED', True$)
Set_Property(@Window:'.PKT_QTY_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.LU_PKT_QTY', 'ENABLED', True$)
Set_Property(@Window:'.PPLUS_RDS_NO_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'ENABLED', True$)
end else
Set_Property(@Window:'.SUSC_GROUP', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE', 'TEXT', '')
Set_Property(@Window:'.LU_PKT_SIZE', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'TEXT', '')
Set_Property(@Window:'PKT_QTY_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PKT_QTY', 'TEXT', '')
Set_Property(@Window:'.LU_PKT_QTY', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'TEXT', '')
end
RETURN
* * * * * * *
RITypeChange:
* * * * * * *
RIType = Get_Property(@Window:'.RI_TYPE', 'TEXT')
If RIType EQ 'S' then
Set_Property(@Window:'.SUSC_GROUP', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE', 'ENABLED', True$)
Set_Property(@Window:'.LU_PKT_SIZE', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'ENABLED', True$)
Set_Property(@Window:'.PKT_QTY_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.LU_PKT_QTY', 'ENABLED', True$)
Set_Property(@Window:'.PPLUS_RDS_NO_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'ENABLED', True$)
end else
Set_Property(@Window:'.SUSC_GROUP', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE', 'TEXT', '')
Set_Property(@Window:'.LU_PKT_SIZE', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'TEXT', '')
Set_Property(@Window:'PKT_QTY_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PKT_QTY', 'TEXT', '')
Set_Property(@Window:'.LU_PKT_QTY', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'TEXT', '')
end
RIType = Get_Property(@Window:'.RI_TYPE', 'TEXT')
If RIType EQ 'S' then
Set_Property(@Window:'.SUSC_GROUP', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE', 'ENABLED', True$)
Set_Property(@Window:'.LU_PKT_SIZE', 'ENABLED', True$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'ENABLED', True$)
Set_Property(@Window:'.PKT_QTY_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.LU_PKT_QTY', 'ENABLED', True$)
Set_Property(@Window:'.PPLUS_RDS_NO_LABEL', 'ENABLED', True$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'ENABLED', True$)
end else
Set_Property(@Window:'.SUSC_GROUP', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE', 'TEXT', '')
Set_Property(@Window:'.LU_PKT_SIZE', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'ENABLED', False$)
Set_Property(@Window:'.PKT_SIZE_DESC', 'TEXT', '')
Set_Property(@Window:'PKT_QTY_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PKT_QTY', 'TEXT', '')
Set_Property(@Window:'.LU_PKT_QTY', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO_LABEL', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'ENABLED', False$)
Set_Property(@Window:'.PPLUS_RDS_NO', 'TEXT', '')
end
return
@ -329,26 +296,26 @@ return
RetireItem:
* * * * * * *
Ctrls = @WINDOW:'.RETIRE_DT':@RM ; Props = 'DEFPROP':@RM
Ctrls := @WINDOW:'.RETIRE_BY' ; Props := 'INVALUE'
Ctrls = @WINDOW:'.RETIRE_DT':@RM ; Props = 'DEFPROP':@RM
Ctrls := @WINDOW:'.RETIRE_BY' ; Props := 'INVALUE'
Vals = Get_Property(Ctrls,Props)
Vals = Get_Property(Ctrls,Props)
RetDt = Vals[1,@RM]
RetBy = Vals[COL2()+1,@RM]
RetDt = Vals[1,@RM]
RetBy = Vals[COL2()+1,@RM]
IF RetBy NE '' THEN RETURN ;* Nothing to do
IF RetBy NE '' THEN RETURN ;* Nothing to do
Vals = OCONV(Date(),'D4/'):@RM
Vals := @USER4
Vals = OCONV(Date(),'D4/'):@RM
Vals := @USER4
Set_Property(Ctrls,Props,Vals)
Set_Property(Ctrls,Props,Vals)
GraphNo = Get_Property(@WINDOW:'.GR_NO','DEFPROP')
GraphNo = Get_Property(@WINDOW:'.GR_NO','DEFPROP')
Send_Event(@WINDOW,'WRITE')
Send_Event(@WINDOW,'WRITE')
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:GraphNo)
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:GraphNo)
RETURN
@ -357,28 +324,28 @@ RETURN
ReactDC:
* * * * * * *
CurrPos = Get_Property(EntID,'SELPOS')
CurrCol = CurrPos<1>
CurrRow = CurrPos<2>
CurrPos = Get_Property(EntID,'SELPOS')
CurrCol = CurrPos<1>
CurrRow = CurrPos<2>
GRNo = Get_Property(@WINDOW:'.GR_NO','DEFPROP')
GRNo = Get_Property(@WINDOW:'.GR_NO','DEFPROP')
IF GRNo = '' THEN RETURN
IF GRNo = '' THEN RETURN
BEGIN CASE
CASE CurrCol = COL$INST_RL_ID
RLId = CurrRow<COL$INST_RL_ID>
BEGIN CASE
CASE CurrCol = COL$INST_RL_ID
RLId = CurrRow<COL$INST_RL_ID>
CASE CurrCol = COL$REM_RL_ID
RLId = CurrRow<COL$INST_RL_ID>
CASE CurrCol = COL$REM_RL_ID
RLId = CurrRow<COL$INST_RL_ID>
END CASE
END CASE
RLId = Get_Property(EntID,'CELLPOS',CurrCol:@FM:CurrRow)
RLId = Get_Property(EntID,'CELLPOS',CurrCol:@FM:CurrRow)
IF RLId NE '' THEN
Dummy = Start_Window( 'REACTOR_LOG', @WINDOW, RLId:'*CENTER', '', '' )
END
IF RLId NE '' THEN
Dummy = Start_Window( 'REACTOR_LOG', @WINDOW, RLId:'*CENTER', '', '' )
END
RETURN
@ -387,12 +354,12 @@ RETURN
LURIType:
* * * * * * *
RetVal = Popup(@WINDOW,'','REACT_ITEM_TYPE')
RetVal = Popup(@WINDOW,'','REACT_ITEM_TYPE')
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.RI_TYPE'
obj_Appwindow('LUValReturn',oaParms)
END
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.RI_TYPE'
obj_Appwindow('LUValReturn',oaParms)
END
RETURN
@ -401,40 +368,37 @@ RETURN
LUReactItem:
* * * * * * *
RetVal = Dialog_Box('DIALOG_REACT_ITEM_QUERY', @WINDOW)
RetVal = Dialog_Box('DIALOG_REACT_ITEM_QUERY', @WINDOW)
Display = ''
Display<PDISPLAY$> = RetVal
Display<PMODE$> = 'K'
Display = ''
Display<PDISPLAY$> = RetVal
Display<PMODE$> = 'K'
RetVal = Popup(@WINDOW,Display,'REACT_ITEM')
RetVal = Popup(@WINDOW,Display,'REACT_ITEM')
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
IF INDEX(RetVal,@VM,1) THEN
Set_Property(@WINDOW,'QBFLIST',RetVal)
END ELSE
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:RetVal)
END
IF INDEX(RetVal,@VM,1) THEN
Set_Property(@WINDOW,'QBFLIST',RetVal)
END ELSE
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:RetVal)
END
RETURN
* * * * * * *
LUPartType:
* * * * * * *
RetVal = Popup(@WINDOW,'','RI_PART_TYPE')
RetVal = Popup(@WINDOW,'','RI_PART_TYPE')
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.PART_TYPE'
obj_Appwindow('LUValReturn',oaParms)
END
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.PART_TYPE'
obj_Appwindow('LUValReturn',oaParms)
END
RETURN
@ -443,29 +407,26 @@ RETURN
LUTubeStyle: ;* Added by dkk 12/1/14
* * * * * * *
RetVal = Popup(@WINDOW,'','TUBE_STYLE')
RetVal = Popup(@WINDOW,'','TUBE_STYLE')
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.TUBE_STYLE'
obj_Appwindow('LUValReturn',oaParms)
END
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.TUBE_STYLE'
obj_Appwindow('LUValReturn',oaParms)
END
RETURN
* * * * * * *
LUMfrCd:
* * * * * * *
MfrCd = Popup(@WINDOW,'','REACT_VENDOR')
MfrCd = Popup(@WINDOW,'','REACT_VENDOR')
IF MfrCd NE '' THEN
oaParms = MfrCd:@RM:@WINDOW:'.MFR_CD'
obj_Appwindow('LUValReturn',oaParms)
END
IF MfrCd NE '' THEN
oaParms = MfrCd:@RM:@WINDOW:'.MFR_CD'
obj_Appwindow('LUValReturn',oaParms)
END
RETURN
@ -474,27 +435,25 @@ RETURN
LUReactType:
* * * * * * *
RetVal = Popup(@WINDOW,'','REACTOR_TYPE')
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.REACT_TYPE'
obj_Appwindow('LUValReturn',oaParms)
END
RetVal = Popup(@WINDOW,'','REACTOR_TYPE')
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.REACT_TYPE'
obj_Appwindow('LUValReturn',oaParms)
END
RETURN
* * * * * * *
LUSuscSize:
* * * * * * *
RetVal = Popup(@WINDOW,'','WAFER_SIZES')
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.SUSC_SIZE'
obj_Appwindow('LUValReturn',oaParms)
END
RetVal = Popup(@WINDOW,'','WAFER_SIZES')
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.SUSC_SIZE'
obj_Appwindow('LUValReturn',oaParms)
END
RETURN
@ -503,13 +462,12 @@ RETURN
LUPktSize:
* * * * * * *
Retired = Get_Property(@Window: '.RETIRE_DT', 'TEXT')
RIType = Get_Property(@Window:'.RI_TYPE', 'TEXT')
If RIType EQ 'S' then
PocketQty = ''
Set_Property(@Window:'.PKT_QTY', 'TEXT', '')
PartType = Get_Property(@Window: '.PART_TYPE', 'TEXT')
If (PartType EQ 'HTR') OR (PartType EQ 'EPP') OR (PartType EQ 'ASM') then
Retired = Get_Property(@Window: '.RETIRE_DT', 'TEXT')
RIType = Get_Property(@Window:'.RI_TYPE', 'TEXT')
If RIType EQ 'S' then
PocketQty = ''
Set_Property(@Window:'.PKT_QTY', 'TEXT', '')
PartType = Get_Property(@Window: '.PART_TYPE', 'TEXT')
RetVal = Popup(@WINDOW,TypeOver,'WAFER_SIZES')
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.PKT_SIZE'
@ -532,11 +490,8 @@ If RIType EQ 'S' then
End Case
Set_Property(@Window:'.PKT_QTY', 'TEXT', PocketQty)
END
end else
If Retired EQ '' then ErrMsg('A valid Part Type (EPP, ASM, HTR) must be selected before selecting Pocket Size.')
end
end
end
RETURN
@ -545,36 +500,36 @@ RETURN
LUPktQty:
* * * * * *
ReactType = Get_Property(@WINDOW:'.REACT_TYPE','INVALUE')
ReactType = Get_Property(@WINDOW:'.REACT_TYPE','INVALUE')
IF ReactType NE '' THEN
IF ReactType NE '' THEN
AllDisplayData = XLATE('SYSREPOSPOPUPS','LSL2**SUSCEPTOR_POCKETS',PDISPLAY$,'X')
DisplayData = ''
TypeOver = ''
AllDisplayData = XLATE('SYSREPOSPOPUPS','LSL2**SUSCEPTOR_POCKETS',PDISPLAY$,'X')
DisplayData = ''
TypeOver = ''
DispCnt = COUNT(AllDisplayData,@VM) + (AllDisplayData NE '')
DispCnt = COUNT(AllDisplayData,@VM) + (AllDisplayData NE '')
FOR I = 1 TO DispCnt
DisplayLine = AllDisplayData<1,I>
IF DisplayLine<1,1,2> = ReactType THEN
DisplayData<1,-1> = DisplayLine
END
NEXT I
FOR I = 1 TO DispCnt
DisplayLine = AllDisplayData<1,I>
IF DisplayLine<1,1,2> = ReactType THEN
DisplayData<1,-1> = DisplayLine
END
NEXT I
TypeOver<PDISPLAY$> = DisplayData
TypeOver<PDISPLAY$> = DisplayData
RetVal = Popup(@WINDOW,TypeOver,'SUSCEPTOR_POCKETS')
RetVal = Popup(@WINDOW,TypeOver,'SUSCEPTOR_POCKETS')
END ELSE
RetVal = Popup(@WINDOW,'','SUSCEPTOR_POCKETS')
END
END ELSE
RetVal = Popup(@WINDOW,'','SUSCEPTOR_POCKETS')
END
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.PKT_QTY'
obj_Appwindow('LUValReturn',oaParms)
END
IF RetVal NE '' THEN
oaParms = RetVal:@RM:@WINDOW:'.PKT_QTY'
obj_Appwindow('LUValReturn',oaParms)
END
RETURN
@ -583,15 +538,15 @@ RETURN
PrintLabel:
* * * * * * *
Ctrls = @WINDOW:'.RI_NO':@RM ; Props = 'DEFPROP':@RM
Ctrls := @WINDOW ; Props := 'ATRECORD'
Ctrls = @WINDOW:'.RI_NO':@RM ; Props = 'DEFPROP':@RM
Ctrls := @WINDOW ; Props := 'ATRECORD'
Vals = Get_Property(Ctrls,Props)
Vals = Get_Property(Ctrls,Props)
RINo = Vals[1,@RM]
CurrRec = Vals[COL2()+1,@RM]
RINo = Vals[1,@RM]
CurrRec = Vals[COL2()+1,@RM]
obj_React_Item('PrintLabel',RINo:@RM:CurrRec)
obj_React_Item('PrintLabel',RINo:@RM:CurrRec)
RETURN
@ -625,14 +580,9 @@ PktSizeChange:
End Case
Set_Property(@Window:'.PKT_QTY', 'TEXT', PocketQty)
end else
If Retired EQ '' then ErrMsg('A valid Pocket Size (6 or 8 in.) is required.')
end
end else
If Retired EQ '' then ErrMsg('A valid Part Type (EPP, ASM, HTR) must be selected before selecting Pocket Size.')
end
end
return

View File

@ -149,51 +149,53 @@ WRITE_RECORD_PRE:
// Req'd parameter checks
ItemType = {RI_TYPE}
If ItemType EQ '' then ErrMsg := 'Item Type was not specified. '
If ItemType EQ '' then ErrMsg := 'Item Type was not specified.':CRLF$
If (ItemType NE 'LE') AND (ItemType NE 'RE') then
SerialNo = Record<REACT_ITEM_SERIAL_NO$>
If SerialNo EQ '' then
ErrMsg := 'Serial No. is required for this Reactor Item type. '
ErrMsg := 'Serial No. is required for this Reactor Item type.':CRLF$
end
end
If ItemType EQ 'S' then
PocketQty = Record<REACT_ITEM_PKT_QTY$>
PartType = Record<REACT_ITEM_PART_TYPE$>
PocketQty = Record<REACT_ITEM_PKT_QTY$>
PocketSize = Record<REACT_ITEM_PKT_SIZE$>
If PartType EQ '' then
ErrMsg := 'Part Type is required for Susceptor Reactor Item type.':CRLF$
end
If PocketSize EQ '' then
ErrMsg := 'Pocket size is required for Susceptor Item Type. '
ErrMsg := 'Pocket size is required for Susceptor Item Type.':CRLF$
end
If PocketQty EQ '' then
ErrMsg := 'Pocket quantity is required for Susceptor Item Type. '
ErrMsg := 'Pocket quantity is required for Susceptor Item Type.':CRLF$
end
If ErrMsg = '' then
ExpectedQty = ''
Begin Case
Case Record<REACT_ITEM_PART_TYPE$> EQ 'ASM'
Case PartType EQ 'ASM'
If PocketSize EQ 6 OR PocketSize EQ 8 then
ExpectedQty = 1
end
Case Record<REACT_ITEM_PART_TYPE$> EQ 'HTR'
Case PartType EQ 'HTR'
If PocketSize EQ 8 then
ExpectedQty = 3
end else
If PocketSize EQ 6 then ExpectedQty = 5
end
Case Record<REACT_ITEM_PART_TYPE$> EQ 'EPP'
Case PartType EQ 'EPP'
If PocketSize EQ 8 then
ExpectedQty = 8
end else
If PocketSize EQ 6 then ExpectedQty = 18
end
Case Record<REACT_ITEM_PART_TYPE$> EQ ''
ErrMsg := 'Part Type. is required for Susceptor Reactor Item type. '
Case Otherwise$
ErrMsg := 'Invalid Part Type for Susceptor Reactor Item Type. '
ErrMsg := 'Invalid Part Type for Susceptor Reactor Item Type.':CRLF$
End Case
If ExpectedQty NE '' then
If PocketQty NE ExpectedQty then
ErrMsg := 'Invalid Pocket Quantity for Part Type/Pocket Size combination. '
ErrMsg := 'Invalid Pocket Quantity for Part Type/Pocket Size combination.':CRLF$
end
end
end
@ -201,8 +203,10 @@ WRITE_RECORD_PRE:
end
If ErrMsg NE '' then
Error_Services('Add', 'Error Saving Reactor Item: ' : ErrMsg)
OrigFileError = 104:': Error Saving Reactor Item: ' : ErrMsg
// Strip off last @FM
ErrMsg[-1, 2] = ''
Error_Services('Add', 'Error Saving Reactor Item:' : CRLF$ : ErrMsg)
OrigFileError = 104:': Error Saving Reactor Item:' : CRLF$ : ErrMsg
Status = 0
Record = ''
ActionFlow = ACTION_STOP$
@ -289,6 +293,3 @@ Restore_System_Variables:
return