Compare commits
	
		
			8 Commits
		
	
	
		
			292bc4646b
			...
			18919090d8
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 18919090d8 | |||
| 550f376a0b | |||
| 6aad8036e5 | |||
| 4fc7eb189b | |||
| 5e917e65ac | |||
| 97f3c3fce2 | |||
| 27d55d83a1 | |||
| 4e213ff253 | 
							
								
								
									
										675
									
								
								LSL2/OIWIN/NDW_ACKNOWLEDGE_MESSAGE.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										675
									
								
								LSL2/OIWIN/NDW_ACKNOWLEDGE_MESSAGE.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,675 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "header": {
 | 
				
			||||||
 | 
					        "version": 1,
 | 
				
			||||||
 | 
					        "type": "record"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "body": {
 | 
				
			||||||
 | 
					        "record1": {
 | 
				
			||||||
 | 
					            "<1>": "1010",
 | 
				
			||||||
 | 
					            "<2>": "3",
 | 
				
			||||||
 | 
					            "<3>": ""
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "record2": {
 | 
				
			||||||
 | 
					            "<1>": {
 | 
				
			||||||
 | 
					                "<1,1>": "NDW_ACKNOWLEDGE_MESSAGE",
 | 
				
			||||||
 | 
					                "<1,2>": "",
 | 
				
			||||||
 | 
					                "<1,3>": "WINDOW",
 | 
				
			||||||
 | 
					                "<1,4>": "",
 | 
				
			||||||
 | 
					                "<1,5>": "137",
 | 
				
			||||||
 | 
					                "<1,6>": "173",
 | 
				
			||||||
 | 
					                "<1,7>": "-765",
 | 
				
			||||||
 | 
					                "<1,8>": "-539",
 | 
				
			||||||
 | 
					                "<1,9>": "Process Message",
 | 
				
			||||||
 | 
					                "<1,10>": {
 | 
				
			||||||
 | 
					                    "<1,10,1>": "0x84C80000",
 | 
				
			||||||
 | 
					                    "<1,10,2>": "0x101"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,11>": {
 | 
				
			||||||
 | 
					                    "<1,11,1>": "0x8000",
 | 
				
			||||||
 | 
					                    "<1,11,2>": "0x80000000"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,12>": "",
 | 
				
			||||||
 | 
					                "<1,13>": {
 | 
				
			||||||
 | 
					                    "<1,13,1>": "-2",
 | 
				
			||||||
 | 
					                    "<1,13,2>": "-2",
 | 
				
			||||||
 | 
					                    "<1,13,3>": "0"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,14>": "",
 | 
				
			||||||
 | 
					                "<1,15>": "",
 | 
				
			||||||
 | 
					                "<1,16>": "",
 | 
				
			||||||
 | 
					                "<1,17>": "",
 | 
				
			||||||
 | 
					                "<1,18>": {
 | 
				
			||||||
 | 
					                    "<1,18,1>": {
 | 
				
			||||||
 | 
					                        "<1,18,1,1>": "X",
 | 
				
			||||||
 | 
					                        "<1,18,1,2>": "EXECUTE",
 | 
				
			||||||
 | 
					                        "<1,18,1,3>": "@WINDOW_EVENTS",
 | 
				
			||||||
 | 
					                        "<1,18,1,4>": {
 | 
				
			||||||
 | 
					                            "<1,18,1,4,1>": "@SELF",
 | 
				
			||||||
 | 
					                            "<1,18,1,4,2>": "@EVENT",
 | 
				
			||||||
 | 
					                            "<1,18,1,4,3>": "@PARAM1",
 | 
				
			||||||
 | 
					                            "<1,18,1,4,4>": "@PARAM2",
 | 
				
			||||||
 | 
					                            "<1,18,1,4,5>": "@PARAM3",
 | 
				
			||||||
 | 
					                            "<1,18,1,4,6>": "@PARAM4",
 | 
				
			||||||
 | 
					                            "<1,18,1,4,7>": "@PARAM5",
 | 
				
			||||||
 | 
					                            "<1,18,1,4,8>": "@PARAM6"
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        "<1,18,1,5>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,6>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,7>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,8>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,9>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,10>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,11>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,12>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,13>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,14>": "",
 | 
				
			||||||
 | 
					                        "<1,18,1,15>": "COMMEVT",
 | 
				
			||||||
 | 
					                        "<1,18,1,16>": "0"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,19>": "CREATE",
 | 
				
			||||||
 | 
					                "<1,20>": "",
 | 
				
			||||||
 | 
					                "<1,21>": "",
 | 
				
			||||||
 | 
					                "<1,22>": "",
 | 
				
			||||||
 | 
					                "<1,23>": "",
 | 
				
			||||||
 | 
					                "<1,24>": {
 | 
				
			||||||
 | 
					                    "<1,24,1>": "",
 | 
				
			||||||
 | 
					                    "<1,24,2>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,3>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,4>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,5>": "",
 | 
				
			||||||
 | 
					                    "<1,24,6>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,7>": "",
 | 
				
			||||||
 | 
					                    "<1,24,8>": "",
 | 
				
			||||||
 | 
					                    "<1,24,9>": "",
 | 
				
			||||||
 | 
					                    "<1,24,10>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,11>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,12>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,13>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,14>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,15>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,16>": "0",
 | 
				
			||||||
 | 
					                    "<1,24,17>": "0"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,25>": "",
 | 
				
			||||||
 | 
					                "<1,26>": "",
 | 
				
			||||||
 | 
					                "<1,27>": "",
 | 
				
			||||||
 | 
					                "<1,28>": "",
 | 
				
			||||||
 | 
					                "<1,29>": "",
 | 
				
			||||||
 | 
					                "<1,30>": "",
 | 
				
			||||||
 | 
					                "<1,31>": "",
 | 
				
			||||||
 | 
					                "<1,32>": "",
 | 
				
			||||||
 | 
					                "<1,33>": "",
 | 
				
			||||||
 | 
					                "<1,34>": "LSL2*IMAGE*ICO*INFINEON",
 | 
				
			||||||
 | 
					                "<1,35>": "",
 | 
				
			||||||
 | 
					                "<1,36>": "",
 | 
				
			||||||
 | 
					                "<1,37>": {
 | 
				
			||||||
 | 
					                    "<1,37,1>": "0X10001",
 | 
				
			||||||
 | 
					                    "<1,37,2>": "0X10001"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,38>": "",
 | 
				
			||||||
 | 
					                "<1,39>": "",
 | 
				
			||||||
 | 
					                "<1,40>": "",
 | 
				
			||||||
 | 
					                "<1,41>": "",
 | 
				
			||||||
 | 
					                "<1,42>": "",
 | 
				
			||||||
 | 
					                "<1,43>": "",
 | 
				
			||||||
 | 
					                "<1,44>": "",
 | 
				
			||||||
 | 
					                "<1,45>": "",
 | 
				
			||||||
 | 
					                "<1,46>": "",
 | 
				
			||||||
 | 
					                "<1,47>": "",
 | 
				
			||||||
 | 
					                "<1,48>": "",
 | 
				
			||||||
 | 
					                "<1,49>": "",
 | 
				
			||||||
 | 
					                "<1,50>": "",
 | 
				
			||||||
 | 
					                "<1,51>": "",
 | 
				
			||||||
 | 
					                "<1,52>": "",
 | 
				
			||||||
 | 
					                "<1,53>": "",
 | 
				
			||||||
 | 
					                "<1,54>": "",
 | 
				
			||||||
 | 
					                "<1,55>": "",
 | 
				
			||||||
 | 
					                "<1,56>": "",
 | 
				
			||||||
 | 
					                "<1,57>": "",
 | 
				
			||||||
 | 
					                "<1,58>": "",
 | 
				
			||||||
 | 
					                "<1,59>": "",
 | 
				
			||||||
 | 
					                "<1,60>": "",
 | 
				
			||||||
 | 
					                "<1,61>": "",
 | 
				
			||||||
 | 
					                "<1,62>": {
 | 
				
			||||||
 | 
					                    "<1,62,1>": "0",
 | 
				
			||||||
 | 
					                    "<1,62,2>": "",
 | 
				
			||||||
 | 
					                    "<1,62,3>": "",
 | 
				
			||||||
 | 
					                    "<1,62,4>": "2",
 | 
				
			||||||
 | 
					                    "<1,62,5>": "0",
 | 
				
			||||||
 | 
					                    "<1,62,6>": "0",
 | 
				
			||||||
 | 
					                    "<1,62,7>": "",
 | 
				
			||||||
 | 
					                    "<1,62,8>": "0.50",
 | 
				
			||||||
 | 
					                    "<1,62,9>": "5.00",
 | 
				
			||||||
 | 
					                    "<1,62,10>": "0.00"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,63>": "",
 | 
				
			||||||
 | 
					                "<1,64>": "",
 | 
				
			||||||
 | 
					                "<1,65>": "",
 | 
				
			||||||
 | 
					                "<1,66>": "",
 | 
				
			||||||
 | 
					                "<1,67>": "",
 | 
				
			||||||
 | 
					                "<1,68>": "",
 | 
				
			||||||
 | 
					                "<1,69>": "",
 | 
				
			||||||
 | 
					                "<1,70>": "",
 | 
				
			||||||
 | 
					                "<1,71>": "",
 | 
				
			||||||
 | 
					                "<1,72>": "",
 | 
				
			||||||
 | 
					                "<1,73>": "",
 | 
				
			||||||
 | 
					                "<1,74>": "",
 | 
				
			||||||
 | 
					                "<1,75>": "",
 | 
				
			||||||
 | 
					                "<1,76>": "",
 | 
				
			||||||
 | 
					                "<1,77>": "",
 | 
				
			||||||
 | 
					                "<1,78>": "",
 | 
				
			||||||
 | 
					                "<1,79>": "",
 | 
				
			||||||
 | 
					                "<1,80>": "",
 | 
				
			||||||
 | 
					                "<1,81>": "",
 | 
				
			||||||
 | 
					                "<1,82>": "",
 | 
				
			||||||
 | 
					                "<1,83>": "",
 | 
				
			||||||
 | 
					                "<1,84>": "",
 | 
				
			||||||
 | 
					                "<1,85>": "",
 | 
				
			||||||
 | 
					                "<1,86>": "",
 | 
				
			||||||
 | 
					                "<1,87>": "",
 | 
				
			||||||
 | 
					                "<1,88>": "",
 | 
				
			||||||
 | 
					                "<1,89>": "",
 | 
				
			||||||
 | 
					                "<1,90>": "",
 | 
				
			||||||
 | 
					                "<1,91>": "",
 | 
				
			||||||
 | 
					                "<1,92>": "",
 | 
				
			||||||
 | 
					                "<1,93>": "",
 | 
				
			||||||
 | 
					                "<1,94>": "",
 | 
				
			||||||
 | 
					                "<1,95>": "",
 | 
				
			||||||
 | 
					                "<1,96>": "",
 | 
				
			||||||
 | 
					                "<1,97>": "",
 | 
				
			||||||
 | 
					                "<1,98>": "",
 | 
				
			||||||
 | 
					                "<1,99>": "",
 | 
				
			||||||
 | 
					                "<1,100>": "",
 | 
				
			||||||
 | 
					                "<1,101>": "",
 | 
				
			||||||
 | 
					                "<1,102>": "",
 | 
				
			||||||
 | 
					                "<1,103>": "",
 | 
				
			||||||
 | 
					                "<1,104>": "",
 | 
				
			||||||
 | 
					                "<1,105>": "",
 | 
				
			||||||
 | 
					                "<1,106>": "0",
 | 
				
			||||||
 | 
					                "<1,107>": "",
 | 
				
			||||||
 | 
					                "<1,108>": ""
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "record3": {
 | 
				
			||||||
 | 
					            "<1>": {
 | 
				
			||||||
 | 
					                "<1,1>": "EDB_DATA",
 | 
				
			||||||
 | 
					                "<1,2>": "",
 | 
				
			||||||
 | 
					                "<1,3>": "EDITBOX",
 | 
				
			||||||
 | 
					                "<1,4>": "NDW_ACKNOWLEDGE_MESSAGE",
 | 
				
			||||||
 | 
					                "<1,5>": "16",
 | 
				
			||||||
 | 
					                "<1,6>": "12",
 | 
				
			||||||
 | 
					                "<1,7>": "-17",
 | 
				
			||||||
 | 
					                "<1,8>": "-48",
 | 
				
			||||||
 | 
					                "<1,9>": "",
 | 
				
			||||||
 | 
					                "<1,10>": {
 | 
				
			||||||
 | 
					                    "<1,10,1>": "0x56200840",
 | 
				
			||||||
 | 
					                    "<1,10,2>": "0x200"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,11>": {
 | 
				
			||||||
 | 
					                    "<1,11,1>": "0xC400",
 | 
				
			||||||
 | 
					                    "<1,11,2>": "0x80000000"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,12>": "3",
 | 
				
			||||||
 | 
					                "<1,13>": {
 | 
				
			||||||
 | 
					                    "<1,13,1>": "-2",
 | 
				
			||||||
 | 
					                    "<1,13,2>": "-2",
 | 
				
			||||||
 | 
					                    "<1,13,3>": ""
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,14>": "-2",
 | 
				
			||||||
 | 
					                "<1,15>": {
 | 
				
			||||||
 | 
					                    "<1,15,1>": {
 | 
				
			||||||
 | 
					                        "<1,15,1,1>": "Segoe UI",
 | 
				
			||||||
 | 
					                        "<1,15,1,2>": "-15",
 | 
				
			||||||
 | 
					                        "<1,15,1,3>": "400",
 | 
				
			||||||
 | 
					                        "<1,15,1,4>": "0",
 | 
				
			||||||
 | 
					                        "<1,15,1,5>": "0",
 | 
				
			||||||
 | 
					                        "<1,15,1,6>": "0",
 | 
				
			||||||
 | 
					                        "<1,15,1,7>": "0",
 | 
				
			||||||
 | 
					                        "<1,15,1,8>": "34",
 | 
				
			||||||
 | 
					                        "<1,15,1,9>": "0",
 | 
				
			||||||
 | 
					                        "<1,15,1,10>": "3",
 | 
				
			||||||
 | 
					                        "<1,15,1,11>": "2",
 | 
				
			||||||
 | 
					                        "<1,15,1,12>": "1"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<1,16>": "",
 | 
				
			||||||
 | 
					                "<1,17>": "",
 | 
				
			||||||
 | 
					                "<1,18>": "",
 | 
				
			||||||
 | 
					                "<1,19>": "",
 | 
				
			||||||
 | 
					                "<1,20>": "",
 | 
				
			||||||
 | 
					                "<1,21>": "",
 | 
				
			||||||
 | 
					                "<1,22>": "",
 | 
				
			||||||
 | 
					                "<1,23>": "",
 | 
				
			||||||
 | 
					                "<1,24>": "",
 | 
				
			||||||
 | 
					                "<1,25>": "",
 | 
				
			||||||
 | 
					                "<1,26>": "",
 | 
				
			||||||
 | 
					                "<1,27>": "",
 | 
				
			||||||
 | 
					                "<1,28>": "<<None>>",
 | 
				
			||||||
 | 
					                "<1,29>": "<<None>>",
 | 
				
			||||||
 | 
					                "<1,30>": "",
 | 
				
			||||||
 | 
					                "<1,31>": "0",
 | 
				
			||||||
 | 
					                "<1,32>": "",
 | 
				
			||||||
 | 
					                "<1,33>": "",
 | 
				
			||||||
 | 
					                "<1,34>": "",
 | 
				
			||||||
 | 
					                "<1,35>": "",
 | 
				
			||||||
 | 
					                "<1,36>": "",
 | 
				
			||||||
 | 
					                "<1,37>": "",
 | 
				
			||||||
 | 
					                "<1,38>": "",
 | 
				
			||||||
 | 
					                "<1,39>": "",
 | 
				
			||||||
 | 
					                "<1,40>": "",
 | 
				
			||||||
 | 
					                "<1,41>": "",
 | 
				
			||||||
 | 
					                "<1,42>": "",
 | 
				
			||||||
 | 
					                "<1,43>": "",
 | 
				
			||||||
 | 
					                "<1,44>": "",
 | 
				
			||||||
 | 
					                "<1,45>": "",
 | 
				
			||||||
 | 
					                "<1,46>": "",
 | 
				
			||||||
 | 
					                "<1,47>": "",
 | 
				
			||||||
 | 
					                "<1,48>": "",
 | 
				
			||||||
 | 
					                "<1,49>": "",
 | 
				
			||||||
 | 
					                "<1,50>": "",
 | 
				
			||||||
 | 
					                "<1,51>": "",
 | 
				
			||||||
 | 
					                "<1,52>": "",
 | 
				
			||||||
 | 
					                "<1,53>": "",
 | 
				
			||||||
 | 
					                "<1,54>": "",
 | 
				
			||||||
 | 
					                "<1,55>": "",
 | 
				
			||||||
 | 
					                "<1,56>": "",
 | 
				
			||||||
 | 
					                "<1,57>": "",
 | 
				
			||||||
 | 
					                "<1,58>": "",
 | 
				
			||||||
 | 
					                "<1,59>": "",
 | 
				
			||||||
 | 
					                "<1,60>": "",
 | 
				
			||||||
 | 
					                "<1,61>": "",
 | 
				
			||||||
 | 
					                "<1,62>": "0",
 | 
				
			||||||
 | 
					                "<1,63>": "",
 | 
				
			||||||
 | 
					                "<1,64>": "",
 | 
				
			||||||
 | 
					                "<1,65>": "",
 | 
				
			||||||
 | 
					                "<1,66>": "",
 | 
				
			||||||
 | 
					                "<1,67>": "",
 | 
				
			||||||
 | 
					                "<1,68>": "",
 | 
				
			||||||
 | 
					                "<1,69>": "",
 | 
				
			||||||
 | 
					                "<1,70>": "",
 | 
				
			||||||
 | 
					                "<1,71>": "",
 | 
				
			||||||
 | 
					                "<1,72>": "",
 | 
				
			||||||
 | 
					                "<1,73>": "",
 | 
				
			||||||
 | 
					                "<1,74>": "",
 | 
				
			||||||
 | 
					                "<1,75>": "",
 | 
				
			||||||
 | 
					                "<1,76>": "",
 | 
				
			||||||
 | 
					                "<1,77>": "",
 | 
				
			||||||
 | 
					                "<1,78>": "",
 | 
				
			||||||
 | 
					                "<1,79>": "",
 | 
				
			||||||
 | 
					                "<1,80>": "",
 | 
				
			||||||
 | 
					                "<1,81>": "",
 | 
				
			||||||
 | 
					                "<1,82>": "",
 | 
				
			||||||
 | 
					                "<1,83>": "",
 | 
				
			||||||
 | 
					                "<1,84>": "",
 | 
				
			||||||
 | 
					                "<1,85>": "",
 | 
				
			||||||
 | 
					                "<1,86>": "",
 | 
				
			||||||
 | 
					                "<1,87>": "",
 | 
				
			||||||
 | 
					                "<1,88>": "",
 | 
				
			||||||
 | 
					                "<1,89>": "",
 | 
				
			||||||
 | 
					                "<1,90>": "",
 | 
				
			||||||
 | 
					                "<1,91>": "",
 | 
				
			||||||
 | 
					                "<1,92>": "",
 | 
				
			||||||
 | 
					                "<1,93>": "",
 | 
				
			||||||
 | 
					                "<1,94>": "",
 | 
				
			||||||
 | 
					                "<1,95>": "",
 | 
				
			||||||
 | 
					                "<1,96>": "",
 | 
				
			||||||
 | 
					                "<1,97>": "",
 | 
				
			||||||
 | 
					                "<1,98>": "",
 | 
				
			||||||
 | 
					                "<1,99>": "",
 | 
				
			||||||
 | 
					                "<1,100>": "",
 | 
				
			||||||
 | 
					                "<1,101>": "",
 | 
				
			||||||
 | 
					                "<1,102>": "",
 | 
				
			||||||
 | 
					                "<1,103>": "",
 | 
				
			||||||
 | 
					                "<1,104>": "",
 | 
				
			||||||
 | 
					                "<1,105>": "",
 | 
				
			||||||
 | 
					                "<1,106>": "",
 | 
				
			||||||
 | 
					                "<1,107>": "",
 | 
				
			||||||
 | 
					                "<1,108>": ""
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "<2>": {
 | 
				
			||||||
 | 
					                "<2,1>": "PUB_OK",
 | 
				
			||||||
 | 
					                "<2,2>": "",
 | 
				
			||||||
 | 
					                "<2,3>": "PUSHBUTTON",
 | 
				
			||||||
 | 
					                "<2,4>": "NDW_ACKNOWLEDGE_MESSAGE",
 | 
				
			||||||
 | 
					                "<2,5>": "-184",
 | 
				
			||||||
 | 
					                "<2,6>": "-37",
 | 
				
			||||||
 | 
					                "<2,7>": "80",
 | 
				
			||||||
 | 
					                "<2,8>": "24",
 | 
				
			||||||
 | 
					                "<2,9>": "&OK",
 | 
				
			||||||
 | 
					                "<2,10>": {
 | 
				
			||||||
 | 
					                    "<2,10,1>": "0x56000300",
 | 
				
			||||||
 | 
					                    "<2,10,2>": "0x0"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<2,11>": {
 | 
				
			||||||
 | 
					                    "<2,11,1>": "0x3005",
 | 
				
			||||||
 | 
					                    "<2,11,2>": "0x80000000"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<2,12>": "1",
 | 
				
			||||||
 | 
					                "<2,13>": {
 | 
				
			||||||
 | 
					                    "<2,13,1>": "-2",
 | 
				
			||||||
 | 
					                    "<2,13,2>": "-2",
 | 
				
			||||||
 | 
					                    "<2,13,3>": "0"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<2,14>": "-2",
 | 
				
			||||||
 | 
					                "<2,15>": {
 | 
				
			||||||
 | 
					                    "<2,15,1>": {
 | 
				
			||||||
 | 
					                        "<2,15,1,1>": "Segoe UI",
 | 
				
			||||||
 | 
					                        "<2,15,1,2>": "-12",
 | 
				
			||||||
 | 
					                        "<2,15,1,3>": "400",
 | 
				
			||||||
 | 
					                        "<2,15,1,4>": "0",
 | 
				
			||||||
 | 
					                        "<2,15,1,5>": "0",
 | 
				
			||||||
 | 
					                        "<2,15,1,6>": "0",
 | 
				
			||||||
 | 
					                        "<2,15,1,7>": "1",
 | 
				
			||||||
 | 
					                        "<2,15,1,8>": "0",
 | 
				
			||||||
 | 
					                        "<2,15,1,9>": "0",
 | 
				
			||||||
 | 
					                        "<2,15,1,10>": "0",
 | 
				
			||||||
 | 
					                        "<2,15,1,11>": "0",
 | 
				
			||||||
 | 
					                        "<2,15,1,12>": "0"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<2,16>": "",
 | 
				
			||||||
 | 
					                "<2,17>": "",
 | 
				
			||||||
 | 
					                "<2,18>": {
 | 
				
			||||||
 | 
					                    "<2,18,1>": {
 | 
				
			||||||
 | 
					                        "<2,18,1,1>": "X",
 | 
				
			||||||
 | 
					                        "<2,18,1,2>": "EXECUTE",
 | 
				
			||||||
 | 
					                        "<2,18,1,3>": "@WINDOW_EVENTS",
 | 
				
			||||||
 | 
					                        "<2,18,1,4>": {
 | 
				
			||||||
 | 
					                            "<2,18,1,4,1>": "@SELF",
 | 
				
			||||||
 | 
					                            "<2,18,1,4,2>": "@EVENT",
 | 
				
			||||||
 | 
					                            "<2,18,1,4,3>": "@PARAM1",
 | 
				
			||||||
 | 
					                            "<2,18,1,4,4>": "@PARAM2",
 | 
				
			||||||
 | 
					                            "<2,18,1,4,5>": "@PARAM3",
 | 
				
			||||||
 | 
					                            "<2,18,1,4,6>": "@PARAM4",
 | 
				
			||||||
 | 
					                            "<2,18,1,4,7>": "@PARAM5",
 | 
				
			||||||
 | 
					                            "<2,18,1,4,8>": "@PARAM6"
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        "<2,18,1,5>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,6>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,7>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,8>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,9>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,10>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,11>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,12>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,13>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,14>": "",
 | 
				
			||||||
 | 
					                        "<2,18,1,15>": "COMMEVT",
 | 
				
			||||||
 | 
					                        "<2,18,1,16>": "0"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<2,19>": "CLICK",
 | 
				
			||||||
 | 
					                "<2,20>": "",
 | 
				
			||||||
 | 
					                "<2,21>": "",
 | 
				
			||||||
 | 
					                "<2,22>": "",
 | 
				
			||||||
 | 
					                "<2,23>": "",
 | 
				
			||||||
 | 
					                "<2,24>": "",
 | 
				
			||||||
 | 
					                "<2,25>": "",
 | 
				
			||||||
 | 
					                "<2,26>": "",
 | 
				
			||||||
 | 
					                "<2,27>": "",
 | 
				
			||||||
 | 
					                "<2,28>": "",
 | 
				
			||||||
 | 
					                "<2,29>": "",
 | 
				
			||||||
 | 
					                "<2,30>": "",
 | 
				
			||||||
 | 
					                "<2,31>": "",
 | 
				
			||||||
 | 
					                "<2,32>": "",
 | 
				
			||||||
 | 
					                "<2,33>": "",
 | 
				
			||||||
 | 
					                "<2,34>": "",
 | 
				
			||||||
 | 
					                "<2,35>": "",
 | 
				
			||||||
 | 
					                "<2,36>": "",
 | 
				
			||||||
 | 
					                "<2,37>": "",
 | 
				
			||||||
 | 
					                "<2,38>": "",
 | 
				
			||||||
 | 
					                "<2,39>": "",
 | 
				
			||||||
 | 
					                "<2,40>": "-1",
 | 
				
			||||||
 | 
					                "<2,41>": {
 | 
				
			||||||
 | 
					                    "<2,41,1>": "",
 | 
				
			||||||
 | 
					                    "<2,41,2>": "-1"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<2,42>": "",
 | 
				
			||||||
 | 
					                "<2,43>": "",
 | 
				
			||||||
 | 
					                "<2,44>": "",
 | 
				
			||||||
 | 
					                "<2,45>": "",
 | 
				
			||||||
 | 
					                "<2,46>": "",
 | 
				
			||||||
 | 
					                "<2,47>": "",
 | 
				
			||||||
 | 
					                "<2,48>": "",
 | 
				
			||||||
 | 
					                "<2,49>": "",
 | 
				
			||||||
 | 
					                "<2,50>": "",
 | 
				
			||||||
 | 
					                "<2,51>": "",
 | 
				
			||||||
 | 
					                "<2,52>": "",
 | 
				
			||||||
 | 
					                "<2,53>": "",
 | 
				
			||||||
 | 
					                "<2,54>": "",
 | 
				
			||||||
 | 
					                "<2,55>": "",
 | 
				
			||||||
 | 
					                "<2,56>": "",
 | 
				
			||||||
 | 
					                "<2,57>": "",
 | 
				
			||||||
 | 
					                "<2,58>": "",
 | 
				
			||||||
 | 
					                "<2,59>": "",
 | 
				
			||||||
 | 
					                "<2,60>": "",
 | 
				
			||||||
 | 
					                "<2,61>": "",
 | 
				
			||||||
 | 
					                "<2,62>": "0",
 | 
				
			||||||
 | 
					                "<2,63>": "",
 | 
				
			||||||
 | 
					                "<2,64>": {
 | 
				
			||||||
 | 
					                    "<2,64,1>": "-2",
 | 
				
			||||||
 | 
					                    "<2,64,2>": "-2",
 | 
				
			||||||
 | 
					                    "<2,64,3>": "0"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<2,65>": "-2",
 | 
				
			||||||
 | 
					                "<2,66>": "",
 | 
				
			||||||
 | 
					                "<2,67>": "",
 | 
				
			||||||
 | 
					                "<2,68>": "",
 | 
				
			||||||
 | 
					                "<2,69>": "",
 | 
				
			||||||
 | 
					                "<2,70>": "",
 | 
				
			||||||
 | 
					                "<2,71>": "",
 | 
				
			||||||
 | 
					                "<2,72>": "",
 | 
				
			||||||
 | 
					                "<2,73>": "",
 | 
				
			||||||
 | 
					                "<2,74>": "",
 | 
				
			||||||
 | 
					                "<2,75>": "",
 | 
				
			||||||
 | 
					                "<2,76>": "",
 | 
				
			||||||
 | 
					                "<2,77>": "",
 | 
				
			||||||
 | 
					                "<2,78>": "",
 | 
				
			||||||
 | 
					                "<2,79>": "",
 | 
				
			||||||
 | 
					                "<2,80>": "",
 | 
				
			||||||
 | 
					                "<2,81>": "",
 | 
				
			||||||
 | 
					                "<2,82>": "",
 | 
				
			||||||
 | 
					                "<2,83>": "",
 | 
				
			||||||
 | 
					                "<2,84>": "",
 | 
				
			||||||
 | 
					                "<2,85>": "",
 | 
				
			||||||
 | 
					                "<2,86>": "",
 | 
				
			||||||
 | 
					                "<2,87>": "",
 | 
				
			||||||
 | 
					                "<2,88>": "",
 | 
				
			||||||
 | 
					                "<2,89>": "",
 | 
				
			||||||
 | 
					                "<2,90>": "0",
 | 
				
			||||||
 | 
					                "<2,91>": "0",
 | 
				
			||||||
 | 
					                "<2,92>": "",
 | 
				
			||||||
 | 
					                "<2,93>": "",
 | 
				
			||||||
 | 
					                "<2,94>": "",
 | 
				
			||||||
 | 
					                "<2,95>": "",
 | 
				
			||||||
 | 
					                "<2,96>": "",
 | 
				
			||||||
 | 
					                "<2,97>": "",
 | 
				
			||||||
 | 
					                "<2,98>": "",
 | 
				
			||||||
 | 
					                "<2,99>": "",
 | 
				
			||||||
 | 
					                "<2,100>": "",
 | 
				
			||||||
 | 
					                "<2,101>": "",
 | 
				
			||||||
 | 
					                "<2,102>": "",
 | 
				
			||||||
 | 
					                "<2,103>": "",
 | 
				
			||||||
 | 
					                "<2,104>": "",
 | 
				
			||||||
 | 
					                "<2,105>": "",
 | 
				
			||||||
 | 
					                "<2,106>": "",
 | 
				
			||||||
 | 
					                "<2,107>": "",
 | 
				
			||||||
 | 
					                "<2,108>": ""
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "<3>": {
 | 
				
			||||||
 | 
					                "<3,1>": "PUB_CANCEL",
 | 
				
			||||||
 | 
					                "<3,2>": "",
 | 
				
			||||||
 | 
					                "<3,3>": "PUSHBUTTON",
 | 
				
			||||||
 | 
					                "<3,4>": "NDW_ACKNOWLEDGE_MESSAGE",
 | 
				
			||||||
 | 
					                "<3,5>": "-97",
 | 
				
			||||||
 | 
					                "<3,6>": "-37",
 | 
				
			||||||
 | 
					                "<3,7>": "80",
 | 
				
			||||||
 | 
					                "<3,8>": "24",
 | 
				
			||||||
 | 
					                "<3,9>": "&Cancel",
 | 
				
			||||||
 | 
					                "<3,10>": {
 | 
				
			||||||
 | 
					                    "<3,10,1>": "0x56000300",
 | 
				
			||||||
 | 
					                    "<3,10,2>": "0x0"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<3,11>": {
 | 
				
			||||||
 | 
					                    "<3,11,1>": "0x3002",
 | 
				
			||||||
 | 
					                    "<3,11,2>": "0x80000000"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<3,12>": "2",
 | 
				
			||||||
 | 
					                "<3,13>": {
 | 
				
			||||||
 | 
					                    "<3,13,1>": "-2",
 | 
				
			||||||
 | 
					                    "<3,13,2>": "-2",
 | 
				
			||||||
 | 
					                    "<3,13,3>": "0"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<3,14>": "-2",
 | 
				
			||||||
 | 
					                "<3,15>": {
 | 
				
			||||||
 | 
					                    "<3,15,1>": {
 | 
				
			||||||
 | 
					                        "<3,15,1,1>": "Segoe UI",
 | 
				
			||||||
 | 
					                        "<3,15,1,2>": "-12",
 | 
				
			||||||
 | 
					                        "<3,15,1,3>": "400",
 | 
				
			||||||
 | 
					                        "<3,15,1,4>": "0",
 | 
				
			||||||
 | 
					                        "<3,15,1,5>": "0",
 | 
				
			||||||
 | 
					                        "<3,15,1,6>": "0",
 | 
				
			||||||
 | 
					                        "<3,15,1,7>": "1",
 | 
				
			||||||
 | 
					                        "<3,15,1,8>": "0",
 | 
				
			||||||
 | 
					                        "<3,15,1,9>": "0",
 | 
				
			||||||
 | 
					                        "<3,15,1,10>": "0",
 | 
				
			||||||
 | 
					                        "<3,15,1,11>": "0",
 | 
				
			||||||
 | 
					                        "<3,15,1,12>": "0"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<3,16>": "",
 | 
				
			||||||
 | 
					                "<3,17>": "",
 | 
				
			||||||
 | 
					                "<3,18>": {
 | 
				
			||||||
 | 
					                    "<3,18,1>": {
 | 
				
			||||||
 | 
					                        "<3,18,1,1>": "X",
 | 
				
			||||||
 | 
					                        "<3,18,1,2>": "EXECUTE",
 | 
				
			||||||
 | 
					                        "<3,18,1,3>": "@WINDOW_EVENTS",
 | 
				
			||||||
 | 
					                        "<3,18,1,4>": {
 | 
				
			||||||
 | 
					                            "<3,18,1,4,1>": "@SELF",
 | 
				
			||||||
 | 
					                            "<3,18,1,4,2>": "@EVENT",
 | 
				
			||||||
 | 
					                            "<3,18,1,4,3>": "@PARAM1",
 | 
				
			||||||
 | 
					                            "<3,18,1,4,4>": "@PARAM2",
 | 
				
			||||||
 | 
					                            "<3,18,1,4,5>": "@PARAM3",
 | 
				
			||||||
 | 
					                            "<3,18,1,4,6>": "@PARAM4",
 | 
				
			||||||
 | 
					                            "<3,18,1,4,7>": "@PARAM5",
 | 
				
			||||||
 | 
					                            "<3,18,1,4,8>": "@PARAM6"
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        "<3,18,1,5>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,6>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,7>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,8>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,9>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,10>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,11>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,12>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,13>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,14>": "",
 | 
				
			||||||
 | 
					                        "<3,18,1,15>": "COMMEVT",
 | 
				
			||||||
 | 
					                        "<3,18,1,16>": "0"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<3,19>": "CLICK",
 | 
				
			||||||
 | 
					                "<3,20>": "",
 | 
				
			||||||
 | 
					                "<3,21>": "",
 | 
				
			||||||
 | 
					                "<3,22>": "",
 | 
				
			||||||
 | 
					                "<3,23>": "",
 | 
				
			||||||
 | 
					                "<3,24>": "",
 | 
				
			||||||
 | 
					                "<3,25>": "",
 | 
				
			||||||
 | 
					                "<3,26>": "",
 | 
				
			||||||
 | 
					                "<3,27>": "",
 | 
				
			||||||
 | 
					                "<3,28>": "",
 | 
				
			||||||
 | 
					                "<3,29>": "",
 | 
				
			||||||
 | 
					                "<3,30>": "",
 | 
				
			||||||
 | 
					                "<3,31>": "",
 | 
				
			||||||
 | 
					                "<3,32>": "",
 | 
				
			||||||
 | 
					                "<3,33>": "",
 | 
				
			||||||
 | 
					                "<3,34>": "",
 | 
				
			||||||
 | 
					                "<3,35>": "",
 | 
				
			||||||
 | 
					                "<3,36>": "",
 | 
				
			||||||
 | 
					                "<3,37>": "",
 | 
				
			||||||
 | 
					                "<3,38>": "",
 | 
				
			||||||
 | 
					                "<3,39>": "",
 | 
				
			||||||
 | 
					                "<3,40>": "-1",
 | 
				
			||||||
 | 
					                "<3,41>": {
 | 
				
			||||||
 | 
					                    "<3,41,1>": "",
 | 
				
			||||||
 | 
					                    "<3,41,2>": "-1"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<3,42>": "",
 | 
				
			||||||
 | 
					                "<3,43>": "",
 | 
				
			||||||
 | 
					                "<3,44>": "",
 | 
				
			||||||
 | 
					                "<3,45>": "",
 | 
				
			||||||
 | 
					                "<3,46>": "",
 | 
				
			||||||
 | 
					                "<3,47>": "",
 | 
				
			||||||
 | 
					                "<3,48>": "",
 | 
				
			||||||
 | 
					                "<3,49>": "",
 | 
				
			||||||
 | 
					                "<3,50>": "",
 | 
				
			||||||
 | 
					                "<3,51>": "",
 | 
				
			||||||
 | 
					                "<3,52>": "",
 | 
				
			||||||
 | 
					                "<3,53>": "",
 | 
				
			||||||
 | 
					                "<3,54>": "",
 | 
				
			||||||
 | 
					                "<3,55>": "",
 | 
				
			||||||
 | 
					                "<3,56>": "",
 | 
				
			||||||
 | 
					                "<3,57>": "",
 | 
				
			||||||
 | 
					                "<3,58>": "",
 | 
				
			||||||
 | 
					                "<3,59>": "",
 | 
				
			||||||
 | 
					                "<3,60>": "",
 | 
				
			||||||
 | 
					                "<3,61>": "",
 | 
				
			||||||
 | 
					                "<3,62>": "0",
 | 
				
			||||||
 | 
					                "<3,63>": "",
 | 
				
			||||||
 | 
					                "<3,64>": {
 | 
				
			||||||
 | 
					                    "<3,64,1>": "-2",
 | 
				
			||||||
 | 
					                    "<3,64,2>": "-2",
 | 
				
			||||||
 | 
					                    "<3,64,3>": "0"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<3,65>": "-2",
 | 
				
			||||||
 | 
					                "<3,66>": "",
 | 
				
			||||||
 | 
					                "<3,67>": "",
 | 
				
			||||||
 | 
					                "<3,68>": "",
 | 
				
			||||||
 | 
					                "<3,69>": "",
 | 
				
			||||||
 | 
					                "<3,70>": "",
 | 
				
			||||||
 | 
					                "<3,71>": "",
 | 
				
			||||||
 | 
					                "<3,72>": "",
 | 
				
			||||||
 | 
					                "<3,73>": "",
 | 
				
			||||||
 | 
					                "<3,74>": "",
 | 
				
			||||||
 | 
					                "<3,75>": "",
 | 
				
			||||||
 | 
					                "<3,76>": "",
 | 
				
			||||||
 | 
					                "<3,77>": "",
 | 
				
			||||||
 | 
					                "<3,78>": "",
 | 
				
			||||||
 | 
					                "<3,79>": "",
 | 
				
			||||||
 | 
					                "<3,80>": "",
 | 
				
			||||||
 | 
					                "<3,81>": "",
 | 
				
			||||||
 | 
					                "<3,82>": "",
 | 
				
			||||||
 | 
					                "<3,83>": "",
 | 
				
			||||||
 | 
					                "<3,84>": "",
 | 
				
			||||||
 | 
					                "<3,85>": "",
 | 
				
			||||||
 | 
					                "<3,86>": "",
 | 
				
			||||||
 | 
					                "<3,87>": "",
 | 
				
			||||||
 | 
					                "<3,88>": "",
 | 
				
			||||||
 | 
					                "<3,89>": "",
 | 
				
			||||||
 | 
					                "<3,90>": "0",
 | 
				
			||||||
 | 
					                "<3,91>": "0",
 | 
				
			||||||
 | 
					                "<3,92>": "",
 | 
				
			||||||
 | 
					                "<3,93>": "",
 | 
				
			||||||
 | 
					                "<3,94>": "",
 | 
				
			||||||
 | 
					                "<3,95>": "",
 | 
				
			||||||
 | 
					                "<3,96>": "",
 | 
				
			||||||
 | 
					                "<3,97>": "",
 | 
				
			||||||
 | 
					                "<3,98>": "",
 | 
				
			||||||
 | 
					                "<3,99>": "",
 | 
				
			||||||
 | 
					                "<3,100>": "",
 | 
				
			||||||
 | 
					                "<3,101>": "",
 | 
				
			||||||
 | 
					                "<3,102>": "",
 | 
				
			||||||
 | 
					                "<3,103>": "",
 | 
				
			||||||
 | 
					                "<3,104>": "",
 | 
				
			||||||
 | 
					                "<3,105>": "",
 | 
				
			||||||
 | 
					                "<3,106>": "",
 | 
				
			||||||
 | 
					                "<3,107>": "",
 | 
				
			||||||
 | 
					                "<3,108>": ""
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "record4": {
 | 
				
			||||||
 | 
					            "<1>": ""
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -6655,13 +6655,6 @@
 | 
				
			|||||||
                        "<41,35,3,3>": "",
 | 
					                        "<41,35,3,3>": "",
 | 
				
			||||||
                        "<41,35,3,4>": "",
 | 
					                        "<41,35,3,4>": "",
 | 
				
			||||||
                        "<41,35,3,5>": ""
 | 
					                        "<41,35,3,5>": ""
 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    "<41,35,4>": {
 | 
					 | 
				
			||||||
                        "<41,35,4,1>": "",
 | 
					 | 
				
			||||||
                        "<41,35,4,2>": "",
 | 
					 | 
				
			||||||
                        "<41,35,4,3>": "",
 | 
					 | 
				
			||||||
                        "<41,35,4,4>": "",
 | 
					 | 
				
			||||||
                        "<41,35,4,5>": ""
 | 
					 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "<41,36>": "",
 | 
					                "<41,36>": "",
 | 
				
			||||||
@ -7886,7 +7879,7 @@
 | 
				
			|||||||
                    "<45,10,2>": "0x200"
 | 
					                    "<45,10,2>": "0x200"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "<45,11>": {
 | 
					                "<45,11>": {
 | 
				
			||||||
                    "<45,11,1>": "0x0",
 | 
					                    "<45,11,1>": "0x80000",
 | 
				
			||||||
                    "<45,11,2>": "0x80000000"
 | 
					                    "<45,11,2>": "0x80000000"
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "<45,12>": "45",
 | 
					                "<45,12>": "45",
 | 
				
			||||||
@ -7922,7 +7915,7 @@
 | 
				
			|||||||
                "<45,21>": "",
 | 
					                "<45,21>": "",
 | 
				
			||||||
                "<45,22>": "",
 | 
					                "<45,22>": "",
 | 
				
			||||||
                "<45,23>": "WM_OUT",
 | 
					                "<45,23>": "WM_OUT",
 | 
				
			||||||
                "<45,24>": "SPECIAL_INST",
 | 
					                "<45,24>": "SPEC_INST",
 | 
				
			||||||
                "<45,25>": "",
 | 
					                "<45,25>": "",
 | 
				
			||||||
                "<45,26>": "",
 | 
					                "<45,26>": "",
 | 
				
			||||||
                "<45,27>": "",
 | 
					                "<45,27>": "",
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@
 | 
				
			|||||||
            "<2>": "-1",
 | 
					            "<2>": "-1",
 | 
				
			||||||
            "<3>": "-1",
 | 
					            "<3>": "-1",
 | 
				
			||||||
            "<4>": "-1",
 | 
					            "<4>": "-1",
 | 
				
			||||||
            "<5>": "16777215",
 | 
					            "<5>": "-2",
 | 
				
			||||||
            "<6>": {
 | 
					            "<6>": {
 | 
				
			||||||
                "<6,1>": {
 | 
					                "<6,1>": {
 | 
				
			||||||
                    "<6,1,1>": "Tahoma",
 | 
					                    "<6,1,1>": "Tahoma",
 | 
				
			||||||
@ -31,7 +31,7 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "<7>": "REACT_ITEM",
 | 
					            "<7>": "REACT_ITEM",
 | 
				
			||||||
            "<8>": "BY @ID",
 | 
					            "<8>": "BY-DSND ENTER_DTM",
 | 
				
			||||||
            "<9>": {
 | 
					            "<9>": {
 | 
				
			||||||
                "<9,1>": {
 | 
					                "<9,1>": {
 | 
				
			||||||
                    "<9,1,1>": "RI_NO",
 | 
					                    "<9,1,1>": "RI_NO",
 | 
				
			||||||
@ -120,6 +120,22 @@
 | 
				
			|||||||
                    "<9,11,4>": "C",
 | 
					                    "<9,11,4>": "C",
 | 
				
			||||||
                    "<9,11,5>": "D4/",
 | 
					                    "<9,11,5>": "D4/",
 | 
				
			||||||
                    "<9,11,6>": "Retire Dt"
 | 
					                    "<9,11,6>": "Retire Dt"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<9,12>": {
 | 
				
			||||||
 | 
					                    "<9,12,1>": "ENTER_DTM",
 | 
				
			||||||
 | 
					                    "<9,12,2>": "14",
 | 
				
			||||||
 | 
					                    "<9,12,3>": "L",
 | 
				
			||||||
 | 
					                    "<9,12,4>": "C",
 | 
				
			||||||
 | 
					                    "<9,12,5>": "DT2/^H",
 | 
				
			||||||
 | 
					                    "<9,12,6>": "Enter Dtm"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "<9,13>": {
 | 
				
			||||||
 | 
					                    "<9,13,1>": "CURR_STATUS",
 | 
				
			||||||
 | 
					                    "<9,13,2>": "5",
 | 
				
			||||||
 | 
					                    "<9,13,3>": "L",
 | 
				
			||||||
 | 
					                    "<9,13,4>": "C",
 | 
				
			||||||
 | 
					                    "<9,13,5>": "[CONV_ITEM_CURR_STATUS]",
 | 
				
			||||||
 | 
					                    "<9,13,6>": "Curr Status"
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "<10>": "T",
 | 
					            "<10>": "T",
 | 
				
			||||||
@ -147,7 +163,17 @@
 | 
				
			|||||||
            "<32>": "0",
 | 
					            "<32>": "0",
 | 
				
			||||||
            "<33>": "1",
 | 
					            "<33>": "1",
 | 
				
			||||||
            "<34>": "16777215",
 | 
					            "<34>": "16777215",
 | 
				
			||||||
            "<35>": "16777215"
 | 
					            "<35>": "16766894",
 | 
				
			||||||
 | 
					            "<36>": "",
 | 
				
			||||||
 | 
					            "<37>": "",
 | 
				
			||||||
 | 
					            "<38>": "",
 | 
				
			||||||
 | 
					            "<39>": "",
 | 
				
			||||||
 | 
					            "<40>": "-2",
 | 
				
			||||||
 | 
					            "<41>": "1000",
 | 
				
			||||||
 | 
					            "<42>": "",
 | 
				
			||||||
 | 
					            "<43>": "",
 | 
				
			||||||
 | 
					            "<44>": "",
 | 
				
			||||||
 | 
					            "<45>": ""
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -9,7 +9,7 @@
 | 
				
			|||||||
            "<2>": "-1",
 | 
					            "<2>": "-1",
 | 
				
			||||||
            "<3>": "-1",
 | 
					            "<3>": "-1",
 | 
				
			||||||
            "<4>": "-1",
 | 
					            "<4>": "-1",
 | 
				
			||||||
            "<5>": "16777215",
 | 
					            "<5>": "-2",
 | 
				
			||||||
            "<6>": {
 | 
					            "<6>": {
 | 
				
			||||||
                "<6,1>": {
 | 
					                "<6,1>": {
 | 
				
			||||||
                    "<6,1,1>": "MS Sans Serif",
 | 
					                    "<6,1,1>": "MS Sans Serif",
 | 
				
			||||||
@ -91,7 +91,17 @@
 | 
				
			|||||||
            "<32>": "0",
 | 
					            "<32>": "0",
 | 
				
			||||||
            "<33>": "1",
 | 
					            "<33>": "1",
 | 
				
			||||||
            "<34>": "16777215",
 | 
					            "<34>": "16777215",
 | 
				
			||||||
            "<35>": "16777215"
 | 
					            "<35>": "16777215",
 | 
				
			||||||
 | 
					            "<36>": "",
 | 
				
			||||||
 | 
					            "<37>": "",
 | 
				
			||||||
 | 
					            "<38>": "",
 | 
				
			||||||
 | 
					            "<39>": "",
 | 
				
			||||||
 | 
					            "<40>": "-2",
 | 
				
			||||||
 | 
					            "<41>": "1000",
 | 
				
			||||||
 | 
					            "<42>": "",
 | 
				
			||||||
 | 
					            "<43>": "",
 | 
				
			||||||
 | 
					            "<44>": "",
 | 
				
			||||||
 | 
					            "<45>": ""
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -20,7 +20,7 @@ Declare Function Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.I
 | 
				
			|||||||
Declare Function Send_Message, Msg, Security_Check, obj_React_Item, Select_Into, MemberOf, Create_Dialog, obj_Calendar
 | 
					Declare Function Send_Message, Msg, Security_Check, obj_React_Item, Select_Into, MemberOf, Create_Dialog, obj_Calendar
 | 
				
			||||||
Declare Function GetAsyncKeyState, obj_Tables, MemberOf, Environment_Services, Database_Services, Rds_Services
 | 
					Declare Function GetAsyncKeyState, obj_Tables, MemberOf, Environment_Services, Database_Services, Rds_Services
 | 
				
			||||||
Declare Function Reactor_Services, Error_Services, React_Servs_Services, Reactor_Log_Services, Send_Event, SRP_List
 | 
					Declare Function Reactor_Services, Error_Services, React_Servs_Services, Reactor_Log_Services, Send_Event, SRP_List
 | 
				
			||||||
Declare Function Nica_Orders_Services
 | 
					Declare Function Nica_Orders_Services, SRP_Date, React_Item_Services, SRP_Datetime, Datetime
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$Insert MSG_EQUATES
 | 
					$Insert MSG_EQUATES
 | 
				
			||||||
$Insert APPCOLORS
 | 
					$Insert APPCOLORS
 | 
				
			||||||
@ -1229,26 +1229,11 @@ SvcsOptions:
 | 
				
			|||||||
			If ItemType NE '' then
 | 
								If ItemType NE '' then
 | 
				
			||||||
				
 | 
									
 | 
				
			||||||
				RetVal = ''
 | 
									RetVal = ''
 | 
				
			||||||
				
 | 
					 | 
				
			||||||
				ItemType = ICONV(ItemType,'[CONV_CODE_DESC,REACT_ITEM_TYPE]')
 | 
									ItemType = ICONV(ItemType,'[CONV_CODE_DESC,REACT_ITEM_TYPE]')
 | 
				
			||||||
				
 | 
									
 | 
				
			||||||
				OPEN 'DICT.REACT_ITEM' to DictReactItem else
 | 
									RIKeys   = React_Item_Services('GetReactItems', ItemType, 'N,U')
 | 
				
			||||||
					ErrMsg('Unable to open DICT.REACT_ITEM')
 | 
					 | 
				
			||||||
					return
 | 
					 | 
				
			||||||
				end
 | 
					 | 
				
			||||||
				
 | 
									
 | 
				
			||||||
				SearchString  = 'RI_TYPE':@VM:ItemType:@FM
 | 
									If Error_Services('NoError') then
 | 
				
			||||||
				SearchString := 'CURR_STATUS':@VM:'N':@VM:'U':@FM 
 | 
					 | 
				
			||||||
				
 | 
					 | 
				
			||||||
				RIKeys = ''
 | 
					 | 
				
			||||||
				Option = ''
 | 
					 | 
				
			||||||
				Flag = ''
 | 
					 | 
				
			||||||
				
 | 
					 | 
				
			||||||
				Btree.Extract(SearchString,'REACT_ITEM',DictReactItem,RIKeys,Option,Flag)
 | 
					 | 
				
			||||||
				If Get_Status(errCode) then
 | 
					 | 
				
			||||||
					ErrMsg(errCode)
 | 
					 | 
				
			||||||
					return
 | 
					 | 
				
			||||||
				end
 | 
					 | 
				
			||||||
				    
 | 
									    
 | 
				
			||||||
                    TypeOver            = ''
 | 
					                    TypeOver            = ''
 | 
				
			||||||
                    TypeOVer<PMODE$>    = 'K'
 | 
					                    TypeOVer<PMODE$>    = 'K'
 | 
				
			||||||
@ -1282,11 +1267,13 @@ SvcsOptions:
 | 
				
			|||||||
                        end
 | 
					                        end
 | 
				
			||||||
                        
 | 
					                        
 | 
				
			||||||
                        GoSub Refresh
 | 
					                        GoSub Refresh
 | 
				
			||||||
 | 
					                    end				    
 | 
				
			||||||
 | 
									end else
 | 
				
			||||||
 | 
									    Error_Services('DisplayError')
 | 
				
			||||||
				end
 | 
									end
 | 
				
			||||||
				
 | 
									
 | 
				
			||||||
			end	;* End of check for null SNReq
 | 
								end	;* End of check for null SNReq
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			
 | 
					 | 
				
			||||||
	End Case
 | 
						End Case
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	GoSub Refresh
 | 
						GoSub Refresh
 | 
				
			||||||
@ -1877,4 +1864,3 @@ ColorRemRiTable:
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -1099,7 +1099,7 @@ SignSupVer:
 | 
				
			|||||||
    ************************************************************************
 | 
					    ************************************************************************
 | 
				
			||||||
    WMOKey = Get_Property(@WINDOW,'ID')
 | 
					    WMOKey = Get_Property(@WINDOW,'ID')
 | 
				
			||||||
    PSNo = Get_Property(@WINDOW:'.PS_NO)','TEXT')
 | 
					    PSNo = Get_Property(@WINDOW:'.PS_NO)','TEXT')
 | 
				
			||||||
    VerInst = XLATE('PRS_STAGE',PSNo:'*QA',PRS_STAGE_INST$,'X')
 | 
					    VerInst = XLATE('PRS_STAGE',PSNo:'*MO_QA',PRS_STAGE_INST$,'X')
 | 
				
			||||||
    IF (VerInst NE '') THEN
 | 
					    IF (VerInst NE '') THEN
 | 
				
			||||||
        Yes = Dialog_Box( 'RDS_VER', @WINDOW, VerInst )
 | 
					        Yes = Dialog_Box( 'RDS_VER', @WINDOW, VerInst )
 | 
				
			||||||
        IF NOT(Yes) THEN
 | 
					        IF NOT(Yes) THEN
 | 
				
			||||||
@ -1711,6 +1711,19 @@ AddMakeup:
 | 
				
			|||||||
            END
 | 
					            END
 | 
				
			||||||
        NEXT I
 | 
					        NEXT I
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        Continue     = True$
 | 
				
			||||||
 | 
					        ShowSpecInst = Xlate('PROD_SPEC', PSNo, PROD_SPEC_SHOW_SPEC_INST_ON_MU_ADD$, 'X')
 | 
				
			||||||
 | 
					        If ShowSpecInst then
 | 
				
			||||||
 | 
					        	SpecInst = Xlate('PROD_SPEC', PSNo, PROD_SPEC_SPEC_INST$, 'X')
 | 
				
			||||||
 | 
					        	If SpecInst NE '' then 
 | 
				
			||||||
 | 
					        		Continue = Dialog_Box('NDW_ACKNOWLEDGE_MESSAGE', @Window, SpecInst)
 | 
				
			||||||
 | 
					        		If Not(Continue) then
 | 
				
			||||||
 | 
					        			Msg(@Window, '', 'OK', '', 'Process Error':@FM:'This PSN requires you to acknowledge special instructions to add makeup wafers.')
 | 
				
			||||||
 | 
					        		end
 | 
				
			||||||
 | 
					        	end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        If Continue then 
 | 
				
			||||||
			Response = Dialog_Box('NDW_MAKEUP_WAFERS', @Window, WOMatKey)
 | 
								Response = Dialog_Box('NDW_MAKEUP_WAFERS', @Window, WOMatKey)
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			Begin Case
 | 
								Begin Case
 | 
				
			||||||
@ -1833,7 +1846,7 @@ AddMakeup:
 | 
				
			|||||||
					
 | 
										
 | 
				
			||||||
					RETURN
 | 
										RETURN
 | 
				
			||||||
			End Case
 | 
								End Case
 | 
				
			||||||
        
 | 
					        end
 | 
				
			||||||
    end else
 | 
					    end else
 | 
				
			||||||
        // Cassette is on hold so makeup wafers cannot be added.
 | 
					        // Cassette is on hold so makeup wafers cannot be added.
 | 
				
			||||||
        ErrorMessage = 'Add MU Wafer Denied!. The cassette must be taken off hold before adding makeup wafers.'
 | 
					        ErrorMessage = 'Add MU Wafer Denied!. The cassette must be taken off hold before adding makeup wafers.'
 | 
				
			||||||
 | 
				
			|||||||
@ -440,7 +440,7 @@ END
 | 
				
			|||||||
IF CurrStatus NE '' THEN
 | 
					IF CurrStatus NE '' THEN
 | 
				
			||||||
	SWAP @VM WITH '" "' IN CurrStatus
 | 
						SWAP @VM WITH '" "' IN CurrStatus
 | 
				
			||||||
	IF SelectSent NE '' THEN SelectSent := ' AND'
 | 
						IF SelectSent NE '' THEN SelectSent := ' AND'
 | 
				
			||||||
	SelectSent := ' WITH CURR_STATUS ':QUOTE(CurrStatus)
 | 
						SelectSent := ' WITH CURR_STATUS_STATIC ':QUOTE(CurrStatus)
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IF PartTypes NE '' THEN
 | 
					IF PartTypes NE '' THEN
 | 
				
			||||||
@ -471,7 +471,7 @@ SelectSent = 'SELECT REACT_ITEM ':SelectSent
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Def = ""
 | 
					Def = ""
 | 
				
			||||||
Def<MTEXT$> = "Selecting Reactor Events..."
 | 
					Def<MTEXT$> = "Selecting Reactor Items..."
 | 
				
			||||||
Def<MTYPE$> = "U"
 | 
					Def<MTYPE$> = "U"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* display the processing message and do the processing
 | 
					* display the processing message and do the processing
 | 
				
			||||||
@ -502,6 +502,3 @@ End_Dialog(@WINDOW,RINos)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
RETURN
 | 
					RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -1177,3 +1177,4 @@ end service
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										99
									
								
								LSL2/STPROC/NDW_ACKNOWLEDGE_MESSAGE_EVENTS.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								LSL2/STPROC/NDW_ACKNOWLEDGE_MESSAGE_EVENTS.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					Compile function NDW_ACKNOWLEDGE_MESSAGE_EVENTS(CtrlEntId, Event, @PARAMS)
 | 
				
			||||||
 | 
					/***********************************************************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
 | 
				
			||||||
 | 
					    permission from Infineon.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Name        :   NDW_ACKNOWLEDGE_MESSAGE_EVENTS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Description :   This function acts as a commuter module for all events related to this window.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Notes       :   Commuter Modules are automatically called from the Promoted_Events function which is called by the
 | 
				
			||||||
 | 
					                    application-specific promoted event handler. This makes it possible to add QuickEvents that need to
 | 
				
			||||||
 | 
					                    execute Basic+ logic without having use the Form Designer to make the association, although this is
 | 
				
			||||||
 | 
					                    limited to the events which are currently promoted.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    If the form needs to call the commuter module directly then the QuickEvent parameters should be
 | 
				
			||||||
 | 
					                    formatted like this:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        '@SELF','@EVENT',['@PARAM1','@PARAMx']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Parameters  :
 | 
				
			||||||
 | 
					        CtrlEntId   [in] -- The fully qualified name of the control calling the promoted event
 | 
				
			||||||
 | 
					        Event       [in] -- The event being executed. See the Notes section regarding "PRE" events
 | 
				
			||||||
 | 
					        Param1-15   [in] -- Additional event parameter holders
 | 
				
			||||||
 | 
					        EventFlow  [out] -- Set to 1 or 0 so the calling event knows whether or not to chain forward. See comments in
 | 
				
			||||||
 | 
					                            EVENT_SETUP insert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    History     :   (Date, Initials, Notes)
 | 
				
			||||||
 | 
					        05/23/25    djs     Created initial commuter module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***********************************************************************************************************************/
 | 
				
			||||||
 | 
					#pragma precomp SRP_PreCompiler
 | 
				
			||||||
 | 
					#window NDW_ACKNOWLEDGE_MESSAGE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$Insert APP_INSERTS
 | 
				
			||||||
 | 
					$Insert EVENT_SETUP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Declare subroutine PlaceDialog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SubclassInfo    = Form_Services('FindSubclassControl')
 | 
				
			||||||
 | 
					Subclass        = SubclassInfo<1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler.
 | 
				
			||||||
 | 
					If Event EQ 'OLE' then
 | 
				
			||||||
 | 
					    Transfer Event to OIEvent
 | 
				
			||||||
 | 
					    Transfer Param1 to Event
 | 
				
			||||||
 | 
					    Transfer Param2 to Param1
 | 
				
			||||||
 | 
					    Transfer Param3 to Param2
 | 
				
			||||||
 | 
					    Transfer Param4 to Param3
 | 
				
			||||||
 | 
					    Transfer Param5 to Param4
 | 
				
			||||||
 | 
					    Transfer Param6 to Param5
 | 
				
			||||||
 | 
					    Transfer Param7 to Param6
 | 
				
			||||||
 | 
					    Transfer Param8 to Param7
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GoToEvent Event for CtrlEntId else
 | 
				
			||||||
 | 
					    // Event not implemented
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Return EventFlow or 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//-----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// EVENT HANDLERS
 | 
				
			||||||
 | 
					//-----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Event WINDOW.CREATE(CreateParam)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    TextToAcknowledge = CreateParam
 | 
				
			||||||
 | 
					    If TextToAcknowledge NE '' then
 | 
				
			||||||
 | 
					    	Swap @TM with CRLF$ in TextToAcknowledge
 | 
				
			||||||
 | 
					    	Set_Property(@Window:'.EDB_DATA', 'TEXT', TextToAcknowledge)
 | 
				
			||||||
 | 
					    	PlaceDialog(-2, -2)
 | 
				
			||||||
 | 
					    end else
 | 
				
			||||||
 | 
					    	Post_Event(@Window, 'CLOSE')
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					End Event
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Event WINDOW.CLOSE(CancelFlag, CloseFlags)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						End_Dialog(@Window, False$)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					end event
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Event PUB_OK.CLICK()
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						End_Dialog(@Window, True$)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					end event
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Event PUB_CANCEL.CLICK()
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						End_Dialog(@Window, False$)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					end event
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -3,7 +3,7 @@ Compile function NDW_ADJUST_LOT_QTY_EVENTS(CtrlEntId, Event, @PARAMS)
 | 
				
			|||||||
#window NDW_ADJUST_LOT_QTY
 | 
					#window NDW_ADJUST_LOT_QTY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Declare function MemberOf, Database_Services, Error_Services, Datetime
 | 
					Declare function MemberOf, Database_Services, Error_Services, Datetime
 | 
				
			||||||
Declare subroutine PlaceDialog, Database_Services, Lot_Services
 | 
					Declare subroutine PlaceDialog, Database_Services, Lot_Services, Lot_Event_Services
 | 
				
			||||||
$Insert App_Inserts
 | 
					$Insert App_Inserts
 | 
				
			||||||
$Insert Lot_Equates
 | 
					$Insert Lot_Equates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -126,9 +126,15 @@ Event PUB_SUBMIT.CLICK()
 | 
				
			|||||||
                            Case NewWfrQty LT CurrWfrQty
 | 
					                            Case NewWfrQty LT CurrWfrQty
 | 
				
			||||||
                                AmountToDecrease = CurrWfrQty - NewWfrQty
 | 
					                                AmountToDecrease = CurrWfrQty - NewWfrQty
 | 
				
			||||||
                                Lot_Services('ReduceLotWaferCount', LotId, AmountToDecrease, @User4)
 | 
					                                Lot_Services('ReduceLotWaferCount', LotId, AmountToDecrease, @User4)
 | 
				
			||||||
 | 
					                                If Error_Services('NoError') then
 | 
				
			||||||
 | 
					                                    Lot_Event_Services('CreateLotEvent', LotId, Datetime(), 'COMMENT', 'Manual Lot Qty decrease performed.', '', @User4, '' , '')
 | 
				
			||||||
 | 
					                                end
 | 
				
			||||||
                            Case NewWfrQty GT CurrWfrQty
 | 
					                            Case NewWfrQty GT CurrWfrQty
 | 
				
			||||||
                                AmountToIncrease = NewWfrQty - CurrWfrQty
 | 
					                                AmountToIncrease = NewWfrQty - CurrWfrQty
 | 
				
			||||||
                                Lot_Services('IncreaseLotWaferCount', LotId, AmountToIncrease, @User4)
 | 
					                                Lot_Services('IncreaseLotWaferCount', LotId, AmountToIncrease, @User4)
 | 
				
			||||||
 | 
					                                If Error_Services('NoError') then
 | 
				
			||||||
 | 
					                                    Lot_Event_Services('CreateLotEvent', LotId, Datetime(), 'COMMENT', 'Manual Lot Qty increase performed.', '', @User4, '' , '')
 | 
				
			||||||
 | 
					                                end
 | 
				
			||||||
                        End Case
 | 
					                        End Case
 | 
				
			||||||
                        If Error_Services('NoError') then
 | 
					                        If Error_Services('NoError') then
 | 
				
			||||||
                            msg(@Window, 'Wafer quantity adjusted successfully!')
 | 
					                            msg(@Window, 'Wafer quantity adjusted successfully!')
 | 
				
			||||||
@ -176,3 +182,4 @@ return
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -535,9 +535,9 @@ Service CancelOrder(OrderId)
 | 
				
			|||||||
						If HttpResponseJson NE '' then
 | 
											If HttpResponseJson NE '' then
 | 
				
			||||||
							ObjResponseJson = ''
 | 
												ObjResponseJson = ''
 | 
				
			||||||
							If SRP_JSON(ObjResponseJson, 'Parse', HttpResponseJson) EQ '' then
 | 
												If SRP_JSON(ObjResponseJson, 'Parse', HttpResponseJson) EQ '' then
 | 
				
			||||||
								IsComplete                              = SRP_JSON(ObjResponseJson, 'GetValue', 'pendingUpdate')
 | 
													IsComplete                              = SRP_JSON(ObjResponseJson, 'GetValue', 'isComplete')
 | 
				
			||||||
								NicaOrderRec<NICA_ORDERS.ORDER_STATUS$> = SRP_JSON(ObjResponseJson, 'GetValue', 'state')
 | 
													NicaOrderRec<NICA_ORDERS.ORDER_STATUS$> = 'cancelled'
 | 
				
			||||||
								NicaOrderRec<NICA_ORDERS.IS_COMPLETE$>  = SRP_JSON(ObjResponseJson, 'GetValue', 'isComplete')
 | 
													NicaOrderRec<NICA_ORDERS.IS_COMPLETE$>  = IsComplete
 | 
				
			||||||
								CloseDtm                                = Datetime()
 | 
													CloseDtm                                = Datetime()
 | 
				
			||||||
								NicaOrderRec<NICA_ORDERS.CLOSED_DTM$>   = CloseDtm								
 | 
													NicaOrderRec<NICA_ORDERS.CLOSED_DTM$>   = CloseDtm								
 | 
				
			||||||
								If IsComplete EQ False$ then
 | 
													If IsComplete EQ False$ then
 | 
				
			||||||
@ -904,4 +904,3 @@ end service
 | 
				
			|||||||
// Internal GoSubs
 | 
					// Internal GoSubs
 | 
				
			||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -18,7 +18,7 @@ COMPILE FUNCTION obj_Reactor_Log(Method,Parms)
 | 
				
			|||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DECLARE SUBROUTINE  Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Btree.Extract, obj_React_Item_Hist, Update_Index, obj_Post_Log
 | 
					DECLARE SUBROUTINE  Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Btree.Extract, obj_React_Item_Hist, Update_Index, obj_Post_Log
 | 
				
			||||||
Declare subroutine Error_Services, Database_Services
 | 
					Declare subroutine Error_Services, Database_Services, React_Item_Services
 | 
				
			||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, obj_React_Item, obj_Calendar, Database_Services
 | 
					DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, obj_React_Item, obj_Calendar, Database_Services
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -195,18 +195,16 @@ PostReactItems:
 | 
				
			|||||||
		ReactorLogRec<REACTOR_LOG_RI_POST_DTM$>	= PostDTM
 | 
							ReactorLogRec<REACTOR_LOG_RI_POST_DTM$>	= PostDTM
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		otParms = FIELDSTORE(otParms,@RM,4,0,ReactorLogRec)
 | 
							otParms = FIELDSTORE(otParms,@RM,4,0,ReactorLogRec)
 | 
				
			||||||
		//obj_Tables('WriteRec',otParms)
 | 
					
 | 
				
			||||||
		Database_Services('WriteDataRow', 'REACTOR_LOG', RLNo, ReactorLogRec, 1, 0, 1)
 | 
							Database_Services('WriteDataRow', 'REACTOR_LOG', RLNo, ReactorLogRec, 1, 0, 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Update_Index('REACT_ITEM_HIST', 'INST_RL_ID', False$, True$)		;* Don't wait for indexer - flush pending indexes now
 | 
							Update_Index('REACT_ITEM_HIST', 'INST_RL_ID', False$, True$)		;* Don't wait for indexer - flush pending indexes now
 | 
				
			||||||
		Update_Index('REACT_ITEM_HIST', 'REM_RL_ID', False$, True$)
 | 
							Update_Index('REACT_ITEM_HIST', 'REM_RL_ID', False$, True$)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	end else
 | 
						end else
 | 
				
			||||||
		Error_Services('Add', ValidationFailureReason)
 | 
							Error_Services('Add', ValidationFailureReason)
 | 
				
			||||||
	end
 | 
						end
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
RETURN
 | 
					RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -386,10 +384,3 @@ RemHistKeys:
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
RETURN
 | 
					RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -19,10 +19,11 @@ COMPILE FUNCTION obj_React_Item_Hist(Method,Parms)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DECLARE FUNCTION   Get_Status, Msg, Utility, obj_Tables, Send_Dyn, obj_Popup
 | 
					DECLARE FUNCTION   Get_Status, Msg, Utility, obj_Tables, Send_Dyn, obj_Popup
 | 
				
			||||||
DECLARE SUBROUTINE  Set_Status, Msg, obj_Tables, Send_Dyn
 | 
					DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Btree.Extract, React_Item_Services
 | 
				
			||||||
DECLARE SUBROUTINE ErrMsg, Btree.Extract
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$Insert LOGICAL
 | 
				
			||||||
$INSERT REACT_ITEM_HIST_EQUATES
 | 
					$INSERT REACT_ITEM_HIST_EQUATES
 | 
				
			||||||
 | 
					$INSERT RLIST_EQUATES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EQU CRLF$	TO \0D0A\
 | 
					EQU CRLF$	TO \0D0A\
 | 
				
			||||||
EQU TAB$	TO CHAR(9)
 | 
					EQU TAB$	TO CHAR(9)
 | 
				
			||||||
@ -69,8 +70,6 @@ ReactHrs	= Parms[COL2()+1,@RM]
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    IF RIHKey = ''			THEN ErrorMsg = 'Null Parameter "RIHKey" passed to routine. (':Method:')'
 | 
					    IF RIHKey = ''			THEN ErrorMsg = 'Null Parameter "RIHKey" passed to routine. (':Method:')'
 | 
				
			||||||
    IF RL_Id = ''			THEN ErrorMsg = 'Null Parameter "RL_Id" passed to routine. (':Method:')'
 | 
					    IF RL_Id = ''			THEN ErrorMsg = 'Null Parameter "RL_Id" passed to routine. (':Method:')'
 | 
				
			||||||
*IF ReactWfrCnt = ''	THEN ErrorMsg = 'Null Parameter "ReactWfrCnt" passed to routine. (':Method:')'	;* Optional
 | 
					 | 
				
			||||||
*IF ReactHrs = ''		THEN ErrorMsg = 'Null Parameter "ReactHrs" passed to routine. (':Method:')'		;* Optional
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    IF ErrorMsg NE '' THEN RETURN
 | 
					    IF ErrorMsg NE '' THEN RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -82,6 +81,8 @@ RIHRec<REACT_ITEM_HIST_INST_REACT_HRS$>		= ReactHrs
 | 
				
			|||||||
    otParms = 'REACT_ITEM_HIST':@RM:RIHKey:@RM:@RM:RIHRec
 | 
					    otParms = 'REACT_ITEM_HIST':@RM:RIHKey:@RM:@RM:RIHRec
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    obj_Tables('WriteRec',otParms)
 | 
					    obj_Tables('WriteRec',otParms)
 | 
				
			||||||
 | 
					    RINo = Field(RIHKey, '*', 2, 1)
 | 
				
			||||||
 | 
					    React_Item_Services('UpdateReactItemStatus', RINo)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RETURN
 | 
					RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -99,13 +100,9 @@ ReactHrs	= Parms[COL2()+1,@RM]
 | 
				
			|||||||
    IF RIHKey = ''			THEN ErrorMsg = 'Null Parameter "RIHKey" passed to routine. (':Method:')'
 | 
					    IF RIHKey = ''			THEN ErrorMsg = 'Null Parameter "RIHKey" passed to routine. (':Method:')'
 | 
				
			||||||
    IF RemoveDTM = ''		THEN ErrorMsg = 'Null Parameter "RemoveDTM" passed to routine. (':Method:')'
 | 
					    IF RemoveDTM = ''		THEN ErrorMsg = 'Null Parameter "RemoveDTM" passed to routine. (':Method:')'
 | 
				
			||||||
    IF RL_Id = ''			THEN ErrorMsg = 'Null Parameter "RL_Id" passed to routine. (':Method:')'
 | 
					    IF RL_Id = ''			THEN ErrorMsg = 'Null Parameter "RL_Id" passed to routine. (':Method:')'
 | 
				
			||||||
*IF ReactWfrCnt = ''	THEN ErrorMsg = 'Null Parameter "ReactWfrCnt" passed to routine. (':Method:')'	;* Optional
 | 
					 | 
				
			||||||
*IF ReactHrs = ''		THEN ErrorMsg = 'Null Parameter "ReactHrs" passed to routine. (':Method:')'		;* Optional
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    IF ErrorMsg NE '' THEN RETURN
 | 
					    IF ErrorMsg NE '' THEN RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Read and update record *
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    otParms = 'REACT_ITEM_HIST':@RM:RIHKey
 | 
					    otParms = 'REACT_ITEM_HIST':@RM:RIHKey
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RIHRec = obj_Tables('ReadRec',otParms)
 | 
					    RIHRec = obj_Tables('ReadRec',otParms)
 | 
				
			||||||
@ -122,6 +119,8 @@ RIHRec<REACT_ITEM_HIST_REM_REACT_HRS$>		= ReactHrs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    otParms = FIELDSTORE(otParms,@RM,4,0,RIHRec)
 | 
					    otParms = FIELDSTORE(otParms,@RM,4,0,RIHRec)
 | 
				
			||||||
    obj_Tables('WriteRec',otParms)
 | 
					    obj_Tables('WriteRec',otParms)
 | 
				
			||||||
 | 
					    RINo = Field(RIHKey, '*', 2, 1)
 | 
				
			||||||
 | 
					    React_Item_Services('UpdateReactItemStatus', RINo)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RETURN
 | 
					RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -134,9 +133,6 @@ RIHKey		= Parms[1,@RM]
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    IF RIHKey = '' THEN RETURN
 | 
					    IF RIHKey = '' THEN RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
* Read and update record *
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    otParms = 'REACT_ITEM_HIST':@RM:RIHKey
 | 
					    otParms = 'REACT_ITEM_HIST':@RM:RIHKey
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RIHRec = obj_Tables('ReadRec',otParms)
 | 
					    RIHRec = obj_Tables('ReadRec',otParms)
 | 
				
			||||||
@ -178,7 +174,7 @@ Flag = ''
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Btree.Extract(Search, 'REACT_ITEM_HIST', DictVar, RIKeys, Option, Flag)	;* Get unsorted keys based on Search parameters
 | 
					    Btree.Extract(Search, 'REACT_ITEM_HIST', DictVar, RIKeys, Option, Flag)	;* Get unsorted keys based on Search parameters
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Put sort data in first column (Install DTM)
 | 
					    // Put sort data in first column (Install DTM)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WorkList = ''
 | 
					    WorkList = ''
 | 
				
			||||||
    riCnt = COUNT(RIKeys,@VM) + (RIKeys NE '')
 | 
					    riCnt = COUNT(RIKeys,@VM) + (RIKeys NE '')
 | 
				
			||||||
@ -202,3 +198,4 @@ FOR I = 1 TO riCnt
 | 
				
			|||||||
    NEXT I
 | 
					    NEXT I
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RETURN
 | 
					RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -84,6 +84,7 @@ $Insert NOTIFICATION_EQUATES
 | 
				
			|||||||
$Insert DICT_EQUATES
 | 
					$Insert DICT_EQUATES
 | 
				
			||||||
$Insert COMPANY_EQUATES
 | 
					$Insert COMPANY_EQUATES
 | 
				
			||||||
$Insert RETURN_TO_FAB_LOTS_EQUATES
 | 
					$Insert RETURN_TO_FAB_LOTS_EQUATES
 | 
				
			||||||
 | 
					$Insert TEST_RUN_EQUATES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EQU COL$LSID			TO 1
 | 
					EQU COL$LSID			TO 1
 | 
				
			||||||
EQU COL$RECIPE			TO 2
 | 
					EQU COL$RECIPE			TO 2
 | 
				
			||||||
@ -848,6 +849,27 @@ Service IsTWLoggingReqd(RDSNo)
 | 
				
			|||||||
    Response = IsTWReqd
 | 
					    Response = IsTWReqd
 | 
				
			||||||
end service
 | 
					end service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Service TestWaferRanAfterLoad(RDSNo)
 | 
				
			||||||
 | 
						TestWaferRanAfterLoad = False$
 | 
				
			||||||
 | 
						TestWaferKeys = Test_Run_Services('GetTestRunKeysByRDS', RDSNo)
 | 
				
			||||||
 | 
						for each Key in TestWaferKeys using @VM
 | 
				
			||||||
 | 
							TestWaferDtm = Xlate('TEST_RUN', Key, TEST_RUN_RUN_DTM$, 'X')
 | 
				
			||||||
 | 
							TestWaferDate = SRP_DateTime('Date', TestWaferDtm)
 | 
				
			||||||
 | 
							TestWaferTime = SRP_DateTime('Time', TestWaferDtm)
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							RdsDateIn = Xlate('RDS', RDSNo, RDS_DATE_IN$, 'X')
 | 
				
			||||||
 | 
							RdsTimeIn = Xlate('RDS', RDSNo, RDS_TIME_IN$, 'X')
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							TestWaferRanAfterLoad = TestWaferDate > RdsDateIn
 | 
				
			||||||
 | 
							If TestWaferRanAfterLoad EQ False$ then
 | 
				
			||||||
 | 
								TestWaferRanAfterLoad = (TestWaferDate EQ RdsDateIn) and TestWaferTime GT RdsTimeIn
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
						Until TestWaferRanAfterLoad EQ True$
 | 
				
			||||||
 | 
						Next Key
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						Response = TestWaferRanAfterLoad
 | 
				
			||||||
 | 
					end service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------------------------
 | 
				
			||||||
// VerifyEPPMetrology
 | 
					// VerifyEPPMetrology
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
@ -1805,3 +1827,4 @@ return
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -277,6 +277,7 @@ Event PUB_SIGN.CLICK()
 | 
				
			|||||||
				end
 | 
									end
 | 
				
			||||||
				If (Valid EQ True$) then
 | 
									If (Valid EQ True$) then
 | 
				
			||||||
					ReactorType = XLATE('RDS',RDSNo,'REACTOR_TYPE','X')
 | 
										ReactorType = XLATE('RDS',RDSNo,'REACTOR_TYPE','X')
 | 
				
			||||||
 | 
										ErrMsg = ''
 | 
				
			||||||
					If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then
 | 
										If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then
 | 
				
			||||||
						WoMatKey = WONo:'*':CassNo
 | 
											WoMatKey = WONo:'*':CassNo
 | 
				
			||||||
						IsLastCassetteInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey)
 | 
											IsLastCassetteInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey)
 | 
				
			||||||
@ -298,6 +299,13 @@ Event PUB_SIGN.CLICK()
 | 
				
			|||||||
									WoMatRecord = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey)
 | 
														WoMatRecord = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey)
 | 
				
			||||||
									WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$> = True$
 | 
														WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$> = True$
 | 
				
			||||||
									
 | 
														
 | 
				
			||||||
 | 
														TestWaferRanSinceLoad = WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$>
 | 
				
			||||||
 | 
														
 | 
				
			||||||
 | 
														If TestWaferRanSinceLoad NE True$ then
 | 
				
			||||||
 | 
															TestWaferRanSinceLoad = Rds_Services('TestWaferRanAfterLoad', RDSNo)
 | 
				
			||||||
 | 
															WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> = TestWaferRanSinceLoad
 | 
				
			||||||
 | 
															
 | 
				
			||||||
 | 
															If TestWaferRanSinceLoad NE True$ then
 | 
				
			||||||
											Message = ''
 | 
																Message = ''
 | 
				
			||||||
											If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then
 | 
																If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then
 | 
				
			||||||
												Message = 'No material scheduled. Test wafer required.'
 | 
																	Message = 'No material scheduled. Test wafer required.'
 | 
				
			||||||
@ -305,21 +313,32 @@ Event PUB_SIGN.CLICK()
 | 
				
			|||||||
												Message = 'Next work order is a NEW PSN number. Test wafer required.'
 | 
																	Message = 'Next work order is a NEW PSN number. Test wafer required.'
 | 
				
			||||||
											end
 | 
																end
 | 
				
			||||||
											
 | 
																
 | 
				
			||||||
									MesageAcked = Message_Box(@Window, Message, "Test Wafer Required", MSG_BTN_OK$ + MSG_ICON_EXCLAM$)
 | 
																Message_Box(@Window, Message, "Test Wafer Required", MSG_BTN_OK$ + MSG_ICON_EXCLAM$)
 | 
				
			||||||
											
 | 
																
 | 
				
			||||||
									WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$> = True$
 | 
																TWLogResult = Dialog_Box('NDW_LOG_TEST_WAFER_USAGE', @Window, RDSNo : @VM : '' : @VM : 'REACTOR' : @VM :  Reactor)
 | 
				
			||||||
 | 
																
 | 
				
			||||||
 | 
																WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> = TWLogResult
 | 
				
			||||||
 | 
																
 | 
				
			||||||
 | 
																If TWLogResult NE True$ then
 | 
				
			||||||
 | 
																	ErrMsg = 'Unload blocked! You must run a test wafer before signing the unload'
 | 
				
			||||||
 | 
																end
 | 
				
			||||||
 | 
															end
 | 
				
			||||||
 | 
														end
 | 
				
			||||||
 | 
													end
 | 
				
			||||||
								Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRecord, True$, False$, False$)
 | 
													Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRecord, True$, False$, False$)
 | 
				
			||||||
									
 | 
					 | 
				
			||||||
									ConfirmNote = 'Test wafer requirement acknowledged. [RDS:' : RDSNo : '], [WO:' : WONo : '], [Cassette:' : CassNo : ']'
 | 
					 | 
				
			||||||
									Reactor_Log_Services('AddComment', Reactor, ConfirmNote, @User4)
 | 
					 | 
				
			||||||
								end
 | 
					 | 
				
			||||||
							end
 | 
												end
 | 
				
			||||||
						end
 | 
											end
 | 
				
			||||||
					end
 | 
										end
 | 
				
			||||||
					
 | 
										
 | 
				
			||||||
 | 
										If ErrMsg NE '' then
 | 
				
			||||||
 | 
											Error_Services('Add', ErrMsg)
 | 
				
			||||||
 | 
										end
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										If Error_Services('NoError') then
 | 
				
			||||||
						QA_Services('SignUnloadStage', RDSNo, @User4)
 | 
											QA_Services('SignUnloadStage', RDSNo, @User4)
 | 
				
			||||||
					end
 | 
										end
 | 
				
			||||||
				end
 | 
									end
 | 
				
			||||||
 | 
								end
 | 
				
			||||||
			If Error_Services('HasError') then
 | 
								If Error_Services('HasError') then
 | 
				
			||||||
				ErrorMsg = Error_Services('GetMessage')
 | 
									ErrorMsg = Error_Services('GetMessage')
 | 
				
			||||||
				ErrMsg(ErrorMsg)
 | 
									ErrMsg(ErrorMsg)
 | 
				
			||||||
@ -446,3 +465,4 @@ return
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -62,24 +62,80 @@ API reactItems.HEAD
 | 
				
			|||||||
API reactItems.GET
 | 
					API reactItems.GET
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    QueryFields  = HTTP_Services('GetHTTPGetString')
 | 
					    QueryFields  = HTTP_Services('GetHTTPGetString')
 | 
				
			||||||
    If Index(QueryFields, 'riType', 1) then
 | 
					    If IndexC(QueryFields, 'includeNullRetireDt', 1) then
 | 
				
			||||||
 | 
					        IncludeNullRetireDt = HTTP_Services('GetQueryField', 'includeNullRetireDt')
 | 
				
			||||||
 | 
					        Begin Case
 | 
				
			||||||
 | 
					            Case ( (IncludeNullRetireDt EQ 1) or (IncludeNullRetireDt EQ 0) )
 | 
				
			||||||
 | 
					                Null
 | 
				
			||||||
 | 
					            Case ( (IncludeNullRetireDt _EQC 'true') or (IncludeNullRetireDt _EQC 'yes') )
 | 
				
			||||||
 | 
					                IncludeNullRetireDt = True$
 | 
				
			||||||
 | 
					            Case ( (IncludeNullRetireDt _EQC 'false') or (IncludeNullRetireDt _EQC 'no') )
 | 
				
			||||||
 | 
					                IncludeNullRetireDt = False$
 | 
				
			||||||
 | 
					            Case Otherwise$
 | 
				
			||||||
 | 
					                Error_Services('Add', 'Error in ':CurrentAPI:' API. Invalid value "':IncludeNullRetireDt:'" passed in for includeNullRetireDt.')
 | 
				
			||||||
 | 
					        End Case
 | 
				
			||||||
 | 
					    end else
 | 
				
			||||||
 | 
					        IncludeNullRetireDt = ''
 | 
				
			||||||
 | 
					    end    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    If Error_Services('NoError') then
 | 
				
			||||||
 | 
					        If IndexC(QueryFields, 'showAllDetails', 1) then
 | 
				
			||||||
 | 
					            ShowAllDetails = HTTP_Services('GetQueryField', 'showAllDetails')
 | 
				
			||||||
 | 
					            Begin Case
 | 
				
			||||||
 | 
					                Case ( (ShowAllDetails EQ 1) or (ShowAllDetails EQ 0) )
 | 
				
			||||||
 | 
					                    Null                
 | 
				
			||||||
 | 
					                Case ( (ShowAllDetails _EQC 'true') or (ShowAllDetails _EQC 'yes') )
 | 
				
			||||||
 | 
					                    ShowAllDetails = True$
 | 
				
			||||||
 | 
					                Case ( (ShowAllDetails _EQC 'false') or (ShowAllDetails _EQC 'no') )
 | 
				
			||||||
 | 
					                    ShowAllDetails = False$
 | 
				
			||||||
 | 
					                Case Otherwise$
 | 
				
			||||||
 | 
					                    Error_Services('Add', 'Error in ':CurrentAPI:' API. Invalid value "':ShowAllDetails:'" passed in for showAllDetails.')
 | 
				
			||||||
 | 
					            End Case
 | 
				
			||||||
 | 
					        end else
 | 
				
			||||||
 | 
					            ShowAllDetails = False$
 | 
				
			||||||
 | 
					        end            
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        If Error_Services('NoError') then
 | 
				
			||||||
 | 
					            If IndexC(QueryFields, 'currStatus', 1) then
 | 
				
			||||||
 | 
					                CurrStatus = HTTP_Services('GetQueryField', 'currStatus')
 | 
				
			||||||
 | 
					            end else
 | 
				
			||||||
 | 
					                CurrStatus = ''
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					            If IndexC(QueryFields, 'riType', 1) then
 | 
				
			||||||
                RIType = HTTP_Services('GetQueryField', 'riType')
 | 
					                RIType = HTTP_Services('GetQueryField', 'riType')
 | 
				
			||||||
            end else
 | 
					            end else
 | 
				
			||||||
                RIType = ''
 | 
					                RIType = ''
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
    If Index(QueryFields, 'currStatus', 1 ) then
 | 
					            If IndexC(QueryFields, 'entryDtStart', 1) then
 | 
				
			||||||
        CurrStatus = Http_Services('GetQueryField', 'currStatus')
 | 
					                EntryDtStart = HTTP_Services('GetQueryField', 'entryDtStart')
 | 
				
			||||||
            end else
 | 
					            end else
 | 
				
			||||||
        CurrStatus = ''
 | 
					                EntryDtStart = ''
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
    If Index(QueryFields, 'showAllDetails', 1 ) then
 | 
					            If IndexC(QueryFields, 'entryDtEnd', 1) then
 | 
				
			||||||
        ShowAllDetails = Http_Services('GetQueryField', 'showAllDetails')
 | 
					                EntryDtEnd = HTTP_Services('GetQueryField', 'entryDtEnd')
 | 
				
			||||||
            end else
 | 
					            end else
 | 
				
			||||||
        ShowAllDetails = False$
 | 
					                EntryDtEnd = ''
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					            If IndexC(QueryFields, 'retireDtStart', 1) then
 | 
				
			||||||
 | 
					                RetireDtStart = HTTP_Services('GetQueryField', 'retireDtStart')
 | 
				
			||||||
 | 
					            end else
 | 
				
			||||||
 | 
					                RetireDtStart = ''
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					            If IndexC(QueryFields, 'retireDtEnd', 1) then
 | 
				
			||||||
 | 
					                RetireDtEnd = HTTP_Services('GetQueryField', 'retireDtEnd')
 | 
				
			||||||
 | 
					            end else
 | 
				
			||||||
 | 
					                RetireDtEnd = ''
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
    StatusCode = 200
 | 
					 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
 | 
					            StatusCode = 200
 | 
				
			||||||
            GoSub CreateHALCollection
 | 
					            GoSub CreateHALCollection
 | 
				
			||||||
 | 
					        end else
 | 
				
			||||||
 | 
					            HTTP_Services('SetResponseStatus', 400, Error_Services("GetMessage"))
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					    end else
 | 
				
			||||||
 | 
					        HTTP_Services('SetResponseStatus', 400, Error_Services("GetMessage"))
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
end api
 | 
					end api
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -254,11 +310,7 @@ CreateHALCollection:
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    JSONCollection = ''
 | 
					    JSONCollection = ''
 | 
				
			||||||
    Abort          = False$
 | 
					    Abort          = False$
 | 
				
			||||||
    If RIType NE '' OR CurrStatus NE '' then
 | 
					    ReactItems     = React_Item_Services('GetReactItems', RIType, CurrStatus, EntryDtStart, EntryDtEnd, RetireDtStart, RetireDtEnd, IncludeNullRetireDt)
 | 
				
			||||||
        ReactItems = React_Item_Services('GetReactItems', RIType, CurrStatus)
 | 
					 | 
				
			||||||
    end else
 | 
					 | 
				
			||||||
        ReactItems = React_Item_Services('GetAllReactItemKeys')
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    If ReactItems NE '' then
 | 
					    If ReactItems NE '' then
 | 
				
			||||||
        If SRP_JSON(hJSONCollection, 'New', 'Object') then
 | 
					        If SRP_JSON(hJSONCollection, 'New', 'Object') then
 | 
				
			||||||
@ -304,3 +356,4 @@ CreateHALCollection:
 | 
				
			|||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -182,19 +182,6 @@ Service SignReactorLog(ReactorLogID, UserID)
 | 
				
			|||||||
                                                ErrorMsg = 'Error in ':Service:' service. Error calling obj_React_Reads("Create"). Error code: ':ErrCode:'.'
 | 
					                                                ErrorMsg = 'Error in ':Service:' service. Error calling obj_React_Reads("Create"). Error code: ':ErrCode:'.'
 | 
				
			||||||
                                            end
 | 
					                                            end
 | 
				
			||||||
                                        end
 | 
					                                        end
 | 
				
			||||||
										If ErrorMsg EQ '' then
 | 
					 | 
				
			||||||
											// Check if injector settings have been entered
 | 
					 | 
				
			||||||
*											ReactInjSetting = ReactorLogRec<REACTOR_LOG_INJ_SETTING$>
 | 
					 | 
				
			||||||
*											If ReactInjSetting NE '' then
 | 
					 | 
				
			||||||
*												plParms  = 'REACT_STATE':@RM
 | 
					 | 
				
			||||||
*												plParms := ReactorNo:@RM
 | 
					 | 
				
			||||||
*												plParms := REACT_STATE_CURR_INJ_RL_ID$:@RM
 | 
					 | 
				
			||||||
*												plParms := ReactorLogID:@RM
 | 
					 | 
				
			||||||
*												obj_Post_Log('Create',plParms)
 | 
					 | 
				
			||||||
*												If Get_Status(ErrCode) then
 | 
					 | 
				
			||||||
*													ErrorMsg = 'Error in ':Service:' service. Error calling obj_Post_Log("Create"). Error code: ':ErrCode:'.'
 | 
					 | 
				
			||||||
*												end
 | 
					 | 
				
			||||||
*											end
 | 
					 | 
				
			||||||
                                        If ErrorMsg EQ '' then
 | 
					                                        If ErrorMsg EQ '' then
 | 
				
			||||||
                                            // Check reactor prevent maintenance records
 | 
					                                            // Check reactor prevent maintenance records
 | 
				
			||||||
                                            CurServices = ReactorLogRec<REACTOR_LOG_REACT_SERV_ID$>
 | 
					                                            CurServices = ReactorLogRec<REACTOR_LOG_REACT_SERV_ID$>
 | 
				
			||||||
@ -304,7 +291,7 @@ Service SignReactorLog(ReactorLogID, UserID)
 | 
				
			|||||||
                                            end else
 | 
					                                            end else
 | 
				
			||||||
                                                ErrorMsg = 'Error in ':Service:' service. Error creating INTRUSIVE_MAINT NICA order.'
 | 
					                                                ErrorMsg = 'Error in ':Service:' service. Error creating INTRUSIVE_MAINT NICA order.'
 | 
				
			||||||
                                            end
 | 
					                                            end
 | 
				
			||||||
											end
 | 
					                                            
 | 
				
			||||||
                                        end
 | 
					                                        end
 | 
				
			||||||
                                    end
 | 
					                                    end
 | 
				
			||||||
                                end
 | 
					                                end
 | 
				
			||||||
@ -974,4 +961,3 @@ ClearCursors:
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +1,10 @@
 | 
				
			|||||||
Function REACT_ITEM_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Record, Status, OrigRecord, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
 | 
					Function REACT_ITEM_ACTIONS(Action, CalcColName, FSList, Handle, Name, FMC, Record, Status, OrigRecord, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
 | 
				
			||||||
/***********************************************************************************************************************
 | 
					/***********************************************************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
 | 
					    This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
 | 
				
			||||||
    permission from Infineon.
 | 
					    permission from Infineon.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Name        :   RDS_Actions
 | 
					    Name        :   React_Item_Actions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Description :   Handles calculated columns and MFS calls for the current table.
 | 
					    Description :   Handles calculated columns and MFS calls for the current table.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -36,39 +36,19 @@ Function REACT_ITEM_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Reco
 | 
				
			|||||||
                                method.
 | 
					                                method.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    History     :   (Date, Initials, Notes)
 | 
					    History     :   (Date, Initials, Notes)
 | 
				
			||||||
        04/10/18    dmb     Original programmer.
 | 
					        05/12/25    djs     Updated WRITE_PRE action to update the CURR_STATUS_STATIC field if the retire date changes.
 | 
				
			||||||
        10/04/18    djs     Added a trigger within the WRITE_RECORD event, which fires when the reactor number has
 | 
					 | 
				
			||||||
                            changed. When this occurs the related RDS_LAYER records for this RDS record are populated
 | 
					 | 
				
			||||||
                            with the most recent associated TOOL_PARMS record. (related by PSN and Reactor)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
***********************************************************************************************************************/
 | 
					***********************************************************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma precomp SRP_PreCompiler
 | 
					#pragma precomp SRP_PreCompiler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$Insert FILE.SYSTEM.EQUATES
 | 
					 | 
				
			||||||
$Insert ACTION_SETUP
 | 
					$Insert ACTION_SETUP
 | 
				
			||||||
$Insert RDS_EQUATES
 | 
					 | 
				
			||||||
$Insert CLEAN_INSP_EQUATES
 | 
					 | 
				
			||||||
$Insert COMPANY_EQUATES
 | 
					 | 
				
			||||||
$Insert RDS_LAYER_EQUATES
 | 
					 | 
				
			||||||
$Insert TOOL_PARMS_EQUATES
 | 
					 | 
				
			||||||
$Insert RLIST_EQUATES
 | 
					 | 
				
			||||||
$Insert APP_INSERTS
 | 
					$Insert APP_INSERTS
 | 
				
			||||||
$Insert QA_MET_EQUATES
 | 
					$Insert FILE.SYSTEM.EQUATES
 | 
				
			||||||
$Insert PRS_STAGE_EQUATES
 | 
					$Insert REACT_ITEM_EQUATES
 | 
				
			||||||
$Insert WO_MAT_EQUATES
 | 
					 | 
				
			||||||
$Insert WO_MAT_QA_EQUATES
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Equ COMMA$ to ','
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Declare function    Error_Services, Database_Services, obj_RDS_Test, Logging_Services, Environment_Services, SRP_Math
 | 
					 | 
				
			||||||
Declare function    Tool_Parms_Services, Signature_Services, obj_WO_Mat_QA, Datetime, Override_Services, obj_WO_Mat
 | 
					 | 
				
			||||||
Declare subroutine  Error_Services, Database_Services, Logging_Services, Set_Status, Schedule_Services_Dev
 | 
					 | 
				
			||||||
Declare subroutine  Work_Order_Services, Material_Services, Set_FSError
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Declare function    obj_React_Item
 | 
				
			||||||
 | 
					Declare subroutine  Error_Services
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If KeyID then GoSub Initialize_System_Variables
 | 
					If KeyID then GoSub Initialize_System_Variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -109,12 +89,8 @@ CalculateColumn:
 | 
				
			|||||||
    // Make sure the ActionFlow return variable is cleared in case nothing is calculated.
 | 
					    // Make sure the ActionFlow return variable is cleared in case nothing is calculated.
 | 
				
			||||||
    ActionFlow = ''
 | 
					    ActionFlow = ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ----- MFS calls -----------------------------------------------------------------------------------------------------
 | 
					// ----- MFS calls -----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
READ_RECORD_PRE:
 | 
					READ_RECORD_PRE:
 | 
				
			||||||
@ -124,10 +100,9 @@ READ_RECORD_PRE:
 | 
				
			|||||||
    //    Status          = 0
 | 
					    //    Status          = 0
 | 
				
			||||||
    //    Record          = ''
 | 
					    //    Record          = ''
 | 
				
			||||||
    //    ActionFlow      = ACTION_STOP$
 | 
					    //    ActionFlow      = ACTION_STOP$
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
READ_RECORD:
 | 
					READ_RECORD:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // In order to stop a record from being read in this action these lines of code must be used:
 | 
					    // In order to stop a record from being read in this action these lines of code must be used:
 | 
				
			||||||
@ -138,6 +113,7 @@ READ_RECORD:
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
READONLY_RECORD_PRE:
 | 
					READONLY_RECORD_PRE:
 | 
				
			||||||
    // In order to stop a record from being read in this action these lines of code must be used:
 | 
					    // In order to stop a record from being read in this action these lines of code must be used:
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
@ -147,6 +123,7 @@ READONLY_RECORD_PRE:
 | 
				
			|||||||
    //    ActionFlow      = ACTION_STOP$
 | 
					    //    ActionFlow      = ACTION_STOP$
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
READONLY_RECORD:
 | 
					READONLY_RECORD:
 | 
				
			||||||
    // In order to stop a record from being read in this action these lines of code must be used:
 | 
					    // In order to stop a record from being read in this action these lines of code must be used:
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
@ -155,6 +132,7 @@ READONLY_RECORD:
 | 
				
			|||||||
    //    Record          = ''
 | 
					    //    Record          = ''
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WRITE_RECORD_PRE:
 | 
					WRITE_RECORD_PRE:
 | 
				
			||||||
   
 | 
					   
 | 
				
			||||||
    ErrMsg = ''    
 | 
					    ErrMsg = ''    
 | 
				
			||||||
@ -162,9 +140,7 @@ ErrMsg = ''
 | 
				
			|||||||
    // Req'd parameter checks
 | 
					    // Req'd parameter checks
 | 
				
			||||||
    ItemType = {RI_TYPE}
 | 
					    ItemType = {RI_TYPE}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If ItemType EQ '' then
 | 
					*    If ItemType EQ '' then ErrMsg := 'Item Type was not specified. '
 | 
				
			||||||
    ErrMsg := 'Item Type was not specified. '
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    If ErrMsg NE ''  then
 | 
					    If ErrMsg NE ''  then
 | 
				
			||||||
        Error_Services('Add', 'Error Saving Reactor Item: ' : ErrMsg)
 | 
					        Error_Services('Add', 'Error Saving Reactor Item: ' : ErrMsg)
 | 
				
			||||||
@ -172,34 +148,40 @@ If ErrMsg NE ''  then
 | 
				
			|||||||
        Status        = 0
 | 
					        Status        = 0
 | 
				
			||||||
        Record        = ''
 | 
					        Record        = ''
 | 
				
			||||||
        ActionFlow    = ACTION_STOP$
 | 
					        ActionFlow    = ACTION_STOP$
 | 
				
			||||||
 | 
					    end else
 | 
				
			||||||
 | 
					        OrigRetireDt = OrigRecord<REACT_ITEM_RETIRE_DT$>
 | 
				
			||||||
 | 
					        NewRetireDt  = Record<REACT_ITEM_RETIRE_DT$>
 | 
				
			||||||
 | 
					        OrigNotes    = OrigRecord<REACT_ITEM_NOTES$>
 | 
				
			||||||
 | 
					        NewNotes     = Record<REACT_ITEM_NOTES$>
 | 
				
			||||||
 | 
					        If ( (OrigRetireDt NE NewRetireDt) or (OrigNotes NE NewNotes) ) then
 | 
				
			||||||
 | 
					            CurrStatus                             = obj_React_Item('CurrStatus', Name:@RM:Record)
 | 
				
			||||||
 | 
					            Record<REACT_ITEM_CURR_STATUS_STATIC$> = CurrStatus
 | 
				
			||||||
 | 
					            SaveRecord                             = Record
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WRITE_RECORD:
 | 
					WRITE_RECORD:
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DELETE_RECORD_PRE:
 | 
					DELETE_RECORD_PRE:
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DELETE_RECORD:
 | 
					DELETE_RECORD:
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
// Internal GoSubs
 | 
					// Internal GoSubs
 | 
				
			||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ClearCursors:
 | 
					ClearCursors:
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    For counter = 0 to 8
 | 
					    For counter = 0 to 8
 | 
				
			||||||
        ClearSelect counter
 | 
					        ClearSelect counter
 | 
				
			||||||
    Next counter
 | 
					    Next counter
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -251,4 +233,3 @@ Restore_System_Variables:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -20,62 +20,110 @@ Compile function React_Item_Services(@Service, @Params)
 | 
				
			|||||||
        08/02/22    djs     Original programmer.
 | 
					        08/02/22    djs     Original programmer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
***********************************************************************************************************************/
 | 
					***********************************************************************************************************************/
 | 
				
			||||||
 | 
					 | 
				
			||||||
#pragma precomp SRP_PreCompiler
 | 
					#pragma precomp SRP_PreCompiler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$Insert LOGICAL
 | 
					 | 
				
			||||||
$Insert APP_INSERTS
 | 
					$Insert APP_INSERTS
 | 
				
			||||||
 | 
					$Insert SERVICE_SETUP
 | 
				
			||||||
$Insert RLIST_EQUATES
 | 
					$Insert RLIST_EQUATES
 | 
				
			||||||
$Insert REACT_ITEM_EQUATES
 | 
					$Insert REACT_ITEM_EQUATES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Declare function   Database_Services, Error_Services, SRP_JSON, NextKey
 | 
					Declare function   Database_Services, Error_Services, SRP_JSON, NextKey, SRP_Date, obj_React_Item, SRP_Array
 | 
				
			||||||
Declare subroutine SRP_JSON, Error_Services, Btree.Extract, Database_Services
 | 
					Declare subroutine SRP_JSON, Error_Services, Btree.Extract, Database_Services, Update_Index
 | 
				
			||||||
GoToService
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Return Response or ""
 | 
					GoToService else
 | 
				
			||||||
 | 
						Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//-----------------------------------------------------------------------------
 | 
					Return Response else ''
 | 
				
			||||||
// SERVICES
 | 
					 | 
				
			||||||
//-----------------------------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Service GetAllReactItemKeys()
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
    AllKeys  = ''
 | 
					// Service Parameter Options
 | 
				
			||||||
    RList('SELECT REACT_ITEM', TARGET_ACTIVELIST$, '', '', '')
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
    Done     = False$
 | 
					Options BOOLEAN     = True$, False$
 | 
				
			||||||
    Reactors = ''
 | 
					 | 
				
			||||||
    Loop
 | 
					 | 
				
			||||||
        Readnext keyId else Done = True$
 | 
					 | 
				
			||||||
    Until Done
 | 
					 | 
				
			||||||
    AllKeys<1,-1> = keyId
 | 
					 | 
				
			||||||
    Repeat
 | 
					 | 
				
			||||||
    Response = AllKeys
 | 
					 | 
				
			||||||
end service
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Service GetReactItems(RIType, CurrStatus)
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					// Services
 | 
				
			||||||
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Service GetReactItems(RIType, CurrStatus, EntryDtStart, EntryDtEnd, RetireDtStart, RetireDtEnd, IncludeNullRetireDt=BOOLEAN)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    ErrorMsg = ''
 | 
					    ErrorMsg = ''
 | 
				
			||||||
    Response = ''
 | 
					    Response = ''
 | 
				
			||||||
    Swap ',' with @VM in RIType
 | 
					    If ( (RIType NE '') or (CurrStatus NE '') or (EntryDtStart NE '') or (EntryDtEnd NE '') or (RetireDtStart NE '') or (RetireDtEnd NE '') or (IncludeNullRetireDt NE '') ) then
 | 
				
			||||||
    Swap ',' with @VM in CurrStatus
 | 
					        If EntryDtStart  NE '' and Not(Num(EntryDtStart))  then EntryDtStart  = IConv(EntryDtStart, 'D')
 | 
				
			||||||
    
 | 
					        If EntryDtEnd    NE '' and Not(Num(EntryDtEnd))    then EntryDtEnd    = IConv(EntryDtEnd, 'D')
 | 
				
			||||||
 | 
					        If RetireDtStart NE '' and Not(Num(RetireDtStart)) then RetireDtStart = IConv(RetireDtStart, 'D')
 | 
				
			||||||
 | 
					        If RetireDtEnd   NE '' and Not(Num(RetireDtEnd))   then RetireDtEnd   = IConv(RetireDtEnd, 'D')
 | 
				
			||||||
        Open 'DICT.REACT_ITEM' to DictReactItem then
 | 
					        Open 'DICT.REACT_ITEM' to DictReactItem then
 | 
				
			||||||
        
 | 
					 | 
				
			||||||
            SearchString = ''
 | 
					            SearchString = ''
 | 
				
			||||||
        If RIType NE '' then SearchString := 'RI_TYPE':@VM:RIType:@FM
 | 
					            If RIType NE '' then
 | 
				
			||||||
        If CurrStatus NE '' then SearchString := 'CURR_STATUS':@VM:CurrStatus:@FM 
 | 
					                Swap ',' with @VM in RIType
 | 
				
			||||||
        RIKeys          = ''
 | 
					                SearchString := 'RI_TYPE':@VM:RIType:@FM
 | 
				
			||||||
        Btree.Extract(SearchString, 'REACT_ITEM', DictReactItem, RIKeys, '', '')
 | 
					            end
 | 
				
			||||||
        ErrCode         = ''
 | 
					            Begin Case
 | 
				
			||||||
        IF Get_Status(ErrCode) then
 | 
					                Case ( (EntryDtStart NE '') and (EntryDtEnd NE '') )
 | 
				
			||||||
            ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract. Error code ':ErrCode:'.'
 | 
					                    EntryDtStart = OConv(EntryDtStart - 1, 'D4/')
 | 
				
			||||||
        end else
 | 
					                    EntryDtEnd   = OConv(EntryDtEnd + 1, 'D4/')
 | 
				
			||||||
            Response = RIKeys
 | 
					                    SearchString := 'ENTER_DT':@VM:EntryDtStart:'~':EntryDtEnd:@FM
 | 
				
			||||||
 | 
					                Case (EntryDtStart NE '')
 | 
				
			||||||
 | 
					                    EntryDtStart  = OConv(EntryDtStart, 'D4/')
 | 
				
			||||||
 | 
					                    SearchString := 'ENTER_DT':@VM:'>=':EntryDtStart:@FM
 | 
				
			||||||
 | 
					                Case (EntryDtEnd NE '')
 | 
				
			||||||
 | 
					                    SearchString := 'ENTER_DT':@VM:'<=':EntryDtEnd:@FM
 | 
				
			||||||
 | 
					                Case Otherwise$
 | 
				
			||||||
 | 
					                    Null
 | 
				
			||||||
 | 
					            End Case
 | 
				
			||||||
 | 
					            Begin Case
 | 
				
			||||||
 | 
					                Case ( (RetireDtStart NE '') and (RetireDtEnd NE '') )
 | 
				
			||||||
 | 
					                    RetireDtStart  = OConv(RetireDtStart - 1, 'D4/')
 | 
				
			||||||
 | 
					                    RetireDtEnd    = OConv(RetireDtEnd + 1, 'D4/')
 | 
				
			||||||
 | 
					                    SearchString  := 'RETIRE_DT':@VM:RetireDtStart:'~':RetireDtEnd
 | 
				
			||||||
 | 
					                    If IncludeNullRetireDt then SearchString := @VM:''
 | 
				
			||||||
 | 
					                    SearchString := @FM                    
 | 
				
			||||||
 | 
					                Case (RetireDtStart NE '')
 | 
				
			||||||
 | 
					                    RetireDtStart  = OConv(RetireDtStart, 'D4/')
 | 
				
			||||||
 | 
					                    SearchString  := 'RETIRE_DT':@VM:'>=':RetireDtStart
 | 
				
			||||||
 | 
					                    If IncludeNullRetireDt then SearchString := @VM:''
 | 
				
			||||||
 | 
					                    SearchString  := @FM                    
 | 
				
			||||||
 | 
					                Case (RetireDtEnd NE '')
 | 
				
			||||||
 | 
					                    SearchString := 'RETIRE_DT':@VM:'<=':RetireDtEnd
 | 
				
			||||||
 | 
					                    If IncludeNullRetireDt then SearchString := @VM:''
 | 
				
			||||||
 | 
					                    SearchString := @FM
 | 
				
			||||||
 | 
					                Case IncludeNullRetireDt
 | 
				
			||||||
 | 
					                    SearchString  := 'RETIRE_DT':@VM:'':@FM
 | 
				
			||||||
 | 
					                Case Otherwise$
 | 
				
			||||||
 | 
					                    Null
 | 
				
			||||||
 | 
					            End Case
 | 
				
			||||||
 | 
					            If CurrStatus NE '' then
 | 
				
			||||||
 | 
					                Swap ',' with @VM in CurrStatus
 | 
				
			||||||
 | 
					                SearchString := 'CURR_STATUS_STATIC':@VM:CurrStatus:@FM
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					            Flag    = ''
 | 
				
			||||||
 | 
					            RIKeys  = ''
 | 
				
			||||||
 | 
					            Btree.Extract(SearchString, 'REACT_ITEM', DictReactItem, RIKeys, 'E', Flag)
 | 
				
			||||||
 | 
					            If Flag EQ 0 then
 | 
				
			||||||
 | 
					                EnterDtms = Xlate('REACT_ITEM', RIKeys, 'ENTER_DTM', 'X')
 | 
				
			||||||
 | 
					                Array     = RIKeys:@FM:EnterDtms
 | 
				
			||||||
 | 
					                Array     = SRP_Array('SortRows', Array, 'DN2', 'ARRAY', @FM, @VM)
 | 
				
			||||||
 | 
					                Response  = Array<1>
 | 
				
			||||||
 | 
					            end else
 | 
				
			||||||
 | 
					                ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract.'
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        end else
 | 
					        end else
 | 
				
			||||||
            ErrorMsg = 'Error in ':Service:' service. Error opening REACT_ITEM dictionary.'
 | 
					            ErrorMsg = 'Error in ':Service:' service. Error opening REACT_ITEM dictionary.'
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
    
 | 
					    end else
 | 
				
			||||||
 | 
					        AllKeys  = ''
 | 
				
			||||||
 | 
					        RList('SELECT REACT_ITEM', TARGET_ACTIVELIST$, '', '', '')
 | 
				
			||||||
 | 
					        Done     = False$
 | 
				
			||||||
 | 
					        Loop
 | 
				
			||||||
 | 
					            Readnext KeyId else Done = True$
 | 
				
			||||||
 | 
					        Until Done
 | 
				
			||||||
 | 
					            AllKeys<1, -1> = KeyId
 | 
				
			||||||
 | 
					        Repeat
 | 
				
			||||||
 | 
					        Response       = AllKeys
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
    If ErrorMsg NE '' then
 | 
					    If ErrorMsg NE '' then
 | 
				
			||||||
        Error_Services('Add', ErrorMsg)
 | 
					        Error_Services('Add', ErrorMsg)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
@ -155,7 +203,6 @@ Service ConvertRecordToJSON(KeyID, Record, ItemURL)
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    Response    = jsonRecord
 | 
					    Response    = jsonRecord
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
end service
 | 
					end service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -326,11 +373,11 @@ Service GetReactItemTemplateJSON()
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    Response    = jsonRecord
 | 
					    Response    = jsonRecord
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
end service
 | 
					end service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Service CreateReactItem(Record)
 | 
					Service CreateReactItem(Record)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    ErrMsg = ''
 | 
					    ErrMsg = ''
 | 
				
			||||||
    KeyID  = ''
 | 
					    KeyID  = ''
 | 
				
			||||||
    If Record NE '' then
 | 
					    If Record NE '' then
 | 
				
			||||||
@ -355,6 +402,7 @@ Service CreateReactItem(Record)
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
end service
 | 
					end service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Service ConvertRecordToJSONQuick(KeyID, Record, ItemURL)
 | 
					Service ConvertRecordToJSONQuick(KeyID, Record, ItemURL)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    jsonRecord    = ''
 | 
					    jsonRecord    = ''
 | 
				
			||||||
@ -407,6 +455,32 @@ Service ConvertRecordToJSONQuick(KeyID, Record, ItemURL)
 | 
				
			|||||||
    Response    = jsonRecord
 | 
					    Response    = jsonRecord
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
end service
 | 
					end service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Service UpdateReactItemStatus(RINo)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    If RINo NE '' then
 | 
				
			||||||
 | 
					        If RowExists('REACT_ITEM', RINo) then
 | 
				
			||||||
 | 
					            RIRec                     = Database_Services('ReadDataRow', 'REACT_ITEM', RINo)
 | 
				
			||||||
 | 
					            If Error_Services('NoError') then
 | 
				
			||||||
 | 
					                Update_Index('REACT_ITEM_HIST', 'RI_NO', False$, True$)
 | 
				
			||||||
 | 
					                ReactItemCurrStatus       = obj_React_Item('CurrStatus', RINo:@RM:RIRec)
 | 
				
			||||||
 | 
					                ReactItemCurrStatusStatic = RIRec<REACT_ITEM_CURR_STATUS_STATIC$>
 | 
				
			||||||
 | 
					                If ReactItemCurrStatus NE ReactItemCurrStatusStatic then
 | 
				
			||||||
 | 
					                    Open 'REACT_ITEM' to hTable then
 | 
				
			||||||
 | 
					                        WriteV ReactItemCurrStatus on hTable, RINo, REACT_ITEM_CURR_STATUS_STATIC$ else
 | 
				
			||||||
 | 
					                            Error_Services('Add', 'Error in ':Service:' service. Error writing CURR_STATUS_STATIC, ':ReactItemCurrStatus:', for REACT_ITEM ':RINo:'.')
 | 
				
			||||||
 | 
					                        end
 | 
				
			||||||
 | 
					                    end else
 | 
				
			||||||
 | 
					                        Error_Services('Add', 'Error in ':Service:' service. Error opening REACT_ITEM table for status update.')
 | 
				
			||||||
 | 
					                    end
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					end service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
// Internal GoSubs
 | 
					// Internal GoSubs
 | 
				
			||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
@ -419,6 +493,3 @@ ClearCursors:
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
return
 | 
					return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -335,6 +335,18 @@ Service ProcessScanData(ScanID, ScanJSON)
 | 
				
			|||||||
								Error_Services('Add', 'Inactive employee.')
 | 
													Error_Services('Add', 'Inactive employee.')
 | 
				
			||||||
							Case Otherwise$
 | 
												Case Otherwise$
 | 
				
			||||||
								ScansRow<SCANS.EMPLOYEE_ID$>    = {EMPLOYEE_ID}
 | 
													ScansRow<SCANS.EMPLOYEE_ID$>    = {EMPLOYEE_ID}
 | 
				
			||||||
 | 
													
 | 
				
			||||||
 | 
													Username = {EMPLOYEE_ID}
 | 
				
			||||||
 | 
													
 | 
				
			||||||
 | 
													Member = False$
 | 
				
			||||||
 | 
													Groups = 'LEAD':@VM:'SUPERVISOR':@VM:'ENGINEER':@VM:'ENG_TECH':@VM:'ROTR_OVERRIDE'
 | 
				
			||||||
 | 
													
 | 
				
			||||||
 | 
													For each Group in Groups using @VM
 | 
				
			||||||
 | 
														Member = MemberOf(Username, Group)
 | 
				
			||||||
 | 
													Until Member EQ True$
 | 
				
			||||||
 | 
													Next Group
 | 
				
			||||||
 | 
													
 | 
				
			||||||
 | 
													ScansRow<SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$> = Member
 | 
				
			||||||
						End Case                       
 | 
											End Case                       
 | 
				
			||||||
						
 | 
											
 | 
				
			||||||
					Case ScanData[1, 3] EQ '10S'
 | 
										Case ScanData[1, 3] EQ '10S'
 | 
				
			||||||
@ -520,6 +532,9 @@ Service ProcessScanData(ScanID, ScanJSON)
 | 
				
			|||||||
									Database_Services('WriteDataRow', 'REACTOR', Reactor, ReactorRec, True$, False$, True$)
 | 
														Database_Services('WriteDataRow', 'REACTOR', Reactor, ReactorRec, True$, False$, True$)
 | 
				
			||||||
									Database_Services('WriteDataRow', 'RDS', RDSNo, RDSRec, True$, False$, True$)
 | 
														Database_Services('WriteDataRow', 'RDS', RDSNo, RDSRec, True$, False$, True$)
 | 
				
			||||||
									
 | 
														
 | 
				
			||||||
 | 
														ScansRow<SCANS.OVERRIDE_REQD$> = 0
 | 
				
			||||||
 | 
														ScansRow<SCANS.OVERRIDE_TYPE$> = ''
 | 
				
			||||||
 | 
														ScansRow<SCANS.OVERRIDE_REASON$> = ''
 | 
				
			||||||
									ScansRow<SCANS.EMPLOYEE_ID$>= ''
 | 
														ScansRow<SCANS.EMPLOYEE_ID$>= ''
 | 
				
			||||||
									Result = 'Override Performed successfully'
 | 
														Result = 'Override Performed successfully'
 | 
				
			||||||
								end
 | 
													end
 | 
				
			||||||
@ -652,6 +667,7 @@ Service ProcessScanData(ScanID, ScanJSON)
 | 
				
			|||||||
							If (CassetteIDs NE '') then
 | 
												If (CassetteIDs NE '') then
 | 
				
			||||||
								TestWaferLotData = ScansRow<SCANS.TW_LOT_ID$>
 | 
													TestWaferLotData = ScansRow<SCANS.TW_LOT_ID$>
 | 
				
			||||||
								Abort            = False$
 | 
													Abort            = False$
 | 
				
			||||||
 | 
													TestWaferLotIsValid = False$
 | 
				
			||||||
								If TestWaferLotData NE '' then
 | 
													If TestWaferLotData NE '' then
 | 
				
			||||||
									ThisTestRunType = ScansRow<SCANS.TEST_RUN_TYPE_ID$>
 | 
														ThisTestRunType = ScansRow<SCANS.TEST_RUN_TYPE_ID$>
 | 
				
			||||||
									If ThisTestRunType NE '' then
 | 
														If ThisTestRunType NE '' then
 | 
				
			||||||
@ -667,6 +683,8 @@ Service ProcessScanData(ScanID, ScanJSON)
 | 
				
			|||||||
															If Not(TWLotCurrOpen) then
 | 
																				If Not(TWLotCurrOpen) then
 | 
				
			||||||
																Abort = True$
 | 
																					Abort = True$
 | 
				
			||||||
																Scan_Services('AddNotAcceptableReason', 'Lot ':TWLot:' is closed and cannot be used at this time.')
 | 
																					Scan_Services('AddNotAcceptableReason', 'Lot ':TWLot:' is closed and cannot be used at this time.')
 | 
				
			||||||
 | 
																				end else
 | 
				
			||||||
 | 
																					TestWaferLotIsValid = True$
 | 
				
			||||||
															end
 | 
																				end
 | 
				
			||||||
														end else
 | 
																			end else
 | 
				
			||||||
															Abort = True$
 | 
																				Abort = True$
 | 
				
			||||||
@ -1090,6 +1108,60 @@ Service ProcessScanData(ScanID, ScanJSON)
 | 
				
			|||||||
																					Case Otherwise$
 | 
																										Case Otherwise$
 | 
				
			||||||
																						// Keep error on Error_Services stack and return 400 level error.
 | 
																											// Keep error on Error_Services stack and return 400 level error.
 | 
				
			||||||
																				End Case
 | 
																									End Case
 | 
				
			||||||
 | 
																								end else
 | 
				
			||||||
 | 
																									ReactorNo = Xlate('RDS', RDSNo, RDS_REACTOR$, 'X')
 | 
				
			||||||
 | 
																									ReactorType = Xlate('REACTOR', ReactorNo, REACTOR_REACT_TYPE$, 'X')
 | 
				
			||||||
 | 
																									If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then
 | 
				
			||||||
 | 
																										WO = Xlate('RDS', RDSNo, RDS_WO$, 'X')
 | 
				
			||||||
 | 
																										CassNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
 | 
				
			||||||
 | 
																										WoMatKey = WO:'*':CassNo
 | 
				
			||||||
 | 
																										WoMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey)
 | 
				
			||||||
 | 
																										LastCassInWoTestWaferAckReq = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$>
 | 
				
			||||||
 | 
																										LastCassInWoTestWaferAcked = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$>
 | 
				
			||||||
 | 
																										LastCassInWoTestWaferReqMsg = ''
 | 
				
			||||||
 | 
																										If LastCassInWoTestWaferAcked EQ False$ or LastCassInWoTestWaferAcked EQ '' then
 | 
				
			||||||
 | 
																											LastCassInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey)
 | 
				
			||||||
 | 
																											
 | 
				
			||||||
 | 
																											If LastCassInWo then
 | 
				
			||||||
 | 
																												NextEventScheduled = False$
 | 
				
			||||||
 | 
																												NextEventHasSamePsn = True$
 | 
				
			||||||
 | 
																												NextEventIsBlock = False$
 | 
				
			||||||
 | 
																												
 | 
				
			||||||
 | 
																												NextScheduledEvent = Schedule_Services('GetNextEvent', ReactorNo)
 | 
				
			||||||
 | 
																												If Error_Services('NoError') then
 | 
				
			||||||
 | 
																													NextEventScheduled = True$
 | 
				
			||||||
 | 
																													
 | 
				
			||||||
 | 
																													NextEventHasSamePsn = Schedule_Services('NextEventIsSamePsn', ReactorNo)
 | 
				
			||||||
 | 
																													NextEventIsBlock = Schedule_Services('NextEventIsBlock', ReactorNo)
 | 
				
			||||||
 | 
																												end
 | 
				
			||||||
 | 
																												
 | 
				
			||||||
 | 
																												If NextEventScheduled EQ False$ or NextEventHasSamePsn EQ False$ or NextEventIsBlock EQ True$ then
 | 
				
			||||||
 | 
																													LastCassInWoTestWaferAckReq = True$
 | 
				
			||||||
 | 
																													WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$> = LastCassInWoTestWaferAckReq
 | 
				
			||||||
 | 
																													TestWaferRanSinceLoad = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> or TestWaferLotIsValid EQ True$
 | 
				
			||||||
 | 
														
 | 
				
			||||||
 | 
																													If TestWaferLotIsValid NE True$ and TestWaferRanSinceLoad NE True$ then
 | 
				
			||||||
 | 
																														TestWaferRanSinceLoad = Rds_Services('TestWaferRanAfterLoad', RDSNo)
 | 
				
			||||||
 | 
																														
 | 
				
			||||||
 | 
																														If TestWaferRanSinceLoad NE True$ then
 | 
				
			||||||
 | 
																															LastCassInWoTestWaferReqMsg = ''
 | 
				
			||||||
 | 
																															If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then
 | 
				
			||||||
 | 
																																LastCassInWoTestWaferReqMsg = 'No material scheduled. Test wafer required.'
 | 
				
			||||||
 | 
																															end else If NextEventHasSamePsn EQ False$ then
 | 
				
			||||||
 | 
																																LastCassInWoTestWaferReqMsg = 'Next work order is a NEW PSN number. Test wafer required.'
 | 
				
			||||||
 | 
																															end
 | 
				
			||||||
 | 
																															
 | 
				
			||||||
 | 
																															Scan_Services('AddNotAcceptableReason', LastCassInWoTestWaferReqMsg)
 | 
				
			||||||
 | 
																														end
 | 
				
			||||||
 | 
																													end
 | 
				
			||||||
 | 
																													
 | 
				
			||||||
 | 
																													WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> = TestWaferRanSinceLoad
 | 
				
			||||||
 | 
																													
 | 
				
			||||||
 | 
																													Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRec, True$, False$, False$)
 | 
				
			||||||
 | 
																												end
 | 
				
			||||||
 | 
																											end
 | 
				
			||||||
 | 
																										end
 | 
				
			||||||
 | 
																									end
 | 
				
			||||||
																			end
 | 
																								end
 | 
				
			||||||
																		end else
 | 
																							end else
 | 
				
			||||||
																			ScanMsg = 'The POST stage engineering instructions must be acknowledged before the load operation can be signed.'
 | 
																								ScanMsg = 'The POST stage engineering instructions must be acknowledged before the load operation can be signed.'
 | 
				
			||||||
@ -1403,6 +1475,7 @@ Service AcceptScan(ScanID, ScanJSON)
 | 
				
			|||||||
									LogData<3> = Username
 | 
														LogData<3> = Username
 | 
				
			||||||
									LogData<4> = CurrStage
 | 
														LogData<4> = CurrStage
 | 
				
			||||||
									LogData<5> = ScanID
 | 
														LogData<5> = ScanID
 | 
				
			||||||
 | 
														
 | 
				
			||||||
									Begin Case                          
 | 
														Begin Case                          
 | 
				
			||||||
										Case CurrStage _EQC 'VER'
 | 
															Case CurrStage _EQC 'VER'
 | 
				
			||||||
											Action = 'LOAD'
 | 
																Action = 'LOAD'
 | 
				
			||||||
@ -1493,6 +1566,23 @@ Service AcceptScan(ScanID, ScanJSON)
 | 
				
			|||||||
											
 | 
																
 | 
				
			||||||
										Case CurrStage _EQC 'UNLOAD'
 | 
															Case CurrStage _EQC 'UNLOAD'
 | 
				
			||||||
											Action = 'UNLOAD'
 | 
																Action = 'UNLOAD'
 | 
				
			||||||
 | 
																Continue = True$
 | 
				
			||||||
 | 
																If TestWaferLots NE '' then
 | 
				
			||||||
 | 
																	ToolID           = ScansRow<SCANS.TOOL_ID$>
 | 
				
			||||||
 | 
																	Reactor          = ToolID[-1, 'BR']
 | 
				
			||||||
 | 
																	Username         = ScansRow<SCANS.EMPLOYEE_ID$>
 | 
				
			||||||
 | 
																	TestWaferLotQtys = ScansRow<SCANS.TW_LOT_QTY$>
 | 
				
			||||||
 | 
																	TestRunType = ScansRow<SCANS.TEST_RUN_TYPE_ID$>
 | 
				
			||||||
 | 
																	PSNo             = Xlate('RDS', RDSNo, RDS_PROD_SPEC_ID$, True$, 'X')
 | 
				
			||||||
 | 
																	NewTestRunId     = Test_Run_Services('CreateTestRunRecord', TestRunType, 'R', Reactor, PSNo, RDSNo,Username ,  TestWaferLots, TestWaferLotQtys)
 | 
				
			||||||
 | 
																	If Error_Services('HasError') then
 | 
				
			||||||
 | 
																		ErrorMessage = Error_Services('GetMessage')
 | 
				
			||||||
 | 
																		Error_Services('Set', ErrorMessage)
 | 
				
			||||||
 | 
																		Continue = False$
 | 
				
			||||||
 | 
																	end
 | 
				
			||||||
 | 
																end	
 | 
				
			||||||
 | 
																
 | 
				
			||||||
 | 
																If Continue EQ True$ then
 | 
				
			||||||
												// Check if UNLOAD stage is ready to sign
 | 
																	// Check if UNLOAD stage is ready to sign
 | 
				
			||||||
												UnloadStageSigned = QA_Services('SignUnloadStage', RDSNo, Username, 1)
 | 
																	UnloadStageSigned = QA_Services('SignUnloadStage', RDSNo, Username, 1)
 | 
				
			||||||
												If UnloadStageSigned EQ True$ then
 | 
																	If UnloadStageSigned EQ True$ then
 | 
				
			||||||
@ -1501,6 +1591,7 @@ Service AcceptScan(ScanID, ScanJSON)
 | 
				
			|||||||
												LogData<6> = Action
 | 
																	LogData<6> = Action
 | 
				
			||||||
												LogData<7> = Result
 | 
																	LogData<7> = Result
 | 
				
			||||||
												Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
 | 
																	Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
 | 
				
			||||||
 | 
																end
 | 
				
			||||||
										Case CurrStage _EQC 'COMP'
 | 
															Case CurrStage _EQC 'COMP'
 | 
				
			||||||
											Action = 'COMP'
 | 
																Action = 'COMP'
 | 
				
			||||||
											Error_Services('Set', '(':CassetteID:") Cassette has already been FQA'd.")
 | 
																Error_Services('Set', '(':CassetteID:") Cassette has already been FQA'd.")
 | 
				
			||||||
@ -1674,6 +1765,7 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
 | 
				
			|||||||
					SRP_JSON(objEmployee, 'SetValue', 'authorized', {EMPLOYEE_AUTHORIZED}, 'Boolean')
 | 
										SRP_JSON(objEmployee, 'SetValue', 'authorized', {EMPLOYEE_AUTHORIZED}, 'Boolean')
 | 
				
			||||||
					SRP_JSON(objEmployee, 'SetValue', 'notAuthorizedReason', {EMPLOYEE_NOT_AUTHORIZED_REASON}, 'String')
 | 
										SRP_JSON(objEmployee, 'SetValue', 'notAuthorizedReason', {EMPLOYEE_NOT_AUTHORIZED_REASON}, 'String')
 | 
				
			||||||
					SRP_JSON(objEmployee, 'SetValue', 'authenticated'       , @Record<SCANS.AUTHENTICATED$>            , 'Boolean');//JRO Change
 | 
										SRP_JSON(objEmployee, 'SetValue', 'authenticated'       , @Record<SCANS.AUTHENTICATED$>            , 'Boolean');//JRO Change
 | 
				
			||||||
 | 
										SRP_JSON(objEmployee, 'SetValue', 'isAuthorizedToOverrideROTR', @Record<SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$>, 'Boolean')
 | 
				
			||||||
					SRP_JSON(objJSONScan, 'Set', 'employee', objEmployee)
 | 
										SRP_JSON(objJSONScan, 'Set', 'employee', objEmployee)
 | 
				
			||||||
					SRP_JSON(objEmployee, 'Release')
 | 
										SRP_JSON(objEmployee, 'Release')
 | 
				
			||||||
					
 | 
										
 | 
				
			||||||
@ -1787,52 +1879,6 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
 | 
				
			|||||||
								end else
 | 
													end else
 | 
				
			||||||
									SupplUnloadInstAckReq = False$
 | 
														SupplUnloadInstAckReq = False$
 | 
				
			||||||
								end
 | 
													end
 | 
				
			||||||
								
 | 
					 | 
				
			||||||
								ReactorNo = Xlate('RDS', RDSNo, RDS_REACTOR$, 'X')
 | 
					 | 
				
			||||||
								ReactorType = Xlate('REACTOR', ReactorNo, REACTOR_REACT_TYPE$, 'X')
 | 
					 | 
				
			||||||
								If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then
 | 
					 | 
				
			||||||
									WO = Xlate('RDS', RDSNo, RDS_WO$, 'X')
 | 
					 | 
				
			||||||
									CassNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
 | 
					 | 
				
			||||||
									WoMatKey = WO:'*':CassNo
 | 
					 | 
				
			||||||
									WoMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey)
 | 
					 | 
				
			||||||
									LastCassInWoTestWaferAckReq = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$>
 | 
					 | 
				
			||||||
									LastCassInWoTestWaferAcked = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$>
 | 
					 | 
				
			||||||
									LastCassInWoTestWaferReqMsg = ''
 | 
					 | 
				
			||||||
									If LastCassInWoTestWaferAcked EQ False$ or LastCassInWoTestWaferAcked EQ '' then
 | 
					 | 
				
			||||||
										LastCassInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey)
 | 
					 | 
				
			||||||
										
 | 
					 | 
				
			||||||
										If LastCassInWo then
 | 
					 | 
				
			||||||
											NextEventScheduled = False$
 | 
					 | 
				
			||||||
											NextEventHasSamePsn = True$
 | 
					 | 
				
			||||||
											NextEventIsBlock = False$
 | 
					 | 
				
			||||||
											
 | 
					 | 
				
			||||||
											NextScheduledEvent = Schedule_Services('GetNextEvent', ReactorNo)
 | 
					 | 
				
			||||||
											If Error_Services('NoError') then
 | 
					 | 
				
			||||||
												NextEventScheduled = True$
 | 
					 | 
				
			||||||
												
 | 
					 | 
				
			||||||
												NextEventHasSamePsn = Schedule_Services('NextEventIsSamePsn', ReactorNo)
 | 
					 | 
				
			||||||
												NextEventIsBlock = Schedule_Services('NextEventIsBlock', ReactorNo)
 | 
					 | 
				
			||||||
											end
 | 
					 | 
				
			||||||
											
 | 
					 | 
				
			||||||
											If NextEventScheduled EQ False$ or NextEventHasSamePsn EQ False$ or NextEventIsBlock EQ True$ then
 | 
					 | 
				
			||||||
												LastCassInWoTestWaferAckReq = True$
 | 
					 | 
				
			||||||
												WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$> = LastCassInWoTestWaferAckReq
 | 
					 | 
				
			||||||
												WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$> = LastCassInWoTestWaferAcked
 | 
					 | 
				
			||||||
												Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRec, True$, False$, False$)
 | 
					 | 
				
			||||||
												
 | 
					 | 
				
			||||||
												LastCassInWoTestWaferReqMsg = ''
 | 
					 | 
				
			||||||
												If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then
 | 
					 | 
				
			||||||
													LastCassInWoTestWaferReqMsg = 'No material scheduled. Test wafer required.'
 | 
					 | 
				
			||||||
												end else If NextEventHasSamePsn EQ False$ then
 | 
					 | 
				
			||||||
													LastCassInWoTestWaferReqMsg = 'Next work order is a NEW PSN number. Test wafer required.'
 | 
					 | 
				
			||||||
												end
 | 
					 | 
				
			||||||
											end
 | 
					 | 
				
			||||||
										end
 | 
					 | 
				
			||||||
									end
 | 
					 | 
				
			||||||
									SRP_JSON(objRDS, 'SetValue', 'lastCassInWoTestWaferAckReq', LastCassInWoTestWaferAckReq, 'Boolean')
 | 
					 | 
				
			||||||
									SRP_JSON(objRDS, 'SetValue', 'lastCassInWoTestWaferAcked', LastCassInWoTestWaferAcked, 'Boolean')
 | 
					 | 
				
			||||||
									SRP_JSON(objRDS, 'SetValue', 'lastCassInWoTestWaferAckReqMsg', LastCassInWoTestWaferReqMsg, 'String')
 | 
					 | 
				
			||||||
								end
 | 
					 | 
				
			||||||
							end else
 | 
												end else
 | 
				
			||||||
								SupplUnloadInstAckReq = False$
 | 
													SupplUnloadInstAckReq = False$
 | 
				
			||||||
							end
 | 
												end
 | 
				
			||||||
@ -2355,3 +2401,4 @@ return
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -181,14 +181,7 @@ DoRead:
 | 
				
			|||||||
			
 | 
								
 | 
				
			||||||
			Reactor    = get_property( @window, '@Reactor' )
 | 
								Reactor    = get_property( @window, '@Reactor' )
 | 
				
			||||||
			LoadedRDS  = Xlate('REACT_STATUS', Reactor, 'LOAD_RDS', 'X')
 | 
								LoadedRDS  = Xlate('REACT_STATUS', Reactor, 'LOAD_RDS', 'X')
 | 
				
			||||||
			LoadedRuns = ''
 | 
								LoadedRuns = Xlate('RDS', LoadedRDS, 'RUN_ORDER_NUM', 'X')
 | 
				
			||||||
			If LoadedRDS NE '' then
 | 
					 | 
				
			||||||
				For each RDS in LoadedRDS using @VM setting vPos
 | 
					 | 
				
			||||||
					Locate RDS in AllRDS using @VM setting rPos then
 | 
					 | 
				
			||||||
						LoadedRuns<0, -1> = rPos
 | 
					 | 
				
			||||||
					end
 | 
					 | 
				
			||||||
				Next RDS
 | 
					 | 
				
			||||||
			end
 | 
					 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			LoadedData = ''
 | 
								LoadedData = ''
 | 
				
			||||||
			For each RDSNo in LoadedRDS using @VM setting vPos
 | 
								For each RDSNo in LoadedRDS using @VM setting vPos
 | 
				
			||||||
@ -507,5 +500,3 @@ REACT_MODE:
 | 
				
			|||||||
	END
 | 
						END
 | 
				
			||||||
RETURN
 | 
					RETURN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -179,3 +179,4 @@ Equ PROD_SPEC_ANKO_MET_POCKETS$           To 166
 | 
				
			|||||||
Equ PROD_SPEC_ANKO_FULL_CHAR_POCKET$      To 167
 | 
					Equ PROD_SPEC_ANKO_FULL_CHAR_POCKET$      To 167
 | 
				
			||||||
Equ PROD_SPEC_ANKO_WAFER_SELECTION$       To 168
 | 
					Equ PROD_SPEC_ANKO_WAFER_SELECTION$       To 168
 | 
				
			||||||
Equ PROD_SPEC_LOCKED_BY$                  To 169
 | 
					Equ PROD_SPEC_LOCKED_BY$                  To 169
 | 
				
			||||||
 | 
					Equ PROD_SPEC_SHOW_SPEC_INST_ON_MU_ADD$   To 170
 | 
				
			||||||
 | 
				
			|||||||
@ -28,3 +28,5 @@ Equ REACT_ITEM_TUBE_GRADE$           To  18
 | 
				
			|||||||
Equ REACT_ITEM_TUBE_PRESS$         To  19
 | 
					Equ REACT_ITEM_TUBE_PRESS$         To  19
 | 
				
			||||||
Equ REACT_ITEM_TUBE_STYLE$         To  20
 | 
					Equ REACT_ITEM_TUBE_STYLE$         To  20
 | 
				
			||||||
Equ REACT_ITEM_NEW_OR_REFURB$      To  21
 | 
					Equ REACT_ITEM_NEW_OR_REFURB$      To  21
 | 
				
			||||||
 | 
					Equ REACT_ITEM_CURR_STATUS_STATIC$ To  22
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -40,6 +40,9 @@ compile insert SCANS_EQUATES
 | 
				
			|||||||
   equ SCANS.TW_LOT_QTY$            to 31
 | 
					   equ SCANS.TW_LOT_QTY$            to 31
 | 
				
			||||||
   equ SCANS.TEST_RUN_TYPE_ID$      to 32
 | 
					   equ SCANS.TEST_RUN_TYPE_ID$      to 32
 | 
				
			||||||
   equ SCANS.TEST_RUN_TYPE_NAME$    to 33
 | 
					   equ SCANS.TEST_RUN_TYPE_NAME$    to 33
 | 
				
			||||||
 | 
					   equ SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$ to 34
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -156,4 +156,5 @@ Equ WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$ To 147
 | 
				
			|||||||
Equ WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$ To 148
 | 
					Equ WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$ To 148
 | 
				
			||||||
Equ WO_MAT_HOLD_STAGE$ To 149
 | 
					Equ WO_MAT_HOLD_STAGE$ To 149
 | 
				
			||||||
Equ WO_MAT_HOLD_INTERRUPTED$ To 150
 | 
					Equ WO_MAT_HOLD_INTERRUPTED$ To 150
 | 
				
			||||||
 | 
					Equ WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$ To 151
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user