11 lines
5.4 KiB
JSON
11 lines
5.4 KiB
JSON
{
|
|
"header": {
|
|
"version": 1,
|
|
"type": "record"
|
|
},
|
|
"body": {
|
|
"record1": {
|
|
"<1>": "declare function rowexists, msg, dialog_box\r\ndeclare subroutine forward_event, create_note\r\n\r\n$insert spc_limits_equ\r\n$insert msg_equates\r\n$insert quote_sigs_equ\r\n$INSERT NOTIFICATION_EQU\r\n\r\nequ CrLf$ to char(13):char(10)\r\n\r\nif rowexists( 'SPC_EVAL_FTIR', .control_id->text ) then\r\n return 1\r\nend else\r\n if .tech_sig->text <> '' then\r\n * NOW CHECK TO SEE IF THE OCAP IS REQUIRED\r\n Thick = .thick->text\r\n Stdev = .stdev->text\r\n TermNo = .term_no->text\r\n EvalRange = .evalrange->text\r\n WaferID = .evalftirwaferid->text\r\n\r\n begin case\r\n case EvalRange = 'Low'\r\n\t EvalFTIRMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRLMin$, 'X' ), 'MD3' )\r\n\t EvalFTIRMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRLMax$, 'X' ), 'MD3' )\r\n\t EvalFTIRWaferID = xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRLWaferID$, 'X' )\t \r\n\t EvalStdevMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRLStdevMin$, 'X' ), 'MD3' )\r\n\t EvalStdevMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRLStdevMax$, 'X' ), 'MD3' )\r\n\t EvalStdevWaferID = xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRLStdevWaferID$, 'X' )\r\n case EvalRange = 'Mid'\r\n\t EvalFTIRMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRMMin$, 'X' ), 'MD3' )\r\n\t EvalFTIRMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRMMax$, 'X' ), 'MD3' )\r\n\t EvalFTIRWaferID = xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRMWaferID$, 'X' )\t \t \r\n\t EvalStdevMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRMStdevMin$, 'X' ), 'MD3' )\r\n\t EvalStdevMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRMStdevMax$, 'X' ), 'MD3' )\r\n\t EvalStdevWaferID = xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRMStdevWaferID$, 'X' )\t \r\n case EvalRange = 'High'\r\n\t EvalFTIRMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRHMin$, 'X' ), 'MD3' )\r\n\t EvalFTIRMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRHMax$, 'X' ), 'MD3' )\r\n\t EvalFTIRWaferID = xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRHWaferID$, 'X' )\t \t \r\n\t EvalStdevMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRHStdevMin$, 'X' ), 'MD3' )\r\n\t EvalStdevMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRHStdevMax$, 'X' ), 'MD3' )\r\n\t EvalStdevWaferID = xlate( 'CONFIG', 'SPC_LIMITS', EvalFTIRHStdevWaferID$, 'X' )\t \t \r\n end case\r\n locate WaferID in EvalFTIRWaferID using @vm setting WIDPos then\r\n EvalFTIRMin = EvalFTIRMin<1,WIDPos>\r\n EvalFTIRMax = EvalFTIRMax<1,WIDPos>\r\n end else\r\n * ERROR ENGINEERING ERROR CONTACT PAUL THIS SHOULD NOT HAPPEN\r\n MsgInfo = ''\r\n MText = 'Wafer ID# ':quote(WaferID):'is not found in the limit set up for ':EvalRange:CrLf$\r\n MText:= 'Please contact the engineering manager.'\r\n MsgInfo<mtext$> = MText\r\n MsgInfo<micon$> = 'H'\r\n Void = msg( '', MsgInfo )\r\n return 0 \r\n end\r\n locate WaferID in EvalStdevWaferID using @vm setting WIDPos then\r\n EvalStdevMin = EvalStdevMin<1,WIDPos>\r\n EvalStdevMax = EvalStdevMax<1,WIDPos>\r\n end else\r\n * ERROR ENGINEERING ERROR CONTACT PAUL THIS SHOULD NOT HAPPEN\r\n MsgInfo = ''\r\n MText = 'Wafer ID# ':quote(WaferID):'is not found in the limit set up for ':EvalRange:CrLf$\r\n MText:= 'Please contact the engineering manager.'\r\n MsgInfo<mtext$> = MText\r\n MsgInfo<micon$> = 'H'\r\n Void = msg( '', MsgInfo )\r\n return 0 \r\n end\r\n \r\n * IF TERMNO THEN THEY HAVE ALREADY GONE THROUGH THE OCAP AND EVERYTHING IS OK\r\n if ( ( Thick > EvalFTIRMax ) or ( Thick < EvalFTIRMin ) ) or ( Stdev > EvalStdevMax ) or ( Stdev < EvalStdevMin ) and ( TermNo = '' ) then\r\n * OCAP REQUIRED\r\n MsgInfo = ''\r\n Text = 'Please follow the FTIR \"Out of Control Action Plan\".':CrLf$\r\n Text:= 'This will guide you to a term number...Click OK to view OCAP.' \r\n MsgInfo<mtext$> = Text\r\n MsgInfo<micon$> = '!'\r\n Void = msg( @window, MsgInfo )\r\n RetValue = Dialog_Box( 'SPC_OCAP', @window, 'SPC_FTIR_OCAP':char(245):'*CENTER' )\r\n\t .term_no->enabled = 1\r\n\t .term_no->text = RetValue\r\n Void = set_property( \"SYSTEM\", \"FOCUS\", @window:'.TERM_NO' )\t \r\n end else\r\n .entry_id->text = @user4\r\n IF TermNo = 2 THEN\r\n \r\n *SendTo = xlate( 'CONFIG', 'QUOTE_SIGS', FTIROutSpecNotif$, 'X' )\r\n SendTo = XLATE('NOTIFICATION','FTIR_OUT',NOTIFICATION_USER_ID$,'X')\r\n Subject = 'FTIR out of spec entry...'\r\n Note = 'Please see the attached FTIR entry.'\r\n create_note( SendTo, 'System', Subject, Note, 'SPC_EVAL_FTIR', .control_id->text ) \r\n END \r\n return 1\r\n end\r\n end else\r\n MsgInfo = ''\r\n MsgInfo<mtext$> = 'You must sign this FTIR SPC Control entry first...' \r\n MsgInfo<micon$> = 'H'\r\n Void = msg( '', MsgInfo )\r\n end\r\nend\r\nreturn 0"
|
|
}
|
|
}
|
|
} |