11 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			11 lines
		
	
	
		
			5.2 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 quote_sigs_equ\r\n$insert spc_limits_equ\r\n$insert msg_equates\r\n$INSERT NOTIFICATION_EQU\r\n\r\nequ CrLf$ to char(13):char(10)\r\n\r\nif rowexists( 'SPC_EVAL_4PP', .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      RHO = .rho->text\r\n      Stdev = .stdev->text\r\n      TermNo = .term_no->text\r\n      EvalRange = .evalrange->text\r\n      WaferID = .eval4ppwaferid->text\r\n      begin case\r\n         case EvalRange = 'Low'\r\n            Eval4PPMin = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPLMin$, 'X' )\r\n            Eval4PPMax = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPLMax$, 'X' )\r\n\t        Eval4PPWaferID   = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPLWaferID$, 'X' )\t              \r\n            EvalStdevMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPLStdevMin$, 'X' ), 'MD3' )\r\n            EvalStdevMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPLStdevMax$, 'X' ), 'MD3' )\r\n\t\t\tEvalStdevWaferID  = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPLStdevWaferID$, 'X' )            \r\n         case EvalRange = 'Mid'\r\n            Eval4PPMin = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPMMin$, 'X' )\r\n            Eval4PPMax = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPMMax$, 'X' )\r\n\t        Eval4PPWaferID   = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPMWaferID$, 'X' )            \r\n            EvalStdevMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPMStdevMin$, 'X' ), 'MD3' )\r\n            EvalStdevMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPMStdevMax$, 'X' ), 'MD3' )\r\n\t\t\tEvalStdevWaferID  = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPMStdevWaferID$, 'X' )            \r\n         case EvalRange = 'High'\r\n            Eval4PPMin = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPHMin$, 'X' )\r\n            Eval4PPMax = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPHMax$, 'X' )\r\n\t        Eval4PPWaferID   = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPHWaferID$, 'X' )            \r\n            EvalStdevMin = oconv( xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPHStdevMin$, 'X' ), 'MD3' )\r\n            EvalStdevMax = oconv( xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPHStdevMax$, 'X' ), 'MD3' )\r\n\t\t\tEvalStdevWaferID  = xlate( 'CONFIG', 'SPC_LIMITS', Eval4PPHStdevWaferID$, 'X' )            \r\n      end case\r\n      locate WaferID in Eval4PPWaferID using @vm setting WIDPos then\r\n         Eval4PPMin = Eval4PPMin<1,WIDPos>\r\n         Eval4PPMax = Eval4PPMax<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 ( ( RHO > Eval4PPMax ) or ( RHO < Eval4PPMin ) ) or ( Stdev > EvalStdevMax ) or ( Stdev < EvalStdevMin ) and ( TermNo = '' ) then\r\n         * OCAP REQUIRED\r\n         MsgInfo = ''\r\n         Text = 'Please follow the 4PP \"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_4PP_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', F4PPOutSpecNotif$, 'X' )\r\n            \r\n            SendTo =  XLATE('NOTIFICATION','4PP_OUT',NOTIFICATION_USER_ID$,'X')\r\n            Subject = '4PP out of spec entry...'\r\n            Note    = 'Please see the attached 4PP entry.'\r\n            create_note( SendTo, 'System', Subject, Note, 'SPC_EVAL_4PP', .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 4PP SPC Control entry first...' \r\n      MsgInfo<micon$> = 'H'\r\n      Void = msg( '', MsgInfo )\r\n   end\r\nend\r\nreturn 0"
 | |
|         }
 | |
|     }
 | |
| } |