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"
 | |
|         }
 | |
|     }
 | |
| } |