Refined event logic to prevent multiple error messages from being displayed. Imlemented GetStackTrace service in Error_Services so that the stack contents can be logged with the RDS Layer error log.
This commit is contained in:
committed by
Stieber Daniel (CSC FI SPS MESLEO)
parent
651b7ab420
commit
f930fd3efe
@ -35,6 +35,7 @@ Compile function RDS_LAYER_EVENTS(CtrlEntId, Event, @PARAMS)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
#window RDS_LAYER
|
||||
|
||||
$Insert EVENT_SETUP
|
||||
$Insert RDS_EQUATES
|
||||
$Insert APP_INSERTS
|
||||
$Insert RLIST_EQUATES
|
||||
@ -54,7 +55,7 @@ EQU HIDDEN$ TO 32
|
||||
|
||||
Declare subroutine Comm_RDS_Layer, Tool_Parms_Services, Set_Status, RList, Errmsg, Database_Services, Msg
|
||||
Declare subroutine PlaceDialog, obj_RDS_Layer, Security_Err_Msg
|
||||
Declare function Tool_Parms_Services, Get_Property, Database_Services, Security_Check, MemberOf
|
||||
Declare function Tool_Parms_Services, Get_Property, Database_Services, Security_Check, MemberOf, Get_EventStatus
|
||||
|
||||
GoToEvent Event for CtrlEntId else
|
||||
// Event not implemented
|
||||
@ -98,7 +99,7 @@ Event WINDOW.WRITE()
|
||||
IF CurrRecord NE OrgRecord THEN
|
||||
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')
|
||||
NewLine = @USER4:@VM:CurrDTM
|
||||
Send_Message(@WINDOW:'.MODIFY_USER','INSERT',1,NewLine)
|
||||
Send_Message(@WINDOW:'.MODIFY_USER', 'INSERT', 1, NewLine)
|
||||
END
|
||||
|
||||
IOOptions = Get_Property(@Window, 'IOOPTIONS')
|
||||
@ -107,104 +108,16 @@ Event WINDOW.WRITE()
|
||||
Set_Status(0)
|
||||
Forward_Event()
|
||||
errCode = ''
|
||||
If Get_Status(errCode) then ErrMsg('Save failed. Error code: ':errCode)
|
||||
Post_Event(@WINDOW,'CLOSE')
|
||||
|
||||
* end else
|
||||
*
|
||||
* MsgHead = 'Default Run Parameters'
|
||||
* MsgText = 'Would you like to use these parameters as the default for future lots?'
|
||||
*
|
||||
* Response = Msg(@WINDOW,'','YESNO','',MsgHead:@FM:MsgText)
|
||||
*
|
||||
* IF Response EQ True$ THEN
|
||||
*
|
||||
* RDSNo = Get_Property(@Window : '.RDS_NO', 'TEXT')
|
||||
* Database_Services('ActivateRecord', 'RDS', RDSNo)
|
||||
* WorkOrder = {WO}
|
||||
* ReactorNo = {REACTOR}
|
||||
* PSN = {PROD_SPEC_ID}
|
||||
* If PSN NE '' then
|
||||
* If ReactorNo EQ '' then
|
||||
* ReactorNo = {SCHED_REACTOR}
|
||||
* If ReactorNo EQ '' then
|
||||
* ErrorMsg = 'No scheduled reactor found for work order: ':WorkOrder:'. Could not apply current ':@SVM |
|
||||
* : 'run parameters. Please assign a reactor to this RDS first.'
|
||||
* ErrMsg(ErrorMsg)
|
||||
* return
|
||||
* end
|
||||
* end
|
||||
* // Create a new TOOL_PARMS record, which is the "master" parameter record.
|
||||
* Tool_Parms_Services('CreateToolParmsRec', PSN, ReactorNo, RDSNo)
|
||||
* If Error_Services('NoError') then
|
||||
* Msg(@Window, '', 'SUCCESS', '', 'Run parameters have been set for reactor ':ReactorNo)
|
||||
* end else
|
||||
* Errmsg('Error setting run parameters. Error message: ':Error_Services('GetMessage'))
|
||||
* end
|
||||
* end else
|
||||
* ErrorMsg = 'No PSN assigned to this RDS. Could not apply current ':@SVM |
|
||||
* : 'run parameters. Please assign a PSN to this RDS first.'
|
||||
* ErrMsg(ErrorMsg)
|
||||
* return
|
||||
* end
|
||||
* end
|
||||
* end
|
||||
|
||||
|
||||
If Get_EventStatus(errCode) then
|
||||
EventFlow = EVENT_STOP$
|
||||
end else
|
||||
Post_Event(@WINDOW,'CLOSE')
|
||||
end
|
||||
|
||||
end event
|
||||
|
||||
|
||||
* Event BTN_SET_CURR_RUN_PARMS.CLICK()
|
||||
*
|
||||
* // Use new RDS_LAYER parameters to create a new TOOL_PARMS record.
|
||||
* // Then apply the new TOOL_PARMS to all RDS records in this work order on this reactor.
|
||||
* // Note: If a reactor has not yet been assigned to an RDS in this work order, then
|
||||
* // the TOOL_PARMS will be applied anyways as a convenience. Should the RDS be
|
||||
* // reassigned to another reactor later, the appropriate TOOL_PARMS will be applied
|
||||
* // by the RDS_ACTIONS MFS.
|
||||
*
|
||||
* Savewarn = Get_Property(@Window, 'SAVEWARN')
|
||||
* Set_Property(@Window, '@SKIPSCRIPT', True$)
|
||||
* If Savewarn EQ True$ then
|
||||
* IOOptions = Get_Property(@Window, 'IOOPTIONS')
|
||||
* IOOptions<6> = 1
|
||||
* Set_Property(@Window, 'IOOPTIONS', IOOptions)
|
||||
* Send_Event(@Window, 'WRITE')
|
||||
* end
|
||||
* RDSNo = Get_Property(@Window : '.RDS_NO', 'TEXT')
|
||||
* Database_Services('ActivateRecord', 'RDS', RDSNo)
|
||||
* WorkOrder = {WO}
|
||||
* ReactorNo = {REACTOR}
|
||||
* PSN = {PROD_SPEC_ID}
|
||||
* If PSN NE '' then
|
||||
* If ReactorNo EQ '' then
|
||||
* ReactorNo = {SCHED_REACTOR}
|
||||
* If ReactorNo EQ '' then
|
||||
* ErrorMsg = 'No scheduled reactor found for work order: ':WorkOrder:'. Could not apply current ':@SVM |
|
||||
* : 'run parameters. Please assign a reactor to this RDS first.'
|
||||
* ErrMsg(ErrorMsg)
|
||||
* return
|
||||
* end
|
||||
* end
|
||||
* // Create a new TOOL_PARMS record, which is the "master" parameter record.
|
||||
* Tool_Parms_Services('CreateToolParmsRec', PSN, ReactorNo, RDSNo)
|
||||
* // Apply new TOOL_PARMS record to all RDS_LAYERS in this run without an unload signature.
|
||||
* Tool_Parms_Services('ApplyCurrentRunParms', PSN, ReactorNo)
|
||||
* If Error_Services('NoError') then
|
||||
* Msg(@Window, '', 'SUCCESS', '', 'Run parameters have been set for reactor ':ReactorNo)
|
||||
* end else
|
||||
* Errmsg('Error setting run parameters. Error message: ':Error_Services('GetMessage'))
|
||||
* end
|
||||
* end else
|
||||
* ErrorMsg = 'No PSN assigned to this RDS. Could not apply current ':@SVM |
|
||||
* : 'run parameters. Please assign a PSN to this RDS first.'
|
||||
* ErrMsg(ErrorMsg)
|
||||
* return
|
||||
* end
|
||||
*
|
||||
* end event
|
||||
|
||||
|
||||
Event PUB_CONFIRM_PARMS.CLICK()
|
||||
|
||||
RDSNo = Get_Property(@Window:'.RDS_NO', 'TEXT')
|
||||
@ -248,9 +161,11 @@ end event
|
||||
|
||||
|
||||
ClearCursors:
|
||||
|
||||
For counter = 0 to 8
|
||||
ClearSelect counter
|
||||
Next counter
|
||||
|
||||
return
|
||||
|
||||
|
||||
@ -348,11 +263,6 @@ Refresh:
|
||||
Parameter_Styles = Send_Message( @WINDOW:'.RECIPE_PARMS', "COLSTYLE", 0, ParameterStyles )
|
||||
LimitStyles = Send_Message( @WINDOW:'.RECIPE_LIMITS', "COLSTYLE", 0, LimitStyles )
|
||||
|
||||
* Set_Property( @WINDOW:'.RECIPE_INFO', "AUTOSIZECOL", 16 )
|
||||
* Set_Property( @WINDOW:'.RECIPE_LIMITS', "AUTOSIZECOL", 16 )
|
||||
|
||||
|
||||
|
||||
* QBF buttons
|
||||
|
||||
Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM
|
||||
@ -389,7 +299,6 @@ Refresh:
|
||||
NEXT I
|
||||
NEXT I
|
||||
|
||||
|
||||
TestList = Get_Property(@WINDOW:'.RDS_TEST_KEYS','LIST')
|
||||
|
||||
FOR I = 1 TO COUNT(TestList,@FM) + (TestList NE '')
|
||||
@ -400,14 +309,6 @@ Refresh:
|
||||
END
|
||||
NEXT I
|
||||
|
||||
* RPCopy = RecipeParms
|
||||
* Convert @FM to '' in RPCopy
|
||||
* If RPCopy EQ '' then
|
||||
* Set_Property(@Window : '.BTN_SET_CURR_RUN_PARMS', 'ENABLED', False$)
|
||||
* end else
|
||||
* Set_Property(@Window : '.BTN_SET_CURR_RUN_PARMS', 'ENABLED', True$)
|
||||
* end
|
||||
|
||||
IsTestWafer = Xlate('RDS', RDSNo, 'ON_TW_FREQ', 'X')
|
||||
RDSLayerAck = RDSRec<RDS_RDS_LAYER_ACK$>
|
||||
If ( (IsTestWafer EQ True$) and ( (RDSLayerAck EQ False$) or (RDSLayerAck EQ '') ) ) then
|
||||
|
Reference in New Issue
Block a user