Compare commits
	
		
			84 Commits
		
	
	
		
			06-16-a
			...
			71daf317f0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 71daf317f0 | |||
| a48f47ddc9 | |||
| 6396264e64 | |||
| 8f233705a2 | |||
| b159e1aa27 | |||
| de2e6af5f7 | |||
| 84da66ccd5 | |||
| 49e77a769f | |||
| 490bfe21d4 | |||
| 2aaed8944e | |||
| ef104f889c | |||
| ea156489f1 | |||
| e1a44a7687 | |||
| c890a25d46 | |||
| 836b8c47a9 | |||
| aabd4c3a91 | |||
| b607432be4 | |||
| 3debdce91e | |||
| 4689b861d7 | |||
| 350116fddc | |||
| 59aed72156 | |||
| e97162dc1e | |||
| 2a6c0afddf | |||
| b53e805929 | |||
| 804b590773 | |||
| cd64511871 | |||
| 2226f3112b | |||
| 184d2c2cba | |||
| 5830705c7d | |||
| 1d32ec4fbb | |||
| eb85afaf35 | |||
| 269e5f9bd4 | |||
| d4ce96337b | |||
| af6cd757de | |||
| ce252bf885 | |||
| 28d5b81b30 | |||
| 563871008e | |||
| 272b2ce7d8 | |||
| 14c77d9edf | |||
| d15cd38daf | |||
| e3dbea2b7a | |||
| 01fa3f8202 | |||
| 98ac420462 | |||
| 5ca3778719 | |||
| 5d27afcd68 | |||
| c786fce37b | |||
| b796060529 | |||
| ff0036d4c2 | |||
| fd55fe06a9 | |||
| 653ba1619f | |||
| 8f25d78fe6 | |||
| 521c35af8f | |||
| d021ab64b9 | |||
| df5b217fe7 | |||
| 8415e99055 | |||
| da208b2908 | |||
| 7b7f501145 | |||
| 03e85359d1 | |||
| 401c03d752 | |||
| a878c9bb2e | |||
| 60b5386f27 | |||
| 46f070e9cc | |||
| 2180ba3fb4 | |||
| c6910c14c2 | |||
| 38e7b6e276 | |||
| e523f2085d | |||
| 7b386fe856 | |||
| bcdfbe0534 | |||
| 52499b7616 | |||
| 1db89a3d3f | |||
| de67e45c9a | |||
| 3becd9cf4d | |||
| d570e3cfef | |||
| 49f6cf505a | |||
| 17e320923f | |||
| c4a3edece2 | |||
| 273b7f67a6 | |||
| 5cb17c6d52 | |||
| 0c7a1d55e2 | |||
| b2c9e500f8 | |||
| 2f6b376ece | |||
| 357b7ede64 | |||
| 60493b3413 | |||
| 76327e9dbc | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,4 +1,3 @@ | ||||
| LSL2/STPROC/TEST_DANIEL*.txt | ||||
| LSL2/STPROC/TEST_DAKOTA.txt | ||||
| LSL2/STPROC/JONATHAN_SERVICES.txt | ||||
| .vscode/**/*.png | ||||
							
								
								
									
										234
									
								
								.vscode/.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										234
									
								
								.vscode/.txt
									
									
									
									
										vendored
									
									
								
							| @ -1,234 +0,0 @@ | ||||
|  | ||||
| // T:\met08resisrp2100\06_SourceCode\met08resisrp2100\Adaptation\FileHandlers\OpenInsight\FileRead.cs | ||||
| // x.Date // 001 | ||||
| // x.Employee // 002 | ||||
| // x.Recipe // 003 | ||||
| // x.Reactor // 004 | ||||
| // x.RDS // 005 | ||||
| // x.PSN // 006 | ||||
| // x.Layer // 007 | ||||
| // x.Zone // 008 | ||||
|  | ||||
| // T:\met08anlysdifaast230\06_SourceCode\met08anlysdifaast230\Adaptation\FileHandlers\OpenInsight\FileRead.cs | ||||
| // x.PSN // 001 | ||||
| // x.Reactor // 002 | ||||
| // logistics.MesEntity // 003 | ||||
| // x.RDS // 004 | ||||
| // x.Recipe // 005 | ||||
| // x.Employee // 006 | ||||
| // x.SlotNumber // 007 | ||||
|  | ||||
| // T:\met08thftirstratus\06_SourceCode\met08thftirstratus\Adaptation\FileHandlers\OpenInsight\FileRead.cs | ||||
| // "Stratus_" // 001 | ||||
| // x.Date // 002 | ||||
| // logistics.JobID // 003 | ||||
| // "FQA Thickness" // 004 | ||||
| // x.Employee // 005 | ||||
| // x.Recipe // 006 | ||||
| // x.Reactor // 007 | ||||
| // x.RDS // 008 | ||||
| // x.PSN // 009 | ||||
| // x.Lot // 010 | ||||
| // x.Cassette // 011 | ||||
| // x.MeanThickness // 012 | ||||
| // descriptions[i].Slot // 013 | ||||
| // descriptions[i].Mean // 014 | ||||
|  | ||||
| // T:\met08thftirqs408m\06_SourceCode\met08thftirqs408m\Adaptation\FileHandlers\OpenInsight\FileRead.cs | ||||
| // Bio-Rad UniqueId // 001 | ||||
| // Date // 002 | ||||
| // ThicknessFourteenCriticalPointsAverage // 003 | ||||
| // Recipe // 004 | ||||
| // Reactor // 005 | ||||
| // RDS // 006 | ||||
| // PSN // 007 | ||||
| // Layer // 008 | ||||
| // Zone // 009 | ||||
| // Cassette // 010 | ||||
| // Wafer // 011 | ||||
| // RVThickness // 012 | ||||
| // Position // 013 | ||||
| // Thickness // 014 | ||||
|  | ||||
| // T:\met08resimapcde\06_SourceCode\met08resimapcde\Adaptation\FileHandlers\OpenInsight\FileRead.cs | ||||
| // x.UniqueId // 001 | ||||
| // x.Run // 002 | ||||
| // x.Date // 003 | ||||
| // x.Lot // 004 | ||||
| // x.Recipe // 005 | ||||
| // x.Reactor // 006 | ||||
| // x.RDS // 007 | ||||
| // x.PSN // 008 | ||||
| // x.Layer // 009 | ||||
| // x.Zone // 010 | ||||
| // logistics.MesEntity // 011 | ||||
| // x.Employee // 012 | ||||
| // x.Engineer // 013 | ||||
| // x.DLRatio // 014 | ||||
| // x.Temp // 015 | ||||
| // x.AutoOptimizeGain // 016 | ||||
| // x.AutoProbeHeightSet // 017 | ||||
| // x.DataReject // 018 | ||||
| // x.FileName // 019 | ||||
| // x.Avg // 020 | ||||
| // x.StdDev // 021 | ||||
| // x.SemiRadial // 022 | ||||
| // description.Pt // 023 | ||||
| // description.R // 024 | ||||
| // description.T // 025 | ||||
| // description.Rs // 026 | ||||
| // description.Merit // 027 | ||||
|  | ||||
| // T:\met08resihgcv\06_SourceCode\met08resihgcv\Adaptation\FileHandlers\OpenInsight\FileRead.cs | ||||
| // x.UniqueId // 001 | ||||
| // logistics.MesEntity // 002 | ||||
| // x.Reactor // 003 | ||||
| // x.RDS // 004 | ||||
| // x.PSN // 005 | ||||
| // x.Layer // 006 | ||||
| // x.Zone // 007 | ||||
| // x.Wafer // 008 | ||||
| // x.Lot // 009 | ||||
| // x.Plan // 010 | ||||
| // x.Date // 011 | ||||
| // x.WaferSize // 012 | ||||
| // x.Ccomp // 013 | ||||
| // x.Area // 014 | ||||
| // x.CondType // 015 | ||||
| // x.Model // 016 | ||||
| // x.StartVoltage // 017 | ||||
| // x.StopVoltage // 018 | ||||
| // x.RampRate // 019 | ||||
| // x.GLimit // 020 | ||||
| // x.SetupFile // 021 | ||||
| // x.SetupFile // 022 | ||||
| // x.Folder // 023 | ||||
| // x.Pattern // 024 | ||||
| // x.RhoMethod // 025 | ||||
| // x.NAvgMean // 026 | ||||
| // x.NAvgStdDev // 027 | ||||
| // x.NAvgRadialGradient // 028 | ||||
| // x.NslMean // 029 | ||||
| // x.NslStdDev // 030 | ||||
| // x.NslRadialGradient // 031 | ||||
| // x.VdMean // 032 | ||||
| // x.VdStdDev // 033 | ||||
| // x.VdRadialGradient // 034 | ||||
| // x.FlatZMean // 035 | ||||
| // x.FlatZStdDev // 036 | ||||
| // x.FlatZRadialGradient // 037 | ||||
| // x.RhoAvgMean // 038 | ||||
| // x.RhoAvgStdDev // 039 | ||||
| // x.RhoAvgRadialGradient // 040 | ||||
| // x.RhoslMean // 041 | ||||
| // x.RhoslStdDev // 042 | ||||
| // x.RhoslRadialGradient // 043 | ||||
| // x.PhaseMean // 044 | ||||
| // x.PhaseStdDev // 045 | ||||
| // x.PhaseRadialGradient // 046 | ||||
| // x.GradeMean // 047 | ||||
| // x.GradeStdDev // 048 | ||||
| // x.GradeRadialGradient // 049 | ||||
| // x.RsMean // 050 | ||||
| // x.RsStdDev // 051 | ||||
| // x.RsRadialGradient // 052 | ||||
| // description.Index // 053 | ||||
| // description.NAvg // 054 | ||||
| // description.Nsl // 055 | ||||
| // description.Vd // 056 | ||||
| // description.FlatZ // 057 | ||||
| // description.RhoAvg // 058 | ||||
| // description.Rhosl // 059 | ||||
| // description.Phase // 060 | ||||
| // description.Grade // 061 | ||||
|  | ||||
| // T:\met08ddupsfs6420\06_SourceCode\met08ddupsfs6420\Adaptation\FileHandlers\OpenInsight\FileRead.cs | ||||
| // x.AreaCountAvg       // 001 - AreaCountAvg | ||||
| // x.AreaCountMax       // 002 - AreaCountMax | ||||
| // x.AreaCountMin       // 003 - AreaCountMin | ||||
| // x.AreaCountStdDev    // 004 - AreaCountStdDev | ||||
| // x.AreaTotalAvg       // 005 - AreaTotalAvg | ||||
| // x.AreaTotalMax       // 006 - AreaTotalMax | ||||
| // x.AreaTotalMin       // 007 - AreaTotalMin | ||||
| // x.AreaTotalStdDev    // 008 - AreaTotalStdDev | ||||
| // x.Date               // 009 -  | ||||
| // x.HazeAverageAvg     // 010 - Haze Average | ||||
| // x.HazeAverageMax     // 011 -  | ||||
| // x.HazeAverageMin     // 012 -  | ||||
| // x.HazeAverageStdDev  // 013 -  | ||||
| // x.HazeRegionAvg      // 014 -  | ||||
| // x.HazeRegionMax      // 015 -  | ||||
| // x.HazeRegionMin      // 016 -  | ||||
| // x.HazeRegionStdDev   // 017 -  | ||||
| // x.Lot                // 018 -  | ||||
| // x.LPDCM2Avg          // 019 -  | ||||
| // x.LPDCM2Max          // 020 -  | ||||
| // x.LPDCM2Min          // 021 -  | ||||
| // x.LPDCM2StdDev       // 022 -  | ||||
| // x.LPDCountAvg        // 023 -  | ||||
| // x.LPDCountMax        // 024 -  | ||||
| // x.LPDCM2Min          // 025 -  | ||||
| // x.LPDCountStdDev     // 026 -  | ||||
| // x.Employee           // 027 -  | ||||
| // x.RDS                // 028 - Lot | ||||
| // x.Reactor            // 029 - Process | ||||
| // x.Recipe             // 030 - Part | ||||
| // x.ScratchCountAvg    // 031 - Scratch Count | ||||
| // x.ScratchCountMax    // 032 -  | ||||
| // x.ScratchCountMin    // 033 -  | ||||
| // x.ScratchTotalStdDev // 034 -  | ||||
| // x.ScratchTotalAvg    // 035 - Scratch Length | ||||
| // x.ScratchTotalMax    // 036 -  | ||||
| // x.ScratchTotalMin    // 037 -  | ||||
| // x.ScratchTotalStdDev // 038 -  | ||||
| // x.SumOfDefectsAvg    // 039 - Average Sum of Defects | ||||
| // x.SumOfDefectsMax    // 040 - Max Sum of Defects | ||||
| // x.SumOfDefectsMin    // 041 - Min Sum of Defects | ||||
| // x.SumOfDefectsStdDev // 042 - SumOfDefectsStdDev | ||||
| // logistics.MesEntity  // 043 -  | ||||
|  | ||||
| // T:\met08ddupsp1tbi\06_SourceCode\met08ddupsp1tbi\Adaptation\FileHandlers\OpenInsight\FileRead.cs | ||||
| // x.DcnLpdMin         // 001 -  | ||||
| // x.DcnLpdMax         // 002 -  | ||||
| // x.DcnLpdMean        // 003 - DCN LPD | ||||
| // x.DcnAreaCountMin   // 004 -  | ||||
| // x.DcnAreaCountMax   // 005 -  | ||||
| // x.DcnAreaCountMean  // 006 - DCN Area | ||||
| // x.DcnAreaMin        // 007 -  | ||||
| // x.DcnAreaMax        // 008 -  | ||||
| // x.Date              // 009 -  | ||||
| // x.DcnHazeAvgMean    // 010 - Haze Average | ||||
| // string.Empty        // 011 -  | ||||
| // string.Empty        // 012 -  | ||||
| // string.Empty        // 013 -  | ||||
| // string.Empty        // 014 -  | ||||
| // string.Empty        // 015 -  | ||||
| // string.Empty        // 016 -  | ||||
| // string.Empty        // 017 -  | ||||
| // string.Empty        // 018 -  | ||||
| // string.Empty        // 019 -  | ||||
| // string.Empty        // 020 -  | ||||
| // string.Empty        // 021 -  | ||||
| // string.Empty        // 022 -  | ||||
| // string.Empty        // 023 -  | ||||
| // string.Empty        // 024 -  | ||||
| // string.Empty        // 025 -  | ||||
| // string.Empty        // 026 -  | ||||
| // string.Empty        // 027 -  | ||||
| // x.RDS               // 028 - Lot | ||||
| // x.Reactor           // 029 - Process | ||||
| // x.Recipe            // 030 - Part | ||||
| // x.DcnScrMean        // 031 - Scratch Count | ||||
| // string.Empty        // 032 -  | ||||
| // string.Empty        // 033 -  | ||||
| // string.Empty        // 034 -  | ||||
| // x.DcnMicroScrMean   // 035 - Scratch Length | ||||
| // string.Empty        // 036 -  | ||||
| // string.Empty        // 037 -  | ||||
| // string.Empty        // 038 -  | ||||
| // x.DcnAllMean        // 039 - Average Sum of Defects | ||||
| // x.DcnAllMax         // 040 - Max Sum of defects | ||||
| // x.DcnAllMin         // 041 - Min Sum of Defects | ||||
| // string.Empty        // 042 -  | ||||
| // logistics.MesEntity // 043 -  | ||||
| // x.DcnAreaMean       // 044 - DCN MM2 | ||||
							
								
								
									
										280
									
								
								.vscode/.vba
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										280
									
								
								.vscode/.vba
									
									
									
									
										vendored
									
									
								
							| @ -1,280 +0,0 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| Service SetJsonFromProcessDataStandardFormat(DataPath, FileName) | ||||
| 	OSREAD Text FROM DataPath:FileName THEN | ||||
| 		Records = 0; | ||||
| 		Sequence = -1; | ||||
| 		HeaderId = -1; | ||||
| 		SubgroupId = -1; | ||||
| 		ColumnTitlesLine = 0; | ||||
| 		FoundEndOfFile = False$; | ||||
| 		json = '{ "Records": [':@FM; | ||||
| 		SWAP '|' WITH @VM IN Text; | ||||
| 		SWAP CRLF$ WITH @FM IN Text; | ||||
| 		ColumnTitlesIndexCount = 0; | ||||
| 		LineCount = DCOUNT(Text, @FM); | ||||
| 		FOR LineLoopIndex = 1 TO LineCount | ||||
| 			Line = Text<LineLoopIndex>; | ||||
| 			IF FoundEndOfFile = True$ THEN | ||||
| 				IF Line<1, 1> = 'END_OFFSET' THEN | ||||
| 					ColumnTitlesLine = LineLoopIndex + 2; | ||||
| 				END | ||||
| 				IF ColumnTitlesLine GT 0 THEN | ||||
| 					Row = '{'; | ||||
| 					SegmentsCount = DCOUNT(Line, @VM); | ||||
| 					IF ColumnTitlesIndexCount EQ 0 THEN | ||||
| 						FOR SegmentLoopIndex = 1 TO SegmentsCount | ||||
| 							IF SegmentLoopIndex = ColumnTitlesLine THEN | ||||
| 								ColumnTitlesIndexCount = SegmentsCount - 2; | ||||
| 							END | ||||
| 						NEXT SegmentLoopIndex | ||||
| 					END | ||||
| 					IF ColumnTitlesIndexCount GT 0 AND SegmentsCount = ColumnTitlesIndexCount THEN | ||||
| 						FOR SegmentLoopIndex = 1 TO SegmentsCount | ||||
| 							Value = SRP_String('Trim', Line<1,SegmentLoopIndex>, 'FB'); | ||||
| 							swap '"' with '\"' in Value; | ||||
| 							swap '\' with '\\' in Value; | ||||
| 							Column = Text<ColumnTitlesLine,SegmentLoopIndex + 1>; | ||||
| 							IF Column[1,1] = '"' AND Column[-1,1] = '"' THEN | ||||
| 								Column = Column[2,LEN(Column) - 2]; | ||||
| 							END | ||||
| 							Row = Row:'"':Column:'":"':Value:'",'; | ||||
| 						NEXT SegmentLoopIndex | ||||
| 						Row = SRP_String('Trim', Row, 'B', ','):'},':@FM; | ||||
| 						json = json:Row; | ||||
| 						Records = Records + 1; | ||||
| 					END | ||||
| 				END | ||||
| 			END | ||||
| 			IF Line = 'EOF' THEN | ||||
| 				FoundEndOfFile = True$; | ||||
| 				Line = Text<LineLoopIndex - 1>; | ||||
| 				Convert Tab$ to @FM IN Line | ||||
| 				SWAP '=' WITH @VM IN Line; | ||||
| 				SWAP ';' WITH @FM IN Line; | ||||
| 				IF Line<2, 1> = 'B_HeaderId' THEN | ||||
| 					HeaderId = Line<2, 2> | ||||
| 				END | ||||
| 				IF Line<3, 1> = 'B_SubgroupId' THEN | ||||
| 					SubgroupId = Line<3, 2> | ||||
| 				END | ||||
| 				IF Line<14, 1> = 'B_SEQUENCE' THEN | ||||
| 					Sequence = Line<14, 2> | ||||
| 				END | ||||
|  			END | ||||
| 		NEXT LineLoopIndex | ||||
| 		IF ColumnTitlesLine GT 0 AND ColumnTitlesIndexCount GT 0 THEN | ||||
| 			json = SRP_String('Trim', json, 'B', @FM); | ||||
| 			json = SRP_String('Trim', json, 'B', ','); | ||||
| 			json = json:@FM:']':@FM:',"Sequence":':Sequence:',"HeaderId":':HeaderId:',"SubgroupId":':SubgroupId:',"Count":':Records:'}'; | ||||
| 			SWAP @FM WITH CRLF$ IN json; | ||||
| 		END | ||||
| 		IF LEN(json) GT 0 THEN | ||||
| 			set_status(0); | ||||
| 			OSWRITE json to DataPath:FileName:'.json' | ||||
| 			StatusCode = ''; | ||||
| 			If Get_Status(StatusCode) THEN | ||||
| 				ErrorMessage = 'Error writing run data file to repository: StatusCode = ' : StatusCode; | ||||
| 				Metrology_Services('LogResults', '', Machine, 'UID001', Service : ' : ' : ErrorMessage); | ||||
| 				Set_Status(0); | ||||
| 			END | ||||
| 		END | ||||
| 	END ELSE | ||||
| 		json = ''; | ||||
| 	END | ||||
|     Response = json; | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetStratus(Handle) | ||||
| 	Result = ''; // Service ImportStratusData( | ||||
| 	Offset = 1 | ||||
| 	FieldPosition = 13 | ||||
| 	FieldPositionIncrement = 2 | ||||
| 	Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count'); | ||||
| 	Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence'); | ||||
| 	Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId'); | ||||
| 	Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId'); | ||||
| 	FOR RecordIndex = 1 TO Result<1, 1> | ||||
| 		IF RecordIndex = 1 THEN | ||||
| 			Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DateTime'); // Timestamp | ||||
| 			Result<3> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MesEntity'); // Tool | ||||
| 			Result<4> = 'FQA Thickness'; // DataType | ||||
| 			Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Employee'); // Operator | ||||
| 			Result<6> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Recipe'); // Recipe | ||||
| 			Result<7> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // Reactor | ||||
| 			Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSNo | ||||
| 			Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']PSN'); // PSN | ||||
| 			Result<10> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Batch'); // BatchID | ||||
| 			Result<11> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Cassette'); // Cassette | ||||
| 			Result<12> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']GradeMean'); // ThickAvg | ||||
| 		END | ||||
| 		ForOffset = (RecordIndex - 1) * FieldPositionIncrement; | ||||
| 		Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Slot'); // Position | ||||
| 		Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Mean'); // DataPoint | ||||
| 	NEXT RecordIndex | ||||
|     Response = Result; | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetBioRadEPPFQA(Handle) | ||||
| 	Result = ''; // Service ImportBioRadEPPFQAData( | ||||
| 	Offset = 1 | ||||
| 	FieldPosition = 13 | ||||
| 	FieldPositionIncrement = 1 | ||||
| 	Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count'); | ||||
| 	Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence'); | ||||
| 	Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId'); | ||||
| 	Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId'); | ||||
| 	FOR RecordIndex = 1 TO Result<1, 1> | ||||
| 		IF RecordIndex = 1 THEN | ||||
| 			Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DateTime'); // Timestamp | ||||
| 			Result<4> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Recipe'); // ScanRecipe | ||||
| 			Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ReactorID | ||||
| 			Result<6> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // WMOKeyID | ||||
| 			Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Layer'); // RunDataLayer | ||||
| 		END | ||||
| 		ForOffset = (RecordIndex - 1) * FieldPositionIncrement; | ||||
| 		Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Position'); // Position | ||||
| 		Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Thickness'); // DataPoint | ||||
| 	NEXT RecordIndex | ||||
|     Response = Result; | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetBioRad(Handle) | ||||
| 	Result = ''; // Service ImportBioRadData( | ||||
| 	Offset = 1 | ||||
| 	FieldPosition = 13 | ||||
| 	FieldPositionIncrement = 2 | ||||
| 	Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count'); | ||||
| 	Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence'); | ||||
| 	Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId'); | ||||
| 	Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId'); | ||||
| 	FOR RecordIndex = 1 TO Result<1, 1> | ||||
| 		IF RecordIndex = 1 THEN | ||||
| 			Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DateTime'); // TimeStamp | ||||
| 			Result<4> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Recipe'); // ScanRecipe | ||||
| 			Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ReactorID | ||||
| 			Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ToolID | ||||
| 			Result<6> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID | ||||
| 			Result<7> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']PSN'); // PSN | ||||
| 			Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Layer'); // RunDataLayer | ||||
| 			Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Zone'); // RunDataZone | ||||
| 		END | ||||
| 		ForOffset = (RecordIndex - 1) * FieldPositionIncrement; | ||||
| 		Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Position'); // Position | ||||
| 		Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Thickness'); // DataPoint | ||||
| 	NEXT RecordIndex | ||||
|     Response = Result; | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetCDE(Handle) | ||||
| 	Result = ''; // Service ImportCDEData( | ||||
| 	Offset = 3 | ||||
| 	FieldPosition = 23 | ||||
| 	FieldPositionIncrement = 5 | ||||
| 	Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count'); | ||||
| 	Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence'); | ||||
| 	Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId'); | ||||
| 	Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId'); | ||||
| 	FOR RecordIndex = 1 TO Result<1, 1> | ||||
| 		IF RecordIndex = 1 THEN | ||||
| 			Result<3> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Date'); // Timestamp | ||||
| 			Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RecipeName'); // ScanRecip | ||||
| 			Result<6> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ReactorID | ||||
| 			Result<7> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID | ||||
| 			Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']PSN'); // PSN | ||||
| 			Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Layer'); // RunDataLayer | ||||
| 			Result<10> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Zone'); // RunDataZo | ||||
| 		END | ||||
| 		ForOffset = (RecordIndex - 1) * FieldPositionIncrement; | ||||
| 		Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']InferredPoint'); // Position | ||||
| 		Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Data'); // DataPoint | ||||
| 		Result<FieldPosition + ForOffset + FieldPositionIncrement - 1> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MeritGOF'); // N/A | ||||
| 	NEXT RecordIndex | ||||
|     Response = Result; | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetHgCV(Handle) | ||||
| 	Result = ''; // Service ImportHgCVData( | ||||
| 	Offset = 5 | ||||
| 	PhaseOffset = 7 | ||||
| 	FieldPosition = 53 | ||||
| 	FieldPositionIncrement = 9 | ||||
| 	Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count'); | ||||
| 	Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence'); | ||||
| 	Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId'); | ||||
| 	Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId'); | ||||
| 	FOR RecordIndex = 1 TO Result<1, 1> | ||||
| 		IF RecordIndex = 1 THEN | ||||
| 			Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MesEntity'); // ToolID | ||||
| 			Result<3> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ReactorID | ||||
| 			Result<4> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID | ||||
| 			Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']PSN'); // PSN | ||||
| 			Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Wafer'); // LayerZonePair | ||||
| 			Result<11> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Date'); // Timestamp | ||||
| 		END | ||||
| 		ForOffset = (RecordIndex - 1) * FieldPositionIncrement; | ||||
| 		Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Site'); // Position | ||||
| 		Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RhoAvg'); // HgCVDataPoint | ||||
| 		Result<FieldPosition + ForOffset + PhaseOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Phase'); // PhaseDataPoint | ||||
| 		Result<FieldPosition + ForOffset + FieldPositionIncrement - 1> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Grade'); // N/A | ||||
| 	NEXT RecordIndex | ||||
|     Response = Result; | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetTencor(Handle) | ||||
| 	Result = ''; // Service ImportTencorData( | ||||
| 	Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count'); | ||||
| 	Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence'); | ||||
| 	Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId'); | ||||
| 	Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId'); | ||||
| 	FOR RecordIndex = 1 TO Result<1, 1> | ||||
| 		IF RecordIndex = 1 THEN | ||||
| 			Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Date'); // Timestamp | ||||
| 			Result<10> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']HazeAverageAvg'); // HazeAvg | ||||
| 			Result<28> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID | ||||
| 			Result<30> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']WaferRecipe'); // ScanRecipe | ||||
| 			Result<39> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']SumOfDefectsAvg'); // SoDAvg | ||||
| 			Result<40> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']SumOfDefectsMax'); // SoDMax | ||||
| 			Result<41> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']SumOfDefectsMin'); // SoDMin | ||||
| 			Result<43> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MesEntity'); // ScanTool | ||||
| 		END | ||||
| 	NEXT RecordIndex | ||||
|     Response = Result; | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetSP1(Handle) | ||||
| 	Result = ''; // Service ImportSP1Data( | ||||
| 	Result<5, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count'); | ||||
| 	Result<5, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence'); | ||||
| 	Result<5, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId'); | ||||
| 	Result<5, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId'); | ||||
| 	FOR RecordIndex = 1 TO Result<5, 1> | ||||
| 		IF RecordIndex = 1 THEN | ||||
| 			Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Date'); // Timestamp | ||||
| 			Result<10> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnHazeAvgMean'); // HazeAvg | ||||
| 			Result<28> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID | ||||
| 			Result<30> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Session'); // ScanRecipe | ||||
| 			IsMisfit = IndexC(Result<30>, 'MISFIT', 1) | ||||
| 			IF IsMisfit THEN | ||||
| 				Result<3> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMean'); // SoDAvg | ||||
| 				Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMax'); // SoDMax | ||||
| 				Result<1> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMin'); // SoDMin | ||||
| 			END ELSE | ||||
| 				Result<39> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMean'); // SoDAvg | ||||
| 				Result<40> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMax'); // SoDMax | ||||
| 				Result<41> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMin'); // SoDMin | ||||
| 			END | ||||
| 			Result<43> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MesEntity'); // ScanTool | ||||
| 			Result<44> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAreaMean'); // DCNMM2 | ||||
| 		END | ||||
| 	NEXT RecordIndex | ||||
|     Response = Result; | ||||
| end service | ||||
| @ -1,50 +0,0 @@ | ||||
| 0	0	0.000	1	12	4.320	0.064	1.176	4/24/2025 1:56:23 AM	0.622																		666335	55	6IN_SLIP	0.000				NA				4.440	12	1		SP101	0.357	 | ||||
|  | ||||
| | 1 | 2 | 3 | 4 | 5  | 6    | 7     | 8     | 9                    | 10    | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28     | 29 | 30       | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39   | 40 | 41 | 42 | 43    | 44    | | ||||
| |---|---|---|---|----|------|-------|-------|----------------------|-------|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|--------|----|----------|----|----|----|----|----|----|----|----|------|----|----|----|-------|-------| | ||||
| | 0 | 0 | 0 | 1 | 12 | 4.32 | 0.064 | 1.176 | 4/24/2025 1:56:23 AM | 0.622 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | 666335 | 55 | 6IN_SLIP | 0  |    |    |    | NA |    |    |    | 4.44 | 12 | 1  |    | SP101 | 0.357 | | ||||
|  | ||||
| <1>:0 | ||||
| <2>:0 | ||||
| <3>:0 | ||||
| <4>:1 | ||||
| <5>:12 | ||||
| <6>:4.32 | ||||
| <7>:0.064 | ||||
| <8>:1.176 | ||||
| <9>:4/24/2025 1:56:23 AM | ||||
| <10>:0.622 | ||||
| <11>: | ||||
| <12>: | ||||
| <13>: | ||||
| <14>: | ||||
| <15>: | ||||
| <16>: | ||||
| <17>: | ||||
| <18>: | ||||
| <19>: | ||||
| <20>: | ||||
| <21>: | ||||
| <22>: | ||||
| <23>: | ||||
| <24>: | ||||
| <25>: | ||||
| <26>: | ||||
| <27>: | ||||
| <28>:666335 | ||||
| <29>:55 | ||||
| <30>:6IN_SLIP | ||||
| <31>:0 | ||||
| <32>: | ||||
| <33>: | ||||
| <34>: | ||||
| <35>:NA | ||||
| <36>: | ||||
| <37>: | ||||
| <38>: | ||||
| <39>:4.44 | ||||
| <40>:12 | ||||
| <41>:1 | ||||
| <42>: | ||||
| <43>:SP101 | ||||
| <44>:0.357 | ||||
							
								
								
									
										1982
									
								
								.vscode/638810565835457504/SP101_250424015623000.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1982
									
								
								.vscode/638810565835457504/SP101_250424015623000.json
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -1,87 +0,0 @@ | ||||
| HEADER_TAG	HEADER_VALUE | ||||
| FORMAT	2.00 | ||||
| NUMBER_PASSES	0001 | ||||
| HEADER_OFFSET	H#######T | ||||
| DATA_OFFSET	D#######T | ||||
| END_OFFSET	E#######T | ||||
| "Time"	"A_LOGISTICS"	"B_LOGISTICS"	"Test"	"Count"	"Index"	"MesEntity"	"Date"	"Employee"	"Lot"	"PSN"	"Reactor"	"Recipe"	"Grade"	"HeaderUniqueId"	"RDS"	"Session"	"Side"	"SrcDest"	"UniqueId"	"WaferID"	"DcnAllMax"	"DcnAllMean"	"DcnAllMin"	"DcnAllStdDev"	"DcnAreaCountMax"	"DcnAreaCountMean"	"DcnAreaCountMin"	"DcnAreaCountStdDev"	"DcnAreaMax"	"DcnAreaMean"	"DcnAreaMin"	"DcnAreaStdDev"	"DcnBin1Max"	"DcnBin1Mean"	"DcnBin1Min"	"DcnBin1StdDev"	"DcnBin2Max"	"DcnBin2Mean"	"DcnBin2Min"	"DcnBin2StdDev"	"DcnBin3Max"	"DcnBin3Mean"	"DcnBin3Min"	"DcnBin3StdDev"	"DcnBin4Max"	"DcnBin4Mean"	"DcnBin4Min"	"DcnBin4StdDev"	"DcnBin5Max"	"DcnBin5Mean"	"DcnBin5Min"	"DcnBin5StdDev"	"DcnBin6Max"	"DcnBin6Mean"	"DcnBin6Min"	"DcnBin6StdDev"	"DcnBin7Max"	"DcnBin7Mean"	"DcnBin7Min"	"DcnBin7StdDev"	"DcnBin8Max"	"DcnBin8Mean"	"DcnBin8Min"	"DcnBin8StdDev"	"DcnHazeAvgMax"	"DcnHazeAvgMean"	"DcnHazeAvgMin"	"DcnHazeAvgStdDev"	"DcnHazeMedianMax"	"DcnHazeMedianMean"	"DcnHazeMedianMin"	"DcnHazeMedianStdDev"	"DcnHazeStdDevMax"	"DcnHazeStdDevMean"	"DcnHazeStdDevMin"	"DcnHazeStdDevStdDev"	"DcnLpdESMax"	"DcnLpdESMean"	"DcnLpdESMin"	"DcnLpdESStdDev"	"DcnLpdMax"	"DcnLpdMean"	"DcnLpdMin"	"DcnLpdNMax"	"DcnLpdNMean"	"DcnLpdNMin"	"DcnLpdNStdDev"	"DcnLpdStdDev"	"DcnMicroScrMax"	"DcnMicroScrMean"	"DcnMicroScrMin"	"DcnMicroScrStdDev"	"DcnScrMax"	"DcnScrMean"	"DcnScrMin"	"DcnScrStdDev"	"DcnSlipMax"	"DcnSlipMean"	"DcnSlipMin"	"DcnSlipStdDev"	"DnnAllMax"	"DnnAllMean"	"DnnAllMin"	"DnnAllStdDev"	"DnnAreaCountMax"	"DnnAreaCountMean"	"DnnAreaCountMin"	"DnnAreaCountStdDev"	"DnnAreaMax"	"DnnAreaMean"	"DnnAreaMin"	"DnnAreaStdDev"	"DnnBin1Max"	"DnnBin1Mean"	"DnnBin1Min"	"DnnBin1StdDev"	"DnnBin2Max"	"DnnBin2Mean"	"DnnBin2Min"	"DnnBin2StdDev"	"DnnBin3Max"	"DnnBin3Mean"	"DnnBin3Min"	"DnnBin3StdDev"	"DnnBin4Max"	"DnnBin4Mean"	"DnnBin4Min"	"DnnBin4StdDev"	"DnnBin5Max"	"DnnBin5Mean"	"DnnBin5Min"	"DnnBin5StdDev"	"DnnBin6Max"	"DnnBin6Mean"	"DnnBin6Min"	"DnnBin6StdDev"	"DnnBin7Max"	"DnnBin7Mean"	"DnnBin7Min"	"DnnBin7StdDev"	"DnnBin8Max"	"DnnBin8Mean"	"DnnBin8Min"	"DnnBin8StdDev"	"DnnHazeAvgMax"	"DnnHazeAvgMean"	"DnnHazeAvgMin"	"DnnHazeAvgStdDev"	"DnnHazeMedianMax"	"DnnHazeMedianMean"	"DnnHazeMedianMin"	"DnnHazeMedianStdDev"	"DnnHazeStdDevMax"	"DnnHazeStdDevMean"	"DnnHazeStdDevMin"	"DnnHazeStdDevStdDev"	"DnnLpdESMax"	"DnnLpdESMean"	"DnnLpdESMin"	"DnnLpdESStdDev"	"DnnLpdMax"	"DnnLpdMean"	"DnnLpdMin"	"DnnLpdNMax"	"DnnLpdNMean"	"DnnLpdNMin"	"DnnLpdNStdDev"	"DnnLpdStdDev"	"DnnMicroScrMax"	"DnnMicroScrMean"	"DnnMicroScrMin"	"DnnMicroScrStdDev"	"DnnScrMax"	"DnnScrMean"	"DnnScrMin"	"DnnScrStdDev"	"DnnSlipMax"	"DnnSlipMean"	"DnnSlipMin"	"DnnSlipStdDev"	"DwnAllMax"	"DwnAllMean"	"DwnAllMin"	"DwnAllStdDev"	"DwnAreaCountMax"	"DwnAreaCountMean"	"DwnAreaCountMin"	"DwnAreaCountStdDev"	"DwnAreaMax"	"DwnAreaMean"	"DwnAreaMin"	"DwnAreaStdDev"	"DwnBin1Max"	"DwnBin1Mean"	"DwnBin1Min"	"DwnBin1StdDev"	"DwnBin2Max"	"DwnBin2Mean"	"DwnBin2Min"	"DwnBin2StdDev"	"DwnBin3Max"	"DwnBin3Mean"	"DwnBin3Min"	"DwnBin3StdDev"	"DwnBin4Max"	"DwnBin4Mean"	"DwnBin4Min"	"DwnBin4StdDev"	"DwnBin5Max"	"DwnBin5Mean"	"DwnBin5Min"	"DwnBin5StdDev"	"DwnBin6Max"	"DwnBin6Mean"	"DwnBin6Min"	"DwnBin6StdDev"	"DwnBin7Max"	"DwnBin7Mean"	"DwnBin7Min"	"DwnBin7StdDev"	"DwnBin8Max"	"DwnBin8Mean"	"DwnBin8Min"	"DwnBin8StdDev"	"DwnHazeAvgMax"	"DwnHazeAvgMean"	"DwnHazeAvgMin"	"DwnHazeAvgStdDev"	"DwnHazeMedianMax"	"DwnHazeMedianMean"	"DwnHazeMedianMin"	"DwnHazeMedianStdDev"	"DwnHazeStdDevMax"	"DwnHazeStdDevMean"	"DwnHazeStdDevMin"	"DwnHazeStdDevStdDev"	"DwnLpdESMax"	"DwnLpdESMean"	"DwnLpdESMin"	"DwnLpdESStdDev"	"DwnLpdMax"	"DwnLpdMean"	"DwnLpdMin"	"DwnLpdNMax"	"DwnLpdNMean"	"DwnLpdNMin"	"DwnLpdNStdDev"	"DwnLpdStdDev"	"DwnMicroScrMax"	"DwnMicroScrMean"	"DwnMicroScrMin"	"DwnMicroScrStdDev"	"DwnScrMax"	"DwnScrMean"	"DwnScrMin"	"DwnScrStdDev"	"DwnSlipMax"	"DwnSlipMean"	"DwnSlipMin"	"DwnSlipStdDev"	"DcnAll"	"DcnArea"	"DcnAreaCount"	"DcnBin1"	"DcnBin2"	"DcnBin3"	"DcnBin4"	"DcnBin5"	"DcnBin6"	"DcnBin7"	"DcnBin8"	"DcnHazeAvg"	"DcnHazeMedian"	"DcnHazeStdDev"	"DcnLpd"	"DcnLpdES"	"DcnLpdN"	"DcnMicroScr"	"DcnScr"	"DcnSlip"	"DnnAll"	"DnnArea"	"DnnAreaCount"	"DnnBin1"	"DnnBin2"	"DnnBin3"	"DnnBin4"	"DnnBin5"	"DnnBin6"	"DnnBin7"	"DnnBin8"	"DnnHazeAvg"	"DnnHazeMedian"	"DnnHazeStdDev"	"DnnLpd"	"DnnLpdES"	"DnnLpdN"	"DnnMicroScr"	"DnnScr"	"DnnSlip"	"DwnAll"	"DwnArea"	"DwnAreaCount"	"DwnBin1"	"DwnBin2"	"DwnBin3"	"DwnBin4"	"DwnBin5"	"DwnBin6"	"DwnBin7"	"DwnBin8"	"DwnHazeAvg"	"DwnHazeMedian"	"DwnHazeStdDev"	"DwnLpd"	"DwnLpdES"	"DwnLpdN"	"DwnMicroScr"	"DwnScr"	"DwnSlip" | ||||
| 0.00	1	2	8	25	0	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/1-2/1	UniqueId	1	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.230	2	0	0	0	0	0	0	0	0	0.640	0.636	0.061	0	NA	NA	NA	0	0.000		0.155	4	0	0	0	0	0	0	0	0	0.448	0.443	0.028	0	NA	NA	NA	NA	NA		0.000	0	0	0	0	0	0	0	0	0	0.192	0.179	0.066	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	1	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/2-2/2	UniqueId	2	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.064	2	0	0	0	0	0	0	0	0	0.644	0.636	0.058	0	NA	NA	NA	0	0.581		0.073	4	0	0	0	0	0	0	0	0	0.459	0.456	0.024	0	NA	NA	NA	NA	NA		0.000	0	0	0	0	0	0	0	0	0	0.185	0.169	0.062	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	2	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/3-2/3	UniqueId	3	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.345	7	0	0	0	0	0	0	0	0	0.615	0.601	0.070	0	NA	NA	NA	0	0.000		0.284	9	0	0	0	0	0	0	0	0	0.449	0.447	0.017	0	NA	NA	NA	NA	NA		0.000	4	0	0	0	0	0	0	0	0	0.165	0.145	0.068	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	3	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/4-2/4	UniqueId	4	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.284	4	0	0	0	0	0	0	0	0	0.631	0.625	0.065	0	NA	NA	NA	0	0.000		0.192	4	0	0	0	0	0	0	0	0	0.450	0.448	0.026	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.181	0.166	0.062	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	4	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/5-2/5	UniqueId	5	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.298	2	0	0	0	0	0	0	0	0	0.624	0.612	0.065	0	NA	NA	NA	0	0.000		0.202	2	0	0	0	0	0	0	0	0	0.453	0.452	0.026	0	NA	NA	NA	NA	NA		0.028	2	0	0	0	0	0	0	0	0	0.170	0.153	0.061	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	5	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/6-2/6	UniqueId	6	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.119	1	0	0	0	0	0	0	0	0	0.650	0.641	0.060	0	NA	NA	NA	0	0.000		0.083	1	0	0	0	0	0	0	0	0	0.468	0.467	0.027	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.182	0.166	0.066	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	6	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/7-2/7	UniqueId	7	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.293	5	0	0	0	0	0	0	0	0	0.660	0.645	0.072	0	NA	NA	NA	0	0.000		0.222	5	0	0	0	0	0	0	0	0	0.477	0.476	0.018	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.182	0.164	0.072	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	7	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/8-2/8	UniqueId	8	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.530	5	0	0	0	0	0	0	0	0	0.608	0.596	0.059	0	NA	NA	NA	0	0.000		0.309	7	0	0	0	0	0	0	0	0	0.442	0.437	0.030	0	NA	NA	NA	NA	NA		0.024	3	0	0	0	0	0	0	0	0	0.167	0.145	0.065	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	8	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/9-2/9	UniqueId	9	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.138	3	0	0	0	0	0	0	0	0	0.607	0.598	0.086	0	NA	NA	NA	0	0.000		0.113	3	0	0	0	0	0	0	0	0	0.448	0.444	0.043	0	NA	NA	NA	NA	NA		0.000	0	0	0	0	0	0	0	0	0	0.160	0.147	0.065	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	9	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/10-2/10	UniqueId	10	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.501	5	0	0	0	0	0	0	0	0	0.627	0.618	0.060	0	NA	NA	NA	0	0.000		0.347	5	0	0	0	0	0	0	0	0	0.459	0.453	0.027	0	NA	NA	NA	NA	NA		0.021	2	0	0	0	0	0	0	0	0	0.169	0.154	0.066	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	10	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/11-2/11	UniqueId	11	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.498	7	0	0	0	0	0	0	0	0	0.611	0.604	0.057	0	NA	NA	NA	0	0.000		0.342	7	0	0	0	0	0	0	0	0	0.461	0.461	0.020	0	NA	NA	NA	NA	NA		0.022	3	0	0	0	0	0	0	0	0	0.151	0.137	0.061	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	11	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/12-2/12	UniqueId	12	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.311	3	0	0	0	0	0	0	0	0	0.617	0.608	0.059	0	NA	NA	NA	0	0.000		0.197	3	0	0	0	0	0	0	0	0	0.448	0.444	0.022	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.169	0.156	0.062	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	12	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/13-2/13	UniqueId	13	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.254	4	0	0	0	0	0	0	0	0	0.623	0.619	0.059	0	NA	NA	NA	0	0.000		0.191	4	0	0	0	0	0	0	0	0	0.461	0.458	0.023	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.162	0.153	0.057	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	13	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/14-2/14	UniqueId	14	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.445	5	0	0	0	0	0	0	0	0	0.622	0.615	0.057	0	NA	NA	NA	0	0.000		0.316	5	0	0	0	0	0	0	0	0	0.444	0.440	0.025	0	NA	NA	NA	NA	NA		0.000	2	0	0	0	0	0	0	0	0	0.178	0.168	0.064	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	14	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/15-2/15	UniqueId	15	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.285	2	0	0	0	0	0	0	0	0	0.609	0.602	0.058	0	NA	NA	NA	0	0.000		0.190	3	0	0	0	0	0	0	0	0	0.425	0.418	0.027	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.184	0.172	0.062	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	15	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/16-2/16	UniqueId	16	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.845	6	0	0	0	0	0	0	0	0	0.604	0.604	0.057	0	NA	NA	NA	0	0.000		0.547	6	0	0	0	0	0	0	0	0	0.426	0.423	0.024	0	NA	NA	NA	NA	NA		0.026	3	0	0	0	0	0	0	0	0	0.178	0.170	0.063	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	16	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/17-2/17	UniqueId	17	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.148	3	0	0	0	0	0	0	0	0	0.625	0.623	0.053	0	NA	NA	NA	0	0.000		0.111	3	0	0	0	0	0	0	0	0	0.432	0.430	0.022	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.193	0.188	0.060	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	17	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/18-2/18	UniqueId	18	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.467	5	0	0	0	0	0	0	0	0	0.638	0.635	0.048	0	NA	NA	NA	0	0.000		0.308	5	0	0	0	0	0	0	0	0	0.439	0.436	0.021	0	NA	NA	NA	NA	NA		0.000	3	0	0	0	0	0	0	0	0	0.199	0.191	0.053	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	18	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/19-2/19	UniqueId	19	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.282	6	0	0	0	0	0	0	0	0	0.624	0.622	0.050	0	NA	NA	NA	0	0.000		0.247	6	0	0	0	0	0	0	0	0	0.423	0.416	0.027	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.201	0.193	0.058	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	19	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/20-2/20	UniqueId	20	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		1.176	12	0	0	0	0	0	0	0	0	0.619	0.617	0.054	0	NA	NA	NA	0	0.000		0.786	14	0	0	0	0	0	0	0	0	0.411	0.408	0.026	0	NA	NA	NA	NA	NA		0.000	3	0	0	0	0	0	0	0	0	0.208	0.198	0.061	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	20	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/21-2/21	UniqueId	21	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.170	3	0	0	0	0	0	0	0	0	0.589	0.584	0.064	0	NA	NA	NA	0	0.000		0.135	3	0	0	0	0	0	0	0	0	0.416	0.416	0.023	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.173	0.165	0.067	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	21	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/22-2/22	UniqueId	22	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.407	4	0	0	0	0	0	0	0	0	0.602	0.596	0.058	0	NA	NA	NA	0	0.000		0.269	4	0	0	0	0	0	0	0	0	0.422	0.418	0.027	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.181	0.167	0.066	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	22	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/23-2/23	UniqueId	23	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.516	4	0	0	0	0	0	0	0	0	0.609	0.603	0.063	0	NA	NA	NA	0	0.000		0.319	4	0	0	0	0	0	0	0	0	0.415	0.413	0.024	0	NA	NA	NA	NA	NA		0.000	1	0	0	0	0	0	0	0	0	0.194	0.181	0.058	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	23	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/24-2/24	UniqueId	24	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.180	4	0	0	0	0	0	0	0	0	0.614	0.606	0.067	0	NA	NA	NA	0	1.732		0.178	6	0	0	0	0	0	0	0	0	0.418	0.415	0.023	0	NA	NA	NA	NA	NA		0.000	2	0	0	0	0	0	0	0	0	0.196	0.179	0.060	0	NA	NA	NA	NA	NA | ||||
| 0.00	1	2	8	25	24	SP101	4/24/2025 1:56:23 AM		666335	5113	55	6IN_SLIP	Grade1	HeaderUniqueId	666335	6IN_SLIP	F	2/25-2/25	UniqueId	25	12	4.440	1	2.238	12	4.320	1	2.249	1.176	0.357	0.064	0.243	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.660	0.622	0.589	0.016	0.645	0.615	0.584	0.016	0.278	0.070	0.048	0.044	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	0	0.000	0	0.000	1.732	0.093	0.000	0.361	14	4.840	1	2.577	14	4.840	1	2.577	0.786	0.250	0.073	0.154	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.477	0.440	0.411	0.019	0.476	0.437	0.408	0.019	0.187	0.032	0.017	0.033	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	4	1.560	0	1.083	4	1.560	0	1.083	0.042	0.007	0.000	0.012	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0	0.000	0.218	0.182	0.151	0.016	0.200	0.168	0.137	0.017	0.108	0.065	0.053	0.010	NA	NA	NA	NA	0	0.000	0	NA	NA	NA	NA	0.000	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA	NA		0.152	4	0	0	0	0	0	0	0	0	0.633	0.622	0.278	0	NA	NA	NA	0	0.000		0.128	4	0	0	0	0	0	0	0	0	0.415	0.414	0.187	0	NA	NA	NA	NA	NA		0.042	1	0	0	0	0	0	0	0	0	0.218	0.200	0.108	0	NA	NA	NA	NA	NA | ||||
| NUM_DATA_ROWS	000000025 | ||||
| NUM_DATA_COLUMNS	000000321 | ||||
| DELIMITER	; | ||||
| START_TIME_FORMAT	MM/dd/yyyy HH:mm:ss | ||||
| START_TIME	04/24/2025 01:56:23 | ||||
| LOGISTICS_COLUMN	A_LOGISTICS | ||||
| LOGISTICS_COLUMN	B_LOGISTICS | ||||
| LOGISTICS_1	A_BASIC_TYPE=;A_INFO=6IN_SLIP_20250424_0127_2025-04-24_01;56;37;581.txt.csv;A_INFO2=25;A_JOBID=SP101;A_MES_ENTITY=SP101;A_MID=55-666335-5113;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638810565835457504;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2	B_BASIC_TYPE=Left - High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=666335;B_NULL_DATA=;B_PPID=6IN_SLIP;B_PROCESS_JOBID=55;B_PRODUCT=5113;B_SEQUENCE=638810565835457504;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| EOF | ||||
| HEADER_TAG|HEADER_VALUE | ||||
| FORMAT|2.00 | ||||
| NUMBER_PASSES|0001 | ||||
| HEADER_OFFSET|000037963 | ||||
| DATA_OFFSET|000000128 | ||||
| END_OFFSET|000038659 | ||||
|  | ||||
| |Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Lot|Session|DcnAllMin|DcnLpdMin|DcnLpdNMin|DcnLpdESMin|DcnMicroScrMin|DcnScrMin|DcnSlipMin|DcnAreaCountMin|DcnAreaMin|DcnHazeAvgMin|DcnHazeMedianMin|DcnHazeStdDevMin|DcnBin1Min|DcnBin2Min|DcnBin3Min|DcnBin4Min|DcnBin5Min|DcnBin6Min|DcnBin7Min|DcnBin8Min|DcnAllMax|DcnLpdMax|DcnLpdNMax|DcnLpdESMax|DcnMicroScrMax|DcnScrMax|DcnSlipMax|DcnAreaCountMax|DcnAreaMax|DcnHazeAvgMax|DcnHazeMedianMax|DcnHazeStdDevMax|DcnBin1Max|DcnBin2Max|DcnBin3Max|DcnBin4Max|DcnBin5Max|DcnBin6Max|DcnBin7Max|DcnBin8Max|DcnAllMean|DcnLpdMean|DcnLpdNMean|DcnLpdESMean|DcnMicroScrMean|DcnScrMean|DcnSlipMean|DcnAreaCountMean|DcnAreaMean|DcnHazeAvgMean|DcnHazeMedianMean|DcnHazeStdDevMean|DcnBin1Mean|DcnBin2Mean|DcnBin3Mean|DcnBin4Mean|DcnBin5Mean|DcnBin6Mean|DcnBin7Mean|DcnBin8Mean|DcnAllStdDev|DcnLpdStdDev|DcnLpdNStdDev|DcnLpdESStdDev|DcnMicroScrStdDev|DcnScrStdDev|DcnSlipStdDev|DcnAreaCountStdDev|DcnAreaStdDev|DcnHazeAvgStdDev|DcnHazeMedianStdDev|DcnHazeStdDevStdDev|DcnBin1StdDev|DcnBin2StdDev|DcnBin3StdDev|DcnBin4StdDev|DcnBin5StdDev|DcnBin6StdDev|DcnBin7StdDev|DcnBin8StdDev|DwnAllMin|DwnLpdMin|DwnLpdNMin|DwnLpdESMin|DwnMicroScrMin|DwnScrMin|DwnSlipMin|DwnAreaCountMin|DwnAreaMin|DwnHazeAvgMin|DwnHazeMedianMin|DwnHazeStdDevMin|DwnBin1Min|DwnBin2Min|DwnBin3Min|DwnBin4Min|DwnBin5Min|DwnBin6Min|DwnBin7Min|DwnBin8Min|DwnAllMax|DwnLpdMax|DwnLpdNMax|DwnLpdESMax|DwnMicroScrMax|DwnScrMax|DwnSlipMax|DwnAreaCountMax|DwnAreaMax|DwnHazeAvgMax|DwnHazeMedianMax|DwnHazeStdDevMax|DwnBin1Max|DwnBin2Max|DwnBin3Max|DwnBin4Max|DwnBin5Max|DwnBin6Max|DwnBin7Max|DwnBin8Max|DwnAllMean|DwnLpdMean|DwnLpdNMean|DwnLpdESMean|DwnMicroScrMean|DwnScrMean|DwnSlipMean|DwnAreaCountMean|DwnAreaMean|DwnHazeAvgMean|DwnHazeMedianMean|DwnHazeStdDevMean|DwnBin1Mean|DwnBin2Mean|DwnBin3Mean|DwnBin4Mean|DwnBin5Mean|DwnBin6Mean|DwnBin7Mean|DwnBin8Mean|DwnAllStdDev|DwnLpdStdDev|DwnLpdNStdDev|DwnLpdESStdDev|DwnMicroScrStdDev|DwnScrStdDev|DwnSlipStdDev|DwnAreaCountStdDev|DwnAreaStdDev|DwnHazeAvgStdDev|DwnHazeMedianStdDev|DwnHazeStdDevStdDev|DwnBin1StdDev|DwnBin2StdDev|DwnBin3StdDev|DwnBin4StdDev|DwnBin5StdDev|DwnBin6StdDev|DwnBin7StdDev|DwnBin8StdDev|DnnAllMin|DnnLpdMin|DnnLpdNMin|DnnLpdESMin|DnnMicroScrMin|DnnScrMin|DnnSlipMin|DnnAreaCountMin|DnnAreaMin|DnnHazeAvgMin|DnnHazeMedianMin|DnnHazeStdDevMin|DnnBin1Min|DnnBin2Min|DnnBin3Min|DnnBin4Min|DnnBin5Min|DnnBin6Min|DnnBin7Min|DnnBin8Min|DnnAllMax|DnnLpdMax|DnnLpdNMax|DnnLpdESMax|DnnMicroScrMax|DnnScrMax|DnnSlipMax|DnnAreaCountMax|DnnAreaMax|DnnHazeAvgMax|DnnHazeMedianMax|DnnHazeStdDevMax|DnnBin1Max|DnnBin2Max|DnnBin3Max|DnnBin4Max|DnnBin5Max|DnnBin6Max|DnnBin7Max|DnnBin8Max|DnnAllMean|DnnLpdMean|DnnLpdNMean|DnnLpdESMean|DnnMicroScrMean|DnnScrMean|DnnSlipMean|DnnAreaCountMean|DnnAreaMean|DnnHazeAvgMean|DnnHazeMedianMean|DnnHazeStdDevMean|DnnBin1Mean|DnnBin2Mean|DnnBin3Mean|DnnBin4Mean|DnnBin5Mean|DnnBin6Mean|DnnBin7Mean|DnnBin8Mean|DnnAllStdDev|DnnLpdStdDev|DnnLpdNStdDev|DnnLpdESStdDev|DnnMicroScrStdDev|DnnScrStdDev|DnnSlipStdDev|DnnAreaCountStdDev|DnnAreaStdDev|DnnHazeAvgStdDev|DnnHazeMedianStdDev|DnnHazeStdDevStdDev|DnnBin1StdDev|DnnBin2StdDev|DnnBin3StdDev|DnnBin4StdDev|DnnBin5StdDev|DnnBin6StdDev|DnnBin7StdDev|DnnBin8StdDev|Side|WaferID|Grade|SrcDest|DcnAll|DcnLpd|DcnLpdN|DcnLpdES|DcnMicroScr|DcnScr|DcnSlip|DcnAreaCount|DcnArea|DcnHazeAvg|DcnHazeMedian|DcnHazeStdDev|DcnBin1|DcnBin2|DcnBin3|DcnBin4|DcnBin5|DcnBin6|DcnBin7|DcnBin8|DwnAll|DwnLpd|DwnLpdN|DwnLpdES|DwnMicroScr|DwnScr|DwnSlip|DwnAreaCount|DwnArea|DwnHazeAvg|DwnHazeMedian|DwnHazeStdDev|DwnBin1|DwnBin2|DwnBin3|DwnBin4|DwnBin5|DwnBin6|DwnBin7|DwnBin8|DnnAll|DnnLpd|DnnLpdN|DnnLpdES|DnnMicroScr|DnnScr|DnnSlip|DnnAreaCount|DnnArea|DnnHazeAvg|DnnHazeMedian|DnnHazeStdDev|DnnBin1|DnnBin2|DnnBin3|DnnBin4|DnnBin5|DnnBin6|DnnBin7|DnnBin8|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|Date|EventId| | ||||
| |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| | ||||
| 0.00|1|2|25|638810565835457504|SP101|0|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|1|Grade1|2/1-2/1||0|NA|NA|NA|0|0.000|2|0.230|0.640|0.636|0.061|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|0|0.000|0.192|0.179|0.066|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.155|0.448|0.443|0.028|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|1|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|2|Grade1|2/2-2/2||0|NA|NA|NA|0|0.581|2|0.064|0.644|0.636|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|0|0.000|0.185|0.169|0.062|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.073|0.459|0.456|0.024|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|2|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|3|Grade1|2/3-2/3||0|NA|NA|NA|0|0.000|7|0.345|0.615|0.601|0.070|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.000|0.165|0.145|0.068|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|9|0.284|0.449|0.447|0.017|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|3|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|4|Grade1|2/4-2/4||0|NA|NA|NA|0|0.000|4|0.284|0.631|0.625|0.065|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.181|0.166|0.062|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.192|0.450|0.448|0.026|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|4|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|5|Grade1|2/5-2/5||0|NA|NA|NA|0|0.000|2|0.298|0.624|0.612|0.065|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.028|0.170|0.153|0.061|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.202|0.453|0.452|0.026|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|5|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|6|Grade1|2/6-2/6||0|NA|NA|NA|0|0.000|1|0.119|0.650|0.641|0.060|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.182|0.166|0.066|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.083|0.468|0.467|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|6|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|7|Grade1|2/7-2/7||0|NA|NA|NA|0|0.000|5|0.293|0.660|0.645|0.072|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.182|0.164|0.072|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|5|0.222|0.477|0.476|0.018|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|7|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|8|Grade1|2/8-2/8||0|NA|NA|NA|0|0.000|5|0.530|0.608|0.596|0.059|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.024|0.167|0.145|0.065|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|7|0.309|0.442|0.437|0.030|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|8|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|9|Grade1|2/9-2/9||0|NA|NA|NA|0|0.000|3|0.138|0.607|0.598|0.086|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|0|0.000|0.160|0.147|0.065|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.113|0.448|0.444|0.043|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|9|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|10|Grade1|2/10-2/10||0|NA|NA|NA|0|0.000|5|0.501|0.627|0.618|0.060|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.021|0.169|0.154|0.066|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|5|0.347|0.459|0.453|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|10|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|11|Grade1|2/11-2/11||0|NA|NA|NA|0|0.000|7|0.498|0.611|0.604|0.057|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.022|0.151|0.137|0.061|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|7|0.342|0.461|0.461|0.020|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|11|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|12|Grade1|2/12-2/12||0|NA|NA|NA|0|0.000|3|0.311|0.617|0.608|0.059|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.169|0.156|0.062|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.197|0.448|0.444|0.022|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|12|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|13|Grade1|2/13-2/13||0|NA|NA|NA|0|0.000|4|0.254|0.623|0.619|0.059|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.162|0.153|0.057|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.191|0.461|0.458|0.023|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|13|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|14|Grade1|2/14-2/14||0|NA|NA|NA|0|0.000|5|0.445|0.622|0.615|0.057|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.000|0.178|0.168|0.064|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|5|0.316|0.444|0.440|0.025|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|14|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|15|Grade1|2/15-2/15||0|NA|NA|NA|0|0.000|2|0.285|0.609|0.602|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.184|0.172|0.062|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.190|0.425|0.418|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|15|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|16|Grade1|2/16-2/16||0|NA|NA|NA|0|0.000|6|0.845|0.604|0.604|0.057|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.026|0.178|0.170|0.063|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|6|0.547|0.426|0.423|0.024|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|16|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|17|Grade1|2/17-2/17||0|NA|NA|NA|0|0.000|3|0.148|0.625|0.623|0.053|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.193|0.188|0.060|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.111|0.432|0.430|0.022|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|17|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|18|Grade1|2/18-2/18||0|NA|NA|NA|0|0.000|5|0.467|0.638|0.635|0.048|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.000|0.199|0.191|0.053|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|5|0.308|0.439|0.436|0.021|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|18|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|19|Grade1|2/19-2/19||0|NA|NA|NA|0|0.000|6|0.282|0.624|0.622|0.050|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.201|0.193|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|6|0.247|0.423|0.416|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|19|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|20|Grade1|2/20-2/20||0|NA|NA|NA|0|0.000|12|1.176|0.619|0.617|0.054|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.000|0.208|0.198|0.061|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|14|0.786|0.411|0.408|0.026|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|20|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|21|Grade1|2/21-2/21||0|NA|NA|NA|0|0.000|3|0.170|0.589|0.584|0.064|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.173|0.165|0.067|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.135|0.416|0.416|0.023|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|21|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|22|Grade1|2/22-2/22||0|NA|NA|NA|0|0.000|4|0.407|0.602|0.596|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.181|0.167|0.066|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.269|0.422|0.418|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|22|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|23|Grade1|2/23-2/23||0|NA|NA|NA|0|0.000|4|0.516|0.609|0.603|0.063|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.194|0.181|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.319|0.415|0.413|0.024|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|23|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|24|Grade1|2/24-2/24||0|NA|NA|NA|0|1.732|4|0.180|0.614|0.606|0.067|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.000|0.196|0.179|0.060|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|6|0.178|0.418|0.415|0.023|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
| 0.00|1|2|25|638810565835457504|SP101|24|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|25|Grade1|2/25-2/25||0|NA|NA|NA|0|0.000|4|0.152|0.633|0.622|0.278|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.128|0.415|0.414|0.187|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8 | ||||
|  | ||||
| NUM_DATA_ROWS|000000025 | ||||
| NUM_DATA_COLUMNS|000000322 | ||||
| DELIMITER|; | ||||
| START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss | ||||
| START_TIME|04/24/2025 01:56:23 | ||||
| LOGISTICS_COLUMN|A_LOGISTICS | ||||
| LOGISTICS_COLUMN|B_LOGISTICS | ||||
| LOGISTICS_1|A_BASIC_TYPE=;A_INFO=6IN_SLIP_20250424_0127_2025-04-24_01;56;37;581.txt.csv;A_INFO2=25;A_JOBID=SP101;A_MES_ENTITY=SP101;A_MID=55-666335-5113;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638810565835457504;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2|B_BASIC_TYPE=Left - High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=666335;B_NULL_DATA=;B_PPID=6IN_SLIP;B_PROCESS_JOBID=55;B_PRODUCT=5113;B_SEQUENCE=638810565835457504;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| END_HEADER | ||||
| @ -1,49 +0,0 @@ | ||||
| 1	1	1	0	0.10	0.21	0.019	0.10	4/24/2025 4:46:29 PM	1.15	1.18	1.12	0.0291	100	100	100	0	667227	0.013	0.019	0.006	0.006	2	3	0.006	1		667227	36	6IN_THIN ROTR	0.3	1	0	0.59	0.34	1.02	0	0.59	3	4	2	1	TENCOR1	 | ||||
|  | ||||
| | 1 | 2 | 3 | 4 | 5   | 6    | 7     | 8   | 9                    | 10   | 11   | 12   | 13     | 14  | 15  | 16  | 17 | 18     | 19    | 20    | 21    | 22    | 23 | 24 | 25    | 26 | 27 | 28     | 29 | 30            | 31  | 32 | 33 | 34   | 35   | 36   | 37 | 38   | 39 | 40 | 41 | 42 | 43      | | ||||
| |---|---|---|---|-----|------|-------|-----|----------------------|------|------|------|--------|-----|-----|-----|----|--------|-------|-------|-------|-------|----|----|-------|----|----|--------|----|---------------|-----|----|----|------|------|------|----|------|----|----|----|----|---------| | ||||
| | 1 | 1 | 1 | 0 | 0.1 | 0.21 | 0.019 | 0.1 | 4/24/2025 4:46:29 PM | 1.15 | 1.18 | 1.12 | 0.0291 | 100 | 100 | 100 | 0  | 667227 | 0.013 | 0.019 | 0.006 | 0.006 | 2  | 3  | 0.006 | 1  |    | 667227 | 36 | 6IN_THIN ROTR | 0.3 | 1  | 0  | 0.59 | 0.34 | 1.02 | 0  | 0.59 | 3  | 4  | 2  | 1  | TENCOR1 | | ||||
|  | ||||
| <1>:1 | ||||
| <2>:1 | ||||
| <3>:1 | ||||
| <4>:0 | ||||
| <5>:0.1 | ||||
| <6>:0.21 | ||||
| <7>:0.019 | ||||
| <8>:0.1 | ||||
| <9>:4/24/2025 4:46:29 PM | ||||
| <10>:1.15 | ||||
| <11>:1.18 | ||||
| <12>:1.12 | ||||
| <13>:0.0291 | ||||
| <14>:100 | ||||
| <15>:100 | ||||
| <16>:100 | ||||
| <17>:0 | ||||
| <18>:667227 | ||||
| <19>:0.013 | ||||
| <20>:0.019 | ||||
| <21>:0.006 | ||||
| <22>:0.006 | ||||
| <23>:2 | ||||
| <24>:3 | ||||
| <25>:0.006 | ||||
| <26>:1 | ||||
| <27>: | ||||
| <28>:667227 | ||||
| <29>:36 | ||||
| <30>:6IN_THIN ROTR | ||||
| <31>:0.3 | ||||
| <32>:1 | ||||
| <33>:0 | ||||
| <34>:0.59 | ||||
| <35>:0.34 | ||||
| <36>:1.02 | ||||
| <37>:0 | ||||
| <38>:0.59 | ||||
| <39>:3 | ||||
| <40>:4 | ||||
| <41>:2 | ||||
| <42>:1 | ||||
| <43>:TENCOR1 | ||||
| @ -1,176 +0,0 @@ | ||||
| { | ||||
|   "Id": -1, | ||||
|   "AreaCountAvg": "1", | ||||
|   "AreaCountMax": "1", | ||||
|   "AreaCountMin": "1", | ||||
|   "AreaCountStdDev": "0", | ||||
|   "AreaTotalAvg": "0.10", | ||||
|   "AreaTotalMax": "0.21", | ||||
|   "AreaTotalMin": "0.019", | ||||
|   "AreaTotalStdDev": "0.10", | ||||
|   "Date": "4/24/2025 4:46:29 PM", | ||||
|   "HazeAverageAvg": "1.15", | ||||
|   "HazeAverageMax": "1.18", | ||||
|   "HazeAverageMin": "1.12", | ||||
|   "HazeAverageStdDev": "0.0291", | ||||
|   "HazeRegionAvg": "100", | ||||
|   "HazeRegionMax": "100", | ||||
|   "HazeRegionMin": "100", | ||||
|   "HazeRegionStdDev": "0", | ||||
|   "Layer": null, | ||||
|   "LotID": "667227", | ||||
|   "LPDCM2Avg": "0.013", | ||||
|   "LPDCM2Max": "0.019", | ||||
|   "LPDCM2Min": "0.006", | ||||
|   "LPDCM2StdDev": "0.006", | ||||
|   "LPDCountAvg": "2", | ||||
|   "LPDCountMax": "3", | ||||
|   "LPDCountMin": "1", | ||||
|   "LPDCountStdDev": "1", | ||||
|   "Operator": "", | ||||
|   "ParseErrorText": "ParseErrorText", | ||||
|   "PSN": "5142", | ||||
|   "RDS": "667227", | ||||
|   "Reactor": "36", | ||||
|   "Recipe": "6IN_THIN ROTR", | ||||
|   "ScratchCountAvg": "0.3", | ||||
|   "ScratchCountMax": "1", | ||||
|   "ScratchCountMin": "0", | ||||
|   "ScratchCountStdDev": "0.6", | ||||
|   "ScratchTotalAvg": "0.34", | ||||
|   "ScratchTotalMax": "1.02", | ||||
|   "ScratchTotalMin": "0", | ||||
|   "ScratchTotalStdDev": "0.59", | ||||
|   "SumOfDefectsAvg": "3", | ||||
|   "SumOfDefectsMax": "4", | ||||
|   "SumOfDefectsMin": "2", | ||||
|   "SumOfDefectsStdDev": "1", | ||||
|   "Title": null, | ||||
|   "UniqueId": "TENCOR1_1T667227_202504241646295374", | ||||
|   "Zone": null, | ||||
|   "CellName": "TENCOR1", | ||||
|   "Data": "*Data*", | ||||
|   "i": -1, | ||||
|   "Details": [ | ||||
|     { | ||||
|       "Id": 0, | ||||
|       "AreaCount": "1", | ||||
|       "AreaTotal": "0.0716mm2", | ||||
|       "Bin1": "2", | ||||
|       "Bin2": "1", | ||||
|       "Bin3": "0", | ||||
|       "Bin4": "0", | ||||
|       "Bin5": "0", | ||||
|       "Bin6": "0", | ||||
|       "Bin7": null, | ||||
|       "Bin8": null, | ||||
|       "Comments": "- High Thruput", | ||||
|       "Date": "4/24/2025 4:46:29 PM", | ||||
|       "Diameter": "150 mm", | ||||
|       "Exclusion": "4mm", | ||||
|       "Gain": "4", | ||||
|       "HazeAverage": "1.16ppm", | ||||
|       "HazePeak": "25.5ppm", | ||||
|       "HazeRegion": "100%", | ||||
|       "HazeRng": "500ppm", | ||||
|       "HeaderUniqueId": "TENCOR1_1T667227_202504241646295374", | ||||
|       "LPDCM2": "0.019", | ||||
|       "LPDCount": "3", | ||||
|       "Laser": "488nm", | ||||
|       "Mean": "0.252", | ||||
|       "Recipe": "6IN_THIN ROTR", | ||||
|       "ScratchCount": "1", | ||||
|       "ScratchTotal": "1.02mm", | ||||
|       "Slot": "01", | ||||
|       "Sort": "PASS", | ||||
|       "StdDev": "0.043", | ||||
|       "SumOfDefects": "4", | ||||
|       "Thresh": "0.200um", | ||||
|       "Thruput": "Normal", | ||||
|       "Title": null, | ||||
|       "UniqueId": "TENCOR1_1T667227_202504241646295374_Item-1", | ||||
|       "Data": "*Data*", | ||||
|       "i": -1 | ||||
|     }, | ||||
|     { | ||||
|       "Id": 0, | ||||
|       "AreaCount": "1", | ||||
|       "AreaTotal": "0.0195mm2", | ||||
|       "Bin1": "1", | ||||
|       "Bin2": "0", | ||||
|       "Bin3": "0", | ||||
|       "Bin4": "0", | ||||
|       "Bin5": "1", | ||||
|       "Bin6": "0", | ||||
|       "Bin7": null, | ||||
|       "Bin8": null, | ||||
|       "Comments": "- High Thruput", | ||||
|       "Date": "4/24/2025 4:46:29 PM", | ||||
|       "Diameter": "150 mm", | ||||
|       "Exclusion": "4mm", | ||||
|       "Gain": "4", | ||||
|       "HazeAverage": "1.18ppm", | ||||
|       "HazePeak": "25.0ppm", | ||||
|       "HazeRegion": "100%", | ||||
|       "HazeRng": "500ppm", | ||||
|       "HeaderUniqueId": "TENCOR1_1T667227_202504241646295374", | ||||
|       "LPDCM2": "0.013", | ||||
|       "LPDCount": "2", | ||||
|       "Laser": "488nm", | ||||
|       "Mean": "1.32", | ||||
|       "Recipe": "6IN_THIN ROTR", | ||||
|       "ScratchCount": "0", | ||||
|       "ScratchTotal": "0mm", | ||||
|       "Slot": "15", | ||||
|       "Sort": "PASS", | ||||
|       "StdDev": "1.54", | ||||
|       "SumOfDefects": "3", | ||||
|       "Thresh": "0.200um", | ||||
|       "Thruput": "Normal", | ||||
|       "Title": null, | ||||
|       "UniqueId": "TENCOR1_1T667227_202504241646295374_Item-2", | ||||
|       "Data": "*Data*", | ||||
|       "i": -1 | ||||
|     }, | ||||
|     { | ||||
|       "Id": 0, | ||||
|       "AreaCount": "1", | ||||
|       "AreaTotal": "0.213mm2", | ||||
|       "Bin1": "0", | ||||
|       "Bin2": "1", | ||||
|       "Bin3": "0", | ||||
|       "Bin4": "0", | ||||
|       "Bin5": "0", | ||||
|       "Bin6": "0", | ||||
|       "Bin7": null, | ||||
|       "Bin8": null, | ||||
|       "Comments": "- High Thruput", | ||||
|       "Date": "4/24/2025 4:46:29 PM", | ||||
|       "Diameter": "150 mm", | ||||
|       "Exclusion": "4mm", | ||||
|       "Gain": "4", | ||||
|       "HazeAverage": "1.12ppm", | ||||
|       "HazePeak": "22.5ppm", | ||||
|       "HazeRegion": "100%", | ||||
|       "HazeRng": "500ppm", | ||||
|       "HeaderUniqueId": "TENCOR1_1T667227_202504241646295374", | ||||
|       "LPDCM2": "0.006", | ||||
|       "LPDCount": "1", | ||||
|       "Laser": "488nm", | ||||
|       "Mean": "0.307", | ||||
|       "Recipe": "6IN_THIN ROTR", | ||||
|       "ScratchCount": "0", | ||||
|       "ScratchTotal": "0mm", | ||||
|       "Slot": "25", | ||||
|       "Sort": "PASS", | ||||
|       "StdDev": "0.000", | ||||
|       "SumOfDefects": "2", | ||||
|       "Thresh": "0.200um", | ||||
|       "Thruput": "Normal", | ||||
|       "Title": null, | ||||
|       "UniqueId": "TENCOR1_1T667227_202504241646295374_Item-3", | ||||
|       "Data": "*Data*", | ||||
|       "i": -1 | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| @ -1,43 +0,0 @@ | ||||
| HEADER_TAG	HEADER_VALUE | ||||
| FORMAT	2.00 | ||||
| NUMBER_PASSES	0001 | ||||
| HEADER_OFFSET	H#######T | ||||
| DATA_OFFSET	D#######T | ||||
| END_OFFSET	E#######T | ||||
| "Time"	"A_LOGISTICS"	"B_LOGISTICS"	"Test"	"Count"	"Index"	"MesEntity"	"Date"	"Employee"	"Lot"	"PSN"	"Reactor"	"Recipe"	"Comments"	"Diameter"	"Exclusion"	"Gain"	"HeaderUniqueId"	"Laser"	"ParseErrorText"	"RDS"	"Slot"	"UniqueId"	"AreaCount"	"AreaCountAvg"	"AreaCountMax"	"AreaCountMin"	"AreaCountStdDev"	"AreaTotal"	"AreaTotalAvg"	"AreaTotalMax"	"AreaTotalMin"	"AreaTotalStdDev"	"Bin1"	"Bin2"	"Bin3"	"Bin4"	"Bin5"	"Bin6"	"Bin7"	"Bin8"	"HazeAverage"	"HazeAverageAvg"	"HazeAverageMax"	"HazeAverageMin"	"HazeAverageStdDev"	"HazePeak"	"HazeRegion"	"HazeRegionAvg"	"HazeRegionMax"	"HazeRegionMin"	"HazeRegionStdDev"	"HazeRng"	"LPDCM2"	"LPDCM2Avg"	"LPDCM2Max"	"LPDCM2Min"	"LPDCM2StdDev"	"LPDCount"	"LPDCountAvg"	"LPDCountMax"	"LPDCountMin"	"LPDCountStdDev"	"Mean"	"ScratchCount"	"ScratchCountAvg"	"ScratchCountMax"	"ScratchCountMin"	"ScratchCountStdDev"	"ScratchTotal"	"ScratchTotalAvg"	"ScratchTotalMax"	"ScratchTotalMin"	"ScratchTotalStdDev"	"Sort"	"StdDev"	"SumOfDefects"	"SumOfDefectsAvg"	"SumOfDefectsMax"	"SumOfDefectsMin"	"SumOfDefectsStdDev"	"Thresh"	"Thruput" | ||||
| 0.00	1	2	7	3	0	TENCOR1	4/24/2025 4:46:29 PM		667227	5142	36	6IN_THIN ROTR	- High Thruput	150 mm	4mm	4	HeaderUniqueId	488nm	ParseErrorText	667227	01	UniqueId	1	1	1	1	0	0.0716mm2	0.10	0.21	0.019	0.10	2	1	0	0	0	0			1.16ppm	1.15	1.18	1.12	0.0291	25.5ppm	100%	100	100	100	0	500ppm	0.019	0.013	0.019	0.006	0.006	3	2	3	1	1	0.252	1	0.3	1	0	0.6	1.02mm	0.34	1.02	0	0.59	PASS	0.043	4	3	4	2	1	0.200um	Normal | ||||
| 0.00	1	2	7	3	1	TENCOR1	4/24/2025 4:46:29 PM		667227	5142	36	6IN_THIN ROTR	- High Thruput	150 mm	4mm	4	HeaderUniqueId	488nm	ParseErrorText	667227	15	UniqueId	1	1	1	1	0	0.0195mm2	0.10	0.21	0.019	0.10	1	0	0	0	1	0			1.18ppm	1.15	1.18	1.12	0.0291	25.0ppm	100%	100	100	100	0	500ppm	0.013	0.013	0.019	0.006	0.006	2	2	3	1	1	1.32	0	0.3	1	0	0.6	0mm	0.34	1.02	0	0.59	PASS	1.54	3	3	4	2	1	0.200um	Normal | ||||
| 0.00	1	2	7	3	2	TENCOR1	4/24/2025 4:46:29 PM		667227	5142	36	6IN_THIN ROTR	- High Thruput	150 mm	4mm	4	HeaderUniqueId	488nm	ParseErrorText	667227	25	UniqueId	1	1	1	1	0	0.213mm2	0.10	0.21	0.019	0.10	0	1	0	0	0	0			1.12ppm	1.15	1.18	1.12	0.0291	22.5ppm	100%	100	100	100	0	500ppm	0.006	0.013	0.019	0.006	0.006	1	2	3	1	1	0.307	0	0.3	1	0	0.6	0mm	0.34	1.02	0	0.59	PASS	0.000	2	3	4	2	1	0.200um	Normal | ||||
| NUM_DATA_ROWS	000000003 | ||||
| NUM_DATA_COLUMNS	000000083 | ||||
| DELIMITER	; | ||||
| START_TIME_FORMAT	MM/dd/yyyy HH:mm:ss | ||||
| START_TIME	04/24/2025 16:46:29 | ||||
| LOGISTICS_COLUMN	A_LOGISTICS | ||||
| LOGISTICS_COLUMN	B_LOGISTICS | ||||
| LOGISTICS_1	A_HeaderId=524300;A_SubgroupId=1745538421;A_BASIC_TYPE=;A_INFO=202504241646295374.pcl.csv;A_INFO2=3;A_JOBID=TENCOR1;A_MES_ENTITY=TENCOR1;A_MID=1T667227;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811099895374259;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2	B_HeaderId=524300;B_SubgroupId=1745538421;B_BASIC_TYPE=- High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667227;B_NULL_DATA=;B_PPID=6IN_THIN ROTR;B_PROCESS_JOBID=36;B_PRODUCT=5142;B_SEQUENCE=638811099895374259;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| EOF | ||||
| HEADER_TAG|HEADER_VALUE | ||||
| FORMAT|2.00 | ||||
| NUMBER_PASSES|0001 | ||||
| HEADER_OFFSET|000002772 | ||||
| DATA_OFFSET|000000128 | ||||
| END_OFFSET|000003437 | ||||
|  | ||||
| |Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Date|Recipe|Id|WaferId|LPDCount|LPDCM2|AreaCount|AreaTotal|ScratchCount|ScratchTotal|SumOfDefects|HazeRegion|HazeAverage|Grade|LPDCountMin|LPDCM2Min|AreaCountMin|AreaTotalMin|ScratchCountMin|ScratchTotalMin|SumOfDefectsMin|HazeRegionMin|HazeAverageMin|LPDCountMax|LPDCM2Max|AreaCountMax|AreaTotalMax|ScratchCountMax|ScratchTotalMax|SumOfDefectsMax|HazeRegionMax|HazeAverageMax|LPDCountAvg|LPDCM2Avg|AreaCountAvg|AreaTotalAvg|ScratchCountAvg|ScratchTotalAvg|SumOfDefectsAvg|HazeRegionAvg|HazeAverageAvg|LPDCountStdDev|LPDCM2StdDev|AreaCountStdDev|AreaTotalStdDev|ScratchCountStdDev|ScratchTotalStdDev|SumOfDefectsStdDev|HazeRegionStdDev|HazeAverageStdDev|WaferDate|Comments|Sort|WaferLPDCount|WaferLPDCM2|Bin1|Bin2|Bin3|Bin4|Bin5|Bin6|Bin7|Bin8|Mean|StdDev|WaferAreaCount|WaferAreaTotal|WaferScratchCount|WaferScratchTotal|WaferSumOfDefects|WaferHazeRegion|WaferHazeAverage|HazePeak|Laser|Gain|Diameter|Thresh|Exclusion|HazeRng|Thruput|WaferRecipe|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|EventId| | ||||
| |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| | ||||
| 0.00|1|2|3|638811099895374259|TENCOR1|0|4/24/2025 4:46:29 PM|6IN_THIN ROTR|667227|01|3|0.019|1|0.072|1|1.02|4|100|1.16|P|1|0.006|1|0.019|0|0|2|100|1.12|3|0.019|1|0.21|1|1.02|4|100|1.18|2|0.013|1|0.10|0.3|0.34|3|100|1.15|1|0.006|0|0.10|0.6|0.59|1|0|0.0291|Wed, Apr 23, 2025 08:34:51 AM|- High Thruput|PASS|3|0.019|2|1|0|0|0|0|||0.252|0.043|1|0.0716mm2|1|1.02mm|4|100%|1.16ppm|25.5ppm|488nm|4|150 mm|0.200um|4mm|500ppm|Normal|6IN_THIN ROTR|667227|5142|36|-|-||667227|7 | ||||
| 0.00|1|2|3|638811099895374259|TENCOR1|1|4/24/2025 4:46:29 PM|6IN_THIN ROTR|667227|15|2|0.013|1|0.019|0|0|3|100|1.18|P|1|0.006|1|0.019|0|0|2|100|1.12|3|0.019|1|0.21|1|1.02|4|100|1.18|2|0.013|1|0.10|0.3|0.34|3|100|1.15|1|0.006|0|0.10|0.6|0.59|1|0|0.0291|Wed, Apr 23, 2025 08:35:39 AM|- High Thruput|PASS|2|0.013|1|0|0|0|1|0|||1.32|1.54|1|0.0195mm2|0|0mm|3|100%|1.18ppm|25.0ppm|488nm|4|150 mm|0.200um|4mm|500ppm|Normal|6IN_THIN ROTR|667227|5142|36|-|-||667227|7 | ||||
| 0.00|1|2|3|638811099895374259|TENCOR1|2|4/24/2025 4:46:29 PM|6IN_THIN ROTR|667227|25|1|0.006|1|0.21|0|0|2|100|1.12|P|1|0.006|1|0.019|0|0|2|100|1.12|3|0.019|1|0.21|1|1.02|4|100|1.18|2|0.013|1|0.10|0.3|0.34|3|100|1.15|1|0.006|0|0.10|0.6|0.59|1|0|0.0291|Wed, Apr 23, 2025 08:36:22 AM|- High Thruput|PASS|1|0.006|0|1|0|0|0|0|||0.307|0.000|1|0.213mm2|0|0mm|2|100%|1.12ppm|22.5ppm|488nm|4|150 mm|0.200um|4mm|500ppm|Normal|6IN_THIN ROTR|667227|5142|36|-|-||667227|7 | ||||
|  | ||||
| NUM_DATA_ROWS|000000003 | ||||
| NUM_DATA_COLUMNS|000000096 | ||||
| DELIMITER|; | ||||
| START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss | ||||
| START_TIME|04/24/2025 16:46:29 | ||||
| LOGISTICS_COLUMN|A_LOGISTICS | ||||
| LOGISTICS_COLUMN|B_LOGISTICS | ||||
| LOGISTICS_1|A_BASIC_TYPE=;A_INFO=202504241646295374.pcl.csv;A_INFO2=3;A_JOBID=TENCOR1;A_MES_ENTITY=TENCOR1;A_MID=1T667227;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811099895374259;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2|B_BASIC_TYPE=- High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667227;B_NULL_DATA=;B_PPID=6IN_THIN ROTR;B_PROCESS_JOBID=36;B_PRODUCT=5142;B_SEQUENCE=638811099895374259;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| END_HEADER | ||||
| @ -1,78 +0,0 @@ | ||||
| UniqueId	666765	4/24/2025 5:14:32 PM	Lot	LSL8IN \ 10PT_5mm	57	666765	4626	1	-	CDE5	Operator	Engineer	DLRatio	18.55	AutoOptimizeGain	AutoProbeHeightSet	3.00		915.190	0.0069647	SemiRadial	1	95.00	270.000	913.9620971680	1.3236315	2	71.00	270.000	923.2605590820	1.2676778	3	47.00	270.000	921.4100952148	1.3205365	4	23.00	270.000	913.6674194336	1.2704575	5	0.00	0.000	908.1397705078	1.3234487	6	11.00	90.000	908.0071411133	1.2582344	7	35.00	90.000	916.3591918945	1.5512319	8	59.00	90.000	920.1303100586	1.7320848	9	83.00	90.000	921.3920288086	1.6781629	10	95.00	90.000	905.5722656250	1.7448909 | ||||
|  | ||||
| | 1        | 2      | 3                    | 4   | 5                 | 6  | 7      | 8    | 9 | 10 | 11   | 12       | 13       | 14      | 15    | 16               | 17                 | 18   | 19 | 20      | 21        | 22         | 23 | 24    | 25      | 26             | 27        | 28 | 29    | 30      | 31             | 32        | 33 | 34    | 35      | 36             | 37        | 38 | 39    | 40      | 41             | 42        | 43 | 44   | 45    | 46             | 47        | 48 | 49    | 50     | 51             | 52        | 53 | 54    | 55     | 56             | 57        | 58 | 59    | 60     | 61             | 62        | 63 | 64    | 65     | 66             | 67        | 68 | 69    | 70     | 71             | 72        | | ||||
| |----------|--------|----------------------|-----|-------------------|----|--------|------|---|----|------|----------|----------|---------|-------|------------------|--------------------|------|----|---------|-----------|------------|----|-------|---------|----------------|-----------|----|-------|---------|----------------|-----------|----|-------|---------|----------------|-----------|----|-------|---------|----------------|-----------|----|------|-------|----------------|-----------|----|-------|--------|----------------|-----------|----|-------|--------|----------------|-----------|----|-------|--------|----------------|-----------|----|-------|--------|----------------|-----------|----|-------|--------|----------------|-----------| | ||||
| | UniqueId | 666765 | 4/24/2025 5:14:32 PM | Lot | LSL8IN \ 10PT_5mm | 57 | 666765 | 4626 | 1 | -  | CDE5 | Operator | Engineer | DLRatio | 18.55 | AutoOptimizeGain | AutoProbeHeightSet | 3.00 |    | 915.190 | 0.0069647 | SemiRadial | 1  | 95.00 | 270.000 | 913.9620971680 | 1.3236315 | 2  | 71.00 | 270.000 | 923.2605590820 | 1.2676778 | 3  | 47.00 | 270.000 | 921.4100952148 | 1.3205365 | 4  | 23.00 | 270.000 | 913.6674194336 | 1.2704575 | 5  | 0.00 | 0.000 | 908.1397705078 | 1.3234487 | 6  | 11.00 | 90.000 | 908.0071411133 | 1.2582344 | 7  | 35.00 | 90.000 | 916.3591918945 | 1.5512319 | 8  | 59.00 | 90.000 | 920.1303100586 | 1.7320848 | 9  | 83.00 | 90.000 | 921.3920288086 | 1.6781629 | 10 | 95.00 | 90.000 | 905.5722656250 | 1.7448909 | | ||||
|  | ||||
| <1>:UniqueId | ||||
| <2>:666765 | ||||
| <3>:4/24/2025 5:14:32 PM | ||||
| <4>:Lot | ||||
| <5>:LSL8IN \ 10PT_5mm | ||||
| <6>:57 | ||||
| <7>:666765 | ||||
| <8>:4626 | ||||
| <9>:1 | ||||
| <10>:- | ||||
| <11>:CDE5 | ||||
| <12>:Operator | ||||
| <13>:Engineer | ||||
| <14>:DLRatio | ||||
| <15>:18.55 | ||||
| <16>:AutoOptimizeGain | ||||
| <17>:AutoProbeHeightSet | ||||
| <18>:3 | ||||
| <19>: | ||||
| <20>:915.19 | ||||
| <21>:0.0069647 | ||||
| <22>:SemiRadial | ||||
| <23>:1 | ||||
| <24>:95 | ||||
| <25>:270 | ||||
| <26>:913.9620972 | ||||
| <27>:1.3236315 | ||||
| <28>:2 | ||||
| <29>:71 | ||||
| <30>:270 | ||||
| <31>:923.2605591 | ||||
| <32>:1.2676778 | ||||
| <33>:3 | ||||
| <34>:47 | ||||
| <35>:270 | ||||
| <36>:921.4100952 | ||||
| <37>:1.3205365 | ||||
| <38>:4 | ||||
| <39>:23 | ||||
| <40>:270 | ||||
| <41>:913.6674194 | ||||
| <42>:1.2704575 | ||||
| <43>:5 | ||||
| <44>:0 | ||||
| <45>:0 | ||||
| <46>:908.1397705 | ||||
| <47>:1.3234487 | ||||
| <48>:6 | ||||
| <49>:11 | ||||
| <50>:90 | ||||
| <51>:908.0071411 | ||||
| <52>:1.2582344 | ||||
| <53>:7 | ||||
| <54>:35 | ||||
| <55>:90 | ||||
| <56>:916.3591919 | ||||
| <57>:1.5512319 | ||||
| <58>:8 | ||||
| <59>:59 | ||||
| <60>:90 | ||||
| <61>:920.1303101 | ||||
| <62>:1.7320848 | ||||
| <63>:9 | ||||
| <64>:83 | ||||
| <65>:90 | ||||
| <66>:921.3920288 | ||||
| <67>:1.6781629 | ||||
| <68>:10 | ||||
| <69>:95 | ||||
| <70>:90 | ||||
| <71>:905.5722656 | ||||
| <72>:1.7448909 | ||||
							
								
								
									
										122
									
								
								.vscode/638811116720000000/CDE5_250424171432000.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										122
									
								
								.vscode/638811116720000000/CDE5_250424171432000.json
									
									
									
									
										vendored
									
									
								
							| @ -1,122 +0,0 @@ | ||||
| { | ||||
|   "SentToMetrology": false, | ||||
|   "SentToSPC": false, | ||||
|   "AutoOptimizeGain": "AutoOptimizeGain", | ||||
|   "AutoProbeHeightSet": "AutoProbeHeightSet", | ||||
|   "Avg": "915.190", | ||||
|   "CellName": "CDE5", | ||||
|   "DLRatio": "DLRatio", | ||||
|   "DataReject": "3.00", | ||||
|   "Date": "4/24/2025 5:14:32 PM", | ||||
|   "Engineer": "Engineer", | ||||
|   "EquipId": "CDE5", | ||||
|   "FileName": "", | ||||
|   "FilePath": "", | ||||
|   "Id": -1, | ||||
|   "Layer": "1", | ||||
|   "LotId": "Lot", | ||||
|   "Op": "Operator", | ||||
|   "PSN": "4626", | ||||
|   "RDS": "666765", | ||||
|   "Reactor": "57", | ||||
|   "Recipe": "LSL8IN \\ 10PT_5mm", | ||||
|   "ResistivitySpec": "ResistivitySpec", | ||||
|   "Run": "666765", | ||||
|   "SemiRadial": "SemiRadial", | ||||
|   "StDev": "0.0069647", | ||||
|   "Temp": "18.55", | ||||
|   "UniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|   "Zone": "-", | ||||
|   "Details": [ | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.3236315", | ||||
|       "Pt": "1", | ||||
|       "R": "95.00", | ||||
|       "Rs": "913.9620971680", | ||||
|       "T": "270.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-1" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.2676778", | ||||
|       "Pt": "2", | ||||
|       "R": "71.00", | ||||
|       "Rs": "923.2605590820", | ||||
|       "T": "270.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-2" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.3205365", | ||||
|       "Pt": "3", | ||||
|       "R": "47.00", | ||||
|       "Rs": "921.4100952148", | ||||
|       "T": "270.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-3" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.2704575", | ||||
|       "Pt": "4", | ||||
|       "R": "23.00", | ||||
|       "Rs": "913.6674194336", | ||||
|       "T": "270.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-4" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.3234487", | ||||
|       "Pt": "5", | ||||
|       "R": "0.00", | ||||
|       "Rs": "908.1397705078", | ||||
|       "T": "0.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-5" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.2582344", | ||||
|       "Pt": "6", | ||||
|       "R": "11.00", | ||||
|       "Rs": "908.0071411133", | ||||
|       "T": "90.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-6" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.5512319", | ||||
|       "Pt": "7", | ||||
|       "R": "35.00", | ||||
|       "Rs": "916.3591918945", | ||||
|       "T": "90.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-7" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.7320848", | ||||
|       "Pt": "8", | ||||
|       "R": "59.00", | ||||
|       "Rs": "920.1303100586", | ||||
|       "T": "90.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-8" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.6781629", | ||||
|       "Pt": "9", | ||||
|       "R": "83.00", | ||||
|       "Rs": "921.3920288086", | ||||
|       "T": "90.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-9" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000", | ||||
|       "Merit": "1.7448909", | ||||
|       "Pt": "10", | ||||
|       "R": "95.00", | ||||
|       "Rs": "905.5722656250", | ||||
|       "T": "90.000", | ||||
|       "UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-10" | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| @ -1,57 +0,0 @@ | ||||
| HEADER_TAG	HEADER_VALUE | ||||
| FORMAT	2.00 | ||||
| NUMBER_PASSES	0001 | ||||
| HEADER_OFFSET	H#######T | ||||
| DATA_OFFSET	D#######T | ||||
| END_OFFSET	E#######T | ||||
| "Time"	"A_LOGISTICS"	"B_LOGISTICS"	"Test"	"Count"	"Index"	"MesEntity"	"Date"	"Employee"	"Lot"	"PSN"	"Reactor"	"Recipe"	"AutoOptimizeGain"	"AutoProbeHeightSet"	"Avg"	"DataReject"	"DLRatio"	"Merit"	"Pt"	"R"	"ResistivitySpec"	"Rs"	"SemiRadial"	"StdDev"	"T"	"Temp"	"Engineer"	"EquipId"	"FileName"	"HeaderUniqueId"	"Id"	"Layer"	"RDS"	"Run"	"UniqueId"	"Zone"	"SheetRhoVariation" | ||||
| 0.00	1	2	24	10	0	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.3236315	1	95.00	ResistivitySpec	913.9620971680	SemiRadial	0.0069647	270.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	1	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.2676778	2	71.00	ResistivitySpec	923.2605590820	SemiRadial	0.0069647	270.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	2	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.3205365	3	47.00	ResistivitySpec	921.4100952148	SemiRadial	0.0069647	270.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	3	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.2704575	4	23.00	ResistivitySpec	913.6674194336	SemiRadial	0.0069647	270.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	4	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.3234487	5	0.00	ResistivitySpec	908.1397705078	SemiRadial	0.0069647	0.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	5	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.2582344	6	11.00	ResistivitySpec	908.0071411133	SemiRadial	0.0069647	90.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	6	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.5512319	7	35.00	ResistivitySpec	916.3591918945	SemiRadial	0.0069647	90.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	7	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.7320848	8	59.00	ResistivitySpec	920.1303100586	SemiRadial	0.0069647	90.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	8	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.6781629	9	83.00	ResistivitySpec	921.3920288086	SemiRadial	0.0069647	90.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| 0.00	1	2	24	10	9	CDE5	4/24/2025 5:14:32 PM	Operator	Lot	4626	57	LSL8IN \ 10PT_5mm	AutoOptimizeGain	AutoProbeHeightSet	915.190	3.00	DLRatio	1.7448909	10	95.00	ResistivitySpec	905.5722656250	SemiRadial	0.0069647	90.000	18.55	Engineer	ResMap5		HeaderUniqueId	Id	1	666765	666765	UniqueId	-	 | ||||
| NUM_DATA_ROWS	000000010 | ||||
| NUM_DATA_COLUMNS	000000038 | ||||
| DELIMITER	; | ||||
| START_TIME_FORMAT	MM/dd/yyyy HH:mm:ss | ||||
| START_TIME	04/24/2025 17:14:32 | ||||
| LOGISTICS_COLUMN	A_LOGISTICS | ||||
| LOGISTICS_COLUMN	B_LOGISTICS | ||||
| LOGISTICS_1	A_HeaderId=309148;A_SubgroupId=1745540084;A_BASIC_TYPE=;A_INFO=5424R116.RsM.csv;A_INFO2=10;A_JOBID=CDE5;A_MES_ENTITY=CDE5;A_MID=57-666765-4626.1;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811116720000000;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2	B_HeaderId=309148;B_SubgroupId=1745540084;B_BASIC_TYPE=-;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=666765;B_NULL_DATA=;B_PPID=10PT_5mm;B_PROCESS_JOBID=57;B_PRODUCT=4626;B_SEQUENCE=638811116720000000;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| EOF | ||||
| HEADER_TAG|HEADER_VALUE | ||||
| FORMAT|2.00 | ||||
| NUMBER_PASSES|0001 | ||||
| HEADER_OFFSET|000007317 | ||||
| DATA_OFFSET|000000128 | ||||
| END_OFFSET|000007957 | ||||
|  | ||||
| |Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Title|TheFileName|Project|RecipeName|LotID|WfrID|Is_TF_DataFile|Directory|Time|Date|Temp|TCRPercent|NOrP|Avg|Dev|Min|Max|Operator|Equipment|Engineer|AreaOrDiamScan|WaferShape|BNBand|TemplateFile|XSize|YSize|CalibrationFactor|MsmtMode|DataType|DataUnit|NumProbePoints|SingleOrDualProbeConfig|NumberActPrbPts|Rsens|IdrvMx|VinGain|DataRejectSigma|MeritThreshold|PrbChgNumber|PrbName|WaferSize|EdgeEx|Xll|Yll|Xur|Yur|X|Y|CutCorners|DiamThScan|DiamStart|DiamEnd|DiamStep|FlatOrNotch|FollowMajorFlat|AutoOrManualLoad|RangeOrIndividual|PauseAfterEveryRun|AutoPrint|Plot|BulkSampleThk|Unit|RangeFrom|RangeTo|CassetteSlotSelected|R|Th|Data|Rs|RsA|RsB|NumberSample|PointX|PointY|Irng|Vrng|ChiSq|MeritGOF|DataIntegrity|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|InferredPoint|StandardDeviationPercentage|SheetRhoVariation|EventId| | ||||
| |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| | ||||
| 0.00|1|2|10|638811116720000000|CDE5|0|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|95.00|270.000|913.9620971680|913.9620971680|914.08798462|731.11854485|1184|-95.00|-0.00|3051|1102|1.4E+02|1.3236315|0|666765|4626|57|1|-||57-666765-4626.1|1|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|1|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|71.00|270.000|923.2605590820|923.2605590820|923.56932267|738.79669064|1184|-71.00|-0.00|3051|1057|1.3E+02|1.2676778|0|666765|4626|57|1|-||57-666765-4626.1|2|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|2|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|47.00|270.000|921.4100952148|921.4100952148|909.70358100|721.40113210|1184|-47.00|-0.00|3054|1046|1.2E+02|1.3205365|0|666765|4626|57|1|-||57-666765-4626.1|3|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|3|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|23.00|270.000|913.6674194336|913.6674194336|896.28473107|707.65557259|1184|-23.00|-0.00|3055|1042|1.2E+02|1.2704575|0|666765|4626|57|1|-||57-666765-4626.1|4|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|4|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|0.00|0.000|908.1397705078|908.1397705078|898.61367587|713.68271830|1184|0.00|0.00|3052|1033|1.0E+02|1.3234487|0|666765|4626|57|1|-||57-666765-4626.1|5|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|5|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|11.00|90.000|908.0071411133|908.0071411133|900.37349147|716.08698414|1184|11.00|0.00|3052|1027|1.2E+02|1.2582344|0|666765|4626|57|1|-||57-666765-4626.1|6|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|6|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|35.00|90.000|916.3591918945|916.3591918945|903.86156023|716.31006062|1184|35.00|0.00|3052|1020|8.3E+01|1.5512319|0|666765|4626|57|1|-||57-666765-4626.1|7|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|7|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|59.00|90.000|920.1303100586|920.1303100586|914.46298514|728.38862138|1184|59.00|0.00|3050|1047|7.1E+01|1.7320848|0|666765|4626|57|1|-||57-666765-4626.1|8|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|8|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|83.00|90.000|921.3920288086|921.3920288086|913.59693033|726.57794711|1184|83.00|0.00|3051|1029|7.6E+01|1.6781629|0|666765|4626|57|1|-||57-666765-4626.1|9|0.0069647||24 | ||||
| 0.00|1|2|10|638811116720000000|CDE5|9|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|95.00|90.000|905.5722656250|905.5722656250|917.53049853|739.99994302|1184|95.00|0.00|3052|1055|6.7E+01|1.7448909|0|666765|4626|57|1|-||57-666765-4626.1|10|0.0069647||24 | ||||
|  | ||||
| NUM_DATA_ROWS|000000010 | ||||
| NUM_DATA_COLUMNS|000000097 | ||||
| DELIMITER|; | ||||
| START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss | ||||
| START_TIME|04/24/2025 17:14:32 | ||||
| LOGISTICS_COLUMN|A_LOGISTICS | ||||
| LOGISTICS_COLUMN|B_LOGISTICS | ||||
| LOGISTICS_1|A_BASIC_TYPE=;A_INFO=5424R116.RsM.csv;A_INFO2=10;A_JOBID=CDE5;A_MES_ENTITY=CDE5;A_MID=57-666765-4626.1;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811116720000000;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2|B_BASIC_TYPE=-;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=666765;B_NULL_DATA=;B_PPID=10PT_5mm;B_PROCESS_JOBID=57;B_PRODUCT=4626;B_SEQUENCE=638811116720000000;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| END_HEADER | ||||
| @ -1,36 +0,0 @@ | ||||
| Bio-Rad UniqueId	4/24/2025 6:11:07 PM		6inTHICK	40	667740	5159	1	1		667740	2.520	1	119.11	2	0.00	3	118.87	4	0.00	5	0.00	6	0.00	7	117.12	8	116.95	9	116.18 | ||||
|  | ||||
| | 1                | 2                    | 3 | 4        | 5  | 6      | 7    | 8 | 9 | 10 | 11     | 12   | 13 | 14     | 15 | 16 | 17 | 18     | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26     | 27 | 28     | 29 | 30     | | ||||
| |------------------|----------------------|---|----------|----|--------|------|---|---|----|--------|------|----|--------|----|----|----|--------|----|----|----|----|----|----|----|--------|----|--------|----|--------| | ||||
| | Bio-Rad UniqueId | 4/24/2025 6:11:07 PM |   | 6inTHICK | 40 | 667740 | 5159 | 1 | 1 |    | 667740 | 2.52 | 1  | 119.11 | 2  | 0  | 3  | 118.87 | 4  | 0  | 5  | 0  | 6  | 0  | 7  | 117.12 | 8  | 116.95 | 9  | 116.18 | | ||||
|  | ||||
| <1>:Bio-Rad UniqueId | ||||
| <2>:4/24/2025 6:11:07 PM | ||||
| <3>: | ||||
| <4>:6inTHICK | ||||
| <5>:40 | ||||
| <6>:667740 | ||||
| <7>:5159 | ||||
| <8>:1 | ||||
| <9>:1 | ||||
| <10>: | ||||
| <11>:667740 | ||||
| <12>:2.52 | ||||
| <13>:1 | ||||
| <14>:119.11 | ||||
| <15>:2 | ||||
| <16>:0 | ||||
| <17>:3 | ||||
| <18>:118.87 | ||||
| <19>:4 | ||||
| <20>:0 | ||||
| <21>:5 | ||||
| <22>:0 | ||||
| <23>:6 | ||||
| <24>:0 | ||||
| <25>:7 | ||||
| <26>:117.12 | ||||
| <27>:8 | ||||
| <28>:116.95 | ||||
| <29>:9 | ||||
| <30>:116.18 | ||||
| @ -1,80 +0,0 @@ | ||||
| { | ||||
|   "SentToMetrology": false, | ||||
|   "SentToSPC": false, | ||||
|   "Id": -1, | ||||
|   "Batch": "667740", | ||||
|   "Cassette": "", | ||||
|   "CellName": "BIORAD2", | ||||
|   "Date": "4/24/2025 6:11:07 PM", | ||||
|   "FilePath": "", | ||||
|   "Layer": "1", | ||||
|   "MeanThickness": "117.645", | ||||
|   "Op": "CL", | ||||
|   "PSN": "5159", | ||||
|   "PassFail": "FAIL", | ||||
|   "RDS": "667740", | ||||
|   "RVThickness": "2.520", | ||||
|   "Reactor": "40", | ||||
|   "Recipe": "6inTHICK", | ||||
|   "StdDev": "1.279", | ||||
|   "Title": "Bio-Rad QS400MEPI", | ||||
|   "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|   "Wafer": "667740", | ||||
|   "Zone": "1", | ||||
|   "Details": [ | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "1", | ||||
|       "Thickness": "119.11", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-1" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "2", | ||||
|       "Thickness": "0.00", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-2" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "3", | ||||
|       "Thickness": "118.87", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-3" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "4", | ||||
|       "Thickness": "0.00", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-4" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "5", | ||||
|       "Thickness": "0.00", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-5" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "6", | ||||
|       "Thickness": "0.00", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-6" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "7", | ||||
|       "Thickness": "117.12", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-7" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "8", | ||||
|       "Thickness": "116.95", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-8" | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527", | ||||
|       "Position": "9", | ||||
|       "Thickness": "116.18", | ||||
|       "UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-9" | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| @ -1,55 +0,0 @@ | ||||
| HEADER_TAG	HEADER_VALUE | ||||
| FORMAT	2.00 | ||||
| NUMBER_PASSES	0001 | ||||
| HEADER_OFFSET	H#######T | ||||
| DATA_OFFSET	D#######T | ||||
| END_OFFSET	E#######T | ||||
| "Time"	"A_LOGISTICS"	"B_LOGISTICS"	"Test"	"Count"	"Index"	"MesEntity"	"Date"	"Employee"	"Lot"	"PSN"	"Reactor"	"Recipe"	"Cassette"	"HeaderUniqueId"	"Layer"	"PassFail"	"Position"	"RDS"	"Title"	"UniqueId"	"Wafer"	"Zone"	"MeanThickness"	"RVThickness"	"StdDev"	"Thickness"	"Slot"	"ThicknessFourteen3mmEdgeMean"	"ThicknessFourteen3mmEdgePercent"	"ThicknessFourteen5mmEdgeMean"	"ThicknessFourteen5mmEdgePercent"	"ThicknessFourteenCenterMean"	"ThicknessFourteenCriticalPointsAverage"	"ThicknessFourteenCriticalPointsStdDev"	"ThicknessFourteenMeanFrom"	"Thickness01"	"Thickness02"	"Thickness03"	"Thickness04"	"Thickness05"	"Thickness06"	"Thickness07"	"Thickness08"	"Thickness09"	"Thickness10"	"Thickness11"	"Thickness12"	"Thickness13"	"Thickness14" | ||||
| 0.00	1	2	25	9	0	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	1	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	119.11	00									119.11													 | ||||
| 0.00	1	2	25	9	1	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	2	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	0.00	00										0.00												 | ||||
| 0.00	1	2	25	9	2	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	3	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	118.87	00											118.87											 | ||||
| 0.00	1	2	25	9	3	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	4	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	0.00	00												0.00										 | ||||
| 0.00	1	2	25	9	4	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	5	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	0.00	00													0.00									 | ||||
| 0.00	1	2	25	9	5	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	6	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	0.00	00														0.00								 | ||||
| 0.00	1	2	25	9	6	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	7	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	117.12	00															117.12							 | ||||
| 0.00	1	2	25	9	7	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	8	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	116.95	00																116.95						 | ||||
| 0.00	1	2	25	9	8	BIORAD2	4/24/2025 6:11:07 PM	CL	667740	5159	40	6inTHICK		HeaderUniqueId	1	FAIL	9	667740	Bio-Rad QS400MEPI	UniqueId	667740	1	117.645	2.520	1.279	116.18	00																	116.18					 | ||||
| NUM_DATA_ROWS	000000009 | ||||
| NUM_DATA_COLUMNS	000000050 | ||||
| DELIMITER	; | ||||
| START_TIME_FORMAT	MM/dd/yyyy HH:mm:ss | ||||
| START_TIME	04/24/2025 18:11:07 | ||||
| LOGISTICS_COLUMN	A_LOGISTICS | ||||
| LOGISTICS_COLUMN	B_LOGISTICS | ||||
| LOGISTICS_1	A_HeaderId=514141;A_SubgroupId=1745543491;A_BASIC_TYPE=;A_INFO=202504241811079527.TXT.csv;A_INFO2=9;A_JOBID=BIORAD2;A_MES_ENTITY=BIORAD2;A_MID=40-667740-5159.1-1;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811150679527382;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2	B_HeaderId=514141;B_SubgroupId=1745543491;B_BASIC_TYPE=- EpiPro 5000;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667740;B_NULL_DATA=;B_PPID=6inTHICK;B_PROCESS_JOBID=40;B_PRODUCT=5159;B_SEQUENCE=638811150679527382;B_WAFER_ID=-;B_WAFER_POS=1; | ||||
| EOF | ||||
| HEADER_TAG|HEADER_VALUE | ||||
| FORMAT|2.00 | ||||
| NUMBER_PASSES|0001 | ||||
| HEADER_OFFSET|000003202 | ||||
| DATA_OFFSET|000000128 | ||||
| END_OFFSET|000003871 | ||||
|  | ||||
| |Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Title|Recipe|DateTime|Operator|Batch|Cassette|UsedLast|Wafer|Position|Thickness|WaferMeanThickness|StdDev|PassFail|Line|RadialVariationThickness|Slot|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|Thickness 14 3mm Edge Mean|Thickness 14 3mm Edge % from R/2|Thickness 14 5mm Edge Mean|Thickness 14 5mm Edge % from R/2|Thickness 14 Center Mean|Thickness 14 Average|Thickness 14 Std Dev|Thickness 14 R 2/Mean|Thickness01|Thickness02|Thickness03|Thickness04|Thickness05|Thickness06|Thickness07|Thickness08|Thickness09|Thickness10|Thickness11|Thickness12|Thickness13|Thickness14|EventId| | ||||
| |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|0|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|1|119.11|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||119.11||||||||||||||25 | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|1|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|2|0.00|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1||||||||||0.00|||||||||||||25 | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|2|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|3|118.87|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||||118.87||||||||||||25 | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|3|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|4|0.00|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1||||||||||||0.00|||||||||||25 | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|4|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|5|0.00|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||||||0.00||||||||||25 | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|5|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|6|0.00|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1||||||||||||||0.00|||||||||25 | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|6|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|7|117.12|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||||||||117.12||||||||25 | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|7|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|8|116.95|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1||||||||||||||||116.95|||||||25 | ||||
| 0.00|1|2|9|638811150679527382|BIORAD2|8|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|9|116.18|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||||||||||116.18||||||25 | ||||
|  | ||||
| NUM_DATA_ROWS|000000009 | ||||
| NUM_DATA_COLUMNS|000000053 | ||||
| DELIMITER|; | ||||
| START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss | ||||
| START_TIME|04/24/2025 18:11:07 | ||||
| LOGISTICS_COLUMN|A_LOGISTICS | ||||
| LOGISTICS_COLUMN|B_LOGISTICS | ||||
| LOGISTICS_1|A_BASIC_TYPE=;A_INFO=202504241811079527.TXT.csv;A_INFO2=9;A_JOBID=BIORAD2;A_MES_ENTITY=BIORAD2;A_MID=40-667740-5159.1-1;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811150679527382;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2|B_BASIC_TYPE=- EpiPro 5000;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667740;B_NULL_DATA=;B_PPID=6inTHICK;B_PROCESS_JOBID=40;B_PRODUCT=5159;B_SEQUENCE=638811150679527382;B_WAFER_ID=-;B_WAFER_POS=1; | ||||
| END_HEADER | ||||
| @ -1,22 +0,0 @@ | ||||
| Stratus_32-667283-5095_20250424074408371	4/24/2025 7:44:08 PM	BIORAD5	FQA Thickness		6in_CENTERPOINT	32	667283	5095	_24_19_41	667283	6.971	1	6.963	25	6.980 | ||||
|  | ||||
| | 1                                        | 2                    | 3       | 4             | 5 | 6               | 7  | 8      | 9    | 10        | 11     | 12    | 13 | 14    | 15 | 16   | | ||||
| |------------------------------------------|----------------------|---------|---------------|---|-----------------|----|--------|------|-----------|--------|-------|----|-------|----|------| | ||||
| | Stratus_32-667283-5095_20250424074408371 | 4/24/2025 7:44:08 PM | BIORAD5 | FQA Thickness |   | 6in_CENTERPOINT | 32 | 667283 | 5095 | _24_19_41 | 667283 | 6.971 | 1  | 6.963 | 25 | 6.98 | | ||||
|  | ||||
| <1>:Stratus_32-667283-5095_20250424074408371 | ||||
| <2>:4/24/2025 7:44:08 PM | ||||
| <3>:BIORAD5 | ||||
| <4>:FQA Thickness | ||||
| <5>: | ||||
| <6>:6in_CENTERPOINT | ||||
| <7>:32 | ||||
| <8>:667283 | ||||
| <9>:5095 | ||||
| <10>:_24_19_41 | ||||
| <11>:667283 | ||||
| <12>:6.971 | ||||
| <13>:1 | ||||
| <14>:6.963 | ||||
| <15>:25 | ||||
| <16>:6.98 | ||||
| @ -1,59 +0,0 @@ | ||||
| { | ||||
|   "Id": -1, | ||||
|   "Batch": "_24_19_41", | ||||
|   "Cassette": "667283", | ||||
|   "CellName": "BIORAD5", | ||||
|   "Date": "4/24/2025 7:44:08 PM", | ||||
|   "FilePath": "", | ||||
|   "MeanThickness": "6.971", | ||||
|   "Operator": "", | ||||
|   "PSN": "5095", | ||||
|   "RDS": "667283", | ||||
|   "Reactor": "32", | ||||
|   "Recipe": "6in_CENTERPOINT", | ||||
|   "StdDev": "0.0115", | ||||
|   "Title": "_24_19_41", | ||||
|   "UniqueId": "BIORAD5_32-667283-5095_202504241944083711", | ||||
|   "Details": [ | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD5_32-667283-5095_202504241944083711", | ||||
|       "Mean": "6.963", | ||||
|       "PassFail": "PASS", | ||||
|       "Position": "1", | ||||
|       "Recipe": "6in_CENTERPOINT", | ||||
|       "Slot": "1", | ||||
|       "StdDev": "0", | ||||
|       "UniqueId": "BIORAD5_32-667283-5095_202504241944083711_Item-1", | ||||
|       "Thickness": "6.963", | ||||
|       "Wafer": "Wafer 1", | ||||
|       "Points": [ | ||||
|         { | ||||
|           "HeaderUniqueId": "HeaderUniqueId", | ||||
|           "Position": "1", | ||||
|           "Thickness": "6.963", | ||||
|           "UniqueId": "UniqueId" | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     { | ||||
|       "HeaderUniqueId": "BIORAD5_32-667283-5095_202504241944083711", | ||||
|       "Mean": "6.980", | ||||
|       "PassFail": "PASS", | ||||
|       "Position": "25", | ||||
|       "Recipe": "6in_CENTERPOINT", | ||||
|       "Slot": "25", | ||||
|       "StdDev": "0", | ||||
|       "UniqueId": "BIORAD5_32-667283-5095_202504241944083711_Item-2", | ||||
|       "Thickness": "6.980", | ||||
|       "Wafer": "Wafer 25", | ||||
|       "Points": [ | ||||
|         { | ||||
|           "HeaderUniqueId": "HeaderUniqueId", | ||||
|           "Position": "25", | ||||
|           "Thickness": "6.980", | ||||
|           "UniqueId": "UniqueId" | ||||
|         } | ||||
|       ] | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| @ -1,41 +0,0 @@ | ||||
| HEADER_TAG	HEADER_VALUE | ||||
| FORMAT	2.00 | ||||
| NUMBER_PASSES	0001 | ||||
| HEADER_OFFSET	H#######T | ||||
| DATA_OFFSET	D#######T | ||||
| END_OFFSET	E#######T | ||||
| "Time"	"A_LOGISTICS"	"B_LOGISTICS"	"Test"	"Count"	"Index"	"MesEntity"	"MID"	"Date"	"Employee"	"Lot"	"PSN"	"Reactor"	"Recipe"	"Cassette"	"GradeStdDev"	"HeaderUniqueId"	"Layer"	"MeanThickness"	"PassFail"	"RDS"	"Slot"	"Title"	"UniqueId"	"Wafer"	"Zone"	"Mean"	"Position"	"StdDev"	"Thickness"	"ThicknessSlotOne"	"ThicknessSlotTwentyFive"	"DeltaThicknessSlotsOneAndTwentyFive"	"PercentDeltaThicknessSlotsOneAndTwentyFive" | ||||
| 0.00	1	2	26	2	0	BIORAD5	667283	4/24/2025 7:44:08 PM		_24_19_41	5095	32	6in_CENTERPOINT	667283	0.0115	HeaderUniqueId	-	6.971	PASS	667283	1	_24_19_41	UniqueId	Wafer 1	-	6.963	1	0	6.963	ThicknessSlotOne	ThicknessSlotTwentyFive		 | ||||
| 0.00	1	2	26	2	1	BIORAD5	667283	4/24/2025 7:44:08 PM		_24_19_41	5095	32	6in_CENTERPOINT	667283	0.0115	HeaderUniqueId	-	6.971	PASS	667283	25	_24_19_41	UniqueId	Wafer 25	-	6.980	25	0	6.980	ThicknessSlotOne	ThicknessSlotTwentyFive		 | ||||
| NUM_DATA_ROWS	000000002 | ||||
| NUM_DATA_COLUMNS	000000034 | ||||
| DELIMITER	; | ||||
| START_TIME_FORMAT	MM/dd/yyyy HH:mm:ss | ||||
| START_TIME	04/24/2025 19:44:08 | ||||
| LOGISTICS_COLUMN	A_LOGISTICS | ||||
| LOGISTICS_COLUMN	B_LOGISTICS | ||||
| LOGISTICS_1	A_HeaderId=348729;A_SubgroupId=1745549064;A_BASIC_TYPE=;A_INFO=DataBiorad.txt-0.csv;A_INFO2=2;A_JOBID=BIORAD5;A_MES_ENTITY=BIORAD5;A_MID=32-667283-5095;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811206483711430;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2	B_HeaderId=348729;B_SubgroupId=1745549064;B_BASIC_TYPE=Left - High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667283;B_NULL_DATA=;B_PPID=6in_CENTERPOINT;B_PROCESS_JOBID=32;B_PRODUCT=5095;B_SEQUENCE=638811206483711430;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| EOF | ||||
| HEADER_TAG|HEADER_VALUE | ||||
| FORMAT|2.00 | ||||
| NUMBER_PASSES|0001 | ||||
| HEADER_OFFSET|000000838 | ||||
| DATA_OFFSET|000000128 | ||||
| END_OFFSET|000001510 | ||||
|  | ||||
| |Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Batch|Cassette|DateTime|Destination|Mean|PassFail|Recipe|Reference|Site|Slot|Source|StdDev|Text|GradeMean|GradeStdDev|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|Actual Delta Thick Pts 1 and 25|% Delta Thick Pts 1 and 25|EventId| | ||||
| |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| | ||||
| 0.00|1|2|2|638811206483711430|BIORAD5|0|_24_19_41|667283|4/24/2025 7:44:08 PM||6.963|PASS|6in_CENTERPOINT||6.963|1||0|Wafer 1|6.971|0.0115|667283|5095|32|-|-||_24_19_41|||26 | ||||
| 0.00|1|2|2|638811206483711430|BIORAD5|1|_24_19_41|667283|4/24/2025 7:44:08 PM||6.980|PASS|6in_CENTERPOINT||6.980|25||0|Wafer 25|6.971|0.0115|667283|5095|32|-|-||_24_19_41|||26 | ||||
|  | ||||
| NUM_DATA_ROWS|000000002 | ||||
| NUM_DATA_COLUMNS|000000032 | ||||
| DELIMITER|; | ||||
| START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss | ||||
| START_TIME|04/24/2025 19:44:08 | ||||
| LOGISTICS_COLUMN|A_LOGISTICS | ||||
| LOGISTICS_COLUMN|B_LOGISTICS | ||||
| LOGISTICS_1|A_BASIC_TYPE=;A_INFO=DataBiorad.txt-0.csv;A_INFO2=2;A_JOBID=BIORAD5;A_MES_ENTITY=BIORAD5;A_MID=32-667283-5095;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811206483711430;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2|B_BASIC_TYPE=Left - High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667283;B_NULL_DATA=;B_PPID=6in_CENTERPOINT;B_PROCESS_JOBID=32;B_PRODUCT=5095;B_SEQUENCE=638811206483711430;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| END_HEADER | ||||
| @ -1,103 +0,0 @@ | ||||
| UniqueId	HGCV2	46	667776	5159	-	-	ZONE2	667776	5PT MES	4/25/2025 8:40:01 AM	150.00	1.02	2.130E-002	N	PARALLEL	-5.00	-20.00	2500	2000.00	6IN5PT	6IN5PT	SSMDATA	6_5PT10M.PAT	ASTM: F723 - 82	7.599e+013	2.352e+000	2.799e+000	7.634e+013	2.352e+000	2.766e+000	3.342e-001	4.365e+001	4.605e+001	1.713e+001	2.053e+000	2.563e+000	5.632e+001	2.315e+000	2.779e+000	5.607e+001	2.321e+000	2.746e+000	9.000e+001	-1.000e+000	0.000e+000	2.251e+000	2.931e+001	3.713e+001	-1.000e+000	-1.000e+000	0.000e+000	1	7.854E+013	7.882E+013	0.294	17.109	54.482	54.286	90.000	2.193	2	7.447E+013	7.472E+013	0.216	17.428	57.431	57.247	90.000	1.898	3	7.426E+013	7.458E+013	0.250	17.496	57.596	57.352	90.000	2.414	4	7.695E+013	7.733E+013	0.327	16.621	55.595	55.324	90.000	1.493	5	7.571E+013	7.623E+013	0.584	17.015	56.500	56.121	90.000	3.257 | ||||
|  | ||||
| | 1        | 2     | 3  | 4      | 5    | 6 | 7 | 8     | 9      | 10      | 11                   | 12  | 13   | 14       | 15 | 16       | 17 | 18  | 19   | 20   | 21     | 22     | 23      | 24           | 25              | 26       | 27       | 28       | 29       | 30       | 31       | 32       | 33       | 34       | 35       | 36       | 37       | 38       | 39       | 40       | 41       | 42       | 43       | 44       | 45        | 46       | 47       | 48       | 49       | 50        | 51        | 52       | 53 | 54       | 55       | 56    | 57     | 58     | 59     | 60 | 61    | 62 | 63       | 64       | 65    | 66     | 67     | 68     | 69 | 70    | 71 | 72       | 73       | 74   | 75     | 76     | 77     | 78 | 79    | 80 | 81       | 82       | 83    | 84     | 85     | 86     | 87 | 88    | 89 | 90       | 91       | 92    | 93     | 94   | 95     | 96 | 97    | | ||||
| |----------|-------|----|--------|------|---|---|-------|--------|---------|----------------------|-----|------|----------|----|----------|----|-----|------|------|--------|--------|---------|--------------|-----------------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|-----------|----------|----------|----------|----------|-----------|-----------|----------|----|----------|----------|-------|--------|--------|--------|----|-------|----|----------|----------|-------|--------|--------|--------|----|-------|----|----------|----------|------|--------|--------|--------|----|-------|----|----------|----------|-------|--------|--------|--------|----|-------|----|----------|----------|-------|--------|------|--------|----|-------| | ||||
| | UniqueId | HGCV2 | 46 | 667776 | 5159 | - | - | ZONE2 | 667776 | 5PT MES | 4/25/2025 8:40:01 AM | 150 | 1.02 | 2.13E-02 | N  | PARALLEL | -5 | -20 | 2500 | 2000 | 6IN5PT | 6IN5PT | SSMDATA | 6_5PT10M.PAT | ASTM: F723 - 82 | 7.60E+13 | 2.35E+00 | 2.80E+00 | 7.63E+13 | 2.35E+00 | 2.77E+00 | 3.34E-01 | 4.37E+01 | 4.61E+01 | 1.71E+01 | 2.05E+00 | 2.56E+00 | 5.63E+01 | 2.32E+00 | 2.78E+00 | 5.61E+01 | 2.32E+00 | 2.75E+00 | 9.00E+01 | -1.00E+00 | 0.00E+00 | 2.25E+00 | 2.93E+01 | 3.71E+01 | -1.00E+00 | -1.00E+00 | 0.00E+00 | 1  | 7.85E+13 | 7.88E+13 | 0.294 | 17.109 | 54.482 | 54.286 | 90 | 2.193 | 2  | 7.45E+13 | 7.47E+13 | 0.216 | 17.428 | 57.431 | 57.247 | 90 | 1.898 | 3  | 7.43E+13 | 7.46E+13 | 0.25 | 17.496 | 57.596 | 57.352 | 90 | 2.414 | 4  | 7.70E+13 | 7.73E+13 | 0.327 | 16.621 | 55.595 | 55.324 | 90 | 1.493 | 5  | 7.57E+13 | 7.62E+13 | 0.584 | 17.015 | 56.5 | 56.121 | 90 | 3.257 | | ||||
|  | ||||
| <1>:UniqueId | ||||
| <2>:HGCV2 | ||||
| <3>:46 | ||||
| <4>:667776 | ||||
| <5>:5159 | ||||
| <6>:- | ||||
| <7>:- | ||||
| <8>:ZONE2 | ||||
| <9>:667776 | ||||
| <10>:5PT MES | ||||
| <11>:4/25/2025 8:40:01 AM | ||||
| <12>:150 | ||||
| <13>:1.02 | ||||
| <14>:0.0213 | ||||
| <15>:N | ||||
| <16>:PARALLEL | ||||
| <17>:-5 | ||||
| <18>:-20 | ||||
| <19>:2500 | ||||
| <20>:2000 | ||||
| <21>:6IN5PT | ||||
| <22>:6IN5PT | ||||
| <23>:SSMDATA | ||||
| <24>:6_5PT10M.PAT | ||||
| <25>:ASTM: F723 - 82 | ||||
| <26>:7.599E+13 | ||||
| <27>:2.352 | ||||
| <28>:2.799 | ||||
| <29>:7.634E+13 | ||||
| <30>:2.352 | ||||
| <31>:2.766 | ||||
| <32>:0.3342 | ||||
| <33>:43.65 | ||||
| <34>:46.05 | ||||
| <35>:17.13 | ||||
| <36>:2.053 | ||||
| <37>:2.563 | ||||
| <38>:56.32 | ||||
| <39>:2.315 | ||||
| <40>:2.779 | ||||
| <41>:56.07 | ||||
| <42>:2.321 | ||||
| <43>:2.746 | ||||
| <44>:90 | ||||
| <45>:-1 | ||||
| <46>:0 | ||||
| <47>:2.251 | ||||
| <48>:29.31 | ||||
| <49>:37.13 | ||||
| <50>:-1 | ||||
| <51>:-1 | ||||
| <52>:0 | ||||
| <53>:1 | ||||
| <54>:7.854E+13 | ||||
| <55>:7.882E+13 | ||||
| <56>:0.294 | ||||
| <57>:17.109 | ||||
| <58>:54.482 | ||||
| <59>:54.286 | ||||
| <60>:90 | ||||
| <61>:2.193 | ||||
| <62>:2 | ||||
| <63>:7.447E+13 | ||||
| <64>:7.472E+13 | ||||
| <65>:0.216 | ||||
| <66>:17.428 | ||||
| <67>:57.431 | ||||
| <68>:57.247 | ||||
| <69>:90 | ||||
| <70>:1.898 | ||||
| <71>:3 | ||||
| <72>:7.426E+13 | ||||
| <73>:7.458E+13 | ||||
| <74>:0.25 | ||||
| <75>:17.496 | ||||
| <76>:57.596 | ||||
| <77>:57.352 | ||||
| <78>:90 | ||||
| <79>:2.414 | ||||
| <80>:4 | ||||
| <81>:7.695E+13 | ||||
| <82>:7.733E+13 | ||||
| <83>:0.327 | ||||
| <84>:16.621 | ||||
| <85>:55.595 | ||||
| <86>:55.324 | ||||
| <87>:90 | ||||
| <88>:1.493 | ||||
| <89>:5 | ||||
| <90>:7.571E+13 | ||||
| <91>:7.623E+13 | ||||
| <92>:0.584 | ||||
| <93>:17.015 | ||||
| <94>:56.5 | ||||
| <95>:56.121 | ||||
| <96>:90 | ||||
| <97>:3.257 | ||||
| @ -1,119 +0,0 @@ | ||||
| { | ||||
|   "SentToMetrology": false, | ||||
|   "SentToSPC": false, | ||||
|   "Area": "2.130E-002", | ||||
|   "Ccomp": "1.02", | ||||
|   "CellName": "HGCV2", | ||||
|   "CondType": "N", | ||||
|   "Date": "4/25/2025 8:40:01 AM", | ||||
|   "FlatZMean": "1.713e\u002B001", | ||||
|   "FlatZRadialGradient": "2.563e\u002B000", | ||||
|   "FlatZStdDev": "2.053e\u002B000", | ||||
|   "Folder": "SSMDATA", | ||||
|   "GLimit": "2000.00", | ||||
|   "GradeMean": "2.251e\u002B000", | ||||
|   "GradeRadialGradient": "3.713e\u002B001", | ||||
|   "GradeStdDev": "2.931e\u002B001", | ||||
|   "Id": -1, | ||||
|   "Layer": "-", | ||||
|   "Lot": "667776", | ||||
|   "Model": "PARALLEL", | ||||
|   "NAvgMean": "7.599e\u002B013", | ||||
|   "NAvgRadialGradient": "2.799e\u002B000", | ||||
|   "NAvgStdDev": "2.352e\u002B000", | ||||
|   "NslMean": "7.634e\u002B013", | ||||
|   "NslRadialGradient": "2.766e\u002B000", | ||||
|   "NslStdDev": "2.352e\u002B000", | ||||
|   "Operator": "HGCV2", | ||||
|   "PSN": "5159", | ||||
|   "Pattern": "6_5PT10M.PAT", | ||||
|   "PhaseMean": "9.000e\u002B001", | ||||
|   "PhaseRadialGradient": "0.000e\u002B000", | ||||
|   "PhaseStdDev": "-1.000e\u002B000", | ||||
|   "Plan": "5PT MES", | ||||
|   "RDS": "667776", | ||||
|   "RampRate": "2500", | ||||
|   "Reactor": "46", | ||||
|   "RhoAvgMean": "5.632e\u002B001", | ||||
|   "RhoAvgRadialGradient": "2.779e\u002B000", | ||||
|   "RhoAvgStdDev": "2.315e\u002B000", | ||||
|   "RhoMethod": "ASTM: F723 - 82", | ||||
|   "RhoslMean": "5.607e\u002B001", | ||||
|   "RhoslRadialGradient": "2.746e\u002B000", | ||||
|   "RhoslStdDev": "2.321e\u002B000", | ||||
|   "RsMean": "-1.000e\u002B000", | ||||
|   "RsRadialGradient": "0.000e\u002B000", | ||||
|   "RsStdDev": "-1.000e\u002B000", | ||||
|   "SetupFile": "6IN5PT", | ||||
|   "StartVoltage": "-5.00", | ||||
|   "StopVoltage": "-20.00", | ||||
|   "UniqueId": "HGCV2_46-667776-5159_202504250840019538", | ||||
|   "VdMean": "3.342e-001", | ||||
|   "VdRadialGradient": "4.605e\u002B001", | ||||
|   "VdStdDev": "4.365e\u002B001", | ||||
|   "Wafer": "ZONE2", | ||||
|   "WaferSize": "150.00", | ||||
|   "Zone": "-", | ||||
|   "Details": [ | ||||
|     { | ||||
|       "FlatZ": "17.109", | ||||
|       "Grade": "2.193", | ||||
|       "HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538", | ||||
|       "NAvg": "7.854E\u002B013", | ||||
|       "Nsl": "7.882E\u002B013", | ||||
|       "Phase": "90.000", | ||||
|       "RhoAvg": "54.482", | ||||
|       "Rhosl": "54.286", | ||||
|       "UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-1", | ||||
|       "Vd": "0.294" | ||||
|     }, | ||||
|     { | ||||
|       "FlatZ": "17.428", | ||||
|       "Grade": "1.898", | ||||
|       "HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538", | ||||
|       "NAvg": "7.447E\u002B013", | ||||
|       "Nsl": "7.472E\u002B013", | ||||
|       "Phase": "90.000", | ||||
|       "RhoAvg": "57.431", | ||||
|       "Rhosl": "57.247", | ||||
|       "UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-2", | ||||
|       "Vd": "0.216" | ||||
|     }, | ||||
|     { | ||||
|       "FlatZ": "17.496", | ||||
|       "Grade": "2.414", | ||||
|       "HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538", | ||||
|       "NAvg": "7.426E\u002B013", | ||||
|       "Nsl": "7.458E\u002B013", | ||||
|       "Phase": "90.000", | ||||
|       "RhoAvg": "57.596", | ||||
|       "Rhosl": "57.352", | ||||
|       "UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-3", | ||||
|       "Vd": "0.250" | ||||
|     }, | ||||
|     { | ||||
|       "FlatZ": "16.621", | ||||
|       "Grade": "1.493", | ||||
|       "HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538", | ||||
|       "NAvg": "7.695E\u002B013", | ||||
|       "Nsl": "7.733E\u002B013", | ||||
|       "Phase": "90.000", | ||||
|       "RhoAvg": "55.595", | ||||
|       "Rhosl": "55.324", | ||||
|       "UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-4", | ||||
|       "Vd": "0.327" | ||||
|     }, | ||||
|     { | ||||
|       "FlatZ": "17.015", | ||||
|       "Grade": "3.257", | ||||
|       "HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538", | ||||
|       "NAvg": "7.571E\u002B013", | ||||
|       "Nsl": "7.623E\u002B013", | ||||
|       "Phase": "90.000", | ||||
|       "RhoAvg": "56.500", | ||||
|       "Rhosl": "56.121", | ||||
|       "UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-5", | ||||
|       "Vd": "0.584" | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| @ -1,47 +0,0 @@ | ||||
| HEADER_TAG	HEADER_VALUE | ||||
| FORMAT	2.00 | ||||
| NUMBER_PASSES	0001 | ||||
| HEADER_OFFSET	H#######T | ||||
| DATA_OFFSET	D#######T | ||||
| END_OFFSET	E#######T | ||||
| "Time"	"A_LOGISTICS"	"B_LOGISTICS"	"Test"	"Count"	"Index"	"MesEntity"	"Date"	"Employee"	"Lot"	"PSN"	"Reactor"	"Recipe"	"Area"	"Folder"	"HeaderUniqueId"	"Id"	"Layer"	"Model"	"Pattern"	"Phase"	"Plan"	"RampRate"	"RDS"	"SetupFile"	"StartVoltage"	"StopVoltage"	"UniqueId"	"Wafer"	"WaferSize"	"Zone"	"Ccomp"	"CondType"	"FlatZ"	"FlatZMean"	"FlatZRadialGradient"	"FlatZStdDev"	"GLimit"	"Grade"	"GradeMean"	"GradeRadialGradient"	"GradeStdDev"	"NAvg"	"NAvgMean"	"NAvgRadialGradient"	"NAvgStdDev"	"Nsl"	"NslMean"	"NslRadialGradient"	"NslStdDev"	"PhaseMean"	"PhaseRadialGradient"	"PhaseStdDev"	"RhoAvg"	"RhoAvgMean"	"RhoAvgRadialGradient"	"RhoAvgStdDev"	"RhoMethod"	"Rhosl"	"RhoslMean"	"RhoslRadialGradient"	"RhoslStdDev"	"RsMean"	"RsRadialGradient"	"RsStdDev"	"Vd"	"VdMean"	"VdRadialGradient"	"VdStdDev"	"Variation"	"AreaDeltaFromLastRun"	"Nine10mmEdgeMean"	"Nine4mmEdgeMean"	"NineCriticalPointsAverage"	"NineCriticalPointsPhaseAngleAverage"	"NineCriticalPointsStdDev"	"NineEdgeMeanDelta"	"NineMean"	"NineResRangePercent"	"RhoAvg01"	"RhoAvg02"	"RhoAvg03"	"RhoAvg04"	"RhoAvg05"	"RhoAvg06"	"RhoAvg07"	"RhoAvg08"	"RhoAvg09" | ||||
| 0.00	1	2	23	5	0	HGCV2	4/25/2025 8:40:01 AM		667776	5159	46	Recipe	2.130E-002	SSMDATA	HeaderUniqueId	Id	-	PARALLEL	6_5PT10M.PAT	90.000	5PT MES	2500	667776	6IN5PT	-5.00	-20.00	UniqueId	ZONE2	150.00	-	1.02	N	17.109	1.713e+001	2.563e+000	2.053e+000	2000.00	2.193	2.251e+000	3.713e+001	2.931e+001	7.854E+013	7.599e+013	2.799e+000	2.352e+000	7.882E+013	7.634e+013	2.766e+000	2.352e+000	9.000e+001	0.000e+000	-1.000e+000	54.482	5.632e+001	2.779e+000	2.315e+000	ASTM: F723 - 82	54.286	5.607e+001	2.746e+000	2.321e+000	-1.000e+000	0.000e+000	-1.000e+000	0.294	3.342e-001	4.605e+001	4.365e+001											54.482								 | ||||
| 0.00	1	2	23	5	1	HGCV2	4/25/2025 8:40:01 AM		667776	5159	46	Recipe	2.130E-002	SSMDATA	HeaderUniqueId	Id	-	PARALLEL	6_5PT10M.PAT	90.000	5PT MES	2500	667776	6IN5PT	-5.00	-20.00	UniqueId	ZONE2	150.00	-	1.02	N	17.428	1.713e+001	2.563e+000	2.053e+000	2000.00	1.898	2.251e+000	3.713e+001	2.931e+001	7.447E+013	7.599e+013	2.799e+000	2.352e+000	7.472E+013	7.634e+013	2.766e+000	2.352e+000	9.000e+001	0.000e+000	-1.000e+000	57.431	5.632e+001	2.779e+000	2.315e+000	ASTM: F723 - 82	57.247	5.607e+001	2.746e+000	2.321e+000	-1.000e+000	0.000e+000	-1.000e+000	0.216	3.342e-001	4.605e+001	4.365e+001												57.431							 | ||||
| 0.00	1	2	23	5	2	HGCV2	4/25/2025 8:40:01 AM		667776	5159	46	Recipe	2.130E-002	SSMDATA	HeaderUniqueId	Id	-	PARALLEL	6_5PT10M.PAT	90.000	5PT MES	2500	667776	6IN5PT	-5.00	-20.00	UniqueId	ZONE2	150.00	-	1.02	N	17.496	1.713e+001	2.563e+000	2.053e+000	2000.00	2.414	2.251e+000	3.713e+001	2.931e+001	7.426E+013	7.599e+013	2.799e+000	2.352e+000	7.458E+013	7.634e+013	2.766e+000	2.352e+000	9.000e+001	0.000e+000	-1.000e+000	57.596	5.632e+001	2.779e+000	2.315e+000	ASTM: F723 - 82	57.352	5.607e+001	2.746e+000	2.321e+000	-1.000e+000	0.000e+000	-1.000e+000	0.250	3.342e-001	4.605e+001	4.365e+001													57.596						 | ||||
| 0.00	1	2	23	5	3	HGCV2	4/25/2025 8:40:01 AM		667776	5159	46	Recipe	2.130E-002	SSMDATA	HeaderUniqueId	Id	-	PARALLEL	6_5PT10M.PAT	90.000	5PT MES	2500	667776	6IN5PT	-5.00	-20.00	UniqueId	ZONE2	150.00	-	1.02	N	16.621	1.713e+001	2.563e+000	2.053e+000	2000.00	1.493	2.251e+000	3.713e+001	2.931e+001	7.695E+013	7.599e+013	2.799e+000	2.352e+000	7.733E+013	7.634e+013	2.766e+000	2.352e+000	9.000e+001	0.000e+000	-1.000e+000	55.595	5.632e+001	2.779e+000	2.315e+000	ASTM: F723 - 82	55.324	5.607e+001	2.746e+000	2.321e+000	-1.000e+000	0.000e+000	-1.000e+000	0.327	3.342e-001	4.605e+001	4.365e+001														55.595					 | ||||
| 0.00	1	2	23	5	4	HGCV2	4/25/2025 8:40:01 AM		667776	5159	46	Recipe	2.130E-002	SSMDATA	HeaderUniqueId	Id	-	PARALLEL	6_5PT10M.PAT	90.000	5PT MES	2500	667776	6IN5PT	-5.00	-20.00	UniqueId	ZONE2	150.00	-	1.02	N	17.015	1.713e+001	2.563e+000	2.053e+000	2000.00	3.257	2.251e+000	3.713e+001	2.931e+001	7.571E+013	7.599e+013	2.799e+000	2.352e+000	7.623E+013	7.634e+013	2.766e+000	2.352e+000	9.000e+001	0.000e+000	-1.000e+000	56.500	5.632e+001	2.779e+000	2.315e+000	ASTM: F723 - 82	56.121	5.607e+001	2.746e+000	2.321e+000	-1.000e+000	0.000e+000	-1.000e+000	0.584	3.342e-001	4.605e+001	4.365e+001															56.500				 | ||||
| NUM_DATA_ROWS	000000005 | ||||
| NUM_DATA_COLUMNS	000000088 | ||||
| DELIMITER	; | ||||
| START_TIME_FORMAT	MM/dd/yyyy HH:mm:ss | ||||
| START_TIME	04/25/2025 08:40:01 | ||||
| LOGISTICS_COLUMN	A_LOGISTICS | ||||
| LOGISTICS_COLUMN	B_LOGISTICS | ||||
| LOGISTICS_1	A_HeaderId=241989;A_SubgroupId=1745595622;A_BASIC_TYPE=;A_INFO=202504250840019538.pcl.csv;A_INFO2=5;A_JOBID=HGCV2;A_MES_ENTITY=HGCV2;A_MID=46-667776-5159;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811672019538124;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2	B_HeaderId=241989;B_SubgroupId=1745595622;B_BASIC_TYPE=- EpiPro 5000;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667776;B_NULL_DATA=;B_PPID=6_5PT10M.PAT;B_PROCESS_JOBID=46;B_PRODUCT=5159;B_SEQUENCE=638811672019538124;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| EOF | ||||
| HEADER_TAG|HEADER_VALUE | ||||
| FORMAT|2.00 | ||||
| NUMBER_PASSES|0001 | ||||
| HEADER_OFFSET|000004856 | ||||
| DATA_OFFSET|000000128 | ||||
| END_OFFSET|000005521 | ||||
|  | ||||
| |Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Operator|StartVoltage|Wafer|StopVoltage|Lot|RampRate|Plan|GLimit|Date|Time|SetupFile|WaferSize|Folder|Ccomp|Pattern|Area|CondType|RhoMethod|Model|MeanNAvg|MeanNsl|MeanVd|MeanFlatZ|MeanRhoAvg|MeanRhosl|MeanPhase|MeanGrade|MeanRs|StandardDeviationPercentageNAvg|StandardDeviationPercentageNsl|StandardDeviationPercentageVd|StandardDeviationPercentageFlatZ|StandardDeviationPercentageRhoAvg|StandardDeviationPercentageRhosl|StandardDeviationPercentagePhase|StandardDeviationPercentageGrade|StandardDeviationPercentageRs|RadialGradientNAvg|RadialGradientNsl|RadialGradientVd|RadialGradientFlatZ|RadialGradientRhoAvg|RadialGradientRhosl|RadialGradientPhase|RadialGradientGrade|RadialGradientRs|Site|X|Y|NAvg|RhoAvg|Nsl|Rhosl|Vd|Phase|FlatZ|Grade|XLeft|XRight|BottomY|TopY|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|Nine10mmEdgeMean|Nine4mmEdgeMean|NineCriticalPointsAverage|NineCriticalPointsPhaseAngleAverage|NineCriticalPointsStdDev|NineEdgeMeanDelta|NineMean|NineResRangePercent|AreaDeltaFromLastRun|Variation|Percentage HgCV 4PP Delta|RhoAvg01|RhoAvg02|RhoAvg03|RhoAvg04|RhoAvg05|RhoAvg06|RhoAvg07|RhoAvg08|RhoAvg09|EventId| | ||||
| |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| | ||||
| 0.00|1|2|5|638811672019538124|HGCV2|0|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|1|0.0|0.0|7.854E+013|54.482|7.882E+013|54.286|0.294|90.000|17.109|2.193|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159||||||||||||54.482|||||||||23 | ||||
| 0.00|1|2|5|638811672019538124|HGCV2|1|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|2|56.3|32.5|7.447E+013|57.431|7.472E+013|57.247|0.216|90.000|17.428|1.898|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159|||||||||||||57.431||||||||23 | ||||
| 0.00|1|2|5|638811672019538124|HGCV2|2|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|3|-32.5|56.3|7.426E+013|57.596|7.458E+013|57.352|0.250|90.000|17.496|2.414|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159||||||||||||||57.596|||||||23 | ||||
| 0.00|1|2|5|638811672019538124|HGCV2|3|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|4|-56.3|-32.5|7.695E+013|55.595|7.733E+013|55.324|0.327|90.000|16.621|1.493|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159|||||||||||||||55.595||||||23 | ||||
| 0.00|1|2|5|638811672019538124|HGCV2|4|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|5|32.5|-56.3|7.571E+013|56.500|7.623E+013|56.121|0.584|90.000|17.015|3.257|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159||||||||||||||||56.500|||||23 | ||||
|  | ||||
| NUM_DATA_ROWS|000000005 | ||||
| NUM_DATA_COLUMNS|000000096 | ||||
| DELIMITER|; | ||||
| START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss | ||||
| START_TIME|04/25/2025 08:40:01 | ||||
| LOGISTICS_COLUMN|A_LOGISTICS | ||||
| LOGISTICS_COLUMN|B_LOGISTICS | ||||
| LOGISTICS_1|A_BASIC_TYPE=;A_INFO=202504250840019538.pcl.csv;A_INFO2=5;A_JOBID=HGCV2;A_MES_ENTITY=HGCV2;A_MID=46-667776-5159;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811672019538124;A_WAFER_ID=;A_WAFER_POS=; | ||||
| LOGISTICS_2|B_BASIC_TYPE=- EpiPro 5000;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667776;B_NULL_DATA=;B_PPID=6_5PT10M.PAT;B_PROCESS_JOBID=46;B_PRODUCT=5159;B_SEQUENCE=638811672019538124;B_WAFER_ID=-;B_WAFER_POS=-; | ||||
| END_HEADER | ||||
							
								
								
									
										3337
									
								
								.vscode/METROLOGY_SERVICES.vba
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3337
									
								
								.vscode/METROLOGY_SERVICES.vba
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							| @ -1,6 +0,0 @@ | ||||
| { | ||||
|     "files.associations": { | ||||
|         "*.txt": "vba" | ||||
|     }, | ||||
|     "cSpell.words": [] | ||||
| } | ||||
| @ -21,75 +21,77 @@ | ||||
|                 "<1,12>": "SCOPE #3", | ||||
|                 "<1,13>": "SCOPE #4", | ||||
|                 "<1,14>": "SCOPE #5", | ||||
|                 "<1,15>": "SP1 1", | ||||
|                 "<1,16>": "TENCOR1", | ||||
|                 "<1,17>": "TENCOR2", | ||||
|                 "<1,18>": "TENCOR3", | ||||
|                 "<1,19>": "BIORAD2", | ||||
|                 "<1,20>": "BIORAD3", | ||||
|                 "<1,21>": "BIORAD4", | ||||
|                 "<1,22>": "BIORAD5", | ||||
|                 "<1,23>": "CDE4", | ||||
|                 "<1,24>": "CDE5", | ||||
|                 "<1,25>": "CDE6", | ||||
|                 "<1,26>": "HGCV1", | ||||
|                 "<1,27>": "HGCV2", | ||||
|                 "<1,28>": "HGCV3", | ||||
|                 "<1,29>": "SPV", | ||||
|                 "<1,30>": "SRP", | ||||
|                 "<1,31>": "BELLJAR", | ||||
|                 "<1,32>": "6INLESS", | ||||
|                 "<1,33>": "6INLESS2", | ||||
|                 "<1,34>": "6MACTRONIX #1", | ||||
|                 "<1,35>": "6MACTRONIX #2", | ||||
|                 "<1,36>": "6MACTRONIX #3", | ||||
|                 "<1,37>": "6MACTRONIX #4", | ||||
|                 "<1,38>": "8INLESS", | ||||
|                 "<1,39>": "8INLESS2", | ||||
|                 "<1,40>": "BAGGER1", | ||||
|                 "<1,41>": "BAGGER2", | ||||
|                 "<1,42>": "BAGGER3", | ||||
|                 "<1,43>": "BAGGER4", | ||||
|                 "<1,44>": "6INFF01", | ||||
|                 "<1,45>": "6INFF02", | ||||
|                 "<1,46>": "6INFF03", | ||||
|                 "<1,47>": "6INFF04", | ||||
|                 "<1,48>": "6INFF05", | ||||
|                 "<1,49>": "6INFF06", | ||||
|                 "<1,50>": "6INFF07", | ||||
|                 "<1,51>": "6INFF08", | ||||
|                 "<1,52>": "6INFF09", | ||||
|                 "<1,53>": "6INFF10", | ||||
|                 "<1,54>": "8INNF01", | ||||
|                 "<1,55>": "8INNF02", | ||||
|                 "<1,56>": "8INNF03", | ||||
|                 "<1,57>": "8INNF04", | ||||
|                 "<1,58>": "8INNF05", | ||||
|                 "<1,59>": "8INFF01", | ||||
|                 "<1,60>": "8INFF02", | ||||
|                 "<1,61>": "8INFF03", | ||||
|                 "<1,62>": "8INFF04", | ||||
|                 "<1,63>": "MACTRONIX #1", | ||||
|                 "<1,64>": "MACTRONIX #2 ", | ||||
|                 "<1,65>": "MACTRONIX #3", | ||||
|                 "<1,66>": "MACTRONIX #4", | ||||
|                 "<1,67>": "MACTRONIX #5", | ||||
|                 "<1,68>": "MACTRONIX #6", | ||||
|                 "<1,69>": "MACTRONIX #7", | ||||
|                 "<1,70>": "TALL_PITCH1", | ||||
|                 "<1,71>": "TALL_PITCH2", | ||||
|                 "<1,72>": "TALL_PITCH3", | ||||
|                 "<1,73>": "TALL_PITCH4", | ||||
|                 "<1,74>": "WC6INCH1", | ||||
|                 "<1,75>": "WC6INCH2", | ||||
|                 "<1,76>": "WC6INCH3", | ||||
|                 "<1,77>": "WC6INCH4", | ||||
|                 "<1,78>": "WC8INCH1", | ||||
|                 "<1,79>": "WC8INCH2", | ||||
|                 "<1,80>": "WC8INCH3", | ||||
|                 "<1,81>": "ELLP01", | ||||
|                 "<1,82>": "LEAKCHK01", | ||||
|                 "<1,83>": "LEAKCHK02" | ||||
|                 "<1,15>": "SCOPE #6", | ||||
|                 "<1,16>": "SP1 1", | ||||
|                 "<1,17>": "TENCOR1", | ||||
|                 "<1,18>": "TENCOR2", | ||||
|                 "<1,19>": "TENCOR3", | ||||
|                 "<1,20>": "BIORAD2", | ||||
|                 "<1,21>": "BIORAD3", | ||||
|                 "<1,22>": "BIORAD4", | ||||
|                 "<1,23>": "BIORAD5", | ||||
|                 "<1,24>": "CDE4", | ||||
|                 "<1,25>": "CDE5", | ||||
|                 "<1,26>": "CDE6", | ||||
|                 "<1,27>": "HGCV1", | ||||
|                 "<1,28>": "HGCV2", | ||||
|                 "<1,29>": "HGCV3", | ||||
|                 "<1,30>": "SPV", | ||||
|                 "<1,31>": "SRP", | ||||
|                 "<1,32>": "BELLJAR", | ||||
|                 "<1,33>": "6INLESS", | ||||
|                 "<1,34>": "6INLESS2", | ||||
|                 "<1,35>": "6MACTRONIX #1", | ||||
|                 "<1,36>": "6MACTRONIX #2", | ||||
|                 "<1,37>": "6MACTRONIX #3", | ||||
|                 "<1,38>": "6MACTRONIX #4", | ||||
|                 "<1,39>": "8INLESS", | ||||
|                 "<1,40>": "8INLESS2", | ||||
|                 "<1,41>": "BAGGER1", | ||||
|                 "<1,42>": "BAGGER2", | ||||
|                 "<1,43>": "BAGGER3", | ||||
|                 "<1,44>": "BAGGER4", | ||||
|                 "<1,45>": "6INFF01", | ||||
|                 "<1,46>": "6INFF02", | ||||
|                 "<1,47>": "6INFF03", | ||||
|                 "<1,48>": "6INFF04", | ||||
|                 "<1,49>": "6INFF05", | ||||
|                 "<1,50>": "6INFF06", | ||||
|                 "<1,51>": "6INFF07", | ||||
|                 "<1,52>": "6INFF08", | ||||
|                 "<1,53>": "6INFF09", | ||||
|                 "<1,54>": "6INFF10", | ||||
|                 "<1,55>": "8INNF01", | ||||
|                 "<1,56>": "8INNF02", | ||||
|                 "<1,57>": "8INNF03", | ||||
|                 "<1,58>": "8INNF04", | ||||
|                 "<1,59>": "8INNF05", | ||||
|                 "<1,60>": "8INFF01", | ||||
|                 "<1,61>": "8INFF02", | ||||
|                 "<1,62>": "8INFF03", | ||||
|                 "<1,63>": "8INFF04", | ||||
|                 "<1,64>": "MACTRONIX #1", | ||||
|                 "<1,65>": "MACTRONIX #2 ", | ||||
|                 "<1,66>": "MACTRONIX #3", | ||||
|                 "<1,67>": "MACTRONIX #4", | ||||
|                 "<1,68>": "MACTRONIX #5", | ||||
|                 "<1,69>": "MACTRONIX #6", | ||||
|                 "<1,70>": "MACTRONIX #7", | ||||
|                 "<1,71>": "TALL_PITCH1", | ||||
|                 "<1,72>": "TALL_PITCH2", | ||||
|                 "<1,73>": "TALL_PITCH3", | ||||
|                 "<1,74>": "TALL_PITCH4", | ||||
|                 "<1,75>": "WC6INCH1", | ||||
|                 "<1,76>": "WC6INCH2", | ||||
|                 "<1,77>": "WC6INCH3", | ||||
|                 "<1,78>": "WC6INCH4", | ||||
|                 "<1,79>": "WC8INCH1", | ||||
|                 "<1,80>": "WC8INCH2", | ||||
|                 "<1,81>": "WC8INCH3", | ||||
|                 "<1,82>": "ELLP01", | ||||
|                 "<1,83>": "LEAKCHK01", | ||||
|                 "<1,84>": "LEAKCHK02", | ||||
|                 "<1,85>": "TBI #1" | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @ -1,11 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "declare function set_printer, Get_Property\r\ndeclare subroutine record_lock, Set_Property\r\n$insert msg_equates\r\n$insert lsl_users_equ\r\n\r\n*Void = Set_Property('SYSTSEM','IDLEPROC','')\r\nVoid = Set_Property(@WINDOW,'TIMER','')\r\n\r\n\r\nUNLOCK All\r\n/*\r\nDEAD - 1/27/2005 JCH\r\n* will write out the x and y coords for the user, so the menu comes up at the last used\r\n* location\r\nWinSize = get_property( @window, 'SIZE' )\r\nX = WinSize<1>\r\nY = WinSize<2>\r\nXsize = WinSize<3>\r\nYsize = WinSize<4>\r\n\r\nIF @USERNAME = 'BRYCE_BARB' THEN DEBUG\r\n\r\nopen 'LSL_USERS' to LSLUsersTableVar else\r\n   MsgInfo = ''\r\n   MsgInfo<mtext$> = 'Unable to open LSL_USERS...'\r\n   MsgInfo<mcol$> = -2\r\n   MsgInfo<mrow$> = -2\r\n   Void = msg( '', MsgInfo )\r\nend\r\n\r\nread UserRec from LSLUsersTableVar, @user4 then\r\n\t   \r\n\t*UserRec = xlate( 'LSL_USERS', @user4, '', 'X' )\r\n\tUserRec<lsl_users_menu_xpos$> = X\r\n\tUserRec<lsl_users_menu_ypos$> = Y\r\n\tUserRec<lsl_users_menu_xsize$> = Xsize\r\n\tUserRec<lsl_users_menu_ysize$> = Ysize\r\n\twrite UserRec on LSLUsersTableVar, @user4 else Null\r\n\r\nEND;* End of User Rec Read\r\n*/\r\n\r\nRETURN 1\r\n" | ||||
|         } | ||||
|     } | ||||
| } | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -1,11 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "DECLARE FUNCTION Start_Window\r\n\r\nvoid = Start_Window('REACT_STATUS_EVEN',@WINDOW,'')\r\nvoid = Start_Window('REACT_STATUS_ODD',@WINDOW,'')\r\n\r\nvoid = Start_Window('TOOL_STATUS',@WINDOW,'')\r\n\r\n\r\nRETURN 1" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -1,11 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -1,11 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -1,11 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -1,11 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -1,11 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "declare subroutine forward_event\r\n\r\nforward_event( x, y, Width, Height )\r\n*.group_1->size = -10:@fm:-10:@fm:Width:@fm:Height\r\nRETURN 0" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -1,11 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "\r\nDeclare subroutine Post_Event, Set_Property\r\n\r\n*If @User4 EQ 'ERIK_L' then Set_Property(@Window, '@CLOSE', 1)\r\n\r\nClose = Get_Property(@Window, '@CLOSE')\r\n\r\nCurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')\r\n\r\nOPEN 'SYSLISTS' TO ListsFile THEN\r\n\tStation = @STATION\r\n\tStation = Station[1,'_']\t\t\r\n\tListKey = Station:'*KEEP_ALIVE'\r\n\tListRec = @USERNAME:@FM:CurrDTM\r\n\tWRITE ListRec ON ListsFile,ListKey ELSE NULL\r\nEND \r\n\r\n\r\nRETURN 1" | ||||
|         } | ||||
|     } | ||||
| } | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -1,402 +0,0 @@ | ||||
| { | ||||
|     "header": { | ||||
|         "version": 1, | ||||
|         "type": "record" | ||||
|     }, | ||||
|     "body": { | ||||
|         "record1": { | ||||
|             "<1>": "1010", | ||||
|             "<2>": "1", | ||||
|             "<3>": "" | ||||
|         }, | ||||
|         "record2": { | ||||
|             "<1>": { | ||||
|                 "<1,1>": "LSL_MAIN", | ||||
|                 "<1,2>": "", | ||||
|                 "<1,3>": "WINDOW", | ||||
|                 "<1,4>": "", | ||||
|                 "<1,5>": "147", | ||||
|                 "<1,6>": "181", | ||||
|                 "<1,7>": "-631", | ||||
|                 "<1,8>": "-427", | ||||
|                 "<1,9>": "Infineon Technologies", | ||||
|                 "<1,10>": { | ||||
|                     "<1,10,1>": "0x92C70000", | ||||
|                     "<1,10,2>": "0x0" | ||||
|                 }, | ||||
|                 "<1,11>": { | ||||
|                     "<1,11,1>": "0x100", | ||||
|                     "<1,11,2>": "0x80000000" | ||||
|                 }, | ||||
|                 "<1,12>": "0", | ||||
|                 "<1,13>": "-2", | ||||
|                 "<1,14>": "0", | ||||
|                 "<1,15>": "", | ||||
|                 "<1,16>": "", | ||||
|                 "<1,17>": "", | ||||
|                 "<1,18>": "", | ||||
|                 "<1,19>": "", | ||||
|                 "<1,20>": "", | ||||
|                 "<1,21>": "", | ||||
|                 "<1,22>": "", | ||||
|                 "<1,23>": "", | ||||
|                 "<1,24>": { | ||||
|                     "<1,24,1>": "0", | ||||
|                     "<1,24,2>": "0", | ||||
|                     "<1,24,3>": "0", | ||||
|                     "<1,24,4>": "0", | ||||
|                     "<1,24,5>": "0", | ||||
|                     "<1,24,6>": "0" | ||||
|                 }, | ||||
|                 "<1,25>": "0", | ||||
|                 "<1,26>": "0", | ||||
|                 "<1,27>": "", | ||||
|                 "<1,28>": "", | ||||
|                 "<1,29>": "", | ||||
|                 "<1,30>": "", | ||||
|                 "<1,31>": "", | ||||
|                 "<1,32>": { | ||||
|                     "<1,32,1>": "0x7FFFE", | ||||
|                     "<1,32,2>": "0xF001E988" | ||||
|                 }, | ||||
|                 "<1,33>": "", | ||||
|                 "<1,34>": "LSL2*IMAGE*ICO*DATASET", | ||||
|                 "<1,35>": "", | ||||
|                 "<1,36>": "", | ||||
|                 "<1,37>": { | ||||
|                     "<1,37,1>": "0x10001", | ||||
|                     "<1,37,2>": "0x10001" | ||||
|                 }, | ||||
|                 "<1,38>": { | ||||
|                     "<1,38,1>": "1", | ||||
|                     "<1,38,2>": "1" | ||||
|                 }, | ||||
|                 "<1,39>": "", | ||||
|                 "<1,40>": "0", | ||||
|                 "<1,41>": "", | ||||
|                 "<1,42>": "", | ||||
|                 "<1,43>": "", | ||||
|                 "<1,44>": "", | ||||
|                 "<1,45>": "", | ||||
|                 "<1,46>": "", | ||||
|                 "<1,47>": "", | ||||
|                 "<1,48>": "", | ||||
|                 "<1,49>": "", | ||||
|                 "<1,50>": "", | ||||
|                 "<1,51>": "", | ||||
|                 "<1,52>": "" | ||||
|             } | ||||
|         }, | ||||
|         "record3": { | ||||
|             "<1>": { | ||||
|                 "<1,1>": "MDICLIENT", | ||||
|                 "<1,2>": "RTIMDICLIENT", | ||||
|                 "<1,3>": "MDICLIENT", | ||||
|                 "<1,4>": "LSL_MAIN", | ||||
|                 "<1,5>": "3", | ||||
|                 "<1,6>": "7", | ||||
|                 "<1,7>": "-625", | ||||
|                 "<1,8>": "-607", | ||||
|                 "<1,9>": "", | ||||
|                 "<1,10>": { | ||||
|                     "<1,10,1>": "0x56B00000", | ||||
|                     "<1,10,2>": "0x0" | ||||
|                 }, | ||||
|                 "<1,11>": { | ||||
|                     "<1,11,1>": "0xC000", | ||||
|                     "<1,11,2>": "0x80000000" | ||||
|                 }, | ||||
|                 "<1,12>": "1", | ||||
|                 "<1,13>": "-2", | ||||
|                 "<1,14>": "0", | ||||
|                 "<1,15>": "", | ||||
|                 "<1,16>": "", | ||||
|                 "<1,17>": "", | ||||
|                 "<1,18>": "", | ||||
|                 "<1,19>": "", | ||||
|                 "<1,20>": "", | ||||
|                 "<1,21>": "", | ||||
|                 "<1,22>": "", | ||||
|                 "<1,23>": "", | ||||
|                 "<1,24>": "", | ||||
|                 "<1,25>": "0", | ||||
|                 "<1,26>": "0", | ||||
|                 "<1,27>": "", | ||||
|                 "<1,28>": "", | ||||
|                 "<1,29>": "", | ||||
|                 "<1,30>": "", | ||||
|                 "<1,31>": "", | ||||
|                 "<1,32>": { | ||||
|                     "<1,32,1>": "0x7fffc", | ||||
|                     "<1,32,2>": "0xf001c808" | ||||
|                 }, | ||||
|                 "<1,33>": "", | ||||
|                 "<1,34>": "", | ||||
|                 "<1,35>": "", | ||||
|                 "<1,36>": "", | ||||
|                 "<1,37>": "", | ||||
|                 "<1,38>": "", | ||||
|                 "<1,39>": "", | ||||
|                 "<1,40>": "1" | ||||
|             }, | ||||
|             "<2>": "" | ||||
|         }, | ||||
|         "record4": { | ||||
|             "<1>": { | ||||
|                 "<1,1>": { | ||||
|                     "<1,1,1>": "MENU", | ||||
|                     "<1,1,2>": "4", | ||||
|                     "<1,1,3>": "", | ||||
|                     "<1,1,4>": "", | ||||
|                     "<1,1,5>": "0", | ||||
|                     "<1,1,6>": "0", | ||||
|                     "<1,1,7>": "0", | ||||
|                     "<1,1,8>": "0", | ||||
|                     "<1,1,9>": "12", | ||||
|                     "<1,1,10>": "", | ||||
|                     "<1,1,11>": "0", | ||||
|                     "<1,1,12>": "" | ||||
|                 }, | ||||
|                 "<1,2>": { | ||||
|                     "<1,2,1>": "POPUP", | ||||
|                     "<1,2,2>": "1", | ||||
|                     "<1,2,3>": "", | ||||
|                     "<1,2,4>": "&File", | ||||
|                     "<1,2,5>": "0", | ||||
|                     "<1,2,6>": "0", | ||||
|                     "<1,2,7>": "0", | ||||
|                     "<1,2,8>": "0", | ||||
|                     "<1,2,9>": "", | ||||
|                     "<1,2,10>": "", | ||||
|                     "<1,2,11>": "0", | ||||
|                     "<1,2,12>": "" | ||||
|                 }, | ||||
|                 "<1,3>": { | ||||
|                     "<1,3,1>": "ITEM", | ||||
|                     "<1,3,2>": "", | ||||
|                     "<1,3,3>": "", | ||||
|                     "<1,3,4>": "E&xit\tAlt+F4", | ||||
|                     "<1,3,5>": "0", | ||||
|                     "<1,3,6>": "0", | ||||
|                     "<1,3,7>": "0", | ||||
|                     "<1,3,8>": "1139", | ||||
|                     "<1,3,9>": "", | ||||
|                     "<1,3,10>": "", | ||||
|                     "<1,3,11>": "0", | ||||
|                     "<1,3,12>": "" | ||||
|                 }, | ||||
|                 "<1,4>": { | ||||
|                     "<1,4,1>": "POPUP", | ||||
|                     "<1,4,2>": "2", | ||||
|                     "<1,4,3>": "", | ||||
|                     "<1,4,4>": "&DataWindows", | ||||
|                     "<1,4,5>": "0", | ||||
|                     "<1,4,6>": "0", | ||||
|                     "<1,4,7>": "0", | ||||
|                     "<1,4,8>": "0", | ||||
|                     "<1,4,9>": "", | ||||
|                     "<1,4,10>": "", | ||||
|                     "<1,4,11>": "0", | ||||
|                     "<1,4,12>": "" | ||||
|                 }, | ||||
|                 "<1,5>": { | ||||
|                     "<1,5,1>": "ITEM", | ||||
|                     "<1,5,2>": "", | ||||
|                     "<1,5,3>": "", | ||||
|                     "<1,5,4>": "&Company", | ||||
|                     "<1,5,5>": "0", | ||||
|                     "<1,5,6>": "0", | ||||
|                     "<1,5,7>": "0", | ||||
|                     "<1,5,8>": "0", | ||||
|                     "<1,5,9>": "", | ||||
|                     "<1,5,10>": "", | ||||
|                     "<1,5,11>": "0", | ||||
|                     "<1,5,12>": "" | ||||
|                 }, | ||||
|                 "<1,6>": { | ||||
|                     "<1,6,1>": "ITEM", | ||||
|                     "<1,6,2>": "", | ||||
|                     "<1,6,3>": "", | ||||
|                     "<1,6,4>": "&Personal Names", | ||||
|                     "<1,6,5>": "0", | ||||
|                     "<1,6,6>": "0", | ||||
|                     "<1,6,7>": "0", | ||||
|                     "<1,6,8>": "0", | ||||
|                     "<1,6,9>": "", | ||||
|                     "<1,6,10>": "", | ||||
|                     "<1,6,11>": "0", | ||||
|                     "<1,6,12>": "" | ||||
|                 }, | ||||
|                 "<1,7>": { | ||||
|                     "<1,7,1>": "POPUP", | ||||
|                     "<1,7,2>": "2", | ||||
|                     "<1,7,3>": "", | ||||
|                     "<1,7,4>": "&Messages", | ||||
|                     "<1,7,5>": "0", | ||||
|                     "<1,7,6>": "0", | ||||
|                     "<1,7,7>": "0", | ||||
|                     "<1,7,8>": "0", | ||||
|                     "<1,7,9>": "", | ||||
|                     "<1,7,10>": "", | ||||
|                     "<1,7,11>": "0", | ||||
|                     "<1,7,12>": "" | ||||
|                 }, | ||||
|                 "<1,8>": { | ||||
|                     "<1,8,1>": "ITEM", | ||||
|                     "<1,8,2>": "", | ||||
|                     "<1,8,3>": "", | ||||
|                     "<1,8,4>": "&New", | ||||
|                     "<1,8,5>": "0", | ||||
|                     "<1,8,6>": "0", | ||||
|                     "<1,8,7>": "0", | ||||
|                     "<1,8,8>": "0", | ||||
|                     "<1,8,9>": "", | ||||
|                     "<1,8,10>": "", | ||||
|                     "<1,8,11>": "0", | ||||
|                     "<1,8,12>": "" | ||||
|                 }, | ||||
|                 "<1,9>": { | ||||
|                     "<1,9,1>": "ITEM", | ||||
|                     "<1,9,2>": "", | ||||
|                     "<1,9,3>": "", | ||||
|                     "<1,9,4>": "&Check/View", | ||||
|                     "<1,9,5>": "0", | ||||
|                     "<1,9,6>": "0", | ||||
|                     "<1,9,7>": "0", | ||||
|                     "<1,9,8>": "0", | ||||
|                     "<1,9,9>": "", | ||||
|                     "<1,9,10>": "", | ||||
|                     "<1,9,11>": "0", | ||||
|                     "<1,9,12>": "" | ||||
|                 }, | ||||
|                 "<1,10>": { | ||||
|                     "<1,10,1>": "POPUP", | ||||
|                     "<1,10,2>": "2", | ||||
|                     "<1,10,3>": "", | ||||
|                     "<1,10,4>": "&Help", | ||||
|                     "<1,10,5>": "0", | ||||
|                     "<1,10,6>": "0", | ||||
|                     "<1,10,7>": "0", | ||||
|                     "<1,10,8>": "0", | ||||
|                     "<1,10,9>": "", | ||||
|                     "<1,10,10>": "", | ||||
|                     "<1,10,11>": "0", | ||||
|                     "<1,10,12>": "" | ||||
|                 }, | ||||
|                 "<1,11>": { | ||||
|                     "<1,11,1>": "ITEM", | ||||
|                     "<1,11,2>": "", | ||||
|                     "<1,11,3>": "", | ||||
|                     "<1,11,4>": "&Help\tF1", | ||||
|                     "<1,11,5>": "0", | ||||
|                     "<1,11,6>": "0", | ||||
|                     "<1,11,7>": "0", | ||||
|                     "<1,11,8>": "112", | ||||
|                     "<1,11,9>": "", | ||||
|                     "<1,11,10>": "", | ||||
|                     "<1,11,11>": "0", | ||||
|                     "<1,11,12>": "" | ||||
|                 }, | ||||
|                 "<1,12>": { | ||||
|                     "<1,12,1>": "ITEM", | ||||
|                     "<1,12,2>": "", | ||||
|                     "<1,12,3>": "", | ||||
|                     "<1,12,4>": "&About\tCtrl+F1", | ||||
|                     "<1,12,5>": "0", | ||||
|                     "<1,12,6>": "0", | ||||
|                     "<1,12,7>": "0", | ||||
|                     "<1,12,8>": "624", | ||||
|                     "<1,12,9>": "", | ||||
|                     "<1,12,10>": "", | ||||
|                     "<1,12,11>": "0", | ||||
|                     "<1,12,12>": "" | ||||
|                 } | ||||
|             }, | ||||
|             "<2>": { | ||||
|                 "<2,1>": "", | ||||
|                 "<2,2>": { | ||||
|                     "<2,2,1>": { | ||||
|                         "<2,2,1,1>": "E", | ||||
|                         "<2,2,1,2>": "CLOSE", | ||||
|                         "<2,2,1,3>": "@WINDOW", | ||||
|                         "<2,2,1,4>": "", | ||||
|                         "<2,2,1,5>": "", | ||||
|                         "<2,2,1,6>": "" | ||||
|                     }, | ||||
|                     "<2,2,2>": { | ||||
|                         "<2,2,2,1>": "R", | ||||
|                         "<2,2,2,2>": "EXECUTE", | ||||
|                         "<2,2,2,3>": "LSL2*OIWINEXE**COMPANY", | ||||
|                         "<2,2,2,4>": { | ||||
|                             "<2,2,2,4,1>": "CreateParam", | ||||
|                             "<2,2,2,4,2>": "LSL_MAIN" | ||||
|                         }, | ||||
|                         "<2,2,2,5>": "", | ||||
|                         "<2,2,2,6>": "" | ||||
|                     }, | ||||
|                     "<2,2,3>": { | ||||
|                         "<2,2,3,1>": "R", | ||||
|                         "<2,2,3,2>": "EXECUTE", | ||||
|                         "<2,2,3,3>": "LSL2*OIWINEXE**P_NAMES", | ||||
|                         "<2,2,3,4>": { | ||||
|                             "<2,2,3,4,1>": "CreateParam", | ||||
|                             "<2,2,3,4,2>": "LSL_MAIN" | ||||
|                         }, | ||||
|                         "<2,2,3,5>": "", | ||||
|                         "<2,2,3,6>": "" | ||||
|                     }, | ||||
|                     "<2,2,4>": { | ||||
|                         "<2,2,4,1>": "R", | ||||
|                         "<2,2,4,2>": "EXECUTE", | ||||
|                         "<2,2,4,3>": "LSL2*OIWINEXE**NOTES", | ||||
|                         "<2,2,4,4>": { | ||||
|                             "<2,2,4,4,1>": "CreateParam", | ||||
|                             "<2,2,4,4,2>": "LSL_MAIN" | ||||
|                         }, | ||||
|                         "<2,2,4,5>": "", | ||||
|                         "<2,2,4,6>": "" | ||||
|                     }, | ||||
|                     "<2,2,5>": { | ||||
|                         "<2,2,5,1>": "R", | ||||
|                         "<2,2,5,2>": "EXECUTE", | ||||
|                         "<2,2,5,3>": "LSL2*OIWINEXE**NOTE_PTRS", | ||||
|                         "<2,2,5,4>": { | ||||
|                             "<2,2,5,4,1>": "CreateParam", | ||||
|                             "<2,2,5,4,2>": "LSL_MAIN" | ||||
|                         }, | ||||
|                         "<2,2,5,5>": "", | ||||
|                         "<2,2,5,6>": "" | ||||
|                     }, | ||||
|                     "<2,2,6>": { | ||||
|                         "<2,2,6,1>": "E", | ||||
|                         "<2,2,6,2>": "HELP", | ||||
|                         "<2,2,6,3>": "@FOCUS", | ||||
|                         "<2,2,6,4>": "", | ||||
|                         "<2,2,6,5>": "", | ||||
|                         "<2,2,6,6>": "" | ||||
|                     }, | ||||
|                     "<2,2,7>": { | ||||
|                         "<2,2,7,1>": "E", | ||||
|                         "<2,2,7,2>": "NOTES", | ||||
|                         "<2,2,7,3>": "@FOCUS", | ||||
|                         "<2,2,7,4>": "", | ||||
|                         "<2,2,7,5>": "", | ||||
|                         "<2,2,7,6>": "" | ||||
|                     }, | ||||
|                     "<2,2,8>": "" | ||||
|                 }, | ||||
|                 "<2,3>": { | ||||
|                     "<2,3,1>": "FILE.EXIT", | ||||
|                     "<2,3,2>": "DATAWINDOWS.COMPANY", | ||||
|                     "<2,3,3>": "DATAWINDOWS.PERSONAL_NAMES", | ||||
|                     "<2,3,4>": "MESSAGES.NEW", | ||||
|                     "<2,3,5>": "MESSAGES.CHECK/VIEW", | ||||
|                     "<2,3,6>": "HELP.HELP", | ||||
|                     "<2,3,7>": "HELP.ABOUT", | ||||
|                     "<2,3,8>": "" | ||||
|                 }, | ||||
|                 "<2,4>": "0" | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -572,7 +572,7 @@ | ||||
|                 "<3,8>": "28", | ||||
|                 "<3,9>": "", | ||||
|                 "<3,10>": { | ||||
|                     "<3,10,1>": "0x5E000080", | ||||
|                     "<3,10,1>": "0x5E000088", | ||||
|                     "<3,10,2>": "0x200" | ||||
|                 }, | ||||
|                 "<3,11>": { | ||||
| @ -739,7 +739,7 @@ | ||||
|                 "<4,8>": "28", | ||||
|                 "<4,9>": "", | ||||
|                 "<4,10>": { | ||||
|                     "<4,10,1>": "0x5E000080", | ||||
|                     "<4,10,1>": "0x5E000088", | ||||
|                     "<4,10,2>": "0x200" | ||||
|                 }, | ||||
|                 "<4,11>": { | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -78,7 +78,7 @@ | ||||
|                 "<1,31>": "", | ||||
|                 "<1,32>": "", | ||||
|                 "<1,33>": "", | ||||
|                 "<1,34>": "", | ||||
|                 "<1,34>": "LSL2*IMAGE*ICO*INFINEON", | ||||
|                 "<1,35>": "", | ||||
|                 "<1,36>": "", | ||||
|                 "<1,37>": { | ||||
| @ -18233,7 +18233,7 @@ | ||||
|                 "<120,33>": "", | ||||
|                 "<120,34>": "", | ||||
|                 "<120,35>": "", | ||||
|                 "<120,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<120,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<120,37>": "", | ||||
|                 "<120,38>": "", | ||||
|                 "<120,39>": "", | ||||
| @ -18430,7 +18430,7 @@ | ||||
|                 "<121,33>": "", | ||||
|                 "<121,34>": "", | ||||
|                 "<121,35>": "", | ||||
|                 "<121,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<121,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<121,37>": "", | ||||
|                 "<121,38>": "", | ||||
|                 "<121,39>": "", | ||||
| @ -18627,7 +18627,7 @@ | ||||
|                 "<122,33>": "", | ||||
|                 "<122,34>": "", | ||||
|                 "<122,35>": "", | ||||
|                 "<122,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<122,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<122,37>": "", | ||||
|                 "<122,38>": "", | ||||
|                 "<122,39>": "", | ||||
| @ -18824,7 +18824,7 @@ | ||||
|                 "<123,33>": "", | ||||
|                 "<123,34>": "", | ||||
|                 "<123,35>": "", | ||||
|                 "<123,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<123,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<123,37>": "", | ||||
|                 "<123,38>": "", | ||||
|                 "<123,39>": "", | ||||
| @ -19021,7 +19021,7 @@ | ||||
|                 "<124,33>": "", | ||||
|                 "<124,34>": "", | ||||
|                 "<124,35>": "", | ||||
|                 "<124,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<124,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<124,37>": "", | ||||
|                 "<124,38>": "", | ||||
|                 "<124,39>": "", | ||||
| @ -19218,7 +19218,7 @@ | ||||
|                 "<125,33>": "", | ||||
|                 "<125,34>": "", | ||||
|                 "<125,35>": "", | ||||
|                 "<125,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<125,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<125,37>": "", | ||||
|                 "<125,38>": "", | ||||
|                 "<125,39>": "", | ||||
| @ -19415,7 +19415,7 @@ | ||||
|                 "<126,33>": "", | ||||
|                 "<126,34>": "", | ||||
|                 "<126,35>": "", | ||||
|                 "<126,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<126,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<126,37>": "", | ||||
|                 "<126,38>": "", | ||||
|                 "<126,39>": "", | ||||
| @ -19612,7 +19612,7 @@ | ||||
|                 "<127,33>": "", | ||||
|                 "<127,34>": "", | ||||
|                 "<127,35>": "", | ||||
|                 "<127,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<127,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<127,37>": "", | ||||
|                 "<127,38>": "", | ||||
|                 "<127,39>": "", | ||||
| @ -19809,7 +19809,7 @@ | ||||
|                 "<128,33>": "", | ||||
|                 "<128,34>": "", | ||||
|                 "<128,35>": "", | ||||
|                 "<128,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<128,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<128,37>": "", | ||||
|                 "<128,38>": "", | ||||
|                 "<128,39>": "", | ||||
| @ -20006,7 +20006,7 @@ | ||||
|                 "<129,33>": "", | ||||
|                 "<129,34>": "", | ||||
|                 "<129,35>": "", | ||||
|                 "<129,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<129,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<129,37>": "", | ||||
|                 "<129,38>": "", | ||||
|                 "<129,39>": "", | ||||
| @ -20203,7 +20203,7 @@ | ||||
|                 "<130,33>": "", | ||||
|                 "<130,34>": "", | ||||
|                 "<130,35>": "", | ||||
|                 "<130,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<130,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<130,37>": "", | ||||
|                 "<130,38>": "", | ||||
|                 "<130,39>": "", | ||||
| @ -20400,7 +20400,7 @@ | ||||
|                 "<131,33>": "", | ||||
|                 "<131,34>": "", | ||||
|                 "<131,35>": "", | ||||
|                 "<131,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<131,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<131,37>": "", | ||||
|                 "<131,38>": "", | ||||
|                 "<131,39>": "", | ||||
| @ -20597,7 +20597,7 @@ | ||||
|                 "<132,33>": "", | ||||
|                 "<132,34>": "", | ||||
|                 "<132,35>": "", | ||||
|                 "<132,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<132,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<132,37>": "", | ||||
|                 "<132,38>": "", | ||||
|                 "<132,39>": "", | ||||
| @ -20794,7 +20794,7 @@ | ||||
|                 "<133,33>": "", | ||||
|                 "<133,34>": "", | ||||
|                 "<133,35>": "", | ||||
|                 "<133,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<133,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<133,37>": "", | ||||
|                 "<133,38>": "", | ||||
|                 "<133,39>": "", | ||||
| @ -20991,7 +20991,7 @@ | ||||
|                 "<134,33>": "", | ||||
|                 "<134,34>": "", | ||||
|                 "<134,35>": "", | ||||
|                 "<134,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<134,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<134,37>": "", | ||||
|                 "<134,38>": "", | ||||
|                 "<134,39>": "", | ||||
| @ -21188,7 +21188,7 @@ | ||||
|                 "<135,33>": "", | ||||
|                 "<135,34>": "", | ||||
|                 "<135,35>": "", | ||||
|                 "<135,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<135,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<135,37>": "", | ||||
|                 "<135,38>": "", | ||||
|                 "<135,39>": "", | ||||
| @ -21385,7 +21385,7 @@ | ||||
|                 "<136,33>": "", | ||||
|                 "<136,34>": "", | ||||
|                 "<136,35>": "", | ||||
|                 "<136,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<136,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<136,37>": "", | ||||
|                 "<136,38>": "", | ||||
|                 "<136,39>": "", | ||||
| @ -21582,7 +21582,7 @@ | ||||
|                 "<137,33>": "", | ||||
|                 "<137,34>": "", | ||||
|                 "<137,35>": "", | ||||
|                 "<137,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<137,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<137,37>": "", | ||||
|                 "<137,38>": "", | ||||
|                 "<137,39>": "", | ||||
| @ -21779,7 +21779,7 @@ | ||||
|                 "<138,33>": "", | ||||
|                 "<138,34>": "", | ||||
|                 "<138,35>": "", | ||||
|                 "<138,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<138,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<138,37>": "", | ||||
|                 "<138,38>": "", | ||||
|                 "<138,39>": "", | ||||
| @ -21976,7 +21976,7 @@ | ||||
|                 "<139,33>": "", | ||||
|                 "<139,34>": "", | ||||
|                 "<139,35>": "", | ||||
|                 "<139,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<139,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<139,37>": "", | ||||
|                 "<139,38>": "", | ||||
|                 "<139,39>": "", | ||||
| @ -22173,7 +22173,7 @@ | ||||
|                 "<140,33>": "", | ||||
|                 "<140,34>": "", | ||||
|                 "<140,35>": "", | ||||
|                 "<140,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<140,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<140,37>": "", | ||||
|                 "<140,38>": "", | ||||
|                 "<140,39>": "", | ||||
| @ -22370,7 +22370,7 @@ | ||||
|                 "<141,33>": "", | ||||
|                 "<141,34>": "", | ||||
|                 "<141,35>": "", | ||||
|                 "<141,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<141,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<141,37>": "", | ||||
|                 "<141,38>": "", | ||||
|                 "<141,39>": "", | ||||
| @ -22567,7 +22567,7 @@ | ||||
|                 "<142,33>": "", | ||||
|                 "<142,34>": "", | ||||
|                 "<142,35>": "", | ||||
|                 "<142,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<142,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<142,37>": "", | ||||
|                 "<142,38>": "", | ||||
|                 "<142,39>": "", | ||||
| @ -22764,7 +22764,7 @@ | ||||
|                 "<143,33>": "", | ||||
|                 "<143,34>": "", | ||||
|                 "<143,35>": "", | ||||
|                 "<143,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<143,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<143,37>": "", | ||||
|                 "<143,38>": "", | ||||
|                 "<143,39>": "", | ||||
| @ -22961,7 +22961,7 @@ | ||||
|                 "<144,33>": "", | ||||
|                 "<144,34>": "", | ||||
|                 "<144,35>": "", | ||||
|                 "<144,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<144,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<144,37>": "", | ||||
|                 "<144,38>": "", | ||||
|                 "<144,39>": "", | ||||
| @ -23158,7 +23158,7 @@ | ||||
|                 "<145,33>": "", | ||||
|                 "<145,34>": "", | ||||
|                 "<145,35>": "", | ||||
|                 "<145,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<145,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<145,37>": "", | ||||
|                 "<145,38>": "", | ||||
|                 "<145,39>": "", | ||||
| @ -23355,7 +23355,7 @@ | ||||
|                 "<146,33>": "", | ||||
|                 "<146,34>": "", | ||||
|                 "<146,35>": "", | ||||
|                 "<146,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<146,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<146,37>": "", | ||||
|                 "<146,38>": "", | ||||
|                 "<146,39>": "", | ||||
| @ -23552,7 +23552,7 @@ | ||||
|                 "<147,33>": "", | ||||
|                 "<147,34>": "", | ||||
|                 "<147,35>": "", | ||||
|                 "<147,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<147,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<147,37>": "", | ||||
|                 "<147,38>": "", | ||||
|                 "<147,39>": "", | ||||
| @ -23749,7 +23749,7 @@ | ||||
|                 "<148,33>": "", | ||||
|                 "<148,34>": "", | ||||
|                 "<148,35>": "", | ||||
|                 "<148,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<148,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<148,37>": "", | ||||
|                 "<148,38>": "", | ||||
|                 "<148,39>": "", | ||||
| @ -23946,7 +23946,7 @@ | ||||
|                 "<149,33>": "", | ||||
|                 "<149,34>": "", | ||||
|                 "<149,35>": "", | ||||
|                 "<149,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<149,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<149,37>": "", | ||||
|                 "<149,38>": "", | ||||
|                 "<149,39>": "", | ||||
| @ -24293,7 +24293,7 @@ | ||||
|                 "<151,33>": "", | ||||
|                 "<151,34>": "", | ||||
|                 "<151,35>": "", | ||||
|                 "<151,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<151,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<151,37>": "", | ||||
|                 "<151,38>": "", | ||||
|                 "<151,39>": "", | ||||
| @ -24490,7 +24490,7 @@ | ||||
|                 "<152,33>": "", | ||||
|                 "<152,34>": "", | ||||
|                 "<152,35>": "", | ||||
|                 "<152,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<152,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<152,37>": "", | ||||
|                 "<152,38>": "", | ||||
|                 "<152,39>": "", | ||||
| @ -24687,7 +24687,7 @@ | ||||
|                 "<153,33>": "", | ||||
|                 "<153,34>": "", | ||||
|                 "<153,35>": "", | ||||
|                 "<153,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<153,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<153,37>": "", | ||||
|                 "<153,38>": "", | ||||
|                 "<153,39>": "", | ||||
| @ -24884,7 +24884,7 @@ | ||||
|                 "<154,33>": "", | ||||
|                 "<154,34>": "", | ||||
|                 "<154,35>": "", | ||||
|                 "<154,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<154,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<154,37>": "", | ||||
|                 "<154,38>": "", | ||||
|                 "<154,39>": "", | ||||
| @ -25081,7 +25081,7 @@ | ||||
|                 "<155,33>": "", | ||||
|                 "<155,34>": "", | ||||
|                 "<155,35>": "", | ||||
|                 "<155,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<155,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<155,37>": "", | ||||
|                 "<155,38>": "", | ||||
|                 "<155,39>": "", | ||||
| @ -25278,7 +25278,7 @@ | ||||
|                 "<156,33>": "", | ||||
|                 "<156,34>": "", | ||||
|                 "<156,35>": "", | ||||
|                 "<156,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<156,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<156,37>": "", | ||||
|                 "<156,38>": "", | ||||
|                 "<156,39>": "", | ||||
| @ -25475,7 +25475,7 @@ | ||||
|                 "<157,33>": "", | ||||
|                 "<157,34>": "", | ||||
|                 "<157,35>": "", | ||||
|                 "<157,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<157,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<157,37>": "", | ||||
|                 "<157,38>": "", | ||||
|                 "<157,39>": "", | ||||
| @ -25672,7 +25672,7 @@ | ||||
|                 "<158,33>": "", | ||||
|                 "<158,34>": "", | ||||
|                 "<158,35>": "", | ||||
|                 "<158,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<158,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<158,37>": "", | ||||
|                 "<158,38>": "", | ||||
|                 "<158,39>": "", | ||||
| @ -25869,7 +25869,7 @@ | ||||
|                 "<159,33>": "", | ||||
|                 "<159,34>": "", | ||||
|                 "<159,35>": "", | ||||
|                 "<159,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<159,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<159,37>": "", | ||||
|                 "<159,38>": "", | ||||
|                 "<159,39>": "", | ||||
| @ -26066,7 +26066,7 @@ | ||||
|                 "<160,33>": "", | ||||
|                 "<160,34>": "", | ||||
|                 "<160,35>": "", | ||||
|                 "<160,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<160,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<160,37>": "", | ||||
|                 "<160,38>": "", | ||||
|                 "<160,39>": "", | ||||
| @ -26263,7 +26263,7 @@ | ||||
|                 "<161,33>": "", | ||||
|                 "<161,34>": "", | ||||
|                 "<161,35>": "", | ||||
|                 "<161,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<161,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<161,37>": "", | ||||
|                 "<161,38>": "", | ||||
|                 "<161,39>": "", | ||||
| @ -26460,7 +26460,7 @@ | ||||
|                 "<162,33>": "", | ||||
|                 "<162,34>": "", | ||||
|                 "<162,35>": "", | ||||
|                 "<162,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<162,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<162,37>": "", | ||||
|                 "<162,38>": "", | ||||
|                 "<162,39>": "", | ||||
| @ -26657,7 +26657,7 @@ | ||||
|                 "<163,33>": "", | ||||
|                 "<163,34>": "", | ||||
|                 "<163,35>": "", | ||||
|                 "<163,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<163,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<163,37>": "", | ||||
|                 "<163,38>": "", | ||||
|                 "<163,39>": "", | ||||
| @ -26854,7 +26854,7 @@ | ||||
|                 "<164,33>": "", | ||||
|                 "<164,34>": "", | ||||
|                 "<164,35>": "", | ||||
|                 "<164,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<164,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<164,37>": "", | ||||
|                 "<164,38>": "", | ||||
|                 "<164,39>": "", | ||||
| @ -27051,7 +27051,7 @@ | ||||
|                 "<165,33>": "", | ||||
|                 "<165,34>": "", | ||||
|                 "<165,35>": "", | ||||
|                 "<165,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<165,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<165,37>": "", | ||||
|                 "<165,38>": "", | ||||
|                 "<165,39>": "", | ||||
| @ -27248,7 +27248,7 @@ | ||||
|                 "<166,33>": "", | ||||
|                 "<166,34>": "", | ||||
|                 "<166,35>": "", | ||||
|                 "<166,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<166,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<166,37>": "", | ||||
|                 "<166,38>": "", | ||||
|                 "<166,39>": "", | ||||
| @ -27445,7 +27445,7 @@ | ||||
|                 "<167,33>": "", | ||||
|                 "<167,34>": "", | ||||
|                 "<167,35>": "", | ||||
|                 "<167,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<167,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<167,37>": "", | ||||
|                 "<167,38>": "", | ||||
|                 "<167,39>": "", | ||||
| @ -27642,7 +27642,7 @@ | ||||
|                 "<168,33>": "", | ||||
|                 "<168,34>": "", | ||||
|                 "<168,35>": "", | ||||
|                 "<168,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<168,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<168,37>": "", | ||||
|                 "<168,38>": "", | ||||
|                 "<168,39>": "", | ||||
| @ -27839,7 +27839,7 @@ | ||||
|                 "<169,33>": "", | ||||
|                 "<169,34>": "", | ||||
|                 "<169,35>": "", | ||||
|                 "<169,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<169,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<169,37>": "", | ||||
|                 "<169,38>": "", | ||||
|                 "<169,39>": "", | ||||
| @ -28036,7 +28036,7 @@ | ||||
|                 "<170,33>": "", | ||||
|                 "<170,34>": "", | ||||
|                 "<170,35>": "", | ||||
|                 "<170,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<170,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<170,37>": "", | ||||
|                 "<170,38>": "", | ||||
|                 "<170,39>": "", | ||||
| @ -28233,7 +28233,7 @@ | ||||
|                 "<171,33>": "", | ||||
|                 "<171,34>": "", | ||||
|                 "<171,35>": "", | ||||
|                 "<171,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<171,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<171,37>": "", | ||||
|                 "<171,38>": "", | ||||
|                 "<171,39>": "", | ||||
| @ -28430,7 +28430,7 @@ | ||||
|                 "<172,33>": "", | ||||
|                 "<172,34>": "", | ||||
|                 "<172,35>": "", | ||||
|                 "<172,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<172,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<172,37>": "", | ||||
|                 "<172,38>": "", | ||||
|                 "<172,39>": "", | ||||
| @ -28627,7 +28627,7 @@ | ||||
|                 "<173,33>": "", | ||||
|                 "<173,34>": "", | ||||
|                 "<173,35>": "", | ||||
|                 "<173,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<173,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<173,37>": "", | ||||
|                 "<173,38>": "", | ||||
|                 "<173,39>": "", | ||||
| @ -28824,7 +28824,7 @@ | ||||
|                 "<174,33>": "", | ||||
|                 "<174,34>": "", | ||||
|                 "<174,35>": "", | ||||
|                 "<174,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<174,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<174,37>": "", | ||||
|                 "<174,38>": "", | ||||
|                 "<174,39>": "", | ||||
| @ -29021,7 +29021,7 @@ | ||||
|                 "<175,33>": "", | ||||
|                 "<175,34>": "", | ||||
|                 "<175,35>": "", | ||||
|                 "<175,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<175,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<175,37>": "", | ||||
|                 "<175,38>": "", | ||||
|                 "<175,39>": "", | ||||
| @ -29218,7 +29218,7 @@ | ||||
|                 "<176,33>": "", | ||||
|                 "<176,34>": "", | ||||
|                 "<176,35>": "", | ||||
|                 "<176,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<176,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<176,37>": "", | ||||
|                 "<176,38>": "", | ||||
|                 "<176,39>": "", | ||||
| @ -29415,7 +29415,7 @@ | ||||
|                 "<177,33>": "", | ||||
|                 "<177,34>": "", | ||||
|                 "<177,35>": "", | ||||
|                 "<177,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<177,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<177,37>": "", | ||||
|                 "<177,38>": "", | ||||
|                 "<177,39>": "", | ||||
| @ -29612,7 +29612,7 @@ | ||||
|                 "<178,33>": "", | ||||
|                 "<178,34>": "", | ||||
|                 "<178,35>": "", | ||||
|                 "<178,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<178,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<178,37>": "", | ||||
|                 "<178,38>": "", | ||||
|                 "<178,39>": "", | ||||
| @ -29809,7 +29809,7 @@ | ||||
|                 "<179,33>": "", | ||||
|                 "<179,34>": "", | ||||
|                 "<179,35>": "", | ||||
|                 "<179,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<179,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<179,37>": "", | ||||
|                 "<179,38>": "", | ||||
|                 "<179,39>": "", | ||||
| @ -30006,7 +30006,7 @@ | ||||
|                 "<180,33>": "", | ||||
|                 "<180,34>": "", | ||||
|                 "<180,35>": "", | ||||
|                 "<180,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<180,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000", | ||||
|                 "<180,37>": "", | ||||
|                 "<180,38>": "", | ||||
|                 "<180,39>": "", | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -39,6 +39,10 @@ | ||||
|                 "<8,2>": { | ||||
|                     "<8,2,1>": "Update QA Metrology Specs", | ||||
|                     "<8,2,2>": "QA_MET" | ||||
|                 }, | ||||
|                 "<8,3>": { | ||||
|                     "<8,3,1>": "Update RDS Layer Parameters", | ||||
|                     "<8,3,2>": "UPDATE_RDS_LAYER" | ||||
|                 } | ||||
|             }, | ||||
|             "<9>": { | ||||
| @ -46,29 +50,21 @@ | ||||
|                     "<9,1,1>": "1", | ||||
|                     "<9,1,2>": "20", | ||||
|                     "<9,1,3>": "L", | ||||
|                     "<9,1,4>": "", | ||||
|                     "<9,1,4>": "L", | ||||
|                     "<9,1,5>": "", | ||||
|                     "<9,1,6>": "Window Option" | ||||
|                 }, | ||||
|                 "<9,2>": { | ||||
|                     "<9,2,1>": "2", | ||||
|                     "<9,2,2>": "0", | ||||
|                     "<9,2,3>": "L", | ||||
|                     "<9,2,4>": "", | ||||
|                     "<9,2,3>": "R", | ||||
|                     "<9,2,4>": "R", | ||||
|                     "<9,2,5>": "", | ||||
|                     "<9,2,6>": "" | ||||
|                 }, | ||||
|                 "<9,3>": { | ||||
|                     "<9,3,1>": "", | ||||
|                     "<9,3,2>": "", | ||||
|                     "<9,3,3>": "", | ||||
|                     "<9,3,4>": "", | ||||
|                     "<9,3,5>": "", | ||||
|                     "<9,3,6>": "" | ||||
|                     "<9,2,6>": "2" | ||||
|                 } | ||||
|             }, | ||||
|             "<10>": "L", | ||||
|             "<11>": "3", | ||||
|             "<11>": "2", | ||||
|             "<12>": "Engineering Options", | ||||
|             "<13>": "2", | ||||
|             "<14>": "F", | ||||
| @ -91,8 +87,18 @@ | ||||
|             "<31>": "0", | ||||
|             "<32>": "0", | ||||
|             "<33>": "0", | ||||
|             "<34>": "16777215", | ||||
|             "<35>": "16777215" | ||||
|             "<34>": "-2", | ||||
|             "<35>": "-2", | ||||
|             "<36>": "", | ||||
|             "<37>": "", | ||||
|             "<38>": "", | ||||
|             "<39>": "", | ||||
|             "<40>": "-2", | ||||
|             "<41>": "1000", | ||||
|             "<42>": "", | ||||
|             "<43>": "", | ||||
|             "<44>": "", | ||||
|             "<45>": "" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -9,7 +9,7 @@ | ||||
|             "<2>": "-2", | ||||
|             "<3>": "-1", | ||||
|             "<4>": "-1", | ||||
|             "<5>": "16777215", | ||||
|             "<5>": "-2", | ||||
|             "<6>": { | ||||
|                 "<6,1>": { | ||||
|                     "<6,1,1>": "Tahoma", | ||||
| @ -76,11 +76,21 @@ | ||||
|             "<28>": "", | ||||
|             "<29>": "0", | ||||
|             "<30>": "0", | ||||
|             "<31>": "0", | ||||
|             "<31>": "1", | ||||
|             "<32>": "0", | ||||
|             "<33>": "0", | ||||
|             "<34>": "16777215", | ||||
|             "<35>": "16777215" | ||||
|             "<34>": "-2", | ||||
|             "<35>": "-2", | ||||
|             "<36>": "", | ||||
|             "<37>": "", | ||||
|             "<38>": "", | ||||
|             "<39>": "", | ||||
|             "<40>": "-2", | ||||
|             "<41>": "1000", | ||||
|             "<42>": "", | ||||
|             "<43>": "", | ||||
|             "<44>": "", | ||||
|             "<45>": "" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -9,7 +9,7 @@ | ||||
|             "<2>": "-2", | ||||
|             "<3>": "-1", | ||||
|             "<4>": "-1", | ||||
|             "<5>": "16777215", | ||||
|             "<5>": "-2", | ||||
|             "<6>": { | ||||
|                 "<6,1>": { | ||||
|                     "<6,1,1>": "Tahoma", | ||||
| @ -84,11 +84,21 @@ | ||||
|             "<28>": "", | ||||
|             "<29>": "0", | ||||
|             "<30>": "0", | ||||
|             "<31>": "0", | ||||
|             "<31>": "1", | ||||
|             "<32>": "0", | ||||
|             "<33>": "0", | ||||
|             "<34>": "16777215", | ||||
|             "<35>": "16777215" | ||||
|             "<34>": "-2", | ||||
|             "<35>": "-2", | ||||
|             "<36>": "", | ||||
|             "<37>": "", | ||||
|             "<38>": "", | ||||
|             "<39>": "", | ||||
|             "<40>": "-2", | ||||
|             "<41>": "1000", | ||||
|             "<42>": "", | ||||
|             "<43>": "", | ||||
|             "<44>": "", | ||||
|             "<45>": "" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -9,7 +9,7 @@ | ||||
|             "<2>": "-1", | ||||
|             "<3>": "-1", | ||||
|             "<4>": "-1", | ||||
|             "<5>": "16777215", | ||||
|             "<5>": "-2", | ||||
|             "<6>": { | ||||
|                 "<6,1>": { | ||||
|                     "<6,1,1>": "Tahoma", | ||||
| @ -53,24 +53,28 @@ | ||||
|                     "<8,5,2>": "Graphite Machining Services Inc" | ||||
|                 }, | ||||
|                 "<8,6>": { | ||||
|                     "<8,6,1>": "NRD", | ||||
|                     "<8,6,2>": "Nuclecel" | ||||
|                     "<8,6,1>": "MERSEN", | ||||
|                     "<8,6,2>": "Mersen USA GS Corp." | ||||
|                 }, | ||||
|                 "<8,7>": { | ||||
|                     "<8,7,1>": "SGL", | ||||
|                     "<8,7,2>": "SGL Group" | ||||
|                     "<8,7,1>": "NRD", | ||||
|                     "<8,7,2>": "Nuclecel" | ||||
|                 }, | ||||
|                 "<8,8>": { | ||||
|                     "<8,8,1>": "TOYO", | ||||
|                     "<8,8,2>": "Toyo Tanso USA" | ||||
|                     "<8,8,1>": "SGL", | ||||
|                     "<8,8,2>": "SGL Group" | ||||
|                 }, | ||||
|                 "<8,9>": { | ||||
|                     "<8,9,1>": "WACOM", | ||||
|                     "<8,9,2>": "WaCom" | ||||
|                     "<8,9,1>": "TOYO", | ||||
|                     "<8,9,2>": "Toyo Tanso USA" | ||||
|                 }, | ||||
|                 "<8,10>": { | ||||
|                     "<8,10,1>": "XYCARB", | ||||
|                     "<8,10,2>": "Xycarb Ceramic" | ||||
|                     "<8,10,1>": "WACOM", | ||||
|                     "<8,10,2>": "WaCom" | ||||
|                 }, | ||||
|                 "<8,11>": { | ||||
|                     "<8,11,1>": "XYCARB", | ||||
|                     "<8,11,2>": "Xycarb Ceramic" | ||||
|                 } | ||||
|             }, | ||||
|             "<9>": { | ||||
| @ -89,14 +93,6 @@ | ||||
|                     "<9,2,4>": "C", | ||||
|                     "<9,2,5>": "", | ||||
|                     "<9,2,6>": "Description" | ||||
|                 }, | ||||
|                 "<9,3>": { | ||||
|                     "<9,3,1>": "", | ||||
|                     "<9,3,2>": "", | ||||
|                     "<9,3,3>": "", | ||||
|                     "<9,3,4>": "", | ||||
|                     "<9,3,5>": "", | ||||
|                     "<9,3,6>": "" | ||||
|                 } | ||||
|             }, | ||||
|             "<10>": "L", | ||||
| @ -124,7 +120,17 @@ | ||||
|             "<32>": "0", | ||||
|             "<33>": "1", | ||||
|             "<34>": "16777215", | ||||
|             "<35>": "16777215" | ||||
|             "<35>": "16777215", | ||||
|             "<36>": "", | ||||
|             "<37>": "", | ||||
|             "<38>": "", | ||||
|             "<39>": "", | ||||
|             "<40>": "-2", | ||||
|             "<41>": "1000", | ||||
|             "<42>": "", | ||||
|             "<43>": "", | ||||
|             "<44>": "", | ||||
|             "<45>": "" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -9,7 +9,7 @@ | ||||
|             "<2>": "-2", | ||||
|             "<3>": "-1", | ||||
|             "<4>": "-1", | ||||
|             "<5>": "16777215", | ||||
|             "<5>": "-2", | ||||
|             "<6>": { | ||||
|                 "<6,1>": { | ||||
|                     "<6,1,1>": "MS Sans Serif", | ||||
| @ -143,11 +143,21 @@ | ||||
|             "<28>": "", | ||||
|             "<29>": "0", | ||||
|             "<30>": "0", | ||||
|             "<31>": "0", | ||||
|             "<31>": "1", | ||||
|             "<32>": "0", | ||||
|             "<33>": "0", | ||||
|             "<34>": "16777215", | ||||
|             "<35>": "16777215" | ||||
|             "<33>": "1", | ||||
|             "<34>": "-2", | ||||
|             "<35>": "-2", | ||||
|             "<36>": "", | ||||
|             "<37>": "", | ||||
|             "<38>": "", | ||||
|             "<39>": "", | ||||
|             "<40>": "-2", | ||||
|             "<41>": "1000", | ||||
|             "<42>": "", | ||||
|             "<43>": "", | ||||
|             "<44>": "", | ||||
|             "<45>": "" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -9,7 +9,7 @@ | ||||
|             "<2>": "-2", | ||||
|             "<3>": "-1", | ||||
|             "<4>": "-1", | ||||
|             "<5>": "16777215", | ||||
|             "<5>": "-2", | ||||
|             "<6>": { | ||||
|                 "<6,1>": { | ||||
|                     "<6,1,1>": "MS Sans Serif", | ||||
| @ -93,8 +93,21 @@ | ||||
|             "<28>": "", | ||||
|             "<29>": "0", | ||||
|             "<30>": "0", | ||||
|             "<31>": "0", | ||||
|             "<32>": "0" | ||||
|             "<31>": "1", | ||||
|             "<32>": "0", | ||||
|             "<33>": "0", | ||||
|             "<34>": "-2", | ||||
|             "<35>": "-2", | ||||
|             "<36>": "", | ||||
|             "<37>": "", | ||||
|             "<38>": "", | ||||
|             "<39>": "", | ||||
|             "<40>": "-2", | ||||
|             "<41>": "1000", | ||||
|             "<42>": "", | ||||
|             "<43>": "", | ||||
|             "<44>": "", | ||||
|             "<45>": "" | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -149,4 +149,3 @@ end api | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // Internal GoSubs | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
|  | ||||
| @ -67,19 +67,16 @@ END | ||||
| RETURN Result | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| Create: | ||||
| * * * * * * * | ||||
|  | ||||
|  | ||||
| 	IF MemberOf(@USER4,'CALIBRATION') ELSE | ||||
| 		ErrMsg('Only authorized personnel may update the Calibration List.') | ||||
| 		End_Window(@WINDOW) | ||||
| 		RETURN | ||||
| 	END | ||||
|  | ||||
|  | ||||
| 	obj_Appwindow('Create',@WINDOW) | ||||
|  | ||||
| 	Set_List_Box_Data( @WINDOW ) | ||||
| @ -141,13 +138,9 @@ FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '') | ||||
| 		NEXT Line | ||||
| 	NEXT I | ||||
|  | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| Read: | ||||
| * * * * * * * | ||||
| @ -158,7 +151,6 @@ IF RowExists('CALIB_LIST',CLNo) ELSE | ||||
| 		IF Get_Property(@WINDOW:'.ENTER_DTM','DEFPROP') = '' THEN | ||||
| 			CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH') | ||||
| 			Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',CurrDTM) | ||||
| 		 | ||||
| 		END | ||||
| 	END | ||||
|  | ||||
| @ -187,14 +179,6 @@ RETURN | ||||
| Delete: | ||||
| * * * * * * * | ||||
|  | ||||
| /* | ||||
| IF Security_Check('Order',Delete$) THEN | ||||
| 	Result = 1		;* Proceed with delete | ||||
| END ELSE | ||||
| 	Security_Err_Msg('Order',Delete$) | ||||
| 	Result = 0		;* Stop event chain | ||||
| END | ||||
| */ | ||||
|  | ||||
| RETURN | ||||
|  | ||||
| @ -210,7 +194,6 @@ IF CLNo = '' THEN | ||||
| 		obj_Appwindow('LoadFormKeys',@WINDOW:@RM:NextCLNo) | ||||
| 	END | ||||
|  | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| @ -233,11 +216,9 @@ END ELSE | ||||
| 		obj_Appwindow('LoadFormKeys',@WINDOW:@RM:CLKeys) | ||||
| 	END | ||||
|  | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| LUCalibItemType: | ||||
| * * * * * * * | ||||
| @ -268,13 +249,10 @@ END | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * | ||||
| Close: | ||||
| * * * * * * | ||||
|  | ||||
|  | ||||
| 	obj_Notes('Inbox',@USER4)	;* Checks for any new messages | ||||
|  | ||||
| 	Send_Event('MASTER_CALIB_LIST','CREATE') | ||||
| @ -314,7 +292,6 @@ IF CLNo NE '' AND CalDt NE '' THEN | ||||
| 		 | ||||
| 		obj_Appwindow('ViewNewDetail', oaParms) | ||||
|  | ||||
| 	 | ||||
| 	END | ||||
|  | ||||
| RETURN | ||||
| @ -350,6 +327,7 @@ END | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| ********************* | ||||
| PrintMostRecentLabel: | ||||
| ********************* | ||||
| @ -369,6 +347,3 @@ end | ||||
|      | ||||
| return | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -136,4 +136,3 @@ CreateHALCollection: | ||||
| 	end | ||||
| 	 | ||||
| return | ||||
|  | ||||
|  | ||||
							
								
								
									
										258
									
								
								LSL2/STPROC/CLEAN_API.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										258
									
								
								LSL2/STPROC/CLEAN_API.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,258 @@ | ||||
| Function Clean_API(@API) | ||||
| /*********************************************************************************************************************** | ||||
|  | ||||
|     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 SRP Computer Solutions, Inc. | ||||
|  | ||||
|     Name        :   Clean_API | ||||
|  | ||||
|     Description :   API logic for the Clean resource. | ||||
|  | ||||
|     Notes       :   All web APIs should include the API_SETUP insert. This will provide several useful variables: | ||||
|  | ||||
|                         HTTPMethod              - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.) | ||||
|                         APIURL                  - The URL for the API entry point (e.g., api.mysite.com/v1). | ||||
|                         FullEndpointURL         - The URL submitted by the client, including query params. | ||||
|                         FullEndpointURLNoQuery  - The URL submitted by the client, excluding query params. | ||||
|                         EndpointSegment         - The URL endpoint segment. | ||||
|                         ParentURL               - The URL path preceeding the current endpoint. | ||||
|                         CurrentAPI              - The name of this stored procedure. | ||||
|  | ||||
|     Parameters  : | ||||
|         API             [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]: | ||||
|                                     - APIPattern must follow this structure Clean[.ID.[<Property>]] | ||||
|                                     - HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc. | ||||
|                                 Examples: | ||||
|                                     - Clean.POST | ||||
|                                     - Clean.ID.PUT | ||||
|                                     - Clean.ID.firstName.GET | ||||
|         Response       [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API | ||||
|                                 services do not rely upon anything being returned in the response. This is what the | ||||
|                                 various services like SetResponseBody and SetResponseStatus services are for. A response | ||||
|                                 value is only helpful if the developers want to use it for debug purposes. | ||||
|  | ||||
|     History     :   (Date, Initials, Notes) | ||||
|         06/18/25    xxx     Original programmer. | ||||
|  | ||||
| ***********************************************************************************************************************/ | ||||
|  | ||||
| #pragma precomp SRP_PreCompiler | ||||
|  | ||||
| Declare function OI_Wizard_Services, Lot_Operation_Services, Database_Services, Lot_Services, Clean_Services | ||||
| Declare subroutine Clean_Services, Lot_Services | ||||
|  | ||||
| $insert APP_INSERTS | ||||
| $insert API_SETUP | ||||
| $insert HTTP_INSERTS | ||||
| $insert OI_WIZARD_EQUATES | ||||
| $insert LOT_OPERATION_EQUATES | ||||
|  | ||||
| GoToAPI else | ||||
|     // The specific resource endpoint doesn't have a API handler yet. | ||||
|     HTTP_Services('SetResponseStatus', 204, 'This is a valid endpoint but a web API handler has not yet been created.') | ||||
| end | ||||
|  | ||||
| Return Response OR '' | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // Endpoint Handlers | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
|  | ||||
| API clean.ID.HEAD | ||||
| API clean.ID.GET | ||||
|  | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         CleanRecId = EndpointSegment | ||||
|         CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId) | ||||
|         If Error_Services('NoError') then | ||||
|             Http_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json') | ||||
|             ResponseCode = 200 | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API clean.ID.markcleanrecordcomplete.POST | ||||
|  | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             CleanRecId = ParentSegment | ||||
|             LotOperationId      = SRP_JSON(objBody, 'GetValue', 'LotOperationId') | ||||
|             CleanTool   = SRP_JSON(objBody, 'GetValue', 'CleanTool') | ||||
|             CleanRecipe   = SRP_JSON(objBody, 'GetValue', 'CleanRecipe') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|             Clean_Services('MarkCleanRecComplete', CleanRecId, CleanRecipe, CleanTool, UserId) | ||||
|             If Error_Services('NoError') then | ||||
|                 CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId) | ||||
|                 HTTP_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json') | ||||
|                 ResponseCode = 200 | ||||
|             end else | ||||
|                 ErrorMessage = Error_Services('GetMessage') | ||||
|                 ResponseCode = 500 | ||||
|             end | ||||
|         end | ||||
|          | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API clean.createcleanrecord.POST | ||||
|  | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             LotId = SRP_JSON(objBody, 'GetValue', 'LotId') | ||||
|             LotOperationId      = SRP_JSON(objBody, 'GetValue', 'LotOperationId') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|         end | ||||
|         CleanRecId = Clean_Services('CreateNewCleanRecord', LotId, LotOperationId, UserId) | ||||
|         If Error_Services('NoError') then | ||||
|             CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId) | ||||
|             HTTP_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json') | ||||
|             ResponseCode = 200 | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API clean.getnewcleanoperationparams.HEAD | ||||
| API clean.getnewcleanoperationparams.GET | ||||
|  | ||||
|     JSONCollection = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|     If ValidSession then | ||||
|         Body    = HTTP_Services('GetHTTPGetString') | ||||
|         If Body NE '' then | ||||
|             RequestJson      = HTTP_Services('DecodePercentString', Body) | ||||
|             LotId = Http_Services('GetQueryField', 'LotId') | ||||
|             objJSONResponse = '' | ||||
|             If SRP_Json(objJSONResponse, 'New', 'Object') then | ||||
|                 //Available Tools | ||||
|                 If SRP_Json(objCleanTools, 'New', 'Array') then | ||||
|                     CleanTools = Clean_Services('GetCleanToolOptions') | ||||
|                     for each CleanTool in CleanTools using @FM | ||||
|                         SRP_Json(objCleanTools, 'AddValue', CleanTool, 'String') | ||||
|                     Next CleanTool | ||||
|                     SRP_Json(objJsonResponse, 'Set', 'CleanToolOptions', objCleanTools) | ||||
|                     SRP_Json(objCleanTools, 'Release') | ||||
|                 end | ||||
|                 //Available Recipes | ||||
|                 If SRP_Json(objCleanRecipes, 'New', 'Array') then | ||||
|                     CleanRecipes = Clean_Services('GetCleanRecipeOptions') | ||||
|                     for each Recipe in CleanRecipes using @VM | ||||
|                         SRP_Json(objCleanRecipes, 'AddValue', Recipe, 'String') | ||||
|                     Next Recipe | ||||
|                     SRP_Json(objJsonResponse, 'Set', 'CleanRecipeOptions', objCleanRecipes) | ||||
|                     SRP_Json(objCleanRecipes, 'Release') | ||||
|                 end | ||||
|                 JsonResponse = SRP_Json(objJsonResponse, 'Stringify', 'Styled') | ||||
|                 SRP_Json(objJsonResponse, 'Release') | ||||
|             end else | ||||
|                 Error_Services('Add', 'Error when creating JSON response.') | ||||
|             end | ||||
|         end else | ||||
|             Error_Services('Add', 'No body was sent with the request.') | ||||
|         end | ||||
|         If Error_Services('NoError') then | ||||
|             HTTP_Services('SetResponseStatus', 201, 'Success') | ||||
|             HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|             HTTP_Services('SetResponseBody', JsonResponse, False$, 'application/hal+json') | ||||
|         end else | ||||
|             HTTP_Services('SetResponseStatus', 400, Error_Services('GetMessage')) | ||||
|         end | ||||
|     end else | ||||
|         HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.') | ||||
|     end | ||||
|  | ||||
| end api | ||||
| @ -72,11 +72,12 @@ $insert WM_OUT_EQUATES | ||||
| $insert WO_LOG_EQUATES | ||||
| $insert ROTR_EQUATES | ||||
| $insert WO_MAT_EQUATES | ||||
| $Insert IFX_EQUATES | ||||
|  | ||||
| Equ Comma$ to ',' | ||||
|  | ||||
| Declare function    Error_Services, Database_Services, Environment_Services, QA_Services, RDS_Services, MemberOf | ||||
| Declare subroutine  Error_Services, Database_Services, Post_Metrology_Manual_Data_Entry_Log | ||||
| Declare subroutine  Error_Services, Database_Services, Post_Metrology_Manual_Data_Entry_Log, Service_Services | ||||
| Declare subroutine  Qa_Services | ||||
|  | ||||
| If KeyID then GoSub Initialize_System_Variables | ||||
| @ -799,96 +800,15 @@ WRITE_RECORD: | ||||
|      | ||||
|     WONo      = Record<CLEAN_INSP_WO_NO$> | ||||
|     ReactType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X') | ||||
|     EpiPro    = (ReactType EQ 'EPP') | ||||
|     GaN       = (ReactType EQ 'GAN') | ||||
|     NonEpiPro = ( (ReactType NE 'EPP') and (ReactType NE 'GAN') ) | ||||
|     Stage     = Record<CLEAN_INSP_STAGE$> | ||||
|  | ||||
|     If Stage EQ 'LWI' then | ||||
|         RDSNo     = Record<CLEAN_INSP_RDS_NO$> | ||||
|         PostCIKey = Xlate('RDS', RDSNo, 'POST_CI_NO', 'X') | ||||
|         If PostCIKey NE '' then | ||||
|             FailedWafers         = Record<CLEAN_INSP_FAILED_WAFERS$> | ||||
|             If FailedWafers NE '' then  | ||||
|                 NewPostSpecSampleQty = Sum(FailedWafers) | ||||
|                 PostCIRec            = Database_Services('ReadDataRow', 'CLEAN_INSP', PostCIKey) | ||||
|                 PostSpecRecipes      = PostCIRec<CLEAN_INSP_SPEC_SURFSCAN_RECIPE$> | ||||
|                 NumRecipes           = DCount(PostSpecRecipes, @VM) | ||||
|                 If NumRecipes GT 0 then | ||||
|                     For RecipeIndex = 1 to NumRecipes | ||||
|                         CurrSpec = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex> | ||||
|                         If ( (CurrSpec EQ '') or (CurrSpec LT NewPostSpecSampleQty) ) then | ||||
|                             PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex> = NewPostSpecSampleQty | ||||
|     	Service_Services('PostProcedure', 'CLEAN_INSP_SERVICES', 'UpdatePostCISampleQty':SD$:Name) | ||||
|     end | ||||
|                     Next RecipeIndex | ||||
|                     Database_Services('WriteDataRow', 'CLEAN_INSP', PostCIKey, PostCIRec, True$, False$, True$) | ||||
|                 end | ||||
|             end | ||||
|         end | ||||
|     end | ||||
|      | ||||
|     If NonEpiPro then | ||||
|         // Sync up Insp, Clean, and SurfScan signatures with WO_MAT signature profile | ||||
|         Stage           = {STAGE} | ||||
|          | ||||
|         WOMatKey     = {WO_MAT_KEY} | ||||
|         // Update failed wafer list | ||||
|         QA_Services('UpdateFailedWafers', WOMatKey) | ||||
|         WOMatRec     = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey) | ||||
|         WOMatSigProf = WOMatRec<WO_MAT_SIG_PROFILE$> | ||||
|         WOMatSigs    = WOMatRec<WO_MAT_SIGNATURE$> | ||||
|         WOMatSigDTMs = WOMatRec<WO_MAT_SIG_DTM$> | ||||
|          | ||||
|         OrigInspSig     = OrigRecord<CLEAN_INSP_INSP_SIG$> | ||||
|         OrigInspSigDTM  = OrigRecord<CLEAN_INSP_INSP_SIG_DTM$> | ||||
|         InspSig         = Record<CLEAN_INSP_INSP_SIG$> | ||||
|         InspSigDTM      = Record<CLEAN_INSP_INSP_SIG_DTM$> | ||||
|          | ||||
|         OrigCleanSig    = OrigRecord<CLEAN_INSP_CLEAN_SIG$> | ||||
|         OrigCleanSigDTM = OrigRecord<CLEAN_INSP_CLEAN_SIG_DTM$> | ||||
|         CleanSig        = Record<CLEAN_INSP_CLEAN_SIG$> | ||||
|         CleanSigDTM     = Record<CLEAN_INSP_CLEAN_SIG_DTM$> | ||||
|          | ||||
|         OrigScanSig     = OrigRecord<CLEAN_INSP_SCAN_SIG$> | ||||
|         OrigScanSigDTM  = OrigRecord<CLEAN_INSP_SCAN_SIG_DTM$> | ||||
|         ScanSig         = Record<CLEAN_INSP_SCAN_SIG$> | ||||
|         ScanSigDTM      = Record<CLEAN_INSP_SCAN_SIG_DTM$> | ||||
|          | ||||
|         SigProfUpdate   = False$ | ||||
|  | ||||
|         If ( (OrigInspSig NE InspSig) or (OrigInspSigDTM NE InspSigDTM) ) then | ||||
|             WOMatStage = '1':Stage:'I' | ||||
|             Locate WOMatStage in WOMatSigProf using @VM setting vPos then | ||||
|                 WOMatSigs<0, vPos>    = InspSig[-1, 'B':@VM] | ||||
|                 WOMatSigDTMs<0, vPos> = InspSigDTM[-1, 'B':@VM] | ||||
|                 SigProfUpdate         = True$ | ||||
|             end | ||||
|         end | ||||
|          | ||||
|         If ( (OrigCleanSig NE CleanSig) or (OrigCleanSigDTM NE CleanSigDTM) ) then | ||||
|             WOMatStage = '1':Stage:'C' | ||||
|             Locate WOMatStage in WOMatSigProf using @VM setting vPos then | ||||
|                 WOMatSigs<0, vPos>    = CleanSig[-1, 'B':@VM] | ||||
|                 WOMatSigDTMs<0, vPos> = CleanSigDTM[-1, 'B':@VM] | ||||
|                 SigProfUpdate         = True$ | ||||
|             end | ||||
|         end | ||||
|          | ||||
|         If ( (OrigScanSig NE ScanSig) or (OrigScanSigDTM NE ScanSigDTM) ) then | ||||
|             WOMatStage = '1':Stage:'S' | ||||
|             Locate WOMatStage in WOMatSigProf using @VM setting vPos then | ||||
|                 WOMatSigs<0, vPos>    = ScanSig[-1, 'B':@VM] | ||||
|                 WOMatSigDTMs<0, vPos> = ScanSigDTM[-1, 'B':@VM] | ||||
|                 SigProfUpdate         = True$ | ||||
|             end | ||||
|         end | ||||
|  | ||||
|         If SigProfUpdate then | ||||
|             NumSteps                    = DCount(WOMatSigProf, @VM) | ||||
|             WOMatRec<WO_MAT_SIGNATURE$> = Field(WOMatSigs, @VM, 1, NumSteps) | ||||
|             WOMatRec<WO_MAT_SIG_DTM$>   = Field(WOMatSigDTMs, @VM, 1, NumSteps) | ||||
|             Database_Services('WriteDataRow', 'WO_MAT', WOMatKey, WOMatRec, True$, False$, True$) | ||||
|         end | ||||
|         Service_Services('PostProcedure', 'QA_SERVICES', 'UpdateFailedWafers':SD$:WOMatKey) | ||||
|         Service_Services('PostProcedure', 'CLEAN_INSP_SERVICES', 'PushSigProfileToWoMat':SD$:Name) | ||||
|     end | ||||
|      | ||||
| return | ||||
| @ -945,4 +865,3 @@ Restore_System_Variables: | ||||
|     @FILE.ERROR = OrigFileError | ||||
| return | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -56,7 +56,8 @@ $Insert PRS_STAGE_EQUATES | ||||
| $Insert WO_MAT_EQUATES | ||||
|  | ||||
| Declare function   Database_Services, SRP_JSON, Error_Services, obj_Clean_Insp | ||||
| Declare subroutine Database_Services, SRP_JSON, Error_Services, obj_React_Run, Clean_Insp_Services, React_Run_Services, Btree.Extract | ||||
| Declare subroutine Database_Services, SRP_JSON, Error_Services, obj_React_Run, Clean_Insp_Services, React_Run_Services | ||||
| Declare subroutine Transaction_Services, Btree.Extract | ||||
|  | ||||
| GoToService | ||||
|  | ||||
| @ -439,11 +440,13 @@ Service UpdateAllCleanInsp(WOMatKey) | ||||
|      | ||||
| end service | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // This service functions as a means to get the latest CINo for a specified RDS No where the defectivity measurements took place | ||||
| // This is specifically used to have the latest defectivity data | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| Service GetLatestDefectCINoByRDSId(RDSNo) | ||||
| 	 | ||||
|     LatestCINo    = '' | ||||
|     LatestInspDtm = '' | ||||
|     Open 'DICT CLEAN_INSP' to @DICT then | ||||
| @ -464,6 +467,130 @@ Service GetLatestDefectCINoByRDSId(RDSNo) | ||||
|         end | ||||
|     end | ||||
|     Response = LatestCINo | ||||
|      | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service PushSigProfileToWoMat(CleanInspKey) | ||||
|  | ||||
| 	ErrorMsg = '' | ||||
| 	If (CleanInspKey NE '') then | ||||
| 		If RowExists('CLEAN_INSP', CleanInspKey) then | ||||
| 			Record    = Database_Services('ReadDataRow', 'CLEAN_INSP', CleanInspKey) | ||||
| 			If Error_Services('NoError') then  | ||||
| 				WONo      = Record<CLEAN_INSP_WO_NO$> | ||||
| 				ReactType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X') | ||||
| 				NonEpiPro = ( (ReactType NE 'EPP') and (ReactType NE 'GAN') ) | ||||
| 				If NonEpiPro then | ||||
| 					// Sync up Insp, Clean, and SurfScan signatures with WO_MAT signature profile | ||||
| 					Stage        = Record<CLEAN_INSP_STAGE$> | ||||
| 					WOMatKey     = Xlate('CLEAN_INSP', CleanInspKey, 'WO_MAT_KEY', 'X') | ||||
| 					If WOMatKey NE '' then | ||||
| 						WOMatRec     = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey) | ||||
| 						If Error_Services('NoError') then  | ||||
| 							WOMatSigProf = WOMatRec<WO_MAT_SIG_PROFILE$> | ||||
| 							WOMatSigs    = WOMatRec<WO_MAT_SIGNATURE$> | ||||
| 							WOMatSigDTMs = WOMatRec<WO_MAT_SIG_DTM$> | ||||
| 							 | ||||
| 							InspSig         = Record<CLEAN_INSP_INSP_SIG$> | ||||
| 							InspSigDTM      = Record<CLEAN_INSP_INSP_SIG_DTM$> | ||||
| 							CleanSig        = Record<CLEAN_INSP_CLEAN_SIG$> | ||||
| 							CleanSigDTM     = Record<CLEAN_INSP_CLEAN_SIG_DTM$> | ||||
| 							ScanSig         = Record<CLEAN_INSP_SCAN_SIG$> | ||||
| 							ScanSigDTM      = Record<CLEAN_INSP_SCAN_SIG_DTM$> | ||||
| 							 | ||||
| 							WOMatStage = '1':Stage:'I' | ||||
| 							Locate WOMatStage in WOMatSigProf using @VM setting vPos then | ||||
| 								WOMatSigs<0, vPos>    = InspSig[-1, 'B':@VM] | ||||
| 								WOMatSigDTMs<0, vPos> = InspSigDTM[-1, 'B':@VM] | ||||
| 							end | ||||
| 							 | ||||
| 							WOMatStage = '1':Stage:'C' | ||||
| 							Locate WOMatStage in WOMatSigProf using @VM setting vPos then | ||||
| 								WOMatSigs<0, vPos>    = CleanSig[-1, 'B':@VM] | ||||
| 								WOMatSigDTMs<0, vPos> = CleanSigDTM[-1, 'B':@VM] | ||||
| 							end | ||||
| 							 | ||||
| 							WOMatStage = '1':Stage:'S' | ||||
| 							Locate WOMatStage in WOMatSigProf using @VM setting vPos then | ||||
| 								WOMatSigs<0, vPos>    = ScanSig[-1, 'B':@VM] | ||||
| 								WOMatSigDTMs<0, vPos> = ScanSigDTM[-1, 'B':@VM] | ||||
| 							end | ||||
|  | ||||
| 							NumSteps     = DCount(WOMatSigProf, @VM) | ||||
| 							WOMatSigs    = Field(WOMatSigs, @VM, 1, NumSteps) | ||||
| 							WOMatSigDTMs = Field(WOMatSigDTMs, @VM, 1, NumSteps) | ||||
| 							Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIGNATURE$, WOMatSigs) | ||||
| 							Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_DTM$, WOMatSigDTMs) | ||||
| 						end else | ||||
| 							ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage') | ||||
| 						end | ||||
| 					end else | ||||
| 						ErrorMsg = 'Error in ':Service:' service. Null WO_MAT_KEY returned for CLEAN_INSP ':CleanInspKey:'.' | ||||
| 					end | ||||
| 				end			 | ||||
| 			end else | ||||
| 				ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage') | ||||
| 			end | ||||
| 		end else | ||||
| 			ErrorMsg = 'Error in ':Service:' service. CLEAN_INSP ':CleanInspKey:' does not exist.' | ||||
| 		end | ||||
| 	end else | ||||
| 		ErrorMsg = 'Error in ':Service:' service. Null CleanInspKey passed into service.' | ||||
| 	end | ||||
| 	 | ||||
| 	If ErrorMsg NE '' then Error_Services('Add', ErrorMsg) | ||||
| 	 | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service UpdatePostCISampleQty(CleanInspKey) | ||||
|  | ||||
| 	ErrorMsg  = '' | ||||
| 	If CleanInspKey NE '' then | ||||
| 		If RowExists('CLEAN_INSP', CleanInspKey) then | ||||
| 			Record = Database_Services('ReadDataRow', 'CLEAN_INSP', CleanInspKey) | ||||
| 			If Error_Services('NoError') then | ||||
| 				Stage     = Record<CLEAN_INSP_STAGE$> | ||||
| 				If Stage EQ 'LWI' then | ||||
| 					RDSNo     = Record<CLEAN_INSP_RDS_NO$> | ||||
| 					PostCIKey = Xlate('RDS', RDSNo, 'POST_CI_NO', 'X') | ||||
| 					If PostCIKey NE '' then | ||||
| 						FailedWafers = Record<CLEAN_INSP_FAILED_WAFERS$> | ||||
| 						If FailedWafers NE '' then  | ||||
| 							NewPostSpecSampleQty = Sum(FailedWafers) | ||||
| 							PostCIRec            = Database_Services('ReadDataRow', 'CLEAN_INSP', PostCIKey) | ||||
| 							PostSpecRecipes      = PostCIRec<CLEAN_INSP_SPEC_SURFSCAN_RECIPE$> | ||||
| 							NumRecipes           = DCount(PostSpecRecipes, @VM) | ||||
| 							If NumRecipes GT 0 then | ||||
| 								UpdatePostRec = False$ | ||||
| 								For RecipeIndex = 1 to NumRecipes | ||||
| 									CurrSpec = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex> | ||||
| 									If ( (CurrSpec EQ '') or (CurrSpec LT NewPostSpecSampleQty) ) then | ||||
| 										UpdatePostRec                                        = True$ | ||||
| 										PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex> = NewPostSpecSampleQty | ||||
| 									end | ||||
| 								Next RecipeIndex | ||||
| 								If UpdatePostRec then | ||||
| 									PostCISpecSampQty = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$> | ||||
| 									Transaction_Services('PostWriteFieldTransaction', 'CLEAN_INSP', PostCIKey, CLEAN_INSP_SPEC_SS_SAMP_QTY$, PostCISpecSampQty) | ||||
| 								end | ||||
| 							end | ||||
| 						end | ||||
| 					end | ||||
| 				end	 | ||||
| 			end else | ||||
| 				ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage') | ||||
| 			end | ||||
| 		end else | ||||
| 			ErrorMsg = 'Error in ':Service:' service. CLEAN_INSP ':CleanInspKey:' does not exist.' | ||||
| 		end | ||||
| 	end else | ||||
| 		ErrorMsg = 'Error in ':Service:' service. Null CleanInspKey passed into service.' | ||||
| 	end | ||||
| 	 | ||||
| 	If ErrorMsg NE '' then Error_Services('Add', ErrorMsg) | ||||
| 	 | ||||
| end service | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
							
								
								
									
										217
									
								
								LSL2/STPROC/CLEAN_SERVICES.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										217
									
								
								LSL2/STPROC/CLEAN_SERVICES.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,217 @@ | ||||
| Compile function Clean_Services(@Service, @Params) | ||||
| #pragma precomp SRP_PreCompiler | ||||
|  | ||||
| Declare Function Database_Services, Error_Services, Logging_Services, Datetime | ||||
| Declare Function RTI_CreateGUID, Tool_Services, SRP_Json, Date_Services | ||||
| Declare Subroutine Database_Services, Error_Services, Logging_Services, SRP_Json, Lot_Event_Services | ||||
|  | ||||
| $insert LOGICAL | ||||
| $Insert CLEAN_EQUATES | ||||
| $Insert LOT_EQUATES | ||||
| $Insert LOT_OPERATION_EQUATES | ||||
| $Insert TOOL_EQUATES | ||||
| $Insert TOOL_CLASS_EQUATES | ||||
|  | ||||
| Options Stage = 'LWI',  | ||||
|  | ||||
| GoToService | ||||
|  | ||||
| Return Response or "" | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // SERVICES | ||||
| //----------------------------------------------------------------------------- | ||||
|  | ||||
| Service CreateNewCleanRecord(LotId, LotOperationId, UserId) | ||||
|  | ||||
|     ErrorMessage = '' | ||||
|     CleanRecId = '' | ||||
|     If RowExists('LOT', LotId) then | ||||
|         //ToDo check Lot Operation Exists | ||||
|         //Checks complete, create the CLEAN record | ||||
|         TransDtm = Datetime() | ||||
|         CleanRecId = RTI_CreateGUID() | ||||
|         CleanRec = '' | ||||
|         CleanRec<CLEAN_LOT_ID$> = LotId | ||||
|         CleanRec<CLEAN_LOT_OPERATION_ID$> = LotOperationId | ||||
|         CleanRec<CLEAN_CLEAN_START_DTM$> = TransDtm | ||||
|         CleanRec<CLEAN_CLEAN_START_USER_ID$> = UserId | ||||
|         Database_Services('WriteDataRow', 'CLEAN', CleanRecId, CleanRec) | ||||
|         If Error_Services('NoError') then | ||||
|             If LotOperationId NE '' then | ||||
|                 LotOperationRec = Database_Services('ReadDataRow', 'LOT_OPERATION', LotOperationId, True$, 0, False$) | ||||
|                 LotOperationRec<LOT_OPERATION_CLEAN_ID$> = CleanRecId | ||||
|                 Database_Services('WriteDataRow', 'LOT_OPERATION', LotOperationId, LotOperationRec) | ||||
|                 If Error_Services('NoError') then | ||||
|                     Lot_Event_Services('CreateLotEvent', LotId, TransDtm, 'CLEAN_START', 'Created clean record.', '', UserId) | ||||
|                 end else | ||||
|                     ErrorMessage = Error_Services('GetMessage') | ||||
|                 end | ||||
|             end | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|         end | ||||
|     end else | ||||
|        //Todo add error message  | ||||
|     end | ||||
|      | ||||
|     If ErrorMessage EQ '' then | ||||
|         Response = CleanRecId | ||||
|     end else | ||||
|         // Todo: Add logging | ||||
|         ErrorMessage = 'Error Creating a new clean record: ' : ErrorMessage | ||||
|         Error_Services('Add', ErrorMessage) | ||||
|     end | ||||
|      | ||||
| End Service | ||||
|  | ||||
| Service ConvertCleanRecToJson(CleanRecId) | ||||
|      | ||||
|     ErrorMessage = '' | ||||
|     CleanRecJson = '' | ||||
|      | ||||
|     If RowExists('CLEAN', CleanRecId) then | ||||
|         CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$) | ||||
|         If Error_Services('NoError') then | ||||
|             objJson = '' | ||||
|             If SRP_Json(objJson, 'New', 'Object') then | ||||
|                 SRP_Json(objJson, 'SetValue', 'CleanId', CleanRecId, 'String') | ||||
|                 SRP_Json(objJson, 'SetValue', 'LotId', CleanRec<CLEAN_LOT_ID$>, 'String') | ||||
|                 LegacyLotId = Database_Services('ReadDataColumn', 'LOT', CleanRec<CLEAN_LOT_ID$>, LOT_LEGACY_LOT_ID$) | ||||
|                 SRP_Json(objJson, 'SetValue', 'LegacyLotId', LegacyLotId, 'String') | ||||
|                 SRP_Json(objJson, 'SetValue', 'Recipe', CleanRec<CLEAN_RECIPE$>, 'String') | ||||
|                 SRP_Json(objJson, 'SetValue', 'Tool', CleanRec<CLEAN_TOOL$>, 'String') | ||||
|                 SRP_Json(objJson, 'SetValue', 'StartUser', CleanRec<CLEAN_CLEAN_START_USER_ID$>, 'String') | ||||
|                 StartDtm = Date_Services('ConvertDateTimeToISO8601', CleanRec<CLEAN_CLEAN_START_DTM$>) | ||||
|                 if StartDtm NE '' then | ||||
|                     SRP_Json(objJson, 'SetValue', 'StartDtm', StartDtm) | ||||
|                 end | ||||
|                 SRP_Json(objJson, 'SetValue', 'StopUser', CleanRec<CLEAN_CLEAN_STOP_USER_ID$>, 'String') | ||||
|                 StopDtm = Date_Services('ConvertDateTimeToISO8601', CleanRec<CLEAN_CLEAN_STOP_DTM$>) | ||||
|                 if StopDtm NE '' then | ||||
|                    SRP_Json(objJson, 'SetValue', 'StopDtm', StopDtm, 'String')  | ||||
|                 end | ||||
|                 SRP_Json(objJson, 'SetValue', 'LotOperationId', CleanRec<CLEAN_LOT_OPERATION_ID$>, 'String') | ||||
|                 CleanRecJson = SRP_Json(objJson, 'Stringify', 'Styled') | ||||
|                 SRP_Json(objJson, 'Release') | ||||
|             end else | ||||
|                 ErrorMessage = 'Error creating clean record json' | ||||
|             end | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|         end | ||||
|     end else | ||||
|         ErrorMessage = 'Clean record not found.' | ||||
|     end | ||||
|      | ||||
|     If ErrorMessage EQ '' then | ||||
|         Response = CleanRecJson | ||||
|     end else | ||||
|         Error_Services('Add', 'Error getting clean record : ' : ErrorMessage) | ||||
|     end | ||||
|      | ||||
| end service | ||||
|  | ||||
| Service MarkCleanRecComplete(CleanRecId, CleanRecipe, CleanTool, CleanUser) | ||||
|      | ||||
|     ErrorMessage = '' | ||||
|     TransDtm = Datetime() | ||||
|      | ||||
|     If RowExists('CLEAN', CleanRecId) then | ||||
|         CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$) | ||||
|         If CleanRec<CLEAN_CLEAN_START_DTM$> NE '' then | ||||
|             If CleanRec<CLEAN_TOOL$> EQ '' AND CleanRec<CLEAN_RECIPE$> EQ '' then | ||||
|                 if RowExists('LSL_USERS', CleanUser) then | ||||
|                     If CleanRec<CLEAN_COMPLETE_DTM$> EQ '' then | ||||
|                         CleanRec<CLEAN_TOOL$> = CleanTool | ||||
|                         CleanRec<CLEAN_RECIPE$> = CleanRecipe | ||||
|                         CleanRec<CLEAN_CLEAN_STOP_USER_ID$> = CleanUser | ||||
|                         CleanRec<CLEAN_CLEAN_STOP_DTM$> = TransDtm | ||||
|                         Database_Services('WriteDataRow', 'CLEAN', CleanRecId, CleanRec) | ||||
|                         If Error_Services('NoError') then | ||||
|                             LotId = CleanRec<CLEAN_LOT_ID$> | ||||
|                             Lot_Event_Services('CreateLotEvent', LotId, TransDtm, 'CLEAN', 'Clean completed', CleanTool, CleanUser) | ||||
|                         end else | ||||
|                             ErrorMessage = Error_Services('GetMessage') | ||||
|                         end | ||||
|                     end else | ||||
|                         ErrorMessage = 'Clean is already signed off.' | ||||
|                     end  | ||||
|                 end else | ||||
|                     ErrorMessage = 'Clean tool or clean recipe is missing.' | ||||
|                 end | ||||
|             end else | ||||
|                 ErrorMessage = 'Clean has already been logged.' | ||||
|             end | ||||
|         end else | ||||
|             ErrorMessage = 'Clean has not been started.' | ||||
|         end | ||||
|     end else | ||||
|         ErrorMessage = 'Clean record not found.' | ||||
|     end | ||||
|      | ||||
|     If ErrorMessage NE '' then | ||||
|         Error_Services('Add', ErrorMessage) | ||||
|     end | ||||
|      | ||||
| end service | ||||
|  | ||||
| Service ValidateCleanRecord(CleanRecId) | ||||
|      | ||||
|     //ErrorMessage = '' | ||||
|     CleanRecValid = False$ | ||||
|      | ||||
| *    If CleanRecId NE '' then | ||||
| *        If RowExists('CLEAN', CleanRecId) then | ||||
| *            CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$) | ||||
| *            SpecTool = CleanRec<CLEAN_TOOL$> | ||||
| *            ToolUsed = CleanRec<CLEAN_RECIPE$> | ||||
| *            If ToolUsed EQ SpecTool AND ToolUsed NE '' then | ||||
| *                SpecRecipe = CleanRec<CLEAN_SPEC_RECIPE$> | ||||
| *                RecipeUsed = CleanRec<CLEAN_RECIPE$> | ||||
| *                If RecipeUsed EQ SpecRecipe AND RecipeUsed NE '' then | ||||
| *                    CleanRecValid = True$ | ||||
| *                end | ||||
| *            end | ||||
| *        end else | ||||
| *            ErrorMessage = 'Clean record not found in CLEAN database.' | ||||
| *        end | ||||
| *    end else | ||||
| *        ErrorMessage = 'Clean ID was null.' | ||||
| *    end | ||||
| *     | ||||
| *    If ErrorMessage EQ '' then | ||||
| *        Response = CleanRecValid | ||||
| *    end else | ||||
| *        // Todo: Add logging | ||||
| *        ErrorMessage = 'Error validating clean record: ' : ErrorMessage | ||||
| *        Error_Services('Add', ErrorMessage) | ||||
| *    end | ||||
|  | ||||
|     Response = CleanRecValid | ||||
| End Service | ||||
|  | ||||
| Service GetCleanToolOptions(CleanRecId) | ||||
|  | ||||
|     If RowExists('CLEAN', CleanRecId) then | ||||
|         CleanTools = Database_Services('ReadDataColumn', 'CLEAN', CleanRecId, CLEAN_SPEC_CLEAN_TOOL$, True$, 0, False$) | ||||
|     end else | ||||
|         CleanTools = Tool_Services('GetTools', 'AKRION')  | ||||
|     end | ||||
|      | ||||
|     Response = CleanTools | ||||
|      | ||||
| end service | ||||
|  | ||||
| Service GetCleanRecipeOptions(CleanRecId) | ||||
|      | ||||
|     If RowExists('CLEAN', CleanRecId) then | ||||
|         Recipes = Database_Services('ReadDataColumn', 'CLEAN', CleanRecId, CLEAN_SPEC_CLEAN_RECIPE$, True$, 0, False$) | ||||
|     end else | ||||
|         //Todo: Make this smarter, so as to block out pre-epi recipes | ||||
|         Recipes = XLATE('TOOL_CLASS','AKRION',TOOL_CLASS_RECIPES$,'X') | ||||
|     end | ||||
|      | ||||
|     Response = Recipes | ||||
|      | ||||
| end service | ||||
| @ -6,17 +6,22 @@ COMPILE FUNCTION Comm_Dialog_Cass_Met_Export(Method, Parm1) | ||||
| 	10/28/2005 - John C. Henry, J.C. Henry & Co., Inc. | ||||
| */ | ||||
|  | ||||
| DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg | ||||
| DECLARE SUBROUTINE obj_Appwindow, Start_Window, Btree.Extract, Msg, Send_Info | ||||
| $INSERT LOGICAL | ||||
| $INSERT WM_OUT_EQUATES | ||||
| $INSERT PS_EQUATES | ||||
| $INSERT POPUP_EQUATES | ||||
| $INSERT MSG_EQUATES | ||||
|  | ||||
| DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg, Btree.Extract, Msg, Send_Info | ||||
| DECLARE SUBROUTINE obj_Appwindow, Start_Window | ||||
| DECLARE FUNCTION   Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, Collect.IXVals, Msg | ||||
| DECLARE FUNCTION   SRP_Array | ||||
|  | ||||
| EQU CRLF$	TO \0D0A\ | ||||
|  | ||||
|  | ||||
| EQU COL$CUST_NO		TO 1		;* Customer edit table column equates | ||||
| EQU COL$CUST_NAME	TO 2 | ||||
|  | ||||
|  | ||||
| EQU LTGREY$		TO	229 + (229*256) + (229*65536)	;* JCH standard colors for edittable backgrounds | ||||
| EQU GREY$		TO	192 + (192*256) + (192*65536) | ||||
| EQU GREEN$		TO	192 + (220*256) + (192*65536) | ||||
| @ -30,11 +35,6 @@ EQU PURPLE$		TO	225 + (181*256) + (255*65536) | ||||
| EQU DTS_MULTIROW$	TO 512 | ||||
| EQU DTS_LARGEDATA$	TO 4096 | ||||
|  | ||||
| $INSERT WM_OUT_EQUATES | ||||
| $INSERT PS_EQUATES | ||||
| $INSERT POPUP_EQUATES | ||||
| $INSERT MSG_EQUATES | ||||
|  | ||||
| ErrTitle = 'Error in Comm_Dialog_Order_Find' | ||||
| ErrorMsg = '' | ||||
|  | ||||
| @ -66,11 +66,8 @@ RETURN Result | ||||
| Create: | ||||
| * * * * * * * | ||||
|  | ||||
|  | ||||
|     obj_AppWindow('Create') | ||||
|  | ||||
|     Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX') | ||||
|  | ||||
|     GOSUB Refresh | ||||
|  | ||||
| RETURN | ||||
| @ -81,8 +78,7 @@ Refresh: | ||||
| * * * * * * * | ||||
|  | ||||
|     * Turn edit table symbolic column backgrounds to green | ||||
|  | ||||
| stat = Send_Message(@WINDOW:'.CUST_INFO','COLOR_BY_POS',COL$CUST_NAME,0,GREEN$)	;* Turn names column all rows green | ||||
|     stat = Send_Message(@WINDOW:'.CUST_INFO','COLOR_BY_POS',COL$CUST_NAME,0,GREEN$) | ||||
|  | ||||
| RETURN | ||||
|  | ||||
| @ -92,19 +88,13 @@ CustChar: | ||||
| * * * * * * * | ||||
|  | ||||
|     CtrlName  = @WINDOW:'.CUST_INFO' | ||||
|  | ||||
|     CustArray = Get_Property(CtrlName,'ARRAY')		;* Customer Information table | ||||
|     CurrPos   = Get_Property(CtrlName,'SELPOS') | ||||
|  | ||||
|     CurrRow   = CurrPos<2> | ||||
|  | ||||
|     DataIn    = CustArray<COL$CUST_NO,CurrRow> | ||||
|  | ||||
|     IF LEN(DataIn) > 2 THEN | ||||
|  | ||||
|         ReturnToCtrl = CtrlName | ||||
|         ReturnToPos  = CurrPos | ||||
|  | ||||
|         IF NOT(NUM(DataIn)) THEN  | ||||
|             Set_Property(CtrlName,'CELLPOS','',CurrPos)	;* Clear characters input | ||||
|             Start_Window('COMP_LOOKUP',@WINDOW,DataIn:@VM:'C':@FM:ReturnToCtrl:@FM:ReturnToPos,'','') | ||||
| @ -119,13 +109,10 @@ CustPC: | ||||
| * * * * * * * | ||||
|  | ||||
|     CtrlName = @WINDOW:'.CUST_INFO' | ||||
|  | ||||
|     CustList = Get_Property(CtrlName,'LIST')		;* Customer Information table | ||||
|  | ||||
|     CurrPos  = Get_Property(CtrlName,'SELPOS') | ||||
|     CurrCol  = CurrPos<1> | ||||
|     CurrRow  = CurrPos<2> | ||||
|  | ||||
|     CustNo   = CustList<CurrRow,COL$CUST_NO> | ||||
|     IF CustNo NE '' THEN | ||||
|         Set_Property(CtrlName,'CELLPOS',XLATE('COMPANY',CustNo,4,'X'),COL$CUST_NAME:@FM:CurrRow) | ||||
| @ -139,13 +126,10 @@ CustDC: | ||||
| * * * * * * * | ||||
|  | ||||
|     CtrlName = @WINDOW:'.CUST_INFO' | ||||
|  | ||||
|     CustList = Get_Property(CtrlName,'LIST')		;* Customer Information table | ||||
|  | ||||
|     CurrPos  = Get_Property(CtrlName,'SELPOS') | ||||
|     CurrCol  = CurrPos<1> | ||||
|     CurrRow  = CurrPos<2> | ||||
|  | ||||
|     CustNo   = CustList<CurrRow,COL$CUST_NO> | ||||
|     LineCnt  = COUNT(CustList,@FM) + (CustList NE '') | ||||
|     IF CustNo = '' THEN | ||||
| @ -156,7 +140,6 @@ IF CustNo = '' THEN | ||||
|                 stat = Send_Message(CtrlName,'INSERT',-1,@VM:@FM)	; * Add blank lines | ||||
|             NEXT I | ||||
|         END | ||||
| 	 | ||||
|         FOR I = CurrRow TO CurrRow + CustCnt | ||||
|             CustNo = CustNos<1,I> | ||||
|             CustName = XLATE('COMPANY',CustNo,4,'X') | ||||
| @ -164,10 +147,10 @@ IF CustNo = '' THEN | ||||
|             Set_Property(CtrlName,'CELLPOS',CustName,COL$CUST_NAME:@FM:I) | ||||
|             Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1) | ||||
|         NEXT I | ||||
| 	 | ||||
|     END ELSE | ||||
|         ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers') | ||||
|     END | ||||
|      | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| @ -176,78 +159,51 @@ SubPNDC: | ||||
| * * * * * * * | ||||
|  | ||||
|     CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO> | ||||
|  | ||||
|     CustNos = CustArray<COL$CUST_NO> | ||||
|  | ||||
|     LOOP | ||||
|         LastCustNo = CustNos[-1,'B':@VM] | ||||
|     UNTIL LastCustNo NE '' OR CustNos = '' | ||||
| 	CustNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
|         CustNos[COL1(),99] = '' | ||||
|     REPEAT | ||||
|  | ||||
| IF CustNos = '' THEN RETURN | ||||
|  | ||||
| * display the processing message and do the processing | ||||
|  | ||||
| Def = "" | ||||
| Def<MTEXT$> = "Selecting Substrate Part Numbers..." | ||||
| Def<MTYPE$> = "U" | ||||
|  | ||||
| MsgUp = Msg(@window, Def) | ||||
|     IF CustNos NE '' then  | ||||
|         OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|             SearchString  = 'CUST_NO':@VM:CustNos:@VM:@FM | ||||
| 	SearchString := 'SUB_PART_NO':@VM:'#':@FM | ||||
| 	 | ||||
|             SearchString := 'ORD_SUB_PART_NO':@VM:'#':@FM | ||||
|             Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag) | ||||
| 	IF Get_Status(errCode) THEN | ||||
| 		Msg(@WINDOW,MsgUp) | ||||
| 		ErrMsg(errCode) | ||||
| 		RETURN | ||||
| 	END | ||||
|  | ||||
| 	IF WOKeys NE '' THEN | ||||
| 		RawPartNos = XLATE('WO_LOG',WOKeys,'SUB_PART_NO','X')	;* Calculated field | ||||
| 		IF Get_Status(errCode) THEN DEBUG | ||||
|             IF Not(Get_Status(errCode)) THEN | ||||
|                 PartNos = '' | ||||
|                 IF WOKeys NE '' THEN | ||||
|                     RawPartNos = XLATE('WO_LOG',WOKeys,'ORD_SUB_PART_NO','X') | ||||
|                     IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                     FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '') | ||||
|                         RawPartNo = RawPartNos<1,I> | ||||
|                         LOCATE RawPartNo IN PartNos BY 'AL' USING @VM SETTING Pos ELSE | ||||
|                             PartNos = INSERT(PartNos,1,Pos,0,RawPartNo) | ||||
|                         END | ||||
|                     NEXT I | ||||
| 		 | ||||
| 	END ELSE | ||||
| 		PartNos = '' | ||||
|                 END | ||||
| 	 | ||||
| 	Msg(@WINDOW,MsgUp) | ||||
| 		 | ||||
| 	IF PartNos = '' THEN | ||||
| 		ErrMsg('No Substrate Part Numbers on file for specified customer.') | ||||
| 		RETURN | ||||
| 	END | ||||
| 	 | ||||
|                 IF PartNos NE '' THEN | ||||
|                     PartNos             := @VM | ||||
|                     CONVERT @VM TO @RM IN PartNos | ||||
|                     CALL V119('S','','D','R',PartNos,'') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|                     IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                     CONVERT @RM TO @VM IN PartNos | ||||
| 	PartNos[-1,1] = ''					;* Strip trailing delimiter	 | ||||
| 	 | ||||
| 	 | ||||
|                     PartNos[-1,1]        = ''	 | ||||
|                     TypeOver             = '' | ||||
|                     TypeOver<PDISPLAY$>  = PartNos | ||||
| 	PartNos = Popup(@WINDow,TypeOver,'CUST_PO')	;****** Need a popup | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
| 	 | ||||
| 	IF PartNos NE '' THEN | ||||
| 		Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos) | ||||
| 	END | ||||
| 	 | ||||
| 	 | ||||
| END ELSE | ||||
| 	ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.') | ||||
| END | ||||
|                     PartNos              = Popup(@WINDow,TypeOver,'CUST_PO') | ||||
|                     IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                     IF PartNos NE '' THEN Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos) | ||||
|                 END else | ||||
|                     ErrMsg('No Substrate Part Numbers on file for specified customer.') | ||||
|                 end | ||||
|             end else | ||||
|                 ErrMsg(errCode) | ||||
|             end | ||||
|         end else | ||||
|             ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_CASS_MET_EXPORT.') | ||||
|         end | ||||
|     end | ||||
|  | ||||
| RETURN | ||||
|  | ||||
| @ -256,172 +212,144 @@ RETURN | ||||
| LotNoDC: | ||||
| * * * * * * * | ||||
|  | ||||
|  | ||||
|     LotNos  = '' | ||||
|     WOKeys  = '' | ||||
|     CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO> | ||||
|  | ||||
| LOOP | ||||
| 	LastCustNo = CustNos[-1,'B':@VM] | ||||
| UNTIL LastCustNo NE '' OR CustNos = '' | ||||
| 	CustNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
| IF CustNos = '' THEN RETURN | ||||
|  | ||||
| * display the processing message and do the processing | ||||
|  | ||||
| Def = "" | ||||
| Def<MTEXT$> = "Selecting Lot Numbers..." | ||||
| Def<MTYPE$> = "U" | ||||
|  | ||||
| MsgUp = Msg(@window, Def) | ||||
|     CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM) | ||||
|     IF CustNos NE '' then  | ||||
|         OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|             SearchString  = 'CUST_NO':@VM:CustNos:@VM:@FM | ||||
| 	SearchString := 'LOT_NO':@VM:'#':@FM | ||||
| 	 | ||||
|             Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag) | ||||
| 	IF Get_Status(errCode) THEN | ||||
| 		Msg(@WINDOW,MsgUp) | ||||
|             IF Not(Get_Status(errCode)) THEN | ||||
|                 Query      = 'LOT_NO':@VM:'#':@FM | ||||
|                 dWoMat     = '' | ||||
|                 WOMatWONos = '' | ||||
|                 Open 'DICT.WO_MAT' to dWoMat then | ||||
|                     Flag      = '' | ||||
|                     WOMatKeys = '' | ||||
|                     Btree.Extract(Query, 'WO_MAT', dWoMat, WOMatKeys, 'E', Flag) | ||||
|                     If Not(Get_status(errCode)) then | ||||
|                         If WOMatKeys NE '' then | ||||
|                             WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*') | ||||
|                             WOMatWONos = Delete(WOMatWONos, 0, 2, 0) | ||||
|                             Convert '*' to @VM in WOMatWONos    | ||||
|                             WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM) | ||||
|                             WOKeys     = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM) | ||||
|                         end | ||||
|                     end else | ||||
|                         ErrMsg('Error querying LOT_NO field of the WO_MAT table.') | ||||
|                     end | ||||
|                 end else | ||||
|                     ErrMsg('Error opening DICT.WO_MAT table in order to query on LOT_NO field') | ||||
|                 end             | ||||
|             end else | ||||
|                 ErrMsg(errCode) | ||||
| 		RETURN | ||||
| 	END | ||||
|  | ||||
|             end | ||||
|             IF WOKeys NE '' THEN | ||||
| 		RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X')	;* Calculated field | ||||
| 		IF Get_Status(errCode) THEN DEBUG | ||||
| 		LotNos = '' | ||||
|                 RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X') | ||||
|                 IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                 FOR I = 1 TO COUNT(RawLotNos,@VM) + (RawLotNos NE '') | ||||
|                     RawLotNo = RawLotNos<1,I> | ||||
|                     LOCATE RawLotNo IN LotNos BY 'AL' USING @VM SETTING Pos ELSE | ||||
|                         LotNos = INSERT(LotNos,1,Pos,0,RawLotNo) | ||||
|                     END | ||||
|                 NEXT I | ||||
| 		 | ||||
| 	END ELSE | ||||
| 		LotNos = '' | ||||
|             END | ||||
| 	 | ||||
| 	Msg(@WINDOW,MsgUp) | ||||
| 		 | ||||
| 	IF LotNos = '' THEN | ||||
| 		ErrMsg('No Lot Numbers on file for specified customer.') | ||||
| 		RETURN | ||||
| 	END | ||||
| 	 | ||||
|             IF LotNos NE '' THEN | ||||
|                 LotNos              := @VM | ||||
|                 CONVERT @VM TO @RM IN LotNos | ||||
|                 CALL V119('S','','D','R',LotNos,'') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|                 IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                 CONVERT @RM TO @VM IN LotNos | ||||
| 	LotNos[-1,1] = ''					;* Strip trailing delimiter	 | ||||
| 	 | ||||
| 	 | ||||
|                 LotNos[-1,1]         = '' | ||||
|                 TypeOver             = '' | ||||
|                 TypeOver<PDISPLAY$>  = LotNos | ||||
| 	LotNos = Popup(@WINDow,TypeOver,'CUST_PO')	;****** Need a popup | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
| 	 | ||||
| 	IF LotNos NE '' THEN | ||||
| 		Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos) | ||||
| 	END | ||||
| 	 | ||||
| 	 | ||||
|                 LotNos               = Popup(@WINDow,TypeOver,'CUST_PO') | ||||
|                 IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                 IF LotNos NE '' THEN Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos) | ||||
|             END else | ||||
|                 ErrMsg('No Lot Numbers on file for specified customer.') | ||||
|             end | ||||
|         END ELSE | ||||
| 	ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.') | ||||
|             ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_CASS_MET_EXPORT.') | ||||
|         END | ||||
|  | ||||
|  | ||||
|     end | ||||
|      | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| PSNoDC: | ||||
| * * * * * * * | ||||
|  | ||||
|  | ||||
|     WOKeys    = '' | ||||
|     PSNs      = '' | ||||
|     CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY') | ||||
|  | ||||
|     CustNos   = CustArray<COL$CUST_NO> | ||||
|  | ||||
| LOOP | ||||
| 	LastCustNo = CustNos[-1,'B':@VM] | ||||
| UNTIL LastCustNo NE '' OR CustNos = '' | ||||
| 	CustNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
| IF CustNos = '' THEN RETURN | ||||
|  | ||||
| * display the processing message and do the processing | ||||
|  | ||||
| Def = "" | ||||
| Def<MTEXT$> = "Selecting Product Specifications..." | ||||
| Def<MTYPE$> = "U" | ||||
|  | ||||
| MsgUp = Msg(@window, Def) | ||||
|     CustNos   = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM) | ||||
|     If CustNos NE '' then  | ||||
|         OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|             SearchString  = 'CUST_NO':@VM:CustNos:@VM:@FM | ||||
| 	SearchString := 'PS_NO':@VM:'#':@FM | ||||
| 	 | ||||
|             Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag) | ||||
| 	IF Get_Status(errCode) THEN | ||||
| 		Msg(@WINDOW,MsgUp) | ||||
|             IF Not(Get_Status(errCode)) THEN | ||||
|                 Query       = 'PROD_SPEC_ID':@VM:'#':@FM | ||||
|                 dWOStep     = '' | ||||
|                 WOStepWONos = '' | ||||
|                 Open 'DICT.WO_STEP' to dWOStep then | ||||
|                     Flag       = '' | ||||
|                     WOStepKeys = '' | ||||
|                     Btree.Extract(Query, 'WO_STEP', dWOStep, WOStepKeys, 'E', Flag) | ||||
|                     If Not(Get_Status(ErrCode)) then | ||||
|                         If WOStepKeys NE '' then | ||||
|                             WOStepWONos = SRP_Array('Rotate', WOStepKeys, @VM, '*') | ||||
|                             WOStepWONos = Delete(WOStepWONos, 0, 2, 0) | ||||
|                             Convert '*' to @VM in WOStepWONos                                | ||||
|                             WOStepWONos = SRP_Array('Clean', WOStepWONos, 'TrimAndMakeUnique', @VM) | ||||
|                             WOKeys      = SRP_Array('Join', WOKeys, WOStepWONos, 'OR', @VM) | ||||
|                         end | ||||
|                     end else | ||||
|                         ErrorMsg = 'Error querying PROD_SPEC_ID field in WO_STEP table.' | ||||
|                     end | ||||
|                 end else | ||||
|                     ErrorMsg = 'Error opening DICT.WO_STEP table in order to query on PROD_SPEC_ID field. Error code: ':ErrCode | ||||
|                 end             | ||||
|             END else | ||||
|                 ErrMsg(errCode) | ||||
| 		 | ||||
| 		RETURN | ||||
| 	END | ||||
|  | ||||
|             end | ||||
|             IF WOKeys NE '' THEN | ||||
| 		PSNs = '' | ||||
|  | ||||
|                 FOR N = 1 TO COUNT(WOKeys,@VM) + (WOKeys NE '') | ||||
|                     WOKey = WOKeys<1,N> | ||||
|                     RawPSNs = XLATE('WO_LOG',WOKey,'PS_NO','X') | ||||
| 		 | ||||
|                     FOR I = 1 TO COUNT(RawPSNs,@VM) + (RawPSNs NE '') | ||||
|                         RawPSN = RawPSNs<1,I> | ||||
| 				 | ||||
|                         LOCATE RawPSN IN PSNs BY 'AL' USING @VM SETTING Pos ELSE | ||||
|                             PSNs = INSERT(PSNs,1,Pos,0,RawPSN) | ||||
|                         END | ||||
| 				 | ||||
|                     NEXT I | ||||
|  | ||||
|                 NEXT N | ||||
| 	END ELSE | ||||
| 		PSNs = '' | ||||
|             END | ||||
| 	 | ||||
| 	Msg(@WINDOW,MsgUp) | ||||
| 		 | ||||
| 	IF PSNs = '' THEN | ||||
| 		ErrMsg('No Product Specifications on file for specified customer.') | ||||
| 		RETURN | ||||
| 	END | ||||
| 	 | ||||
|             IF PSNs NE '' THEN | ||||
|                 PSNs                := @VM | ||||
|                 CONVERT @VM TO @RM IN PSNs | ||||
|                 CALL V119('S','','D','R',PSNs,'') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|                 IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                 CONVERT @RM TO @VM IN PSNs | ||||
|                 PSNs[-1,1]           = ''					;* Strip trailing delimiter	 | ||||
| 	 | ||||
| 	 | ||||
|                 TypeOver             = '' | ||||
|                 TypeOver<PDISPLAY$>  = PSNs | ||||
|                 PSNs                 = Popup(@WINDow,TypeOver,'CUST_PO') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
| 	 | ||||
|                 IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                 IF PSNs NE '' THEN | ||||
|                     CONVERT @VM TO @FM IN PSNs | ||||
|                     Set_Property(@WINDOW:'.PS_NO','LIST',PSNs) | ||||
|                 END                 | ||||
| 	 | ||||
| 	 | ||||
|             END else | ||||
|                 ErrMsg('No Product Specifications on file for specified customer.')                 | ||||
|             end | ||||
|         END ELSE | ||||
|             ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.') | ||||
|         END | ||||
|     end | ||||
|      | ||||
| RETURN | ||||
|  | ||||
| @ -431,28 +359,27 @@ WONoDC: | ||||
| * * * * * * * | ||||
|  | ||||
|     WOKeys = Collect.IXVals('WM_OUT', 'WO_NO') | ||||
|  | ||||
|     CONVERT @FM TO @VM IN WOKeys | ||||
|  | ||||
| IF Get_Status(errCode) THEN ErrMsg(ErrCode) | ||||
|  | ||||
|     IF Not(Get_Status(errCode)) THEN  | ||||
|         IF WOKeys NE '' THEN | ||||
|             TypeOver = '' | ||||
|             TypeOver<PDISPLAY$> = WOKeys | ||||
|             TypeOver<PMODE$> = 'K' | ||||
|  | ||||
|             WOKeys = Popup(@WINDOW,TypeOver,'WO_LOG_QUERY') | ||||
| 	IF Get_Status(errCode) THEN | ||||
| 		ErrMsg(errCode) | ||||
| 	END | ||||
| 	 | ||||
|             IF Not(Get_Status(errCode)) THEN | ||||
|                 IF WOKeys NE '' THEN | ||||
|                     CONVERT @VM TO @FM IN WOKeys | ||||
|                     Set_Property(@WINDOW:'.WO_NO','LIST',WOKeys) | ||||
|                 END | ||||
|             END else | ||||
|                 ErrMsg(errCode) | ||||
|             end | ||||
|         END | ||||
| RETURN | ||||
|     end else | ||||
|         ErrMsg(ErrCode) | ||||
|     end | ||||
|      | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| @ -460,35 +387,14 @@ CustPNDC: | ||||
| * * * * * * * | ||||
|  | ||||
|     CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY') | ||||
|  | ||||
|     CustNos   = CustArray<COL$CUST_NO> | ||||
|  | ||||
| LOOP | ||||
| 	LastCustNo = CustNos[-1,'B':@VM] | ||||
| UNTIL LastCustNo NE '' OR CustNos = '' | ||||
| 	CustNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
| IF CustNos = '' THEN RETURN | ||||
|  | ||||
| * display the processing message and do the processing | ||||
|  | ||||
| Def = "" | ||||
| Def<MTEXT$> = "Selecting Part Numbers..." | ||||
| Def<MTYPE$> = "U" | ||||
|  | ||||
| MsgUp = Msg(@window, Def) | ||||
|     CustNos   = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM) | ||||
|     IF CustNos NE '' then  | ||||
|         OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|             SearchString  = 'CUST_NO':@VM:CustNos:@VM:@FM | ||||
|             SearchString := 'CUST_PART_NO':@VM:'#':@FM | ||||
| 	 | ||||
|             Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag) | ||||
| 	IF Get_Status(errCode) THEN | ||||
| 		Msg(@WINDOW,MsgUp) | ||||
| 		ErrMsg(errCode) | ||||
| 		RETURN | ||||
| 	END | ||||
|  | ||||
|             IF Not(Get_Status(errCode)) THEN | ||||
|                 IF WOKeys NE '' THEN | ||||
|                     PartNos = '' | ||||
|                     FOR N = 1 TO COUNT(WOKeys,@VM) + (WOKeys NE '') | ||||
| @ -496,64 +402,49 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|                         RawPartNos = XLATE('WO_LOG',WOKey,'PART_NO','X') | ||||
|                         FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '') | ||||
|                             RawPartNo = RawPartNos<1,I> | ||||
| 					 | ||||
|                             LOCATE RawPartNo IN PartNos BY 'AL' USING @VM SETTING Pos ELSE | ||||
|                                 PartNos = INSERT(PartNos,1,Pos,0,RawPartNo) | ||||
|                             END | ||||
|                         NEXT I | ||||
|  | ||||
|                     NEXT N | ||||
|                 END ELSE | ||||
|                     PartNos = '' | ||||
|                 END | ||||
| 	 | ||||
| 	Msg(@WINDOW,MsgUp) | ||||
| 		 | ||||
| 	IF PartNos = '' THEN | ||||
| 		ErrMsg('No Customer Part Numbers on file for specified customer.') | ||||
| 		RETURN | ||||
| 	END | ||||
| 	 | ||||
|                 IF PartNos NE '' THEN | ||||
|                     PartNos             := @VM | ||||
|                     CONVERT @VM TO @RM IN PartNos | ||||
|                     CALL V119('S','','D','R',PartNos,'') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|                     IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                     CONVERT @RM TO @VM IN PartNos | ||||
| 	PartNos[-1,1] = ''					;* Strip trailing delimiter	 | ||||
| 	 | ||||
| 	 | ||||
|                     PartNos[-1,1]        = ''					 | ||||
|                     TypeOver             = '' | ||||
|                     TypeOver<PDISPLAY$>  = PartNos | ||||
| 	PartNos = Popup(@WINDow,TypeOver,'CUST_PO')		;* Needs a popup | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
| 	 | ||||
| 	IF PartNos NE '' THEN | ||||
| 		Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos) | ||||
| 	END | ||||
| 	 | ||||
|                     PartNos              = Popup(@WINDow,TypeOver,'CUST_PO') | ||||
|                     IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|                     IF PartNos NE '' THEN Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos)                        | ||||
|                 END else | ||||
|                     ErrMsg('No Customer Part Numbers on file for specified customer.') | ||||
|                 end | ||||
|             END else | ||||
|                 ErrMsg(errCode) | ||||
|             end | ||||
|         END ELSE | ||||
|             ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.') | ||||
|         END | ||||
|     end | ||||
|      | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| LUDate: | ||||
| * * * * * * * | ||||
|  | ||||
|     ReturnCtrl   = Parm1[1,@RM] | ||||
|  | ||||
|     IF ReturnCtrl = '' THEN ReturnCtrl = Get_Property(@WINDOW,'FOCUS') | ||||
|  | ||||
|     DateSelected =  Dialog_Box('POPUP_YEAR',@WINDOW) | ||||
|  | ||||
|     RetVal       = OCONV(DateSelected, 'D4/') | ||||
|  | ||||
| IF RetVal NE '' THEN | ||||
| 	obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl) | ||||
| END | ||||
|     IF RetVal NE '' THEN obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl) | ||||
|  | ||||
| RETURN | ||||
|  | ||||
| @ -565,89 +456,36 @@ Cancel: | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| PerformQuery: | ||||
| * * * * * * * | ||||
|  | ||||
| * Customer numbers * | ||||
|  | ||||
|     SearchString = 'MAKEUP_BOX':@VM:'0':@VM:'':@FM | ||||
|  | ||||
|     CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO> | ||||
|  | ||||
| LOOP | ||||
| 	LastVar = CustNos[-1,'B':@VM] | ||||
| UNTIL LastVar NE '' OR CustNos = '' | ||||
| 	CustNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
|     CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM) | ||||
|     IF CustNos NE '' THEN SearchString := 'CUST_NO':@VM:CustNos:@FM			 | ||||
|  | ||||
| * LotNumbers * | ||||
|  | ||||
|     LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = LotNos[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR LotNos = '' | ||||
| 	LotNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
|     LotNos = SRP_Array('Clean', LotNos, 'TrimAndMakeUnique', @VM) | ||||
|     IF LotNos NE '' THEN SearchString := 'LOT_NO':@VM:LotNos:@FM | ||||
|  | ||||
|  | ||||
| * Cust Part Number * | ||||
|  | ||||
|     CustPNs = Get_Property(@WINDOW:'.CUST_PART_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = CustPNs[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR CustPNs = '' | ||||
| 	CustPNS[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
|     CustPNs = SRP_Array('Clean', CustPNs, 'TrimAndMakeUnique', @VM) | ||||
|     IF CustPNs NE '' THEN SearchString := 'CUST_PART_NO':@VM:CustPNs:@FM | ||||
|  | ||||
| * Substrate Part Numbers * | ||||
|  | ||||
|     SubPartNos = Get_Property(@WINDOW:'.SUB_PART_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = SubPartNos[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR SubPartNos = '' | ||||
| 	SubPartNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
|     SubPartNos = SRP_Array('Clean', SubPartNos, 'TrimAndMakeUnique', @VM) | ||||
|     IF SubPartNos NE '' THEN SearchString := 'SUB_PART_NO':@VM:SubPartNos:@FM | ||||
|  | ||||
| * PSN Nos * | ||||
|  | ||||
|     PS_NOs = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = PS_NOs[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR PS_NOs = '' | ||||
| 	PS_NOs[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
|     PS_NOs = SRP_Array('Clean', PS_NOs, 'TrimAndMakeUnique', @VM) | ||||
|     IF PS_NOs NE '' THEN SearchString := 'SHIP_PSN':@VM:PS_NOs:@FM | ||||
|  | ||||
|  | ||||
| * WO Nos * | ||||
|  | ||||
|     WO_NOs = Get_Property(@WINDOW:'.WO_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = WO_NOs[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR WO_NOs = '' | ||||
| 	WO_NOs[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
|     WO_NOs = SRP_Array('Clean', WO_NOs, 'TrimAndMakeUnique', @VM) | ||||
|     IF WO_NOs NE '' THEN SearchString := 'WO_NO':@VM:WO_NOs:@FM | ||||
|  | ||||
| * Entry Dates * | ||||
|  | ||||
|     StartDt = ICONV(Get_Property(@WINDOW:'.START_DT','TEXT'),'D') | ||||
|     EndDt	= ICONV(Get_Property(@WINDOW:'.END_DT','TEXT'),'D') | ||||
|  | ||||
| @ -664,36 +502,21 @@ BEGIN CASE | ||||
|             EndDt += 1 | ||||
|             SearchString := 'RDS_FINAL_SIG_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM | ||||
|              | ||||
| 	CASE 1 | ||||
|         CASE Otherwise$ | ||||
|             NULL | ||||
|     END CASE | ||||
|  | ||||
|  | ||||
|     OPEN 'DICT.WO_MAT' TO DictVar THEN | ||||
| 	Def = "" | ||||
| 	Def<MTEXT$> = "Selecting WO_MAT Recrods..." | ||||
| 	Def<MTYPE$> = "U" | ||||
|  | ||||
| 	* display the processing message and do the processing | ||||
|  | ||||
| 	MsgUp = Msg(@window, Def) | ||||
| 	 | ||||
|         Btree.Extract(SearchString,'WO_MAT',DictVar,WMOKeys,'',flag) | ||||
| 	IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
| 	 | ||||
| 	Msg(@window, MsgUp) | ||||
| 	IF Get_Status(errCode) THEN | ||||
| 		ErrMsg(errCode) | ||||
| 		RETURN | ||||
| 	END | ||||
| 	 | ||||
|         IF Not(Get_Status(errCode)) THEN | ||||
|             End_Dialog(@WINDOW,WMOKeys) | ||||
|  | ||||
|         end else | ||||
|             ErrMsg(errCode) | ||||
|         end | ||||
|     END ELSE | ||||
|         ErrMsg('Unable to open DICT.WO_MAT in routine COMM_DIALOG_CASS_MET_EXPORT') | ||||
|     END | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -556,8 +556,6 @@ UnloadProduct: | ||||
| 		Next CassNo | ||||
| 	end | ||||
| 	 | ||||
| 	 | ||||
| 	 | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| @ -639,3 +637,4 @@ SlotOverview: | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -1,24 +1,30 @@ | ||||
| COMPILE FUNCTION Comm_Dialog_WO_Find(Method, Parm1) | ||||
|  | ||||
| /* | ||||
| 	Commuter module for Dialog_WO_Find window. | ||||
| 	 | ||||
| 	01/14/2005 - John C. Henry, J.C. Henry & Co., Inc. | ||||
| */ | ||||
|  | ||||
| DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg | ||||
| DECLARE SUBROUTINE obj_Appwindow, Start_Window, Btree.Extract, Msg, Send_Info | ||||
| DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg, Btree.Extract, Msg, Send_Info | ||||
| DECLARE SUBROUTINE obj_Appwindow, Start_Window | ||||
| DECLARE FUNCTION   Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, Collect.IXVals, Msg | ||||
| DECLARE FUNCTION   SRP_Array | ||||
|  | ||||
| $INSERT LOGICAL | ||||
| $INSERT PS_EQUATES | ||||
| $INSERT POPUP_EQUATES | ||||
| $INSERT MSG_EQUATES | ||||
| $INSERT WO_LOG_EQUATES | ||||
| $INSERT WO_STEP_EQUATES | ||||
| $INSERT WO_MAT_EQUATES | ||||
|  | ||||
| EQU CRLF$	TO \0D0A\ | ||||
|  | ||||
|  | ||||
| EQU COL$CUST_NO		TO 1		;* Customer edit table column equates | ||||
| EQU COL$CUST_NAME	TO 2 | ||||
|  | ||||
| EQU COL$REACT_TYPE	TO 1 | ||||
|  | ||||
|  | ||||
| EQU LTGREY$		TO	229 + (229*256) + (229*65536)	;* JCH standard colors for edittable backgrounds | ||||
| EQU GREY$		TO	192 + (192*256) + (192*65536) | ||||
| EQU GREEN$		TO	192 + (220*256) + (192*65536) | ||||
| @ -32,17 +38,13 @@ EQU PURPLE$		TO	225 + (181*256) + (255*65536) | ||||
| EQU DTS_MULTIROW$	TO 512 | ||||
| EQU DTS_LARGEDATA$	TO 4096 | ||||
|  | ||||
| $INSERT WO_LOG_EQU | ||||
| $INSERT PS_EQUATES | ||||
| $INSERT POPUP_EQUATES | ||||
| $INSERT MSG_EQUATES | ||||
|  | ||||
| ErrTitle = 'Error in Comm_Dialog_Order_Find' | ||||
| ErrorMsg = '' | ||||
|  | ||||
| Result = '' | ||||
|  | ||||
| BEGIN CASE | ||||
|      | ||||
|     CASE Method = 'Create'			; GOSUB Create | ||||
|     CASE Method = 'CustChar'		; GOSUB CustChar | ||||
|     CASE Method = 'CustPC'			; GOSUB CustPC | ||||
| @ -56,7 +58,7 @@ BEGIN CASE | ||||
|     CASE Method = 'Cancel'			; GOSUB Cancel | ||||
|     CASE Method = 'Refresh'			; GOSUB Refresh | ||||
|     CASE Method = 'PerformQuery'	; GOSUB PerformQuery | ||||
| 	CASE 1 | ||||
|     CASE Otherwise$ | ||||
|         ErrMsg(ErrTitle:@SVM:'Unknown method ':QUOTE(Method):' passed to routine.') | ||||
|          | ||||
| END CASE | ||||
| @ -68,7 +70,6 @@ RETURN Result | ||||
| Create: | ||||
| * * * * * * * | ||||
|  | ||||
|  | ||||
|     obj_AppWindow('Create') | ||||
|  | ||||
|     Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX') | ||||
| @ -94,19 +95,14 @@ CustChar: | ||||
| * * * * * * * | ||||
|  | ||||
|     CtrlName  = @WINDOW:'.CUST_INFO' | ||||
|  | ||||
|     CustArray = Get_Property(CtrlName,'ARRAY')		;* Customer Information table | ||||
|     CurrPos   = Get_Property(CtrlName,'SELPOS') | ||||
|  | ||||
|     CurrRow   = CurrPos<2> | ||||
|  | ||||
|     DataIn    = CustArray<COL$CUST_NO,CurrRow> | ||||
|  | ||||
|     IF LEN(DataIn) > 2 THEN | ||||
|  | ||||
|         ReturnToCtrl = CtrlName | ||||
|         ReturnToPos  = CurrPos | ||||
|  | ||||
|         IF NOT(NUM(DataIn)) THEN  | ||||
|             Set_Property(CtrlName,'CELLPOS','',CurrPos)	;* Clear characters input | ||||
|             Start_Window('COMP_LOOKUP',@WINDOW,DataIn:@VM:'C':@FM:ReturnToCtrl:@FM:ReturnToPos,'','') | ||||
| @ -121,13 +117,10 @@ CustPC: | ||||
| * * * * * * * | ||||
|  | ||||
|     CtrlName = @WINDOW:'.CUST_INFO' | ||||
|  | ||||
|     CustList = Get_Property(CtrlName,'LIST')		;* Customer Information table | ||||
|  | ||||
|     CurrPos  = Get_Property(CtrlName,'SELPOS') | ||||
|     CurrCol  = CurrPos<1> | ||||
|     CurrRow  = CurrPos<2> | ||||
|  | ||||
|     CustNo   = CustList<CurrRow,COL$CUST_NO> | ||||
|     IF CustNo NE '' THEN | ||||
|         Set_Property(CtrlName,'CELLPOS',XLATE('COMPANY',CustNo,4,'X'),COL$CUST_NAME:@FM:CurrRow) | ||||
| @ -141,13 +134,10 @@ CustDC: | ||||
| * * * * * * * | ||||
|  | ||||
|     CtrlName = @WINDOW:'.CUST_INFO' | ||||
|  | ||||
|     CustList = Get_Property(CtrlName,'LIST')		;* Customer Information table | ||||
|  | ||||
|     CurrPos  = Get_Property(CtrlName,'SELPOS') | ||||
|     CurrCol  = CurrPos<1> | ||||
|     CurrRow  = CurrPos<2> | ||||
|  | ||||
|     CustNo   = CustList<CurrRow,COL$CUST_NO> | ||||
|     LineCnt  = COUNT(CustList,@FM) + (CustList NE '') | ||||
|     IF CustNo = '' THEN | ||||
| @ -170,6 +160,7 @@ IF CustNo = '' THEN | ||||
|     END ELSE | ||||
|         ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers') | ||||
|     END | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| @ -178,9 +169,7 @@ SubPNDC: | ||||
| * * * * * * * | ||||
|  | ||||
|     CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO> | ||||
|  | ||||
|     CustNos   = CustArray<COL$CUST_NO> | ||||
|  | ||||
|     LOOP | ||||
|         LastCustNo = CustNos[-1,'B':@VM] | ||||
|     UNTIL LastCustNo NE '' OR CustNos = '' | ||||
| @ -190,7 +179,6 @@ REPEAT | ||||
|     IF CustNos = '' THEN RETURN | ||||
|  | ||||
|     * display the processing message and do the processing | ||||
|  | ||||
|     Def = "" | ||||
|     Def<MTEXT$> = "Selecting Substrate Part Numbers..." | ||||
|     Def<MTYPE$> = "U" | ||||
| @ -209,7 +197,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|          | ||||
|         IF WOKeys NE '' THEN | ||||
|             RawPartNos = XLATE('WO_LOG',WOKeys,'SUB_PART_NO','X')	;* Calculated field | ||||
| 		IF Get_Status(errCode) THEN DEBUG | ||||
|             IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|             PartNos = '' | ||||
|             FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '') | ||||
|                 RawPartNo = RawPartNos<1,I> | ||||
| @ -232,21 +220,19 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|         PartNos := @VM | ||||
|         CONVERT @VM TO @RM IN PartNos | ||||
|         CALL V119('S','','D','R',PartNos,'') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|         IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|         CONVERT @RM TO @VM IN PartNos | ||||
|         PartNos[-1,1] = ''					;* Strip trailing delimiter	 | ||||
|          | ||||
| 	 | ||||
|         TypeOver = '' | ||||
|         TypeOver<PDISPLAY$> = PartNos | ||||
|         PartNos = Popup(@WINDow,TypeOver,'CUST_PO')	;****** Need a popup | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|         IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|          | ||||
|         IF PartNos NE '' THEN | ||||
|             Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos) | ||||
|         END | ||||
|          | ||||
| 	 | ||||
|     END ELSE | ||||
|         ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.') | ||||
|     END | ||||
| @ -258,7 +244,6 @@ RETURN | ||||
| LotNoDC: | ||||
| * * * * * * * | ||||
|  | ||||
|  | ||||
|     CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO> | ||||
|  | ||||
|     LOOP | ||||
| @ -268,9 +253,7 @@ UNTIL LastCustNo NE '' OR CustNos = '' | ||||
|     REPEAT | ||||
|  | ||||
|     IF CustNos = '' THEN RETURN | ||||
|  | ||||
|     * display the processing message and do the processing | ||||
|  | ||||
|     Def = "" | ||||
|     Def<MTEXT$> = "Selecting Lot Numbers..." | ||||
|     Def<MTYPE$> = "U" | ||||
| @ -289,7 +272,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|          | ||||
|         IF WOKeys NE '' THEN | ||||
|             RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X')	;* Calculated field | ||||
| 		IF Get_Status(errCode) THEN DEBUG | ||||
|             IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|             LotNos = '' | ||||
|             FOR I = 1 TO COUNT(RawLotNos,@VM) + (RawLotNos NE '') | ||||
|                 RawLotNo = RawLotNos<1,I> | ||||
| @ -312,37 +295,30 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|         LotNos := @VM | ||||
|         CONVERT @VM TO @RM IN LotNos | ||||
|         CALL V119('S','','D','R',LotNos,'') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|         IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|         CONVERT @RM TO @VM IN LotNos | ||||
|         LotNos[-1,1] = ''					;* Strip trailing delimiter	 | ||||
|          | ||||
| 	 | ||||
|         TypeOver = '' | ||||
|         TypeOver<PDISPLAY$> = LotNos | ||||
|         LotNos = Popup(@WINDow,TypeOver,'CUST_PO')	;****** Need a popup | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|         IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|          | ||||
|         IF LotNos NE '' THEN | ||||
|             Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos) | ||||
|         END | ||||
|          | ||||
| 	 | ||||
|     END ELSE | ||||
|         ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.') | ||||
|     END | ||||
|  | ||||
|  | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| PSNoDC: | ||||
| * * * * * * * | ||||
|  | ||||
|  | ||||
|     CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY') | ||||
|  | ||||
|     CustNos = CustArray<COL$CUST_NO> | ||||
| @ -356,7 +332,6 @@ REPEAT | ||||
|     IF CustNos = '' THEN RETURN | ||||
|  | ||||
|     * display the processing message and do the processing | ||||
|  | ||||
|     Def = "" | ||||
|     Def<MTEXT$> = "Selecting Product Specifications..." | ||||
|     Def<MTYPE$> = "U" | ||||
| @ -405,22 +380,20 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|         PSNs := @VM | ||||
|         CONVERT @VM TO @RM IN PSNs | ||||
|         CALL V119('S','','D','R',PSNs,'') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|         IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|         CONVERT @RM TO @VM IN PSNs | ||||
|         PSNs[-1,1] = ''					;* Strip trailing delimiter	 | ||||
|          | ||||
| 	 | ||||
|         TypeOver = '' | ||||
|         TypeOver<PDISPLAY$> = PSNs | ||||
|         PSNs = Popup(@WINDow,TypeOver,'CUST_PO') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|         IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|          | ||||
|         IF PSNs NE '' THEN | ||||
|             CONVERT @VM TO @FM IN PSNs | ||||
|             Set_Property(@WINDOW:'.PS_NO','LIST',PSNs) | ||||
|         END | ||||
|          | ||||
| 	 | ||||
|     END ELSE | ||||
|         ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.') | ||||
|     END | ||||
| @ -428,19 +401,15 @@ END | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| ReactTypeDC: | ||||
| * * * * * * * | ||||
|  | ||||
|     CtrlName  = @WINDOW:'.REACT_TYPE' | ||||
|  | ||||
|     RTypeList = Get_Property(CtrlName,'LIST')		;* Customer Information table | ||||
|  | ||||
|     CurrPos   = Get_Property(CtrlName,'SELPOS') | ||||
|     CurrCol   = CurrPos<1> | ||||
|     CurrRow   = CurrPos<2> | ||||
|  | ||||
|     RType     = RTypeList<CurrRow,COL$REACT_TYPE> | ||||
|     LineCnt   = COUNT(RTypeList,@FM) + (RTypeList NE '') | ||||
|     IF RType = '' THEN | ||||
| @ -454,26 +423,16 @@ IF RType = '' THEN | ||||
|          | ||||
|         FOR I = CurrRow TO CurrRow + rCnt | ||||
|             RType = RTypes<1,I> | ||||
| 		*CustName = XLATE('COMPANY',CustNo,4,'X') | ||||
|             Set_Property(CtrlName,'CELLPOS',RType,COL$REACT_TYPE:@FM:I) | ||||
| 		*Set_Property(CtrlName,'CELLPOS',CustName,COL$CUST_NAME:@FM:I) | ||||
| 		*Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1) | ||||
|         NEXT I | ||||
|          | ||||
| 	 | ||||
|     END ELSE | ||||
|         ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers') | ||||
|     END | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| CustPNDC: | ||||
| * * * * * * * | ||||
| @ -520,7 +479,6 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|                         PartNos = INSERT(PartNos,1,Pos,0,RawPartNo) | ||||
|                     END | ||||
|                 NEXT I | ||||
|  | ||||
|             NEXT N | ||||
|         END ELSE | ||||
|             PartNos = '' | ||||
| @ -536,7 +494,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|         PartNos := @VM | ||||
|         CONVERT @VM TO @RM IN PartNos | ||||
|         CALL V119('S','','D','R',PartNos,'') | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|         IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|         CONVERT @RM TO @VM IN PartNos | ||||
|         PartNos[-1,1] = ''					;* Strip trailing delimiter	 | ||||
|          | ||||
| @ -544,7 +502,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
|         TypeOver = '' | ||||
|         TypeOver<PDISPLAY$> = PartNos | ||||
|         PartNos = Popup(@WINDow,TypeOver,'CUST_PO')		;* Needs a popup | ||||
| 	IF Get_Status(errCode) THEN DEBUG | ||||
|         IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
|          | ||||
|         IF PartNos NE '' THEN | ||||
|             Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos) | ||||
| @ -557,7 +515,6 @@ END | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| LUDate: | ||||
| * * * * * * * | ||||
| @ -570,11 +527,8 @@ DateSelected =  Dialog_Box('POPUP_YEAR',@WINDOW) | ||||
|  | ||||
|     RetVal = OCONV(DateSelected, 'D4/') | ||||
|  | ||||
|  | ||||
|     obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl) | ||||
|  | ||||
|  | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| @ -585,92 +539,29 @@ Cancel: | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| PerformQuery: | ||||
| * * * * * * * | ||||
|  | ||||
| * Customer numbers * | ||||
|  | ||||
|     SearchString = '' | ||||
|  | ||||
|     CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO> | ||||
|  | ||||
| LOOP | ||||
| 	LastVar = CustNos[-1,'B':@VM] | ||||
| UNTIL LastVar NE '' OR CustNos = '' | ||||
| 	CustNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|     CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM) | ||||
|  | ||||
|     IF CustNos NE '' THEN SearchString := 'CUST_NO':@VM:CustNos:@FM			 | ||||
|  | ||||
| * LotNumbers * | ||||
|  | ||||
| LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = LotNos[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR LotNos = '' | ||||
| 	LotNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
| IF LotNos NE '' THEN SearchString := 'LOT_NO':@VM:LotNos:@FM | ||||
|  | ||||
|  | ||||
| * Cust Part Number * | ||||
|  | ||||
|     CustPNs = Get_Property(@WINDOW:'.CUST_PART_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = CustPNs[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR CustPNs = '' | ||||
| 	CustPNS[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
|     CustPNs = SRP_Array('Clean', CustPNs, 'TrimAndMakeUnique', @VM) | ||||
|     IF CustPNs NE '' THEN SearchString := 'CUST_PART_NO':@VM:CustPNs:@FM | ||||
|  | ||||
|  | ||||
| * Substrate Part Numbers * | ||||
|  | ||||
|     SubPartNos = Get_Property(@WINDOW:'.SUB_PART_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = SubPartNos[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR SubPartNos = '' | ||||
| 	SubPartNos[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
| IF SubPartNos NE '' THEN SearchString := 'SUB_PART_NO':@VM:SubPartNos:@FM | ||||
|  | ||||
|  | ||||
| * * * * *   Reactor Type   * * * * * | ||||
|     SubPartNos = SRP_Array('Clean', SubPartNos, 'TrimAndMakeUnique', @VM) | ||||
|     IF SubPartNos NE '' THEN SearchString := 'ORD_SUB_PART_NO':@VM:SubPartNos:@FM | ||||
|      | ||||
|     ReactTypes = Get_Property(@WINDOW:'.REACT_TYPE','ARRAY')<COL$REACT_TYPE> | ||||
|  | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = ReactTypes[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR ReactTypes = '' | ||||
| 	ReactTypes[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
|     ReactTypes = SRP_Array('Clean', ReactTypes, 'TrimAndMakeUnique', @VM) | ||||
|     IF ReactTypes NE '' THEN SearchString := 'REACT_TYPE':@VM:ReactTypes:@FM | ||||
|  | ||||
|  | ||||
| * PSN Nos * | ||||
|  | ||||
| PS_NOs = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1> | ||||
|  | ||||
| LOOP | ||||
| 	LastVal = PS_NOs[-1,'B':@VM] | ||||
| UNTIL LastVal NE '' OR PS_NOs = '' | ||||
| 	PS_NOs[COL1(),99] = ''		;* Trim trailing blanks | ||||
| REPEAT | ||||
|  | ||||
| IF PS_NOs NE '' THEN SearchString := 'PS_NO':@VM:PS_NOs:@FM | ||||
|  | ||||
| * Entry Dates * | ||||
|  | ||||
|     StartDt = ICONV(Get_Property(@WINDOW:'.START_DT','TEXT'),'D') | ||||
|     EndDt	= ICONV(Get_Property(@WINDOW:'.END_DT','TEXT'),'D') | ||||
|  | ||||
| @ -682,38 +573,18 @@ BEGIN CASE | ||||
|             SearchString := 'ENTRY_DATE':@VM:'<=':EndDt:@FM | ||||
|              | ||||
|         CASE StartDt NE '' AND EndDt NE '' | ||||
| 		* Fudge the dates - '~' is not inclusive of the end dates | ||||
|             // Modify the dates by one day. The '~' operator is not inclusive of the end dates. | ||||
|             StartDt -= 1 | ||||
|             EndDt += 1 | ||||
|             SearchString := 'ENTRY_DATE':@VM:StartDt:'~':EndDt:@FM | ||||
|              | ||||
| 	CASE 1 | ||||
|         CASE Otherwise$ | ||||
|             NULL | ||||
|     END CASE | ||||
|  | ||||
|  | ||||
| * RX Dates * | ||||
|  | ||||
|     StartDt = ICONV(Get_Property(@WINDOW:'.MTL_RX_START_DT','TEXT'),'D') | ||||
|     EndDt	= ICONV(Get_Property(@WINDOW:'.MTL_RX_END_DT','TEXT'),'D') | ||||
|  | ||||
| BEGIN CASE | ||||
| 	CASE StartDt NE '' AND EndDt = '' | ||||
| 		SearchString := 'RX_DT':@VM:'>=':OConv(StartDt, 'D4/'):@FM | ||||
| 	 | ||||
| 	CASE StartDt = '' AND EndDt NE '' | ||||
| 		SearchString := 'RX_DT':@VM:'<=':OConv(EndDt, 'D4/'):@FM | ||||
| 	 | ||||
| 	CASE StartDt NE '' AND EndDt NE '' | ||||
| 		* Fudge the dates - '~' is not inclusive of the end dates | ||||
| 		StartDt -= 1 | ||||
| 		EndDt += 1 | ||||
| 		SearchString := 'RX_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM | ||||
| 		 | ||||
| 	CASE 1 | ||||
| 		NULL | ||||
| END CASE | ||||
|  | ||||
|     OrdStatus = Get_Property(@WINDOW:'.STATUS','VALUE') | ||||
|  | ||||
|     IF OrdStatus NE 'I' THEN | ||||
| @ -724,31 +595,112 @@ IF OrdStatus NE 'I' THEN | ||||
|         END | ||||
|     END | ||||
|  | ||||
|     WONos = '' | ||||
|  | ||||
|     If SearchString NE '' then  | ||||
|         OPEN 'DICT.WO_LOG' TO DictVar THEN | ||||
| 	Def = "" | ||||
| 	Def<MTEXT$> = "Selecting Orders..." | ||||
| 	Def<MTYPE$> = "U" | ||||
|  | ||||
| 	* display the processing message and do the processing | ||||
|  | ||||
| 	MsgUp = Msg(@window, Def) | ||||
|  | ||||
|             Btree.Extract(SearchString,'WO_LOG',DictVar,WOKeys,'',flag) | ||||
| 	IF Get_Status(errCode) THEN ErrMsg(errCode) | ||||
| 	 | ||||
| 	Msg(@window, MsgUp) | ||||
|             IF Get_Status(errCode) THEN | ||||
| 		ErrMsg(errCode) | ||||
| 		RETURN | ||||
| 	END | ||||
| 	 | ||||
| 	End_Dialog(@WINDOW,WOKeys) | ||||
|  | ||||
|                 ErrorMsg = 'Error querying WO_LOG table with supplied fields.' | ||||
|             end | ||||
|         END ELSE | ||||
|             ErrMsg('Unable to open DICT.WO_LOG in routine COMM_DIALOG_WO_LOG_FIND') | ||||
|         END | ||||
|     end | ||||
|      | ||||
|     LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1> | ||||
|     LotNos = SRP_Array('Clean', LotNos, 'TrimAndMakeUnique', @VM)     | ||||
|     If LotNos NE '' then | ||||
|         Query      = 'LOT_NO':@VM:LotNos:@FM | ||||
|         dWoMat     = '' | ||||
|         WOMatWONos = '' | ||||
|         Open 'DICT.WO_MAT' to dWoMat then | ||||
|             Flag      = '' | ||||
|             WOMatKeys = '' | ||||
|             Btree.Extract(Query, 'WO_MAT', dWoMat, WOMatKeys, 'E', Flag) | ||||
|             If Not(Get_status(errCode)) then | ||||
|                 If WOMatKeys NE '' then | ||||
|                     WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*') | ||||
|                     WOMatWONos = Delete(WOMatWONos, 0, 2, 0) | ||||
|                     Convert '*' to @VM in WOMatWONos    | ||||
|                     WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM) | ||||
|                     WOKeys     = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM) | ||||
|                 end | ||||
|             end else | ||||
|                 ErrorMsg = 'Error querying LOT_NO field of the WO_MAT table.' | ||||
|             end | ||||
|         end else | ||||
|             ErrorMsg = 'Error opening DICT.WO_MAT table in order to query on LOT_NO field' | ||||
|         end | ||||
|     end | ||||
|      | ||||
|     PSNos   = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1> | ||||
|     PSNos   = SRP_Array('Clean', PSNos, 'TrimAndMakeUnique', @VM)     | ||||
|     If PSNos NE '' then | ||||
|         Query       = 'PROD_SPEC_ID':@VM:PSNos:@FM | ||||
|         dWOStep     = '' | ||||
|         WOStepWONos = '' | ||||
|         Open 'DICT.WO_STEP' to dWOStep then | ||||
|             Flag       = '' | ||||
|             WOStepKeys = '' | ||||
|             Btree.Extract(Query, 'WO_STEP', dWOStep, WOStepKeys, 'E', Flag) | ||||
|             If Not(Get_Status(ErrCode)) then | ||||
|                 If WOStepKeys NE '' then | ||||
|                     WOStepWONos = SRP_Array('Rotate', WOStepKeys, @VM, '*') | ||||
|                     WOStepWONos = Delete(WOStepWONos, 0, 2, 0) | ||||
|                     Convert '*' to @VM in WOStepWONos                                | ||||
|                     WOStepWONos = SRP_Array('Clean', WOStepWONos, 'TrimAndMakeUnique', @VM) | ||||
|                     WOKeys      = SRP_Array('Join', WOKeys, WOStepWONos, 'OR', @VM) | ||||
|                 end | ||||
|             end else | ||||
|                 ErrorMsg = 'Error querying PROD_SPEC_ID field in WO_STEP table.' | ||||
|             end | ||||
|         end else | ||||
|             ErrorMsg = 'Error opening DICT.WO_STEP table in order to query on PROD_SPEC_ID field. Error code: ':ErrCode | ||||
|         end | ||||
|     end | ||||
|     If ( (StartDt NE '') or (EndDt NE '') ) then | ||||
|         Begin Case | ||||
|             Case ( (StartDt NE '') and (EndDt EQ '') ) | ||||
|                 Query = 'RX_DT':@VM:'>=':OConv(StartDt, 'D4/'):@FM | ||||
|                  | ||||
|             Case ( (StartDt EQ '') and (EndDt NE '') ) | ||||
|                 Query = 'RX_DT':@VM:'<=':OConv(EndDt, 'D4/'):@FM | ||||
|                  | ||||
|             Case ( (StartDt NE '') and (EndDt NE '') ) | ||||
|                 // Modify the dates by one day. The '~' operator is not inclusive of the end dates. | ||||
|                 StartDt -= 1 | ||||
|                 EndDt   += 1 | ||||
|                 Query    = 'RX_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM | ||||
|         End case | ||||
|         dWOMat     = '' | ||||
|         WOMatWONos = '' | ||||
|         Open 'DICT.WO_MAT' to dWOMat then | ||||
|             Flag      = '' | ||||
|             WOMatKeys = '' | ||||
|             Btree.Extract(Query, 'WO_MAT', dWOMat, WOMatKeys, 'E', Flag) | ||||
|             If Not(Get_Status(ErrCode)) then | ||||
|                 If WOMatKeys NE '' then | ||||
|                     WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*') | ||||
|                     WOMatWONos = Delete(WOMatWONos, 0, 2, 0) | ||||
|                     Convert '*' to @VM in WOMatWONos                             | ||||
|                     WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM) | ||||
|                     WOKeys     = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM) | ||||
|                 end                     | ||||
|             end else | ||||
|                 ErrorMsg = 'Error querying on RX_DT field in WO_MAT table.' | ||||
|             end | ||||
|         end else | ||||
|            ErrorMsg = 'Error opening DICT.WO_MAT table in order to query on RX_DT field.' | ||||
|         end | ||||
|     end | ||||
|  | ||||
|     If ErrorMsg EQ '' then  | ||||
|         WOKeys = SRP_Array('SortSimpleList', WOKeys, 'DescendingNumbers', @VM) | ||||
|         End_Dialog(@WINDOW,WOKeys)     | ||||
|     end else | ||||
|         Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg) | ||||
|     end | ||||
|      | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -10,11 +10,12 @@ COMPILE FUNCTION Comm_Dialog_WO_Scan(Method, Parm1) | ||||
| DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status, ErrMsg, Extract_SI_Keys, Logging_Services | ||||
| DECLARE SUBROUTINE obj_Appwindow, Start_Window, Msg, Btree.Extract, Error_Services | ||||
| DECLARE FUNCTION   Get_Property, Get_Status, Dialog_Box, Send_Message, Set_FSError, Environment_Services | ||||
| DECLARE FUNCTION   obj_Vendor_Code, Msg, Error_Services, Logging_Services | ||||
| DECLARE FUNCTION   obj_Vendor_Code, Msg, Error_Services, Logging_Services, Error_Services, Service_Services | ||||
|  | ||||
| $INSERT LOGICAL | ||||
| $INSERT MSG_EQUATES | ||||
| $INSERT APPCOLORS | ||||
| $INSERT IFX_EQUATES | ||||
|  | ||||
| EQU CRLF$	TO \0D0A\ | ||||
|  | ||||
| @ -31,6 +32,8 @@ EQU CA$SUB_PART_NO			TO 5 | ||||
| EQU CA$SCANNED_LOT_QTY TO 6 | ||||
| EQU CA$VERIFY_PART_NO  TO 7 | ||||
| EQU CA$SUB_SUPP_BY     TO 8 | ||||
| EQU CA$WO_NO           TO 9 | ||||
| EQU CA$REC_DTM         TO 10 | ||||
|  | ||||
| LogPath     = Environment_Services('GetApplicationRootPath') : '\LogFiles\Receiving' | ||||
| LogDate     = Oconv(Date(), 'D4/') | ||||
| @ -48,7 +51,6 @@ Result		= '' | ||||
| BEGIN CASE | ||||
| 	CASE Method = 'Create'			; GOSUB Create | ||||
| 	CASE Method = 'OK'				; GOSUB OK | ||||
| 	CASE Method = 'Cancel'			; GOSUB Cancel | ||||
| 	CASE Method = 'FieldClick'		; GOSUB FieldClick | ||||
| 	CASE Method = 'LQP'				; GOSUB LQP | ||||
| 	CASE 1 | ||||
| @ -109,11 +111,15 @@ RETURN | ||||
| Close: | ||||
| * * * * * * * | ||||
|  | ||||
| * * * * * * * | ||||
| Cancel: | ||||
| * * * * * * * | ||||
|     ProcIds = Get_Property(@Window, '@PROC_IDS') | ||||
|  | ||||
| End_Dialog(@WINDOW,'Cancel') | ||||
|     If ProcIds NE '' then  | ||||
|         Response = ProcIds | ||||
|     end else | ||||
|         Response = 'Cancel' | ||||
|     end | ||||
|  | ||||
|     End_Dialog(@WINDOW,Response) | ||||
|  | ||||
| RETURN | ||||
|  | ||||
| @ -137,6 +143,7 @@ END | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| LQP: | ||||
| * * * * * * * | ||||
| @ -356,7 +363,23 @@ If Error_Services('NoError') then | ||||
|                     IF VendCode NE ExpectedCode AND ExpectedCode NE '' THEN | ||||
|                         void = Msg(@WINDOW,'','EXPECTED_VENDOR_CODE','',ExpectedCode:@FM:VendCode) | ||||
|                         Set_Property(CtrlEntID, 'FOCUS', True$) | ||||
| 				END | ||||
|                     end | ||||
|  | ||||
| 					ProcIds       = Get_Property(@Window, '@PROC_IDS') | ||||
| 					ListData      = Get_Property(CtrlEntId, 'LIST') | ||||
| 					WONo          = CheckArray<CA$WO_NO - 1> | ||||
| 					RecDtm        = CheckArray<CA$REC_DTM - 1> | ||||
| 					ScanLotNo     = ListData<PrevRow, 1> | ||||
| 					ScanQty       = ListData<PrevRow, 2> | ||||
| 					ScanSubPartNo = ListData<PrevRow, 3> | ||||
| 					ScanVendor    = ListData<PrevRow, 4> | ||||
| 					ProcIds<-1>   = Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'ReceiveReleaseCassette':SD$:WONo:SD$:@User4:SD$:ScanLotNo:SD$:ScanQty:SD$:ScanSubPartNo:SD$:ScanVendor:SD$:RecDtm) | ||||
| 					If Error_Services('NoError') then | ||||
| 						Set_Property(@Window, '@PROC_IDS', ProcIds) | ||||
| 					end else | ||||
| 						ErrorMsg = Error_Services('GetMessage') | ||||
| 						Msg(@Window, '', 'OK', '', 'Process Error':@FM:'Error submitting scan data to server for processing') | ||||
| 					end                     | ||||
|  | ||||
|                     ListArray	= Get_Property(CtrlEntId,'ARRAY') | ||||
|                     CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY') | ||||
| @ -546,8 +569,15 @@ LogData<2> = @User4 | ||||
|     LogData<3> = ScanResult | ||||
|     Logging_Services('AppendLog', objLog, LogData, @RM, @FM) | ||||
|  | ||||
| End_Dialog(@WINDOW,Result) | ||||
|     ProcIds = Get_Property(@Window, '@PROC_IDS') | ||||
|  | ||||
|     If ProcIds NE '' then  | ||||
|         Response = ProcIds | ||||
|     end else | ||||
|         Response = 'Cancel' | ||||
|     end | ||||
|  | ||||
|     End_Dialog(@WINDOW,Response) | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -858,3 +858,4 @@ Result = ReturnData | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -7,7 +7,7 @@ COMPILE FUNCTION Comm_WO_Mat(Instruction, Parm1,Parm2) | ||||
| 	10/18/2006 - John C. Henry, J.C. Henry & Co., Inc. | ||||
| */ | ||||
|  | ||||
| DECLARE SUBROUTINE Set_Property,  Set_Status, ErrMsg, Set_Property, obj_AppWindow, Send_Message  | ||||
| DECLARE SUBROUTINE Set_Property,  Set_Status, ErrMsg, Set_Property, obj_AppWindow, Send_Message, Wo_Mat_Services  | ||||
| DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, Start_Window | ||||
| DECLARE SUBROUTINE EditCell, obj_NCR, obj_Notes, obj_WO_Mat, obj_Tables, SAP_Services, Hold_Services | ||||
|  | ||||
| @ -627,6 +627,7 @@ MakeUpClick: | ||||
| 							LotId = Xlate('WO_MAT', WOMatKey, 'WMO_KEY', 'X') | ||||
| 						end else | ||||
| 							LotId = Xlate('WO_MAT', WOMatKey, 'RDS_NO', 'X') | ||||
| 							RDSNo = LotID | ||||
| 						end | ||||
| 						 | ||||
| 						If LotId NE '' then | ||||
| @ -636,12 +637,22 @@ MakeUpClick: | ||||
| 							Parms<3> = 'MU'  ; // Wafer counter tool location | ||||
| 							Proceed  = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms) | ||||
| 							If Proceed EQ True$ then | ||||
| 						        obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) | ||||
| 								If EpiPro EQ False$ then | ||||
|                                     IF Get_Status(errCode) THEN | ||||
|                                         ErrMsg('Unable to set makeup flag until Unload stage is signed.') | ||||
|                                         InvalidRequest = True$ | ||||
|                                     END else | ||||
|                                         Set_Property(@WINDOW,'SAVEWARN', False$) | ||||
|                                         Send_Event(@WINDOW,'CLEAR') | ||||
| 								obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) | ||||
| 								IF Get_Status(errCode) THEN | ||||
| 									ErrMsg(errCode) | ||||
| 								END | ||||
|                                         If (CheckValue EQ True$) then | ||||
|                                             Wo_Mat_Services('MakeupFlagOn', RDSNo) | ||||
|                                         end | ||||
|                                     end | ||||
| 								end else | ||||
| 								    Set_Property(@WINDOW,'SAVEWARN', False$) | ||||
| 								    Send_Event(@WINDOW,'CLEAR') | ||||
| 								end | ||||
| 							end else | ||||
| 								InvalidRequest = True$ | ||||
| 							end | ||||
|  | ||||
| @ -17,11 +17,11 @@ DECLARE SUBROUTINE Set_Property,  Set_Status, ErrMsg, Set_Property, obj_AppWindo | ||||
| DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, Start_Window | ||||
| DECLARE SUBROUTINE EditCell, obj_NCR, obj_Notes, Post_Event, obj_WO_Mat, obj_WO_Mat_Log, obj_WO_Wfr, obj_Tables | ||||
| DECLARE SUBROUTINE SRP_Stopwatch, Update_Index, Database_Services, obj_RDS, Create_Dialog, Dialog_Box | ||||
| DECLARE SUBROUTINE Sleepery | ||||
| DECLARE SUBROUTINE Sleepery, Wo_Mat_Services | ||||
| DECLARE FUNCTION   Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists | ||||
| DECLARE FUNCTION   Dialog_Box, obj_WO_Log, obj_NCR, Check_Notes, obj_MUWafers, obj_WO_Mat, Signature_Services | ||||
| DECLARE FUNCTION   MemberOf, obj_Tables, obj_RDS, Environment_Services, Logging_Services, Material_Services | ||||
| DECLARE FUNCTION   Database_Services, RetStack, Datetime, Error_Services | ||||
| DECLARE FUNCTION   Database_Services, RetStack, Datetime, Error_Services, Rds_Services | ||||
|  | ||||
| $INSERT POPUP_EQUATES | ||||
| $INSERT LOGICAL | ||||
| @ -434,7 +434,7 @@ RejMat: | ||||
|             WfrID   = SlotList<SelectedRows<I>, COL$WAFER_ID> | ||||
|             PrevNCR = SlotList<SelectedRows<I>, COL$SLOT_NCR> | ||||
|             MUWfrID = SlotList<SelectedRows<I>, COL$MU_WAFER_ID> | ||||
|             If ( (MetNo NE '') or (WfrID EQ '') or (PrevNCR NE '' and MUWfrID EQ '') ) then | ||||
|             If (WfrId EQ '') then  | ||||
|                 AllSlotsPermitted      = False$ | ||||
|                 IneligibleSlots<0, -1> = SlotNo | ||||
|             end | ||||
| @ -830,9 +830,19 @@ AddMakeup: | ||||
| 					 | ||||
| 					FieldNo = WO_MAT_MAKEUP_BOX$ | ||||
| 					CheckValue = 1 | ||||
| 					EpiCheck = Rds_Services('IsEpiPro', RDSNo) | ||||
| 					 | ||||
| 					obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) | ||||
| 					 | ||||
| 					If EpiCheck EQ False$ then | ||||
|                         IF Get_Status(errCode) THEN | ||||
|                             ErrMsg('Unable to set makeup flag until Unload stage is signed.') | ||||
|                             Return | ||||
|                         END else | ||||
|                             Wo_Mat_Services('MakeupFlagOn', RDSNo) | ||||
|                         end | ||||
|                     end | ||||
|  | ||||
| 					SlotWaferIDs    = Xlate('WO_MAT', WOMatKey, 'SLOT_WAFER_ID', 'X') | ||||
| 					Convert @VM to '' in SlotWaferIDs | ||||
| 					 | ||||
| @ -1057,6 +1067,7 @@ MakeUpLot: | ||||
| 					 | ||||
| 					If Not(InvalidRequest) then  | ||||
| 						RDSNo = Get_Property(@Window:'.RDS_NO', 'TEXT') | ||||
| 						EpiCheck = Rds_Services('IsEpiPro', RDSNo) | ||||
| 						If RDSNo NE '' then | ||||
| 							Parms    = '' | ||||
| 							Parms<1> = RDSNo ; // Cassette to verify wafer count of. | ||||
| @ -1064,12 +1075,22 @@ MakeUpLot: | ||||
| 							Parms<3> = 'MU'  ; // Wafer counter tool location | ||||
| 							Proceed  = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms) | ||||
| 							If Proceed EQ True$ then | ||||
| 								obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) | ||||
| 								If EpiCheck EQ False$ then | ||||
|                                     IF Get_Status(errCode) THEN | ||||
|                                         ErrMsg('Unable to set makeup flag until Unload stage is signed.') | ||||
|                                         InvalidRequest = True$ | ||||
|                                     END else | ||||
|                                         Set_Property(@WINDOW,'SAVEWARN', False$) | ||||
|                                         Send_Event(@WINDOW,'CLEAR') | ||||
| 								obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) | ||||
| 								IF Get_Status(errCode) THEN | ||||
| 									ErrMsg(errCode) | ||||
| 								END | ||||
|                                         If (CheckValue EQ True$) then | ||||
|                                             Wo_Mat_Services('MakeupFlagOn', RDSNo) | ||||
|                                         end | ||||
|                                     end | ||||
| 								end else | ||||
| 								    Set_Property(@WINDOW,'SAVEWARN', False$) | ||||
| 								    Send_Event(@WINDOW,'CLEAR') | ||||
| 								end | ||||
| 							end else | ||||
| 								InvalidRequest = True$ | ||||
| 							end | ||||
| @ -1212,5 +1233,3 @@ LogRecord: | ||||
|      | ||||
| return | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -8,10 +8,11 @@ COMPILE FUNCTION Comm_WO_Rec(Instruction, Parm1,Parm2) | ||||
|  | ||||
| DECLARE SUBROUTINE Set_Property,  Set_Status, ErrMsg, Set_Property, obj_AppWindow, obj_Notes, Print_RX_Voucher, obj_Tables | ||||
| DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, obj_WO_Log, obj_WO_Mat | ||||
| DECLARE SUBROUTINE Logging_Services, Post_Event, Work_Order_Services | ||||
| DECLARE SUBROUTINE Logging_Services, Post_Event, Work_Order_Services, Error_Services, Database_Services | ||||
| DECLARE FUNCTION   Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists, obj_Prod_Spec | ||||
| DECLARE FUNCTION   obj_Schedule, Dialog_Box, obj_WO_Log, obj_Order_Det, FindWindow,ShowWindow, obj_Tables, obj_WO_Mat, MemberOf | ||||
| DECLARE FUNCTION Logging_Services, Environment_Services | ||||
| DECLARE FUNCTION   Logging_Services, Environment_Services, Work_Order_Services, Error_Services, Service_Services | ||||
| DECLARE FUNCTION   SRP_Array, GetTickCount, Datetime, Wo_Mat_Services | ||||
|  | ||||
| $INSERT POPUP_EQUATES | ||||
| $INSERT LOGICAL | ||||
| @ -32,7 +33,8 @@ $INSERT NOTIFICATION_EQU | ||||
| $INSERT PROD_VER_EQUATES | ||||
| $INSERT EPI_PART_EQUATES | ||||
| $INSERT CUST_EPI_PART_EQUATES | ||||
|  | ||||
| $Insert IFX_EQUATES | ||||
| $Insert PROC_QUEUE2_EQUATES | ||||
|  | ||||
| EQU CRLF$	TO \0D0A\ | ||||
|  | ||||
| @ -64,6 +66,8 @@ EQU CA$SUB_PART_NO			TO 5 | ||||
| EQU CA$SCANNED_LOT_QTY TO 6 | ||||
| EQU CA$VERIFY_PART_NO  TO 7 | ||||
| EQU CA$SUB_SUPP_BY     TO 8 | ||||
| EQU CA$WO_NO           TO 9 | ||||
| EQU CA$REC_DTM         TO 10 | ||||
|  | ||||
| LogPath       = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG' | ||||
| LogDate       = Oconv(Date(), 'D4/') | ||||
| @ -115,6 +119,10 @@ IF NOT(Security_Check('WO Log',READ$)) THEN | ||||
|         RETURN | ||||
|     END | ||||
|  | ||||
|     IOOptions    = Get_Property(@Window, 'IOOPTIONS') | ||||
|     IOOptions<2> = 2 ; // Database bound form - Do not lock the record | ||||
|     Set_Property(@Window, 'IOOPTIONS', IOOptions) | ||||
|  | ||||
|     obj_Appwindow('Create',@WINDOW) | ||||
|  | ||||
|     GOSUB Refresh | ||||
| @ -165,7 +173,25 @@ IF RxBy = '' THEN | ||||
|         Set_Property(@WINDOW:'.RX_DTM','TEXT',CurrDTM) | ||||
|     END | ||||
|  | ||||
|  | ||||
|     Def = "" | ||||
|     Def<MTEXT$> = "Loading cassette data..." | ||||
|     Def<MTYPE$> = "U" | ||||
|     MsgUp = Msg(@window, Def)    | ||||
|     Columns  = 'CASS_NO':@VM:'LOT_NO':@VM:'WAFER_QTY':@VM:'CUST_PART_NO':@VM:'SUB_PART_NO':@VM:'SUB_VEND_CD':@VM:'RX_DTM':@VM:'RX_BY':@VM:'ORDER_ITEM' | ||||
|     WOMatKeys = Wo_Mat_Services('GetWOMatKeys', WONo) | ||||
|     If Error_Services('NoError') then  | ||||
|         CassData = WO_Mat_Services('GetWOMatData', WOMatKeys, Columns) | ||||
|         If Error_Services('NoError') then | ||||
|             Set_Property(@Window:'.CASS_NO', 'ARRAY', CassData) | ||||
|             Msg(@window, MsgUp)  | ||||
|         end else | ||||
|             Msg(@window, MsgUp)         | ||||
|             Msg(@Window, '', 'OK', '', 'Process Error':@FM:Error_Services('GetMessage')) | ||||
|         end | ||||
|     end else | ||||
|         Msg(@window, MsgUp)          | ||||
|         Msg(@Window, '', 'OK', '', 'Process Error':@FM:Error_Services('GetMessage')) | ||||
|     end | ||||
|      | ||||
|     GOSUB Refresh | ||||
|  | ||||
| @ -296,7 +322,6 @@ FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '') | ||||
|         END | ||||
|     NEXT I | ||||
|  | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| @ -312,7 +337,7 @@ MsgUp = Msg(@WINDOW,'','SELECT_OPEN_WO') | ||||
|  | ||||
|     WOKeys = '' | ||||
|  | ||||
| SelectStatement = 'CURR_STATUS':@VM:'ASN':@VM:'AWM':@VM:'RTP':@FM | ||||
|     SelectStatement = 'CURR_STATUS_STATIC':@VM:'ASN':@VM:'AWM':@VM:'RTP':@FM | ||||
|  | ||||
|     Btree.Extract(SelectStatement,'WO_LOG',DictWOLogTable,WOKeys,'','') | ||||
|  | ||||
| @ -336,8 +361,6 @@ END | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| LUWONo: | ||||
| * * * * * * * | ||||
| @ -384,22 +407,17 @@ obj_Appwindow('LoadFormKeys',@WINDOW:@RM:WONo) | ||||
|  | ||||
|     Set_Property('SYSTEM','FOCUS','VSPRINTER') | ||||
|  | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| * * * * * * * | ||||
| Scan: | ||||
| * * * * * * * | ||||
|      | ||||
|     WONo        = Get_Property(@WINDOW:'.WO_NO','TEXT') | ||||
|  | ||||
|     CtrlEntID   = @WINDOW:'.CASS_NO' | ||||
|  | ||||
|     CassList    = Get_Property(CtrlEntID,'LIST') | ||||
|     CassArray   = Get_Property(CtrlEntID,'DEFPROP') | ||||
|  | ||||
|     CassListCnt = COUNT(CassList,@FM) | ||||
|  | ||||
|     CassPointer = 1 | ||||
| @ -414,25 +432,18 @@ UNTIL CassList<CassPointer> = '' | ||||
|     REPEAT | ||||
|  | ||||
|     ExistCassCnt = COUNT(CassList,@FM) + (CassList NE '') | ||||
|  | ||||
|     WORec        = XLATE('WO_LOG',WONo,'','X') | ||||
|  | ||||
|     WOMatKeys    = WORec<WO_LOG_WO_MAT_KEY$>									;* List of WO_MAT Keys associated with this WO_LOG Record  * * * * * * * | ||||
|     OpenQty      = ICONV(Get_Property(@WINDOW:'.OPEN_QTY','DEFPROP'),'MD0')	;* Scan button is disabled if there isn't anything to receive | ||||
|  | ||||
|     EPIPartNo    = WORec<WO_LOG_EPI_PART_NO$> | ||||
| 	 | ||||
|     EPIPartRec   = XLATE('EPI_PART',EpiPartNo,'','X') | ||||
|  | ||||
|     SubSuppBy    = EPIPartRec<EPI_PART_SUB_SUPP_BY$>		;* L - EpiSvcs supplied, C - Customer Supplied | ||||
|     SAPMaterial  = EPIPartRec<EPI_PART_SAP_MATERIAL$>	;* 0 =  | ||||
|  | ||||
|     OrderNo      = Get_Property(@WINDOW:'.ORDER_NO','TEXT') | ||||
|      | ||||
|     IF OrderNo = '' THEN | ||||
|  | ||||
|         ProdVerNo       = WORec<WO_LOG_PROD_VER_NO$> | ||||
| 	 | ||||
|         ProdVerRec 		= XLATE('PROD_VER',ProdVerNo,'','X') | ||||
|         SubPartNo		= ProdVerRec<PROD_VER_SUB_PART_NO$> | ||||
|         ProdVerStepPSNs	= ProdVerRec<PROD_VER_PROC_STEP_PSN$>	;* Added 6/24/2016 JCH - GaN receipt | ||||
| @ -440,7 +451,6 @@ IF OrderNo = '' THEN | ||||
|         Vendor = WORec<WO_LOG_EXP_VEND_CD$>				;* Added 4/14/2014 | ||||
|         IF LEN(Vendor) NE 2 THEN Vendor = '' | ||||
|          | ||||
| 	 | ||||
|         IF SubSuppBy = 'L' THEN | ||||
|             VendorDef = Vendor | ||||
|         END ELSE | ||||
| @ -477,7 +487,6 @@ END ELSE | ||||
|             OrderDetailList = DELETE(OrderDetailList,I,0,0)				;* Strip blank lines from control data | ||||
|         NEXT I | ||||
|  | ||||
|  | ||||
|         CheckArray = '' | ||||
|         CALine = 1		 | ||||
|         FOR I = 1 TO COUNT(OrderDetailList,@FM) + (OrderDetailList NE '') | ||||
| @ -530,12 +539,9 @@ END ELSE | ||||
|              | ||||
|         NEXT I | ||||
|  | ||||
|  | ||||
|         FOR I = 1 TO COUNT(CassList,@FM) + (CassList NE '') | ||||
|  | ||||
|             CassLotNo	= CassList<I,COL$CASS_LOT_NO> | ||||
|             CassQty		= CassList<I,COL$CASS_QTY> | ||||
| 		 | ||||
|             LOCATE CassLotNo IN CheckArray<CA$LOT_NO> USING @VM SETTING Pos THEN | ||||
|                 CheckArray<CA$LOT_QTY,Pos> = CheckArray<CA$LOT_QTY,Pos> - CassQty		;* Back out lot qtys already scanned | ||||
|             END | ||||
| @ -545,291 +551,108 @@ END ELSE | ||||
|          | ||||
|     END	;* End of check for Order Number present *********************************** | ||||
|  | ||||
| ScanResults  = Dialog_Box('DIALOG_WO_SCAN', @WINDOW, CheckArray)	;* Returns a line for each cassette scanned, checked, filled in or override data | ||||
| IF ScanResults = 'Cancel' THEN RETURN | ||||
|     NewCassetteCnt         = 0 | ||||
|     CheckArray<CA$WO_NO>   = WONo | ||||
|     CheckArray<CA$REC_DTM> = Datetime() | ||||
|     ProcIds                = Dialog_Box('DIALOG_WO_SCAN', @WINDOW, CheckArray)	 | ||||
|      | ||||
|     WOMatCreateStartTime = Time() | ||||
| * * * * * *  New 3/9/2011  * * * * * * | ||||
|      | ||||
| ProdOrderNo	= WORec<WO_LOG_PROD_ORD_NO$> | ||||
|     Done = False$ | ||||
|     IF ( (ProcIds NE 'Cancel') and (ProcIds NE '') ) THEN | ||||
|          | ||||
| ProdVerNo	= WORec<WO_LOG_PROD_VER_NO$> | ||||
| CustNo		= WORec<WO_LOG_CUST_NO$> | ||||
|  | ||||
|  | ||||
| ProdVerRec		= XLATE('PROD_VER',ProdVerNo,'','X') | ||||
|  | ||||
| ProcStepPSNs	= ProdVerRec<PROD_VER_PROC_STEP_PSN$> | ||||
| ReactType		= ProdVerRec<PROD_VER_REACT_TYPE$>						;* This is in 3 letter code version | ||||
|  | ||||
|  | ||||
| SpecType 		= XLATE('PROD_SPEC',ProcStepPSNs[-1,'B':@VM],'SPEC_TYPE','X')	;* Shipping PSN Spec Type | ||||
|  | ||||
| CustEpiPartRec	= XLATE('CUST_EPI_PART',CustNo:'*':EpiPartNo,'','X')	;* Added 7/31/2012 JCH | ||||
|  | ||||
| MUWaferFlag		= CustEpiPartRec<CUST_EPI_PART_MAKEUP_WAFERS$>			;* Added 7/31/2012 JCH | ||||
| RetRejects		= CustEpiPartRec<CUST_EPI_PART_RET_REJECTS$>			;* Added 7/31/2012 JCH | ||||
|  | ||||
|  | ||||
| IF SpecType = 'Q' THEN | ||||
| 	CassShipQty	= ''												;* If Spec is in Qual Mode then no Quantity is used | ||||
| END ELSE | ||||
| 	CassShipQty = CustEpiPartRec<CUST_EPI_PART_CASS_SHIP_QTY$> | ||||
| END | ||||
|  | ||||
| MinCassShipQty  = CustEpiPartRec<CUST_EPI_PART_MIN_CASS_SHIP_QTY$> | ||||
|  | ||||
|  | ||||
| ShipShort		= CustEpiPartRec<CUST_EPI_PART_EPI_PRO_SHIP_SHORT$>		;* Added 7/31/2012 JCH | ||||
| Reprocessed		= ''													;* Added 12/16/2009 JCH to match parms passed to obj_WO_Mat('Create | ||||
|  | ||||
| RelStamps = Get_Property(@WINDOW:'.REL_STAMP','ARRAY') | ||||
|  | ||||
| Released = '' | ||||
| IF RelStamps[-1,'B*'] = '' THEN Released = 0 ELSE Released = 1 | ||||
|  | ||||
|  | ||||
| IF ReactType = 'GAN' THEN GOTO RecGaN			;* * * * * * * * * * * | ||||
|  | ||||
|  | ||||
| IF ExistCassCnt >= 1 THEN | ||||
|  | ||||
| 	IF Released THEN | ||||
| 		Resp = 1			;* 12/13/20007 - JCH added to limit replace function to unreleased WO's | ||||
| 	END ELSE | ||||
|  | ||||
| 		TypeOver = '' | ||||
| 		TypeOver<MCAPTION$> = 'Add or Replace Work Order Cassette Information' | ||||
| 		TypeOver<MTEXT$> = 'Do you wish to Add To or Replace the existing cassette information?' | ||||
| 		TypeOver<MTYPE$> = 'B&Add,&Replace,&Cancel' | ||||
| 		Resp = Msg(@WINDOW,TypeOver) | ||||
| 		 | ||||
| 	END | ||||
| 	 | ||||
| 	IF Resp = 3 THEN RETURN	;* Canceled | ||||
| 	IF Resp = 1 THEN | ||||
| 	 | ||||
| 		* Add to Existing | ||||
| 		 | ||||
| 		NewCassetteCnt = COUNT(ScanResults<COL$CASS_NO>,@VM) + (ScanResults<COL$CASS_NO> NE '') | ||||
|         Timeout          = 180000 | ||||
|          | ||||
|         NumProcIds       = DCount(ProcIds, @FM) | ||||
|         Def              = '' | ||||
| 		Def<MCAPTION$>		= 'Receiving Cassettes...' | ||||
|         Def<MCAPTION$>   = 'Receiving and Releasing Cassettes...' | ||||
|         Def<MTYPE$>      = 'G' | ||||
| 		Def<MEXTENT$>		= NewCassetteCnt | ||||
|         Def<MEXTENT$>    = NumProcIds | ||||
|         Def<MTEXTWIDTH$> = 600 | ||||
|         MsgUp            = Msg(@WINDOW,Def) | ||||
|          | ||||
| 		FOR I = 1 TO NewCassetteCnt | ||||
| 		 | ||||
| 			Msg(@WINDOW, MsgUp, I, MSGINSTUPDATE$) | ||||
| 		 | ||||
| 			ScanLotNo	= ScanResults<COL$CASS_LOT_NO,I> | ||||
| 			ScanQty		= ScanResults<COL$CASS_QTY,I> | ||||
| 			ScanPartNo	= ScanResults<COL$CASS_CUST_PART_NO,I> | ||||
| 			ScanOrdItem	= ScanResults<COL$CASS_ORDER_ITEM,I> | ||||
| 			ScanVendor	= ScanResults<COL$CASS_SUB_VEND_CD,I>			;* Added 7/14/2011 for SAP project JCH | ||||
| 			 | ||||
| 			IF ScanLotNo NE '' AND ScanQty NE '' AND ScanPartNo NE '' AND ScanOrdItem NE '' THEN | ||||
| 			 | ||||
| 				CassNo = ExistCassCnt + 1 | ||||
| 				 | ||||
| 				 | ||||
| 				Parms  = WONo:@RM | ||||
| 				Parms := CassNo:@RM | ||||
| 				Parms := ProdVerNo:@RM | ||||
| 				Parms := ScanResults<COL$CASS_LOT_NO,I>:@RM | ||||
| 				Parms := ScanResults<COL$CASS_QTY,I>:@RM | ||||
| 				Parms := ScanResults<COL$CASS_CUST_PART_NO,I>:@RM		;* This is the CUSTOMER part No | ||||
| 				Parms := ScanResults<COL$CASS_ORDER_ITEM,I>:@RM | ||||
| 				Parms := ReactType:@RM									;* 3 character Reactor Type Code | ||||
| 				Parms := ScanResults<COL$CASS_SUB_PART_NO,I>:@RM | ||||
| 				Parms := 'SR':@RM									;* Warehouse = 'SR' - Shipping/Receiving Area | ||||
| 				Parms := 'RB':@RM									;* Location = 'RB' - Receiving Bench | ||||
| 				Parms := ScanResults<COL$CASS_TIME_STAMP,I>:@RM | ||||
| 				Parms := ScanResults<COL$CASS_SCAN_BY,I>:@RM | ||||
| 				Parms := SubSuppBy:@RM | ||||
| 				Parms := MUWaferFlag:@RM | ||||
| 				Parms := RetRejects	:@RM							;* Added 8/18/2009 JCH | ||||
| 				Parms := Reprocessed:@RM							;* Added 12/16/2009 JCH | ||||
| 				Parms := CassShipQty:@RM							;* Added 11/4/2009 JCH | ||||
| 				Parms := ShipShort:@RM								;* Added 05/14/2010 JCH | ||||
| 				Parms := ScanVendor:@RM							    ;* Added 07/14/2011 for SAP Project JCH | ||||
| 				Parms := MinCassShipQty                             ; // Added 02/01/2018 dmb | ||||
| 				 | ||||
|  | ||||
| 				obj_WO_Mat('Create',Parms)		;* Added 10/18/2006 JCH - New Work Order material subsystem. | ||||
| 				 | ||||
| 				ExistCassCnt += 1 | ||||
| 				 | ||||
| 				WOMatKey = WONo:'*':CassNo | ||||
| 				 | ||||
| 				LOCATE WOMatKey IN WOMatKeys BY 'AR' USING @VM SETTING NewPos ELSE | ||||
| 					WOMatKeys = INSERT(WOMatKeys,1,NewPos,0,WOMatKey) | ||||
| 				END | ||||
| 			END | ||||
| 			 | ||||
| 		NEXT I | ||||
| 		 | ||||
| 		Msg(@WINDOW,MsgUp) | ||||
| 		 | ||||
| 		ScanResults = CassArray	 | ||||
| 		 | ||||
| 		Scheduled = XLATE('WO_LOG',WONo,'SCHEDULED','X') | ||||
| 		 | ||||
| 		IF Scheduled THEN | ||||
| 			 | ||||
| 			* Message to production about change in Work Order Size | ||||
| 			   	 | ||||
| 			Recipients 		= XLATE('NOTIFICATION','MAST_SCHED_BEG',NOTIFICATION_USER_ID$,'X')		;* Added 10/03/2005 JCH - J.C. Henry & Co., Inc | ||||
| 			OtherRecipients	= XLATE('NOTIFICATION','MAST_SCHED_END',NOTIFICATION_USER_ID$,'X')		;* Added 10/03/2005 JCH - J.C. Henry & Co., Inc | ||||
| 			 | ||||
| 			FOR N = 1 TO COUNT(OtherRecipients,@VM) + (OtherRecipients NE '') | ||||
| 				OtherRecip = OtherRecipients<1,N> | ||||
| 				LOCATE OtherRecip IN Recipients USING @VM SETTING Pos ELSE | ||||
| 					Recipients = INSERT(Recipients,1,Pos,0,OtherRecip) | ||||
| 				END | ||||
| 			NEXT N | ||||
| 			 | ||||
| 			SentFrom		= @USER4 | ||||
| 			Subject			= 'Cassettes Added to Work Order' | ||||
| 			Message			= NewCassetteCnt:" Cassettes have been added to Scheduled Work Order ":WONo | ||||
| 			AttachWindow	= 'WO_PROD' | ||||
| 			AttachKey		= WONo | ||||
| 			SendToGroup		= '' | ||||
|  | ||||
| 			Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup | ||||
| 			*obj_Notes('Create',Parms) | ||||
| 			 | ||||
| 		END | ||||
| 	 | ||||
| 	END | ||||
| END ELSE | ||||
|  | ||||
| 	* Loop through ScanResults and call obj_WO_Mat('Create') | ||||
| 	 | ||||
| 	NewCassetteCnt = COUNT(ScanResults<COL$CASS_NO>,@VM) + (ScanResults<COL$CASS_NO> NE '') | ||||
| 		 | ||||
| 	Def = '' | ||||
| 	Def<MCAPTION$>		= 'Receiving Cassettes...' | ||||
| 	Def<MTYPE$>			= 'G' | ||||
| 	Def<MEXTENT$>		= NewCassetteCnt | ||||
| 	Def<MTEXTWIDTH$>	= 600 | ||||
| 	MsgUp = Msg(@WINDOW,Def)	 | ||||
| 		 | ||||
| 		 | ||||
| 		 | ||||
| 	FOR I = 1 TO NewCassetteCnt | ||||
| 	 | ||||
| 		Msg(@WINDOW, MsgUp, I, MSGINSTUPDATE$) | ||||
| 		 | ||||
| 		CassNo = I | ||||
| 		 | ||||
| 		Parms  = WONo:@RM | ||||
| 		Parms := CassNo:@RM | ||||
| 		Parms := ProdVerNo:@RM | ||||
| 		Parms := ScanResults<COL$CASS_LOT_NO,I>:@RM | ||||
| 		Parms := ScanResults<COL$CASS_QTY,I>:@RM | ||||
| 		Parms := ScanResults<COL$CASS_CUST_PART_NO,I>:@RM | ||||
| 		Parms := ScanResults<COL$CASS_ORDER_ITEM,I>:@RM | ||||
| 		Parms := ReactType:@RM | ||||
| 		Parms := ScanResults<COL$CASS_SUB_PART_NO,I>:@RM | ||||
| 		Parms := 'SR':@RM									;* Warehouse = 'SR' - Shipping/Receiving Area | ||||
| 		Parms := 'RB':@RM									;* Location = 'RB' - Receiving Bench | ||||
| 		Parms := ScanResults<COL$CASS_TIME_STAMP,I>:@RM | ||||
| 		Parms := ScanResults<COL$CASS_SCAN_BY,I>:@RM | ||||
| 		Parms := SubSuppBy:@RM | ||||
| 		Parms := MUWaferFlag:@RM | ||||
| 		Parms := RetRejects:@RM								;* Added 8/18/2009 JCH | ||||
| 		Parms := Reprocessed:@RM							;* Added 12/16/2009 JCH | ||||
| 		Parms := CassShipQty:@RM							;* Added 11/4/2009 JCH | ||||
| 		Parms := ShipShort:@RM								;* Added 05/14/2010 JCH | ||||
| 		Parms := ScanResults<COL$CASS_SUB_VEND_CD,I>:@RM	;* Added 07/14/2011 for SAP project JCH | ||||
| 		Parms := MinCassShipQty                             ; // Added 02/01/2018 dmb | ||||
| 		 | ||||
| 		obj_WO_Mat('Create',Parms)		;* Added 10/18/2006 JCH - New Work Order material subsystem. | ||||
| 		 | ||||
| 		ExistCassCnt += 1 | ||||
| 		 | ||||
| 		WOMatKey = WONo:'*':CassNo | ||||
| 				 | ||||
| 		LOCATE WOMatKey IN WOMatKeys BY 'AR' USING @VM SETTING NewPos ELSE | ||||
| 			WOMatKeys = INSERT(WOMatKeys,1,NewPos,0,WOMatKey) | ||||
| 		END | ||||
| 		 | ||||
| 	NEXT I | ||||
| 	 | ||||
| 	Msg(@WINDOW,MsgUp) | ||||
| END | ||||
|  | ||||
|  | ||||
|  | ||||
| Set_Property(CtrlEntID,'DEFPROP',ScanResults) | ||||
|  | ||||
| IF ScanResults NE '' THEN | ||||
| 	Recipients = XLATE('NOTIFICATION','MATERIAL_RECEIPT',NOTIFICATION_USER_ID$,'X')		;* Added 10/04/2005 JCH - J.C. Henry & Co., Inc | ||||
| 	SentFrom   = @USER4 | ||||
| 	Subject    = 'Cassettes Received for Work Order' | ||||
| 	Message    = "Cassettes have been received for Work Order ":WONo | ||||
|     NewForm    = Xlate('APP_INFO', 'NEW_WO_FORM', '', 'X') | ||||
|     If NewForm then | ||||
|         AttachWindow	= 'NDW_WO_LOG' | ||||
|     end else | ||||
|         AttachWindow	= 'WO_LOG2' | ||||
|         Start            = GetTickCount() | ||||
|         Done             = False$ | ||||
|         NumCompleteProcs = 0 | ||||
|         Loop | ||||
|             RemainingProcs   = DCount(ProcIds, @FM) | ||||
|             CompletedProcIds = '' | ||||
|             For ProcIndex = 1 to RemainingProcs | ||||
|                 ProcId = ProcIds<ProcIndex> | ||||
|                 If RowExists('PROC_QUEUE2', ProcId) then | ||||
|                     // Proc is still processing. Check if error recorded. | ||||
|                     ErrorMsg = Xlate('PROC_QUEUE2', ProcId, PROC_QUEUE2.ERROR$, 'X') | ||||
|                     If ErrorMsg NE '' then | ||||
|                         Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg) | ||||
|                         Database_Services('DeleteDataRow', 'PROC_QUEUE2', ProcId, True$, False$) | ||||
|                     end | ||||
| 	AttachKey		= WONo | ||||
| 	SendToGroup		= '' | ||||
|                 end else | ||||
|                     // Proc is done or failed | ||||
|                     CompletedProcIds<-1> = ProcId | ||||
|                 end | ||||
|             Next ProcIndex | ||||
|             If CompletedProcIds NE '' then | ||||
|                 NumCompleteProcs += DCount(CompletedProcIds, @FM) | ||||
|                 ProcIds           = SRP_Array('Join', ProcIds, CompletedProcIds, 'XOR', @FM) | ||||
|             end | ||||
|             Now         = GetTickCount() | ||||
|             Runtime     = Now - Start | ||||
|             Msg(@WINDOW, MsgUp, NumCompleteProcs, MSGINSTUPDATE$) | ||||
|         Until (ProcIds EQ '') or (Runtime GT Timeout) | ||||
|         Repeat | ||||
|  | ||||
|         // Take down gas guage | ||||
|         Msg(@window, MsgUp) | ||||
|          | ||||
|         If (Runtime GT Timeout) then | ||||
| 			// Notify OI_SYSADMIN group | ||||
| 			Recipients   = '' | ||||
| 			SentFrom     = 'SYSTEM' | ||||
| 			Subject      = 'Receiving and Releasing Error for Work Order ':WONo | ||||
| 			Message      = OConv(Datetime(), 'DT/^S') | ||||
| 			Swap @FM with CRLF$ in CompletedProcIds | ||||
| 			Swap @FM with CRLF$ in ProcIds | ||||
| 			Message<2>   = 'Completed ProcIds: ':CompletedProcIds | ||||
| 			Message<3>   = 'Incomplete ProcIds: ':ProcIds | ||||
| 			AttachWindow = '' | ||||
| 			AttachKey    = '' | ||||
| 			SendToGroup  = 'OI_SYSADMIN' | ||||
| 			Parms        = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup | ||||
| 			obj_Notes('Create',Parms)			 | ||||
| END | ||||
|              | ||||
| Set_Property(@WINDOW:'.RX_BY','DEFPROP',OCONV(@USER4,'[XLATE_CONV,LSL_USERS*FIRST_LAST]'))		;* Current user | ||||
| Set_Property(@WINDOW:'.RX_DTM','DEFPROP',OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS') )			;* Current timestamp | ||||
| Set_Property(@WINDOW:'.WO_MAT_KEY','DEFPROP',WOMatKeys) | ||||
|  | ||||
| Send_Event(@WINDOW,'WRITE') | ||||
|             ErrorMsg = 'The server is taking longer than expected to process the receive / ':CRLF$:'release requests. FI has been alerted to the issue.' | ||||
|             Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg) | ||||
|         end | ||||
|          | ||||
|         WOMatCreateStopTime  = Time() | ||||
|         FormRefreshStartTime = Time() | ||||
|  | ||||
| // Update RX_QTY_STATIC | ||||
| Work_Order_Services('UpdateReceivedQty', WONo) | ||||
|  | ||||
| obj_AppWindow('LoadFormKeys','WO_REC':@RM:WONo) | ||||
|  | ||||
|         FormRefreshStopTime  = Time() | ||||
|  | ||||
|         WOMatCreateDuration  = WOMatCreateStopTime - WOMatCreateStartTime | ||||
|         FormRefreshDuration  = FormRefreshStopTime - FormRefreshStartTime | ||||
|         TotalDuration        = WOMatCreateDuration + FormRefreshDuration | ||||
|  | ||||
| If Unassigned(NewCassetteCnt) then | ||||
|     NewCassetteCnt = NewCassetteCnt = COUNT(ScanResults<COL$CASS_NO>,@VM) + (ScanResults<COL$CASS_NO> NE '') | ||||
| end | ||||
|  | ||||
| NumCass       = NewCassetteCnt | ||||
|  | ||||
|         LogData       = '' | ||||
|         LogData<1>    = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS') | ||||
|         LogData<2>    = WONo | ||||
|         LogData<3>    = @User4 | ||||
| LogData<4>    = NumCass | ||||
|         LogData<4>    = NewCassetteCnt | ||||
|         LogData<5>    = WOMatCreateDuration | ||||
|         LogData<6>    = FormRefreshDuration | ||||
|         LogData<7>    = TotalDuration | ||||
|  | ||||
| If NumCass GT 0 then | ||||
|     LogData<8>    = TotalDuration / NumCass | ||||
|         If (NewCassetteCnt GT 0) then | ||||
|             LogData<8>    = TotalDuration / NewCassetteCnt | ||||
|         end else | ||||
|             LogData<8>    = 'N/A' | ||||
|         end | ||||
|  | ||||
|         Logging_Services('AppendLog', objReceiveLog, LogData, @RM, @FM)   | ||||
|          | ||||
|         Post_Event(@Window, 'READ') | ||||
|     end | ||||
|  | ||||
| RETURN | ||||
|  | ||||
| *********************************************************************************************************************************************************** | ||||
|  | ||||
| * * * * * * * | ||||
| RecGaN: | ||||
| * * * * * * * | ||||
| @ -890,6 +713,7 @@ FOR I = 1 TO WOMatReq | ||||
|             WOMatKeys = INSERT(WOMatKeys,1,NewPos,0,WOMatKey) | ||||
|         END | ||||
|  | ||||
|         ErrorMsg = '' | ||||
|          | ||||
|         IF  ScanResults<1,I> NE '' THEN | ||||
|          | ||||
| @ -897,9 +721,7 @@ FOR I = 1 TO WOMatReq | ||||
|          | ||||
|             WOMatRec = obj_Tables('ReadRec',otParms)		;* WOMat record may be an outbound on | ||||
|              | ||||
| 		IF Get_Status(errCode) THEN  | ||||
| 			DEBUG | ||||
| 		END | ||||
|             IF Get_Status(errCode) THEN ErrorMsg = 'Error in COMM_WO_REC("RecGaN"). Error message: ':errCode | ||||
|              | ||||
|             IF WOMatRec NE '' THEN WOMatExists = 1 | ||||
|              | ||||
| @ -948,9 +770,7 @@ FOR I = 1 TO WOMatReq | ||||
|                 otParms = FIELDSTORE(otParms,@RM,4,0,WOMatRec) | ||||
|                 obj_Tables('WriteRec',otParms) | ||||
|                  | ||||
| 			IF Get_Status(errCode) THEN  | ||||
| 				DEBUG | ||||
| 			END | ||||
|                 IF Get_Status(errCode) THEN ErrorMsg = 'Error in COMM_WO_REC("RecGaN"). Error message: ':errCode | ||||
|                  | ||||
|             END ELSE | ||||
|          | ||||
| @ -978,18 +798,12 @@ FOR I = 1 TO WOMatReq | ||||
|                  | ||||
|                 WOMatRec<WO_MAT_PROD_VER_NO$>		= ProdVerNo | ||||
|                 WOMatRec<WO_MAT_SUB_SUPPL_BY$>		= SubSuppBy | ||||
| 			WOMatRec<WO_MAT_MU_WAFER_FLAG$> 	= MUWaferFlag | ||||
| 			WOMatRec<WO_MAT_RET_REJECTS$>		= RetRejects | ||||
|                 WOMatRec<WO_MAT_CASS_SHIP_QTY$>		= CassShipQty | ||||
| 			WOMatRec<WO_MAT_MIN_CASS_SHIP_QTY$> = MinCassShipQty | ||||
| 			WOMatRec<WO_MAT_SHIP_SHORT$>		= ShipShort | ||||
|                 WOMatRec<WO_MAT_SIG_PROFILE$>		= obj_WO_Mat('CassSigProfile',WOMatKey) ;******************* | ||||
|                  | ||||
| 							 | ||||
|                 WaferCnt	= WOMatRec<WO_MAT_WAFER_QTY$>		;* Changed to add slots for both EpiPRO and standard reactor types 8/13/2010 JCH		 | ||||
|                 ShipCnt		= WOMatRec<WO_MAT_CASS_SHIP_QTY$> | ||||
|                  | ||||
|  | ||||
|                 BEGIN CASE | ||||
|                     CASE ShipCnt = ''		; SlotCnt = WaferCnt | ||||
|                     CASE WaferCnt > ShipCnt ; SlotCnt = WaferCnt | ||||
| @ -1004,9 +818,7 @@ FOR I = 1 TO WOMatReq | ||||
|                 otParms = FIELDSTORE(otParms,@RM,4,0,WOMatRec) | ||||
|                 obj_Tables('WriteRec',otParms) | ||||
|                  | ||||
| 			IF Get_Status(errCode) THEN | ||||
| 				DEBUG | ||||
| 			END | ||||
|                 IF Get_Status(errCode) THEN ErrorMsg = 'Error in COMM_WO_REC("RecGaN"). Error message: ':errCode | ||||
|                  | ||||
|             END 	;* End of check for existing WO_MAT record | ||||
|              | ||||
| @ -1024,14 +836,9 @@ FOR I = 1 TO WOMatReq | ||||
|              | ||||
|             WOMatRec<WO_MAT_PROD_VER_NO$>		= ProdVerNo | ||||
|             WOMatRec<WO_MAT_SUB_SUPPL_BY$>		= SubSuppBy | ||||
| 		WOMatRec<WO_MAT_MU_WAFER_FLAG$> 	= MUWaferFlag | ||||
| 		WOMatRec<WO_MAT_RET_REJECTS$>		= RetRejects | ||||
|             WOMatRec<WO_MAT_CASS_SHIP_QTY$>		= CassShipQty | ||||
| 		WOMatRec<WO_MAT_MIN_CASS_SHIP_QTY$>	= MinCassShipQty | ||||
| 		WOMatRec<WO_MAT_SHIP_SHORT$>		= ShipShort | ||||
|             WOMatRec<WO_MAT_SIG_PROFILE$>		= obj_WO_Mat('CassSigProfile',WOMatKey) | ||||
|              | ||||
| 				 | ||||
|             SlotCnt	= WOMatRec<WO_MAT_CASS_SHIP_QTY$>	 | ||||
|  | ||||
|             FOR S = 1 TO SlotCnt | ||||
| @ -1041,9 +848,7 @@ FOR I = 1 TO WOMatReq | ||||
|             otParms = 'WO_MAT':@RM:WOMatKey:@RM:@RM:WOMatRec | ||||
|             obj_Tables('WriteRec',otParms) | ||||
|              | ||||
| 		IF Get_Status(errCode) THEN | ||||
| 			DEBUG | ||||
| 		END | ||||
|             IF Get_Status(errCode) THEN ErrorMsg = 'Error in COMM_WO_REC("RecGaN"). Error message: ':errCode | ||||
|              | ||||
|             NextOutCassNo += 1 | ||||
|          | ||||
| @ -1051,9 +856,9 @@ FOR I = 1 TO WOMatReq | ||||
|          | ||||
|     NEXT I | ||||
|  | ||||
|  | ||||
|     Msg(@WINDOW,MsgUp)		;* Take down processing message | ||||
|  | ||||
|     If ErrorMsg NE '' then Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg) | ||||
|  | ||||
|     IF LastInCassNo > 0 THEN | ||||
|  | ||||
| @ -1089,7 +894,6 @@ IF LastInCassNo > 0 THEN | ||||
|  | ||||
|     END	;* End of check for previously received material | ||||
|  | ||||
|  | ||||
|     Set_Property(CtrlEntID,'DEFPROP',ScanResults) | ||||
|  | ||||
|     IF ScanResults NE '' THEN | ||||
| @ -1118,7 +922,6 @@ Send_Event(@WINDOW,'WRITE') | ||||
|  | ||||
|     obj_AppWindow('LoadFormKeys','WO_REC':@RM:WONo) | ||||
|  | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
| @ -1128,3 +931,4 @@ AddLeftover: | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -213,4 +213,3 @@ UpdateHALItem: | ||||
|     end | ||||
|      | ||||
| return | ||||
|  | ||||
|  | ||||
| @ -1,6 +1,4 @@ | ||||
| Compile subroutine Copy_Backlog_Records_To_SQL(VOID) | ||||
| #pragma precomp SRP_PreCompiler | ||||
|  | ||||
| /*****************************************************************************\ | ||||
| 	This is a utility function. For each record found in SQL_BACKLOG, it makes | ||||
| 	sure the identified record is copied to SQL. Then the backlog record is | ||||
| @ -10,12 +8,14 @@ Compile subroutine Copy_Backlog_Records_To_SQL(VOID) | ||||
| 	------- | ||||
| 	08/10/2010    KRF    Original Programmer | ||||
| \*****************************************************************************/ | ||||
|  | ||||
| #pragma precomp SRP_PreCompiler | ||||
| $Insert APP_INSERTS | ||||
|  | ||||
| Declare subroutine Copy_Record_To_SQL, Delete_Record_From_SQL, SRP_TcpClient, Copy_Pending_Records_To_Sql | ||||
| Declare function   GetTickCount, Database_Services, SRP_TcpClient, Datetime, Environment_Services | ||||
|  | ||||
| Main: | ||||
| 	 | ||||
| 	hSysLists = Database_Services('GetTableHandle', 'SYSLISTS') | ||||
| 	Lock hSysLists, 'Copy_Backlog_Records_To_SQL' then | ||||
|  | ||||
| @ -86,8 +86,9 @@ Lock hSysLists, 'Copy_Backlog_Records_To_SQL' then | ||||
| 						If Skip EQ False$ then | ||||
| 							TcpClientHandle = 0 | ||||
| 							ServerIP        = Environment_Services('GetApplicationRootIP') | ||||
| 							ServerPort      = Environment_Services('GetScrapeServerPort') | ||||
| 							Convert '\' to '' in ServerIP | ||||
|                         If SRP_TcpClient(TcpClientHandle, 'CONNECT', ServerIP, '20779') then | ||||
| 							If SRP_TcpClient(TcpClientHandle, 'CONNECT', ServerIP, ServerPort) then | ||||
| 								SRP_TcpClient(TcpClientHandle, 'SEND_SES', Command) | ||||
| 								SRP_TcpClient(TcpClientHandle, 'CLOSE_SES') | ||||
| 							end | ||||
| @ -101,4 +102,3 @@ end | ||||
|  | ||||
| Return | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										45
									
								
								LSL2/STPROC/COPY_LOT_EVENT_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								LSL2/STPROC/COPY_LOT_EVENT_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| Compile function Copy_LOT_EVENT_Record_To_SQL(Connection, Key, Record) | ||||
|  | ||||
| /*****************************************************************************\ | ||||
| 	Copies the given LOT_EVENT record to the MSSQL database. | ||||
| 	 | ||||
| 	History | ||||
| 	------- | ||||
| 	06/10/2025    DJS   Original Programmer | ||||
| \*****************************************************************************/ | ||||
|  | ||||
| $insert LOT_EVENT_EQUATES | ||||
|  | ||||
| Declare function SQL_Write, SQL_Write_MV, SQL_Format | ||||
| Ans = "" | ||||
|  | ||||
| // Parse record into a dimensioned array for speed | ||||
| Dim Rec(13) | ||||
| MatParse Record into Rec | ||||
| 					     | ||||
| // List of key names and their values | ||||
| Keys = "LOT_EVENT_ID":@VM:SQL_Format(Key, "STR") | ||||
|  | ||||
| // List of data fields and their values | ||||
| DataFields  = "LOT_ID"                 :@VM:SQL_Format(Rec(LOT_EVENT_LOT_ID$),                 "STR"):@FM | ||||
| DataFields := "LOT_EVENT_TYPE"         :@VM:SQL_Format(Rec(LOT_EVENT_LOT_EVENT_TYPE$),         "STR"):@FM | ||||
| DataFields := "EVENT_DATETIME"         :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_DATETIME$),         "DATETIME"):@FM | ||||
| DataFields := "EVENT_NOTE"             :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_NOTE$),             "STR"):@FM | ||||
| DataFields := "EQUIPMENT_ID"           :@VM:SQL_Format(Rec(LOT_EVENT_EQUIPMENT_ID$),           "STR"):@FM | ||||
| DataFields := "EVENT_REDUCE_WAFER_QTY" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_REDUCE_WAFER_QTY$), "INT"):@FM | ||||
| DataFields := "EVENT_BONUS_WAFER_QTY"  :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_BONUS_WAFER_QTY$),  "INT"):@FM | ||||
| DataFields := "EVENT_BEGIN_WAFER_QTY"  :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_BEGIN_WAFER_QTY$),  "INT"):@FM | ||||
| DataFields := "EVENT_END_WAFER_QTY"    :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_END_WAFER_QTY$),    "INT"):@FM | ||||
| DataFields := "EVENT_OPERATION_ID"     :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_OPERATION_ID$),     "STR"):@FM | ||||
| DataFields := "EVENT_OPERATOR_ID"      :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_OPERATOR_ID$),      "STR"):@FM | ||||
| DataFields := "SEQUENCE"               :@VM:SQL_Format(Rec(LOT_EVENT_SEQUENCE$),               "INT") | ||||
|  | ||||
| // Symbolics | ||||
|  | ||||
| // Write the data to the SQL database | ||||
| Ans = SQL_Write(Connection, "LOT_EVENT", Keys, DataFields); | ||||
|  | ||||
| //------------------------------------------------------------------------------------------------- | ||||
| // Multi-valued Fields | ||||
|  | ||||
| Return Ans | ||||
							
								
								
									
										35
									
								
								LSL2/STPROC/COPY_LOT_EVENT_TYPE_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								LSL2/STPROC/COPY_LOT_EVENT_TYPE_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | ||||
| Compile function Copy_LOT_EVENT_TYPE_Record_To_SQL(Connection, Key, Record) | ||||
|  | ||||
| /*****************************************************************************\ | ||||
| 	Copies the given OPERATION record to the MSSQL database. | ||||
| 	 | ||||
| 	History | ||||
| 	------- | ||||
| 	06/19/2025    DJS   Original Programmer | ||||
| \*****************************************************************************/ | ||||
|  | ||||
| $insert LOT_EVENT_TYPE_EQUATES | ||||
|  | ||||
| Declare function SQL_Write, SQL_Write_MV, SQL_Format | ||||
| Ans = "" | ||||
|  | ||||
| // Parse record into a dimensioned array for speed | ||||
| Dim Rec(2) | ||||
| MatParse Record into Rec | ||||
| 					     | ||||
| // List of key names and their values | ||||
| Keys = "LOT_EVENT_TYPE_ID":@VM:SQL_Format(Key, "STR") | ||||
|  | ||||
| // List of data fields and their values | ||||
| DataFields  = "DESCRIPTION"       :@VM:SQL_Format(Rec(LOT_EVENT_TYPE.DESCRIPTION$),    "STR"):@FM | ||||
| DataFields := "WIP_TRANS_TYPE"    :@VM:SQL_Format(Rec(LOT_EVENT_TYPE.WIP_TRANS_TYPE$), "STR") | ||||
|  | ||||
| // Symbolics | ||||
|  | ||||
| // Write the data to the SQL database | ||||
| Ans = SQL_Write(Connection, "LOT_EVENT_TYPE", Keys, DataFields); | ||||
|  | ||||
| //------------------------------------------------------------------------------------------------- | ||||
| // Multi-valued Fields | ||||
|  | ||||
| Return Ans | ||||
							
								
								
									
										56
									
								
								LSL2/STPROC/COPY_LOT_OPERATION_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								LSL2/STPROC/COPY_LOT_OPERATION_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| Compile function Copy_LOT_OPERATION_Record_To_SQL(Connection, Key, Record) | ||||
|  | ||||
| /*****************************************************************************\ | ||||
| 	Copies the given LOT_OPERATION record to the MSSQL database. | ||||
| 	 | ||||
| 	History | ||||
| 	------- | ||||
| 	06/19/2025    DJS   Original Programmer | ||||
| \*****************************************************************************/ | ||||
|  | ||||
| $insert LOT_OPERATION_EQUATES | ||||
|  | ||||
| Declare function SQL_Write, SQL_Write_MV, SQL_Format | ||||
| Ans = "" | ||||
|  | ||||
| // Parse record into a dimensioned array for speed | ||||
| Dim Rec(24) | ||||
| MatParse Record into Rec | ||||
| 					     | ||||
| // List of key names and their values | ||||
| Keys = "LOT_OPERATION_ID":@VM:SQL_Format(Key, "STR") | ||||
|  | ||||
| // List of data fields and their values | ||||
| DataFields  = "LOT_ID"                  :@VM:SQL_Format(Rec(LOT_OPERATION_LOT_ID$),                 "STR"):@FM | ||||
| DataFields := "OPERATION_ID"            :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATION_ID$),           "STR"):@FM | ||||
| DataFields := "DATETIME_IN"             :@VM:SQL_Format(Rec(LOT_OPERATION_DATETIME_IN$),            "DATETIME"):@FM | ||||
| DataFields := "DATETIME_OUT"            :@VM:SQL_Format(Rec(LOT_OPERATION_DATETIME_OUT$),           "DATETIME"):@FM | ||||
| DataFields := "EQUIPMENT_ID"            :@VM:SQL_Format(Rec(LOT_OPERATION_EQUIPMENT_ID$),           "STR"):@FM | ||||
| DataFields := "WAFER_IN_QTY"            :@VM:SQL_Format(Rec(LOT_OPERATION_WAFER_IN_QTY$),           "INT"):@FM | ||||
| DataFields := "WAFER_OUT_QTY"           :@VM:SQL_Format(Rec(LOT_OPERATION_WAFER_OUT_QTY$),          "INT"):@FM | ||||
| DataFields := "OPERATOR_IN_ID"          :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATOR_IN_ID$),         "STR"):@FM | ||||
| DataFields := "OPERATOR_OUT_ID"         :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATOR_OUT_ID$),        "STR"):@FM | ||||
| DataFields := "OPERATION_SEQUENCE"      :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATION_SEQUENCE$),     "INT"):@FM | ||||
| DataFields := "REWORK"                  :@VM:SQL_Format(Rec(LOT_OPERATION_REWORK$),                 "BIT"):@FM | ||||
| DataFields := "DATETIME_START"          :@VM:SQL_Format(Rec(LOT_OPERATION_DATETIME_START$),         "DATETIME"):@FM | ||||
| DataFields := "DATETIME_STOP"           :@VM:SQL_Format(Rec(LOT_OPERATION_DATETIME_STOP$),          "DATETIME"):@FM | ||||
| DataFields := "CLEAN_ID"                :@VM:SQL_Format(Rec(LOT_OPERATION_CLEAN_ID$),               "STR"):@FM | ||||
| DataFields := "PACKAGING_ID"            :@VM:SQL_Format(Rec(LOT_OPERATION_PACKAGING_ID$),           "STR"):@FM | ||||
| DataFields := "WAFER_COUNTER_ID"        :@VM:SQL_Format(Rec(LOT_OPERATION_WAFER_COUNTER_ID$),       "STR"):@FM | ||||
| DataFields := "OPERATION_TYPE"          :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATION_TYPE$),         "STR"):@FM | ||||
| DataFields := "OPERATION_CLASS"         :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATION_CLASS$),        "STR"):@FM | ||||
| DataFields := "MET_TEST_TYPE_REQUIRED"  :@VM:SQL_Format(Rec(LOT_OPERATION_MET_TEST_TYPE_REQUIRED$), "BIT"):@FM | ||||
| DataFields := "MET_TEST_REQUIRED"       :@VM:SQL_Format(Rec(LOT_OPERATION_MET_TEST_REQUIRED$),      "BIT"):@FM | ||||
| DataFields := "PACKAGING_REQUIRED"      :@VM:SQL_Format(Rec(LOT_OPERATION_PACKAGING_REQUIRED$),     "BIT"):@FM | ||||
| DataFields := "CLEAN_REQUIRED"          :@VM:SQL_Format(Rec(LOT_OPERATION_CLEAN_REQUIRED$),         "BIT"):@FM | ||||
| DataFields := "WAFER_COUNTER_REQUIRED"  :@VM:SQL_Format(Rec(LOT_OPERATION_WAFER_COUNTER_REQUIRED$), "BIT") | ||||
|  | ||||
| // Symbolics | ||||
|  | ||||
| // Write the data to the SQL database | ||||
| Ans = SQL_Write(Connection, "LOT_OPERATION", Keys, DataFields); | ||||
|  | ||||
| //------------------------------------------------------------------------------------------------- | ||||
| // Multi-valued Fields | ||||
|  | ||||
| Return Ans | ||||
							
								
								
									
										51
									
								
								LSL2/STPROC/COPY_LOT_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								LSL2/STPROC/COPY_LOT_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| Compile function Copy_LOT_Record_To_SQL(Connection, Key, Record) | ||||
|  | ||||
| /*****************************************************************************\ | ||||
| 	Copies the given LOT record to the MSSQL database. | ||||
| 	 | ||||
| 	History | ||||
| 	------- | ||||
| 	06/10/2025    DJS   Original Programmer | ||||
| \*****************************************************************************/ | ||||
|  | ||||
| $insert LOT_EQUATES | ||||
|  | ||||
| Declare function SQL_Write, SQL_Write_MV, SQL_Format | ||||
| Ans = "" | ||||
|  | ||||
| // Parse record into a dimensioned array for speed | ||||
| Dim Rec(23) | ||||
| MatParse Record into Rec | ||||
| 					     | ||||
| // List of key names and their values | ||||
| Keys = "LOT_ID":@VM:SQL_Format(Key, "STR") | ||||
|  | ||||
| // List of data fields and their values | ||||
| DataFields  = "TYPE"                      :@VM:SQL_Format(Rec(LOT_TYPE$),                     "STR"):@FM | ||||
| DataFields := "PROD_ID"                   :@VM:SQL_Format(Rec(LOT_PROD_ID$),                  "STR"):@FM | ||||
| DataFields := "ORIG_WAFER_QTY"            :@VM:SQL_Format(Rec(LOT_ORIG_WAFER_QTY$),           "INT"):@FM | ||||
| DataFields := "WAFER_QTY"                 :@VM:SQL_Format(Rec(LOT_WAFER_QTY$),                "INT"):@FM | ||||
| DataFields := "VENDOR_PART_NO"            :@VM:SQL_Format(Rec(LOT_VENDOR_PART_NO$),           "STR"):@FM | ||||
| DataFields := "VENDOR_LOT_NO"             :@VM:SQL_Format(Rec(LOT_VENDOR_LOT_NO$),            "STR"):@FM | ||||
| DataFields := "VENDOR_CODE"               :@VM:SQL_Format(Rec(LOT_VENDOR_CODE$),              "STR"):@FM | ||||
| DataFields := "[OPEN]"                    :@VM:SQL_Format(Rec(LOT_OPEN$),                     "BIT"):@FM | ||||
| DataFields := "HOLD"                      :@VM:SQL_Format(Rec(LOT_HOLD$),                     "BIT"):@FM | ||||
| DataFields := "HOT"                       :@VM:SQL_Format(Rec(LOT_HOT$),                      "BIT"):@FM | ||||
| DataFields := "LEGACY_LOT_ID"             :@VM:SQL_Format(Rec(LOT_LEGACY_LOT_ID$),            "STR"):@FM | ||||
| DataFields := "MOST_RECENT_LOT_EVENT_ID"  :@VM:SQL_Format(Rec(LOT_MOST_RECENT_LOT_EVENT_ID$), "STR"):@FM | ||||
| DataFields := "LEGACY_LOT_TYPE"           :@VM:SQL_Format(Rec(LOT_LEGACY_LOT_TYPE$),          "STR"):@FM | ||||
| DataFields := "WO_LOG_ID"                 :@VM:SQL_Format(Rec(LOT_WO_LOG_ID$),                "INT"):@FM | ||||
| DataFields := "PROD_SPEC_ID"              :@VM:SQL_Format(Rec(LOT_PROD_SPEC_ID$),             "INT"):@FM | ||||
| DataFields := "EPI_PART_NO"               :@VM:SQL_Format(Rec(LOT_EPI_PART_NO$),              "STR"):@FM | ||||
| DataFields := "PROD_VER_NO"               :@VM:SQL_Format(Rec(LOT_PROD_VER_NO$),              "STR") | ||||
|  | ||||
| // Symbolics | ||||
|  | ||||
| // Write the data to the SQL database | ||||
| Ans = SQL_Write(Connection, "LOT", Keys, DataFields); | ||||
|  | ||||
| //------------------------------------------------------------------------------------------------- | ||||
| // Multi-valued Fields | ||||
|  | ||||
| Return Ans | ||||
|  | ||||
							
								
								
									
										43
									
								
								LSL2/STPROC/COPY_OPERATION_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								LSL2/STPROC/COPY_OPERATION_RECORD_TO_SQL.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | ||||
| Compile function Copy_OPERATION_Record_To_SQL(Connection, Key, Record) | ||||
|  | ||||
| /*****************************************************************************\ | ||||
| 	Copies the given OPERATION record to the MSSQL database. | ||||
| 	 | ||||
| 	History | ||||
| 	------- | ||||
| 	06/19/2025    DJS   Original Programmer | ||||
| \*****************************************************************************/ | ||||
|  | ||||
| $insert OPERATION_EQUATES | ||||
|  | ||||
| Declare function SQL_Write, SQL_Write_MV, SQL_Format | ||||
| Ans = "" | ||||
|  | ||||
| // Parse record into a dimensioned array for speed | ||||
| Dim Rec(10) | ||||
| MatParse Record into Rec | ||||
| 					     | ||||
| // List of key names and their values | ||||
| Keys = "OPERATION_ID":@VM:SQL_Format(Key, "STR") | ||||
|  | ||||
| // List of data fields and their values | ||||
| DataFields  = "ACTIVE"                  :@VM:SQL_Format(Rec(OPERATION_ACTIVE$),                 "BIT"):@FM | ||||
| DataFields := "CLASS_ID"                :@VM:SQL_Format(Rec(OPERATION_CLASS_ID$),               "STR"):@FM | ||||
| DataFields := "OPERATION_DESCRIPTION"   :@VM:SQL_Format(Rec(OPERATION_OPERATION_DESCRIPTION$),  "STR"):@FM | ||||
| DataFields := "TYPE"                    :@VM:SQL_Format(Rec(OPERATION_TYPE$),                   "STR"):@FM | ||||
| DataFields := "REWORK"                  :@VM:SQL_Format(Rec(OPERATION_REWORK$),                 "BIT"):@FM | ||||
| DataFields := "MET_TEST_TYPE_REQUIRED"  :@VM:SQL_Format(Rec(OPERATION_MET_TEST_TYPE_REQUIRED$), "BIT"):@FM | ||||
| DataFields := "MET_TEST_REQUIRED"       :@VM:SQL_Format(Rec(OPERATION_MET_TEST_REQUIRED$),      "BIT"):@FM | ||||
| DataFields := "PACKAGING_REQUIRED"      :@VM:SQL_Format(Rec(OPERATION_PACKAGING_REQUIRED$),     "BIT"):@FM | ||||
| DataFields := "CLEAN_REQUIRED"          :@VM:SQL_Format(Rec(OPERATION_CLEAN_REQUIRED$),         "BIT"):@FM | ||||
| DataFields := "WAFER_COUNTER_REQUIRED"  :@VM:SQL_Format(Rec(OPERATION_WAFER_COUNTER_REQUIRED$), "BIT") | ||||
|  | ||||
| // Symbolics | ||||
|  | ||||
| // Write the data to the SQL database | ||||
| Ans = SQL_Write(Connection, "OPERATION", Keys, DataFields); | ||||
|  | ||||
| //------------------------------------------------------------------------------------------------- | ||||
| // Multi-valued Fields | ||||
|  | ||||
| Return Ans | ||||
| @ -1,6 +1,4 @@ | ||||
| Compile subroutine Copy_Pending_Records_To_SQL(VOID) | ||||
| #pragma precomp SRP_PreCompiler | ||||
|  | ||||
| /*****************************************************************************\ | ||||
| 	This is a utility function. For each record found in SQL_PENDING, it makes | ||||
| 	sure the identified record is copied to SQL.  | ||||
| @ -9,19 +7,25 @@ Compile subroutine Copy_Pending_Records_To_SQL(VOID) | ||||
| 	------- | ||||
| 	02/06/2023    DJS    Adapted from Copy_Backlog_Records_To_SQL | ||||
| \*****************************************************************************/ | ||||
|  | ||||
| #pragma precomp SRP_PreCompiler | ||||
| $Insert APP_INSERTS | ||||
|  | ||||
| EQU FIVE_MINUTES$    to 0.003472 | ||||
| EQU SECONDS_PER_DAY$ to 86400 | ||||
| EQU THIRTY_MINUTES$  to 1800 | ||||
|  | ||||
| Declare subroutine Copy_Record_To_SQL, Delete_Record_From_SQL, SRP_TcpClient, Database_Services | ||||
| Declare function   GetTickCount, Database_Services, SRP_TcpClient, Datetime, Database_Services, Environment_Services | ||||
|  | ||||
| Main: | ||||
|  | ||||
| 	// This only needs to be called every once in a while (e.g. 5 minutes ~ 0.003472) | ||||
| 	Run        = False$ | ||||
| 	CurrDtm    = Datetime() | ||||
| 	LastRunDtm = Database_Services('ReadDataRow', 'APP_INFO', 'SQL_PENDING_LAST_RUNTIME') | ||||
| 	If LastRunDtm NE '' then | ||||
| 		TimeDiff   = CurrDtm - LastRunDtm | ||||
|     If TimeDiff GT 0.003472 then | ||||
| 		If TimeDiff GT FIVE_MINUTES$ then | ||||
| 			Run = True$ | ||||
| 			LastRunDtm = CurrDtm | ||||
| 		end | ||||
| @ -48,9 +52,9 @@ If Run then | ||||
| 					 | ||||
| 					Read Rec from pTable, Key then | ||||
| 						TransDtm = Rec<1> | ||||
|                     ElapSecs = (CurrDtm - TransDtm) * 86400  | ||||
|                     If ElapSecs LT 1800 then | ||||
|                         // Retry recent pending transactions (1800 seconds = 30 minutes)  | ||||
| 						ElapSecs = (CurrDtm - TransDtm) * SECONDS_PER_DAY$ | ||||
| 						If ElapSecs LT THIRTY_MINUTES$ then | ||||
| 							// Retry recent pending transactions (i.e., those submitted in the last 30 minutes)  | ||||
| 							Table                  = Key[1, "*"] | ||||
| 							Locate Table in NonCriticalTables using @FM setting Dummy then | ||||
| 								ID = Key[Col2() + 1, Len(Key)] | ||||
| @ -81,9 +85,10 @@ If Run then | ||||
| 							 | ||||
| 							TcpClientHandle = 0 | ||||
| 							ServerIP        = Environment_Services('GetApplicationRootIP') | ||||
| 							ServerPort      = Environment_Services('GetScrapeServerPort') | ||||
| 							Convert '\' to '' in ServerIP | ||||
| 							 | ||||
|                         If SRP_TcpClient(TcpClientHandle, 'CONNECT', ServerIP, '20779') then | ||||
| 							If SRP_TcpClient(TcpClientHandle, 'CONNECT', ServerIP, ServerPort) then | ||||
| 								SRP_TcpClient(TcpClientHandle, 'SEND_SES', Command) | ||||
| 								SRP_TcpClient(TcpClientHandle, 'CLOSE_SES') | ||||
| 							end | ||||
| @ -103,4 +108,3 @@ end | ||||
|  | ||||
| Return | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -22,20 +22,29 @@ Compile function Copy_Record_To_SQL(Table, Key, LogError, pKey) | ||||
| 	09/23/2010    KRF   Added logic to set @DICT, @ID, and @RECORD so handlers | ||||
| 	                    can use symbolics | ||||
| \*****************************************************************************/ | ||||
| $insert Microsoft_Ado_Equates | ||||
|  | ||||
| If Assigned(LogError) else LogError = 0 | ||||
| $Insert APP_INSERTS | ||||
| $Insert MICROSOFT_ADO_EQUATES | ||||
|  | ||||
| Declare subroutine SRP_Com, Sql_Services | ||||
| Declare function SRP_Com, Environment_Services, Datetime, Sql_Services, Error_Services, Database_Services | ||||
| Ans = "" | ||||
| Declare function SRP_Com, Environment_Services, Datetime, Sql_Services, Error_Services, Database_Services, Unassigned | ||||
|  | ||||
| Main: | ||||
| 	 | ||||
| 	If Unassigned(LogError) then LogError = False$ | ||||
| 	If Unassigned(pKey) 	then pKey	  = '' | ||||
| 	Ans  = "" | ||||
| 	Done = False$ | ||||
| 	// Make sure table is uppercase | ||||
| 	Convert @LOWER_CASE to @UPPER_CASE in Table | ||||
|  | ||||
| 	TablesToSkip = Database_Services('ReadDataRow', 'APP_INFO', 'SQL_TABLES_TO_SKIP') | ||||
| 	Locate Table in TablesToSkip by "AL" using "," setting ListPos else | ||||
| 		 | ||||
| 		Open 'SQL_PENDING' to pTable then | ||||
| 			 | ||||
| 			If pKey NE '' then Lock pTable, pKey else Done = True$ | ||||
| 			 | ||||
| 			If Not(Done) then  | ||||
| 				// The expected name of the handler | ||||
| 				Handler = "COPY_":Table:"_RECORD_TO_SQL" | ||||
| 				 | ||||
| @ -56,9 +65,8 @@ Locate Table in TablesToSkip by "AL" using "," setting ListPos else | ||||
| 											If Ans EQ '' then | ||||
| 												If Assigned(pKey) then | ||||
| 													If pKey NE '' then | ||||
| 											Open 'SQL_PENDING' to pTable then | ||||
| 												Delete pTable, pKey else null | ||||
| 											end | ||||
| 														Delete pTable, pKey else Null | ||||
| 														Unlock pTable, pKey else Null	 | ||||
| 													end | ||||
| 												end | ||||
| 											end | ||||
| @ -68,7 +76,8 @@ Locate Table in TablesToSkip by "AL" using "," setting ListPos else | ||||
| 									end | ||||
| 								end | ||||
| 							end else | ||||
|                     Ans = 'Unable to open connection to SQL server. SQL connection error: ':SRP_Com(Connection, "ERROR") | ||||
| 								Ans  = 'Unable to open connection to SQL server. SQL connection error: ' | ||||
| 								Ans := SRP_Com(Connection, "ERROR") | ||||
| 							end | ||||
| 							SRP_Com(Connection, "CALL", "Close") | ||||
| 							SRP_Com(Connection, "RELEASE") | ||||
| @ -112,8 +121,8 @@ Locate Table in TablesToSkip by "AL" using "," setting ListPos else | ||||
| 					end | ||||
| 				end | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
|      | ||||
| Return Ans | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -14,7 +14,7 @@ Declare function SQL_Write, SQL_Write_MV, SQL_Format | ||||
| Ans = "" | ||||
|  | ||||
| // Parse record into a dimensioned array for speed | ||||
| Dim Rec(82) | ||||
| Dim Rec(86) | ||||
| MatParse Record into Rec | ||||
| 					     | ||||
| // List of key names and their values | ||||
| @ -57,6 +57,9 @@ DataFields := "PROD_ORD_NO_TMP"  :@VM:SQL_Format(Rec(WO_LOG_PROD_ORD_NO_TMP$), | ||||
| DataFields := "ORIGIN"              :@VM:SQL_Format(Rec(WO_LOG_ORIGIN$),                "STR"):@FM | ||||
| DataFields := "INCO_CODE"           :@VM:SQL_Format(Rec(WO_LOG_INCO_CODE$),             "STR"):@FM | ||||
| DataFields := "HOT_FLAG"            :@VM:SQL_Format(Rec(WO_LOG_HOT_FLAG$),              "BIT"):@FM | ||||
| DataFields := "CURR_STATUS_STATIC"  :@VM:SQL_Format(Rec(WO_LOG_CURR_STATUS_STATIC$),    "STR"):@FM | ||||
| DataFields := "REL_QTY"             :@VM:SQL_Format(Rec(WO_LOG_REL_QTY_STATIC$),		"INT"):@FM | ||||
| DataFields := "UNREL_QTY"           :@VM:SQL_Format(Rec(WO_LOG_UNREL_QTY_STATIC$),		"INT"):@FM | ||||
|  | ||||
| // Symbolics | ||||
| DataFields := "START_DT"                :@VM:SQL_Format({START_DT},                 "DATE"):@FM | ||||
| @ -68,9 +71,7 @@ DataFields := "CYCLE_TIME_WIP"          :@VM:SQL_Format({CYCLE_TIME_WIP}, | ||||
| DataFields := "CYCLE_TIME_DELTA"        :@VM:SQL_Format({CYCLE_TIME_DELTA},         "DEC", 1):@FM | ||||
| DataFields := "CYCLE_TIME_QA_SHIP"      :@VM:SQL_Format({CYCLE_TIME_QA_SHIP},       "DEC", 1):@FM | ||||
| DataFields := "CYCLE_TIME_REL_FIRST_VER":@VM:SQL_Format({CYCLE_TIME_REL_FIRST_VER}, "DEC", 1):@FM | ||||
| DataFields := "SAP_TOT_WFR_QTY"         :@VM:SQL_Format({SAP_TOT_WFR_QTY},          "STR"):@FM | ||||
| DataFields := "REL_QTY"                 :@VM:SQL_Format({REL_QTY},                  "INT"):@FM | ||||
| DataFields := "UNREL_QTY"               :@VM:SQL_Format({UNREL_QTY},                "INT") | ||||
| DataFields := "SAP_TOT_WFR_QTY"         :@VM:SQL_Format({SAP_TOT_WFR_QTY},          "STR") | ||||
|  | ||||
| // Write the data to the SQL database | ||||
| Ans = SQL_Write(Connection, "WO_LOG", Keys, DataFields) | ||||
| @ -349,3 +350,4 @@ If Ans EQ "" AND CassIdSap NE "" then | ||||
| end | ||||
|  | ||||
| Return Ans | ||||
|  | ||||
|  | ||||
| @ -609,7 +609,6 @@ Service ReadDataRow(TableName, KeyID, NotExpired, ExpirationDuration, IgnoreMFSR | ||||
|                     Memory_Services('SetValue', ServiceKeyID, DataRow) | ||||
|                 end else | ||||
|                     Error_Services('Add', 'Error reading ' : KeyID : ' from the ' : TableName : ' table in the ' : Service : ' service. Error = ' : @File_Error<1>) | ||||
|  | ||||
|                 end | ||||
|             end | ||||
|         end | ||||
| @ -943,11 +942,9 @@ Service WriteDataRow(TableName, KeyID, DataRow, IgnoreSelfLock, IgnoreMFSRoutine | ||||
|                     Error_Services('Add', 'Error writing ' : KeyID : ' to the ' : TableName : ' table in the ' : Service : ' service. Error message: ':ErrorMsg) | ||||
|                 end | ||||
|             end | ||||
| *            If Error_Services('NoError') then | ||||
|             If IgnoreAllLocks EQ False$ then | ||||
|                 Database_Services('ReleaseKeyIDLock', TableName, KeyID) | ||||
|             end | ||||
| *            end | ||||
|         end else | ||||
|             Error_Services('Add', 'Unable to lock ' : KeyID : ' for the ' : TableName : ' table in the ' : Service : ' service.') | ||||
|         end | ||||
| @ -958,6 +955,68 @@ Service WriteDataRow(TableName, KeyID, DataRow, IgnoreSelfLock, IgnoreMFSRoutine | ||||
| end service | ||||
|  | ||||
|  | ||||
| //---------------------------------------------------------------------------------------------------------------------- | ||||
| // WriteDataColumn | ||||
| // | ||||
| // TableName. The linear hash database table name. - [REQUIRED] | ||||
| // KeyID. The KeyID to the database table. - [REQUIRED] | ||||
| // ColumnNo. Column number of the table to write. - [REQUIRED] | ||||
| // | ||||
| // Writes a value to a column for the indicated Key ID and database table. | ||||
| //---------------------------------------------------------------------------------------------------------------------- | ||||
| Service WriteDataColumn(TableName, KeyID, ColumnNo, Value, IgnoreSelfLock, IgnoreMFSRoutines, IgnoreAllLocks) | ||||
|  | ||||
|     If TableName NE '' AND KeyID NE '' AND ColumnNo NE '' then | ||||
|          | ||||
|         If ( Num(ColumnNo) and (ColumnNo GT 0) ) then | ||||
|             If Unassigned(Value) then Value = '' | ||||
|             If IgnoreSelfLock NE True$ then IgnoreSelfLock = False$ | ||||
|             If IgnoreMFSRoutines NE True$ then IgnoreMFSRoutines = False$ | ||||
|             If IgnoreAllLocks NE True$ then IgnoreAllLocks = False$ | ||||
|             If IgnoreAllLocks then | ||||
|                 HaveLock    = True$ | ||||
|             end else | ||||
|                 HaveLock    = Database_Services('GetKeyIDLock', TableName, KeyID, IgnoreSelfLock) | ||||
|             end | ||||
|             If HaveLock EQ True$ then | ||||
|                 TableHandle = Database_Services('GetTableHandle', TableName) | ||||
|                 If IgnoreMFSRoutines then | ||||
|                     MFSList = TableHandle<1, 1> ; // MFS routines are @SVM delimited. | ||||
|                     NumMFS = DCount(MFSList, @SVM) | ||||
|                     For MFSCnt = NumMFS to 1 Step -1 | ||||
|                         MFSRoutine  = MFSList<0, 0, MFSCnt> | ||||
|                         If (MFSRoutine NE 'SI.MFS') AND (MFSRoutine NE 'RTP57') then | ||||
|                             MFSList = Delete(MFSList, 0, 0, MFSCnt) | ||||
|                         end | ||||
|                     Next MFSCnt | ||||
|                     TableHandle<1, 1>   = MFSList | ||||
|                 end | ||||
|                  | ||||
|                 If Error_Services('NoError') then | ||||
|                     WriteV Value on TableHandle, KeyID, ColumnNo then | ||||
|                         Memory_Services('SetValue', ServiceModule : '*' : 'ReadDataColumn' : '*' : TableName : '*' : KeyID : '*' : ColumnNo, Value) | ||||
|                     end else | ||||
|                         ErrorMsg = 'Error writing value ' : Quote(Value) ' to column number ' : ColumnNo : ' to key ' : KeyID | | ||||
|                                  : ' of table ' : TableName : ' in the ' : Service : ' service.' | ||||
|                         Error_Services('Add', ErrorMsg) | ||||
|                     end | ||||
|                 end | ||||
|                 If IgnoreAllLocks EQ False$ then | ||||
|                     Database_Services('ReleaseKeyIDLock', TableName, KeyID) | ||||
|                 end | ||||
|             end else | ||||
|                 Error_Services('Add', 'Unable to lock ' : KeyID : ' for the ' : TableName : ' table in the ' : Service : ' service.') | ||||
|             end | ||||
|         end else | ||||
|             Error_Services('Add', 'ColumnNo was not a number or was not greater than zero in the ' :Service : ' service.') | ||||
|         end | ||||
|     end else | ||||
|         Error_Services('Add', 'TableName, KeyID, or ColumnNo argument was missing in the ' : Service : ' service.') | ||||
|     end | ||||
|  | ||||
| end service | ||||
|  | ||||
|  | ||||
| //---------------------------------------------------------------------------------------------------------------------- | ||||
| // UnlockKeyID | ||||
| // | ||||
| @ -1043,5 +1102,3 @@ end service | ||||
| // Internal GoSubs | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -220,6 +220,13 @@ Service GetWeekNum(InputDate) | ||||
|     | ||||
| end service | ||||
|  | ||||
| Service ConvertDateTimeToISO8601(DatetimeToConv) | ||||
|      | ||||
|     Response = OConv(DatetimeToConv, "[SRP_DATETIME,()YYYY-MM-DD hh:mm:ss.000Z]") | ||||
|     swap ' ' with 'T' in Response | ||||
|      | ||||
| end service | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // Internal GoSubs | ||||
|  | ||||
| @ -18,18 +18,26 @@ Compile function Delete_Record_From_SQL(Table, Key, LogError, pKey) | ||||
| 	------- | ||||
| 	09/15/2010    KRF    Original Programmer | ||||
| \*****************************************************************************/ | ||||
|  | ||||
| $insert Microsoft_Ado_Equates | ||||
|  | ||||
| If Assigned(LogError) else LogError = 0 | ||||
| $Insert APP_INSERTS | ||||
| $insert MICROSOFT_ADO_EQUATES | ||||
|  | ||||
| Declare subroutine Sql_Services, SRP_COM | ||||
| Declare function Sql_Services, Error_Services, SRP_COM, Environment_Services | ||||
| Ans = "" | ||||
| Declare function Sql_Services, Error_Services, SRP_COM, Environment_Services, Unassigned | ||||
|  | ||||
| Main: | ||||
| 	 | ||||
| 	If Unassigned(LogError) then LogError = False$ | ||||
| 	If Unassigned(pKey) 	then pKey     = '' | ||||
| 	Ans  = "" | ||||
| 	Done = False$ | ||||
| 	// Make sure table is uppercase | ||||
| 	Convert @LOWER_CASE to @UPPER_CASE in Table | ||||
| 	 | ||||
| 	Open 'SQL_PENDING' to pTable then | ||||
|  | ||||
| 		If pKey NE '' then Lock pTable, pKey else Done = True$ | ||||
| 	 | ||||
| 		If Not(Done) then  | ||||
| 			// The expected name of the handler | ||||
| 			Handler = "DELETE_":Table:"_RECORD_FROM_SQL" | ||||
|  | ||||
| @ -46,9 +54,8 @@ Open "SYSOBJ" to hSysObj then | ||||
| 								Ans = Function(@Handler(Connection, Key)) | ||||
| 								If Ans EQ '' then | ||||
| 									If Assigned(pKey) then | ||||
|                             Open 'SQL_PENDING' to pTable then | ||||
|                                 Delete pTable, pKey else null | ||||
|                             end | ||||
| 										Delete pTable, pKey else Null | ||||
| 										Unlock pTable, pKey else Null | ||||
| 									end | ||||
| 								end | ||||
| 							end | ||||
| @ -78,6 +85,7 @@ end | ||||
| 			// Always log the result | ||||
|  | ||||
| 			If Assigned(pKey) then | ||||
| 				If (pKey NE '') then  | ||||
| 					Open 'SQL_LOG' to hLog then | ||||
| 						If Ans EQ '' then | ||||
| 							Result = 'PROCESSED' | ||||
| @ -93,6 +101,9 @@ If Assigned(pKey) then | ||||
| 						Write Log to hLog, CurrDate | ||||
| 					end | ||||
| 				end | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| 	 | ||||
| Return Ans | ||||
|  | ||||
|  | ||||
| @ -94,4 +94,3 @@ API engineinfo.ID.GET | ||||
|     end | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| @ -36,7 +36,7 @@ Function Environment_Services(@Service, @Params) | ||||
|  | ||||
| #pragma precomp SRP_PreCompiler | ||||
|  | ||||
| $insert LOGICAL | ||||
| $insert APP_INSERTS | ||||
| $insert SERVICE_SETUP | ||||
| $insert SRPMail_Inserts | ||||
|  | ||||
| @ -553,6 +553,30 @@ Service GetEnvironmentVariable(VariableName) | ||||
| 	 | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetServiceManagerPort() | ||||
| 	 | ||||
|     FilePath = Drive():'\SRPEngineServer.ini' | ||||
|     OSRead IniFile from FilePath then | ||||
|         CharIndex             = Index(IniFile, 'Port', 1) | ||||
|         Line                  = IniFile[CharIndex, 'F':CRLF$] | ||||
|         Response              = Trim(Line[-1, 'B=']) | ||||
|     end	 | ||||
| 	 | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetScrapeServerPort() | ||||
| 	 | ||||
|     FilePath = Drive():'\SRPEngineServerScrape.ini' | ||||
|     OSRead IniFile from FilePath then | ||||
|         CharIndex             = Index(IniFile, 'Port', 1) | ||||
|         Line                  = IniFile[CharIndex, 'F':CRLF$] | ||||
|         Response              = Trim(Line[-1, 'B=']) | ||||
|     end	 | ||||
| 	 | ||||
| end service | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // Internal GoSubs | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
| @ -1,272 +0,0 @@ | ||||
| COMPILE SUBROUTINE Export_WO_Log( Dummy ) | ||||
|  | ||||
| DECLARE FUNCTION Msg, Dialog_Box, Utility, obj_Export, obj_WO_Log | ||||
| DECLARE FUNCTION Set_Printer, Get_Printer, obj_Install, Utility, obj_MUWafers, Database_Services  | ||||
|  | ||||
| DECLARE SUBROUTINE Btree.Extract, RList, END_Dialog, Make.List, Msg, ErrMsg, SetInitDirOptions | ||||
|  | ||||
| $INSERT LSL_USERS_EQU | ||||
| $INSERT MSG_EQUATES | ||||
| $INSERT RLIST_EQUATES | ||||
| $INSERT OIPRINT_EQUATES | ||||
| $INSERT WO_LOG_EQUATES | ||||
| $INSERT WO_STEP_EQU | ||||
| $INSERT WO_MAT_EQUATES | ||||
| $INSERT COMPANY_EQU | ||||
| $INSERT QUOTE_EQU | ||||
| $INSERT QUOTE_SPEC_EQU | ||||
| $INSERT RECIPE_EQU | ||||
| $INSERT ORDER_DET_EQU | ||||
| $INSERT PROD_SPEC_EQUATES | ||||
| $insert PROD_VER_EQUATES | ||||
| $INSERT EXCEL_EQU | ||||
|  | ||||
| CRLF$ = \0D0A\ | ||||
|  | ||||
| OPEN 'WO_STEP' TO WOStepTable ELSE | ||||
| 	ErrMsg('Unable to open "WO_STEP" table in EXPORT_WO_LOG routine.') | ||||
| 	RETURN | ||||
| END | ||||
|  | ||||
| OPEN 'DICT.WO_STEP' TO DictWOStep ELSE | ||||
| 	ErrMsg('Unable to open "DICT.WO_STEP" table in EXPORT_WO_LOG routine.') | ||||
| 	RETURN | ||||
| END | ||||
|  | ||||
| Def = "" | ||||
| Def<MTEXT$> = "Selecting Uncheduled Work Orders..." | ||||
| Def<MTYPE$> = "U" | ||||
|  | ||||
| MsgUp = Msg(@window, Def) | ||||
|  | ||||
| * SelectSent = 'SELECT WO_STEP WITH SCHEDULED NE "Yes" ' | ||||
| Declare subroutine SRP_Stopwatch | ||||
| SRP_Stopwatch('Reset') | ||||
| SRP_Stopwatch('Start', 'StartDate') | ||||
| StartDate   = Oconv(Date() - 182, 'D4/') | ||||
| SelectSent  = 'SELECT WO_LOG WITH ENTRY_DATE GE ' : Quote(StartDate) | ||||
| RList(SelectSent,TARGET_ACTIVELIST$,'','','') | ||||
| SRP_Stopwatch('Stop', 'StartDate') | ||||
| SRP_Stopwatch('Start', 'Schedule') | ||||
| SelectSent = 'SELECT WO_LOG WITH SCHEDULED NE "Yes" ' | ||||
| RList(SelectSent,TARGET_ACTIVELIST$,'','','') | ||||
| SRP_Stopwatch('Stop', 'Schedule') | ||||
| * SRP_Stopwatch('ShowAll') | ||||
| *SelectSent = 'SELECT WO_STEP WITH CURR_STATUS NE "CL" "COMP" ' | ||||
| *SelectSent = 'SELECT WO_STEP WITH CURR_STATUS = "NEW" "RTP" "RTS" "RX" "INPR" ' | ||||
| *RList(SelectSent,TARGET_ACTIVELIST$,'','','') | ||||
|  | ||||
| WOLogKeys = '' | ||||
| Done = 0 | ||||
| LOOP | ||||
| 	READNEXT WOLogKey ELSE Done = 1 | ||||
| UNTIL Done | ||||
| 	WOLogKeys<-1> = WOLogKey | ||||
| REPEAT | ||||
|  | ||||
| CONVERT @VM TO @FM IN WOLogKeys | ||||
|  | ||||
| IF WOLogKeys = '' THEN | ||||
| 	Msg(@window, MsgUp) | ||||
| 	ErrMsg('No Work Orders remain unscheduled.') | ||||
| 	RETURN | ||||
| END | ||||
|  | ||||
|  | ||||
| Make.List('',WOLogKeys,'','') | ||||
|  | ||||
| IF Get_Status(errCode) THEN | ||||
| 	ErrMsg(errCode) | ||||
| END | ||||
|  | ||||
| Results = '' | ||||
| Results<1,1> = 'Spec Type' | ||||
| Results<1,2> = 'WO' | ||||
| Results<1,3> = 'Customer' | ||||
| Results<1,4> = 'Qty' | ||||
| Results<1,5> = 'PSN' | ||||
| Results<1,6> = 'Cust Part Numbers' | ||||
| Results<1,7> = 'Reactor Type' | ||||
| Results<1,8> = 'Sched Reacts' | ||||
| Results<1,9> = 'Inch' | ||||
| Results<1,10> = 'Tube Press Type' | ||||
| Results<1,11> = 'Epi Gases' | ||||
| Results<1,12> = 'Dopant L1' | ||||
| Results<1,13> = 'Cap/Burst Gases' | ||||
| Results<1,14> = 'Thick Target' | ||||
| Results<1,15> = 'Res Target' | ||||
| Results<1,16> = 'Expected Rx Dt' | ||||
| Results<1,17> = 'Received Date' | ||||
| Results<1,18> = 'Promised Ship' | ||||
| Results<1,19> = 'Qual' | ||||
| Results<1,20> = 'Blkd' | ||||
| Results<1,21> = 'MU Wfrs' | ||||
|  | ||||
| Done = 0 | ||||
| LineCnt = 1 | ||||
| LOOP | ||||
| 	READNEXT WOLogKey ELSE Done = 1 | ||||
| UNTIL Done | ||||
| 			 | ||||
|     WONo = WOLogKey | ||||
|     WORec = XLATE('WO_LOG',WONo,'','X') | ||||
|     WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$> | ||||
|      | ||||
|     CassCustPNs = XLATE('WO_MAT',WOMatKeys,WO_MAT_CUST_PART_NO$,'X') | ||||
|     CustPNs = '' | ||||
|     FOR I = 1 TO COUNT(CassCustPNs,@VM) + (CassCustPNs NE '') | ||||
|         LOCATE CassCustPNs<1,I> IN CustPNs USING @VM SETTING POS ELSE | ||||
|             CustPNs = INSERT(CustPNs,1,Pos,0,CassCustPNs<1,I>) | ||||
|         END | ||||
|     NEXT I | ||||
|      | ||||
|     CompanyName = XLATE( 'COMPANY', WORec<WO_LOG_CUST_NO$>,COMPANY_CO_NAME$,'X') | ||||
|     SWAP ',' WITH '-' IN CompanyName | ||||
|      | ||||
|     WaferQty = SUM(XLATE('WO_MAT',WOMatKeys,WO_MAT_WAFER_QTY$,'X')) | ||||
|     IF WaferQty > 0 THEN | ||||
|         ExpectedRxDts = '' | ||||
|     END ELSE | ||||
|         OrderNo = WORec<WO_LOG_ORDER_NO$> | ||||
|         OrderItems = WORec<WO_LOG_ORDER_ITEM$> | ||||
|         OrderDetKeys = '' | ||||
|         FOR N = 1 TO COUNT(OrderItems,@VM) + (OrderItems NE '') | ||||
|             OrderDetKeys<1,N> = OrderNo:'*':OrderItems<1,N> | ||||
|         NEXT N | ||||
|         WaferQty = SUM(XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_ITEM_QTY$,'X')) | ||||
|         ExpectedRxDts = XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_EXP_RX_DT$,'X') | ||||
|     END | ||||
|      | ||||
|     MUWafers		= obj_MUWafers('AvailWafers',WONo:@RM:WORec:@RM:0:@RM:1) | ||||
|     ShipThickTarget	= XLATE('WO_LOG',WONo,'SHIP_THICK_TARGET','X') | ||||
|     ShipResTarget	= XLATE('WO_LOG',WONo,'SHIP_RES_TARGET','X') | ||||
|          | ||||
|     CustPSNs = XLATE('WO_STEP',WORec<34>,1,'X') | ||||
|      | ||||
|     SWAP @VM WITH '\' IN CustPNs | ||||
|      | ||||
| *    PSNo = WOStepRec<WO_STEP_PROD_SPEC_ID$> | ||||
|     ProdVerNo   = WORec<WO_LOG_PROD_VER_NO$> | ||||
|     ProdVerRow  = Database_Services('ReadDataRow', 'PROD_VER', ProdVerNo) | ||||
|     PSNo        = ProdVerRow<PROD_VER_PROC_STEP_PSN$> | ||||
|      | ||||
|     PSReactType = OCONV(XLATE('PROD_SPEC',PSNo,PROD_SPEC_REACTOR_TYPE$,'X'),'[REACT_TYPE_CONV]') | ||||
|  | ||||
|     WaferSize = xlate( 'PROD_SPEC', PSNo, 'SUB_WAFER_SIZE', 'X' ) | ||||
|     SWAP 75		WITH '' IN WaferSize | ||||
|     SWAP 100	WITH '' IN WaferSize | ||||
|     SWAP 125	WITH '' IN WaferSize | ||||
|     SWAP 150	WITH '' IN WaferSize | ||||
|     SWAP 200	WITH '' IN WaferSize | ||||
|     SWAP 'mm'	WITH '' IN WaferSize | ||||
|     WaferSize = trim( WaferSize ) | ||||
|      | ||||
|     RecipeId = XLATE( 'PROD_SPEC', PSNo, 'RECIPE_NO_L1', 'X' ) | ||||
|     EPIGases = XLATE( 'RECIPE', RecipeId, RECIPE_EPI_GASES$, 'X' ) | ||||
|  | ||||
| *    Reactors		= WOStepRec<WO_STEP_REACTORS$> | ||||
|     Reactors        = Xlate('PROD_SPEC', PSNo, PROD_SPEC_QUAL_REACTS$, 'X') | ||||
| *    BlockedReactors	= WOStepRec<WO_STEP_BLOCKED_REACTORS$> | ||||
|     BlockedReactors = Xlate('PROD_SPEC', PSNo, PROD_SPEC_BLOCKED_REACTS$, 'X') | ||||
|     SchedReactors	= XLATE('WO_LOG',WONo,'SCHED_REACTS','X') | ||||
|      | ||||
|     CONVERT @VM TO ',' IN Reactors | ||||
|     CONVERT @VM TO ',' IN BlockedReactors | ||||
|      | ||||
|     IF WaferQty > 0 THEN | ||||
|         LineCnt += 1 | ||||
|         Results<LineCnt,1> = OCONV(XLATE( 'PROD_SPEC', PSNo, 'SPEC_TYPE', 'X' ),'[SPEC_TYPE_CONV]')				;* Spec Type | ||||
|         Results<LineCnt,2> = OCONV(WONo,'MD0')																	;* WO | ||||
|         Results<LineCnt,3> = CompanyName																		;* Company Name | ||||
|         Results<LineCnt,4> = OCONV(WaferQty,'MDO')																;* Wafer Qty | ||||
|         Results<LineCnt,5> = OCONV(PSNo,'MD0')																	;* Prod Spec ID | ||||
|         Results<LineCnt,6> = CustPNs																			;* Customer Part Numbers | ||||
|         Results<LineCnt,7> = PSReactType																		;* Reactor type for Prod Spec | ||||
|         Results<LineCnt,8> = SchedReactors | ||||
|         Results<LineCnt,9> = WaferSize																			;* Wafer Size | ||||
|         Results<LineCnt,10> = XLATE( 'PROD_SPEC', PSNo, 'TUBE_PRESSURE_TYPE', 'X' )								;* Tube Pressure Type | ||||
|         Results<LineCnt,11> = EPIGases | ||||
|         Results<LineCnt,12> = XLATE( 'PROD_SPEC', PSNo, 'DOPANT_L1', 'X' )										;* Dopant L1 | ||||
|         Results<LineCnt,13> = XLATE( 'RECIPE', RecipeId, RECIPE_CAP_BURST_GASES$, 'X' )							;* Cap Burst Gases | ||||
|         Results<LineCnt,14> = ShipThickTarget | ||||
|         Results<LineCnt,15> = ShipResTarget | ||||
|         Results<LineCnt,16> = OCONV(ExpectedRxDts<1,1>,'D4/') | ||||
|         Results<LineCnt,17> = OCONV(XLATE('WO_MAT',WONo:'*1',WO_MAT_RX_DTM$,'X')[1,'.'],'D4/') | ||||
|         Results<LineCnt,18> = OCONV(WORec<WO_LOG_PROMISE_SHIP_DT$>,'D4/') | ||||
|         Results<LineCnt,19> = Reactors | ||||
|         Results<LineCnt,20> = BlockedReactors | ||||
|         Results<LineCnt,21> = MUWafers | ||||
|         TempLine = Results<LineCnt> | ||||
|         CONVERT '"' TO '' IN TempLine | ||||
|         Results<LineCnt> = TempLine | ||||
|     END | ||||
| REPEAT | ||||
|  | ||||
| PasteBlob = Results | ||||
|  | ||||
| * * * * * *  | ||||
|  | ||||
| SWAP @VM WITH CHAR(9) IN PasteBlob | ||||
| SWAP @FM WITH CRLF$ IN PasteBlob | ||||
| CALL Set_Property('CLIPBOARD', 'TEXT', PasteBlob) | ||||
|  | ||||
|  | ||||
| ExportColCnt = 20 | ||||
|  | ||||
|  | ||||
| * * *  Paste it into a blank Excel Sheet | ||||
|  | ||||
| xlApp		= OleCreateInstance("excel.Application") | ||||
|  | ||||
| IF OleStatus() THEN | ||||
|  | ||||
| 	Msg(@window, MsgUp) | ||||
| 	 | ||||
| 	ErrorMsg  = 'Excel failed to start.':CRLF$:CRLF$ | ||||
| 	ErrorMsg := 'The data from this export is on your clipboard and can be pasted into Excel on your local machine using <Ctrl><V> .' | ||||
| 						 | ||||
| 	ErrMsg(ErrorMsg) | ||||
| 	 | ||||
| 	RETURN | ||||
| 	 | ||||
| END | ||||
|  | ||||
| xlWorkBooks = OleGetProperty(xlApp, "Workbooks") | ||||
| xlWorkBook	= OleCallMethod(xlWorkBooks,'Add') | ||||
|  | ||||
| * * *  wait a second | ||||
|  | ||||
| Now = Time() | ||||
| LOOP | ||||
|    CALL Yield() | ||||
| WHILE Time() EQ Now | ||||
| REPEAT | ||||
|  | ||||
| OlePutProperty(XlApp, 'Visible', xlSheetVisible) | ||||
|  | ||||
| void			= OleCallMethod(xlWorkBook,'Activate') | ||||
| xlActiveSheet	= OleGetProperty(xlWorkBook,'ActiveSheet') | ||||
| void			= OleCallMethod(xlActiveSheet,'Paste') | ||||
|  | ||||
| eXcelCols = obj_Export('ExcelCol',TextColNos)	;* Returns alpha Excel columns from numeric columns | ||||
|  | ||||
| FirstLastCols = obj_Export('ExcelCol',1:@VM:ExportColCnt) | ||||
|  | ||||
| FirstColumn	= FirstLastCols[1,@VM] | ||||
| LastColumn	= FirstLastCols[COL2()+1,@VM] | ||||
|  | ||||
| range	= OleGetProperty(xlActiveSheet,'Range',FirstColumn:'1:':LastColumn:'1') | ||||
| font	= OleGetProperty(range,'Font') | ||||
|  | ||||
| OlePutProperty(font,'FontStyle','Bold') | ||||
| OlePutProperty(font,'UnderLine',xlUnderlineStyleSingle) | ||||
| 	 | ||||
| column	= OleGetProperty(xlActiveSheet,'Columns',FirstColumn:':':LastColumn)	 | ||||
| void 	= OleCallMethod(column,'AutoFit') | ||||
|  | ||||
| Msg(@window, MsgUp) | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -1,263 +0,0 @@ | ||||
| COMPILE SUBROUTINE Export_WO_Log_Orig( Dummy ) | ||||
|  | ||||
| DECLARE FUNCTION Msg, Dialog_Box, Utility, obj_Export, obj_WO_Log | ||||
| DECLARE FUNCTION Set_Printer, Get_Printer, obj_Install, Utility, obj_MUWafers | ||||
|  | ||||
| DECLARE SUBROUTINE Btree.Extract, RList, END_Dialog, Make.List, Msg, ErrMsg, SetInitDirOptions | ||||
|  | ||||
| $INSERT LSL_USERS_EQU | ||||
| $INSERT MSG_EQUATES | ||||
| $INSERT RLIST_EQUATES | ||||
| $INSERT OIPRINT_EQUATES | ||||
| $INSERT WO_LOG_EQU | ||||
| $INSERT WO_STEP_EQU | ||||
| $INSERT WO_MAT_EQUATES | ||||
| $INSERT COMPANY_EQU | ||||
| $INSERT QUOTE_EQU | ||||
| $INSERT QUOTE_SPEC_EQU | ||||
| $INSERT RECIPE_EQU | ||||
| $INSERT ORDER_DET_EQU | ||||
| $INSERT PROD_SPEC_EQUATES | ||||
| $INSERT EXCEL_EQU | ||||
|  | ||||
| CRLF$ = \0D0A\ | ||||
|  | ||||
| OPEN 'WO_STEP' TO WOStepTable ELSE | ||||
| 	ErrMsg('Unable to open "WO_STEP" table in EXPORT_WO_LOG routine.') | ||||
| 	RETURN | ||||
| END | ||||
|  | ||||
| OPEN 'DICT.WO_STEP' TO DictWOStep ELSE | ||||
| 	ErrMsg('Unable to open "DICT.WO_STEP" table in EXPORT_WO_LOG routine.') | ||||
| 	RETURN | ||||
| END | ||||
|  | ||||
| Def = "" | ||||
| Def<MTEXT$> = "Selecting Uncheduled Work Orders..." | ||||
| Def<MTYPE$> = "U" | ||||
|  | ||||
| MsgUp = Msg(@window, Def) | ||||
|  | ||||
| SelectSent = 'SELECT WO_STEP WITH SCHEDULED NE "Yes" ' | ||||
| RList(SelectSent,TARGET_ACTIVELIST$,'','','') | ||||
|  | ||||
| *SelectSent = 'SELECT WO_STEP WITH CURR_STATUS NE "CL" "COMP" ' | ||||
| *SelectSent = 'SELECT WO_STEP WITH CURR_STATUS = "NEW" "RTP" "RTS" "RX" "INPR" ' | ||||
| *RList(SelectSent,TARGET_ACTIVELIST$,'','','') | ||||
|  | ||||
| WOStepKeys = '' | ||||
| Done = 0 | ||||
| LOOP | ||||
| 	READNEXT WOStepKey ELSE Done = 1 | ||||
| UNTIL Done | ||||
| 	WOStepKeys<-1> = WOStepKey | ||||
| REPEAT | ||||
|  | ||||
| CONVERT @VM TO @FM IN WOStepKeys | ||||
|  | ||||
| IF WOStepKeys = '' THEN | ||||
| 	Msg(@window, MsgUp) | ||||
| 	ErrMsg('No Work Orders remain unscheduled.') | ||||
| 	RETURN | ||||
| END | ||||
|  | ||||
|  | ||||
| Make.List('',WOStepKeys,WOStepTable,DictWOStep) | ||||
|  | ||||
| IF Get_Status(errCode) THEN | ||||
| 	ErrMsg(errCode) | ||||
| END | ||||
|  | ||||
| Results = '' | ||||
| Results<1,1> = 'Spec Type' | ||||
| Results<1,2> = 'WO' | ||||
| Results<1,3> = 'Customer' | ||||
| Results<1,4> = 'Qty' | ||||
| Results<1,5> = 'PSN' | ||||
| Results<1,6> = 'Cust Part Numbers' | ||||
| Results<1,7> = 'Reactor Type' | ||||
| Results<1,8> = 'Sched Reacts' | ||||
| Results<1,9> = 'Inch' | ||||
| Results<1,10> = 'Tube Press Type' | ||||
| Results<1,11> = 'Epi Gases' | ||||
| Results<1,12> = 'Dopant L1' | ||||
| Results<1,13> = 'Cap/Burst Gases' | ||||
| Results<1,14> = 'Thick Target' | ||||
| Results<1,15> = 'Res Target' | ||||
| Results<1,16> = 'Expected Rx Dt' | ||||
| Results<1,17> = 'Received Date' | ||||
| Results<1,18> = 'Promised Ship' | ||||
| Results<1,19> = 'Qual' | ||||
| Results<1,20> = 'Blkd' | ||||
| Results<1,21> = 'MU Wfrs' | ||||
|  | ||||
| Done = 0 | ||||
| LineCnt = 1 | ||||
| LOOP | ||||
| 	READNEXT WOStepKey ELSE Done = 1 | ||||
| UNTIL Done | ||||
|  | ||||
| 	READ WOStepRec FROM WOStepTable,WOStepKey THEN | ||||
| 	 | ||||
| 		IF WOStepRec<WO_STEP_SCHEDULED$> NE '1' THEN | ||||
| 			 | ||||
| 			WONo = WOStepKey[1,'*'] | ||||
| 			 | ||||
| 			WORec = XLATE('WO_LOG',WONo,'','X') | ||||
| 			WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$> | ||||
| 			 | ||||
| 			CassCustPNs = XLATE('WO_MAT',WOMatKeys,WO_MAT_CUST_PART_NO$,'X') | ||||
| 			CustPNs = '' | ||||
| 			FOR I = 1 TO COUNT(CassCustPNs,@VM) + (CassCustPNs NE '') | ||||
| 				LOCATE CassCustPNs<1,I> IN CustPNs USING @VM SETTING POS ELSE | ||||
| 					CustPNs = INSERT(CustPNs,1,Pos,0,CassCustPNs<1,I>) | ||||
| 				END | ||||
| 			NEXT I | ||||
| 			 | ||||
| 			CompanyName = XLATE( 'COMPANY', WORec<WO_LOG_CUST_NO$>,COMPANY_CO_NAME$,'X') | ||||
| 			SWAP ',' WITH '-' IN CompanyName | ||||
| 			 | ||||
| 			WaferQty = SUM(XLATE('WO_MAT',WOMatKeys,WO_MAT_WAFER_QTY$,'X')) | ||||
| 			IF WaferQty > 0 THEN | ||||
| 				ExpectedRxDts = '' | ||||
| 			END ELSE | ||||
| 				OrderNo = WORec<WO_LOG_ORDER_NO$> | ||||
| 				OrderItems = WORec<WO_LOG_ORDER_ITEM$> | ||||
| 				OrderDetKeys = '' | ||||
| 				FOR N = 1 TO COUNT(OrderItems,@VM) + (OrderItems NE '') | ||||
| 					OrderDetKeys<1,N> = OrderNo:'*':OrderItems<1,N> | ||||
| 				NEXT N | ||||
| 				WaferQty = SUM(XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_ITEM_QTY$,'X')) | ||||
| 				ExpectedRxDts = XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_EXP_RX_DT$,'X') | ||||
| 			END | ||||
| 			 | ||||
| 			MUWafers		= obj_MUWafers('AvailWafers',WONo:@RM:WORec:@RM:0:@RM:1) | ||||
| 			ShipThickTarget	= XLATE('WO_LOG',WONo,'SHIP_THICK_TARGET','X') | ||||
| 			ShipResTarget	= XLATE('WO_LOG',WONo,'SHIP_RES_TARGET','X') | ||||
| 				 | ||||
| 			CustPSNs = XLATE('WO_STEP',@RECORD<34>,1,'X') | ||||
| 			 | ||||
| 			SWAP @VM WITH '\' IN CustPNs | ||||
| 			 | ||||
| 			PSNo = WOStepRec<WO_STEP_PROD_SPEC_ID$> | ||||
| 			 | ||||
| 			PSReactType = OCONV(XLATE('PROD_SPEC',PSNo,PROD_SPEC_REACTOR_TYPE$,'X'),'[REACT_TYPE_CONV]') | ||||
| 		 | ||||
| 			WaferSize = xlate( 'PROD_SPEC', PSNo, 'SUB_WAFER_SIZE', 'X' ) | ||||
| 			SWAP 75		WITH '' IN WaferSize | ||||
| 			SWAP 100	WITH '' IN WaferSize | ||||
| 			SWAP 125	WITH '' IN WaferSize | ||||
| 			SWAP 150	WITH '' IN WaferSize | ||||
| 			SWAP 200	WITH '' IN WaferSize | ||||
| 			SWAP 'mm'	WITH '' IN WaferSize | ||||
| 			WaferSize = trim( WaferSize ) | ||||
| 			 | ||||
| 			RecipeId = XLATE( 'PROD_SPEC', PSNo, 'RECIPE_NO_L1', 'X' ) | ||||
| 			EPIGases = XLATE( 'RECIPE', RecipeId, RECIPE_EPI_GASES$, 'X' ) | ||||
|  | ||||
| 			Reactors		= WOStepRec<WO_STEP_REACTORS$> | ||||
| 			BlockedReactors	= WOStepRec<WO_STEP_BLOCKED_REACTORS$> | ||||
| 			SchedReactors	= XLATE('WO_LOG',WONo,'SCHED_REACTS','X') | ||||
| 			 | ||||
| 			CONVERT @VM TO ',' IN Reactors | ||||
| 			CONVERT @VM TO ',' IN BlockedReactors | ||||
| 			 | ||||
| 			IF WaferQty > 0 THEN | ||||
| 				LineCnt += 1 | ||||
| 				Results<LineCnt,1> = OCONV(XLATE( 'PROD_SPEC', PSNo, 'SPEC_TYPE', 'X' ),'[SPEC_TYPE_CONV]')				;* Spec Type | ||||
| 				Results<LineCnt,2> = OCONV(WONo,'MD0')																	;* WO | ||||
| 				Results<LineCnt,3> = CompanyName																		;* Company Name | ||||
| 				Results<LineCnt,4> = OCONV(WaferQty,'MDO')																;* Wafer Qty | ||||
| 				Results<LineCnt,5> = OCONV(PSNo,'MD0')																	;* Prod Spec ID | ||||
| 				Results<LineCnt,6> = CustPNs																			;* Customer Part Numbers | ||||
| 				Results<LineCnt,7> = PSReactType																		;* Reactor type for Prod Spec | ||||
| 				Results<LineCnt,8> = SchedReactors | ||||
| 				Results<LineCnt,9> = WaferSize																			;* Wafer Size | ||||
| 				Results<LineCnt,10> = XLATE( 'PROD_SPEC', PSNo, 'TUBE_PRESSURE_TYPE', 'X' )								;* Tube Pressure Type | ||||
| 				Results<LineCnt,11> = EPIGases | ||||
| 				Results<LineCnt,12> = XLATE( 'PROD_SPEC', PSNo, 'DOPANT_L1', 'X' )										;* Dopant L1 | ||||
| 				Results<LineCnt,13> = XLATE( 'RECIPE', RecipeId, RECIPE_CAP_BURST_GASES$, 'X' )							;* Cap Burst Gases | ||||
| 				Results<LineCnt,14> = ShipThickTarget | ||||
| 				Results<LineCnt,15> = ShipResTarget | ||||
| 				Results<LineCnt,16> = OCONV(ExpectedRxDts<1,1>,'D4/') | ||||
| 				Results<LineCnt,17> = OCONV(XLATE('WO_MAT',WONo:'*1',WO_MAT_RX_DTM$,'X')[1,'.'],'D4/') | ||||
| 				Results<LineCnt,18> = OCONV(WORec<WO_LOG_PROMISE_SHIP_DT$>,'D4/') | ||||
| 				Results<LineCnt,19> = Reactors | ||||
| 				Results<LineCnt,20> = BlockedReactors | ||||
| 				Results<LineCnt,21> = MUWafers | ||||
| 				TempLine = Results<LineCnt> | ||||
| 				CONVERT '"' TO '' IN TempLine | ||||
| 				Results<LineCnt> = TempLine | ||||
| 			END | ||||
| 		END | ||||
| 	END | ||||
| REPEAT | ||||
|  | ||||
| PasteBlob = Results | ||||
|  | ||||
| * * * * * *  | ||||
|  | ||||
| SWAP @VM WITH CHAR(9) IN PasteBlob | ||||
| SWAP @FM WITH CRLF$ IN PasteBlob | ||||
| CALL Set_Property('CLIPBOARD', 'TEXT', PasteBlob) | ||||
|  | ||||
|  | ||||
| ExportColCnt = 20 | ||||
|  | ||||
|  | ||||
| * * *  Paste it into a blank Excel Sheet | ||||
|  | ||||
| xlApp		= OleCreateInstance("excel.Application") | ||||
|  | ||||
| IF OleStatus() THEN | ||||
|  | ||||
| 	Msg(@window, MsgUp) | ||||
| 	 | ||||
| 	ErrorMsg  = 'Excel failed to start.':CRLF$:CRLF$ | ||||
| 	ErrorMsg := 'The data from this export is on your clipboard and can be pasted into Excel on your local machine using <Ctrl><V> .' | ||||
| 						 | ||||
| 	ErrMsg(ErrorMsg) | ||||
| 	 | ||||
| 	RETURN | ||||
| 	 | ||||
| END | ||||
|  | ||||
| xlWorkBooks = OleGetProperty(xlApp, "Workbooks") | ||||
| xlWorkBook	= OleCallMethod(xlWorkBooks,'Add') | ||||
|  | ||||
| * * *  wait a second | ||||
|  | ||||
| Now = Time() | ||||
| LOOP | ||||
|    CALL Yield() | ||||
| WHILE Time() EQ Now | ||||
| REPEAT | ||||
|  | ||||
| OlePutProperty(XlApp, 'Visible', xlSheetVisible) | ||||
|  | ||||
| void			= OleCallMethod(xlWorkBook,'Activate') | ||||
| xlActiveSheet	= OleGetProperty(xlWorkBook,'ActiveSheet') | ||||
| void			= OleCallMethod(xlActiveSheet,'Paste') | ||||
|  | ||||
| eXcelCols = obj_Export('ExcelCol',TextColNos)	;* Returns alpha Excel columns from numeric columns | ||||
|  | ||||
| FirstLastCols = obj_Export('ExcelCol',1:@VM:ExportColCnt) | ||||
|  | ||||
| FirstColumn	= FirstLastCols[1,@VM] | ||||
| LastColumn	= FirstLastCols[COL2()+1,@VM] | ||||
|  | ||||
| range	= OleGetProperty(xlActiveSheet,'Range',FirstColumn:'1:':LastColumn:'1') | ||||
| font	= OleGetProperty(range,'Font') | ||||
|  | ||||
| OlePutProperty(font,'FontStyle','Bold') | ||||
| OlePutProperty(font,'UnderLine',xlUnderlineStyleSingle) | ||||
| 	 | ||||
| column	= OleGetProperty(xlActiveSheet,'Columns',FirstColumn:':':LastColumn)	 | ||||
| void 	= OleCallMethod(column,'AutoFit') | ||||
|  | ||||
| Msg(@window, MsgUp) | ||||
|  | ||||
| RETURN | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -593,15 +593,9 @@ Service RemoveRunID(RunID) | ||||
|             LogData<2> = @USER4 | ||||
|             LogData<3> = EtchID | ||||
|             Machine    = Environment_Services('GetServer') | ||||
|             If Machine NE 'MESSA01EC' then | ||||
|                 EmailAddr  = 'dstieber@srpcs.com,Dan.Crisp@infineon.com,4805890050@vtext.com,6613649828@txt.att.net' | ||||
|                 EmailMsg   = 'Error removing Run ID: ':RunID:' from APP_INFO*PRERUN_GAN_RUN_IDS' | ||||
|                 Logging_Services('AppendLog', ObjLog, LogData, @RM, @FM, False$, EmailAddr, EmailMsg) | ||||
|             end else | ||||
|             Logging_Services('AppendLog', ObjLog, LogData, @RM, @FM, False$)        | ||||
|         end | ||||
|     end | ||||
|     end | ||||
|  | ||||
| end service | ||||
|  | ||||
| @ -1763,15 +1757,8 @@ Service RemoveCassFromWIP(WOMatKey) | ||||
|                 end else | ||||
|                     LogData<6> = 'Error removing Cass ID ':WOMatKey:' from queue ':CassQueue:'. Number of attempts: ':NumAttempts:'.' | ||||
|                 end            | ||||
|                 Machine    = Environment_Services('GetServer') | ||||
|                 If Machine NE 'MESSA01EC' then | ||||
|                     EmailAddr  = 'dstieber@srpcs.com,6613649828@txt.att.net' | ||||
|                     EmailMsg   = 'Error removing Cass ID ':WOMatKey:' from queue ':CassQueue:'.' | ||||
|                     Logging_Services('AppendLog', objWIPLog, LogData, @RM, @FM, False$, EmailAddr, EmailMsg) | ||||
|                 end else | ||||
|                 Logging_Services('AppendLog', objWIPLog, LogData, @RM, @FM, False$)        | ||||
|             end | ||||
|             end | ||||
|         end else | ||||
|             // Cass not in queue that was passed in. Log this information. | ||||
|             LogData    = '' | ||||
| @ -1781,15 +1768,8 @@ Service RemoveCassFromWIP(WOMatKey) | ||||
|             LogData<4> = CassQueue | ||||
|             LogData<5> = CassQueue | ||||
|             LogData<6> = 'Error in ':Service:' service. Cass not in QueueID ':CassQueue:'.' | ||||
|             Machine    = Environment_Services('GetServer') | ||||
|             If Machine NE 'MESSA01EC' then | ||||
|                 EmailAddr  = 'dstieber@srpcs.com,6613649828@txt.att.net' | ||||
|                 EmailMsg   = 'Error in ':Service:' service. Cass not in QueueID ':CassQueue:'.' | ||||
|                 Logging_Services('AppendLog', objWIPLog, LogData, @RM, @FM, False$, EmailAddr, EmailMsg) | ||||
|             end else | ||||
|             Logging_Services('AppendLog', objWIPLog, LogData, @RM, @FM, False$)            | ||||
|         end | ||||
|         end | ||||
|     end else | ||||
|         // WOMatKey is null | ||||
|         LogData    = '' | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -69,4 +69,3 @@ API healthinfo.GET | ||||
|     HTTP_Resource_Services('LoremIpsum') | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| @ -382,7 +382,7 @@ Service GetAllZebraPrinters() | ||||
|     ZebraPrinterList<6>  = 'MESZBRPRT007' : @VM : '10.95.1.13' : @VM : 9100 | ||||
|     ZebraPrinterList<7>  = 'MESZBRPRT008' : @VM : '10.95.164.24' : @VM : 9100 | ||||
|     ZebraPrinterList<8>  = 'MESZBRPRT0011' : @VM : '10.95.15.33' : @VM : 6101 | ||||
|     ZebraPrinterList<9>  = 'FI_ZEBRA_PRINTER' : @VM : '10.95.164.55' : @VM : 9100 | ||||
|     ZebraPrinterList<9>  = 'FI_ZEBRA_PRINTER' : @VM : '10.95.164.68' : @VM : 9100 | ||||
|     If Server EQ 'MESTSA01EC'  OR Server EQ 'MESSA01EC' or Server EQ 'MESTSA09EC' | | ||||
|     or Server EQ 'MESTSA010EC' or Server EQ 'MESTSA011EC' or Server EQ 'MESTSA012EC' then | ||||
|         ZebraPrinterList<10> = 'JONATHAN_HOME_TEST' : @VM : '192.168.0.123' : @VM : 9100 | ||||
|  | ||||
| @ -161,7 +161,3 @@ API Lock.HEAD | ||||
| 		end | ||||
| 	 | ||||
| end api | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										460
									
								
								LSL2/STPROC/LOTOPERATION_API.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										460
									
								
								LSL2/STPROC/LOTOPERATION_API.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,460 @@ | ||||
| Function Lotoperation_API(@API) | ||||
| /*********************************************************************************************************************** | ||||
|  | ||||
| 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 SRP Computer Solutions, Inc. | ||||
|  | ||||
| Name        :   Lotoperation_API | ||||
|  | ||||
| Description :   API logic for the Lotoperation resource. | ||||
|  | ||||
| Notes       :   All web APIs should include the API_SETUP insert. This will provide several useful variables: | ||||
|  | ||||
|                     HTTPMethod              - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.) | ||||
|                     APIURL                  - The URL for the API entry point (e.g., api.mysite.com/v1). | ||||
|                     FullEndpointURL         - The URL submitted by the client, including query params. | ||||
|                     FullEndpointURLNoQuery  - The URL submitted by the client, excluding query params. | ||||
|                     EndpointSegment         - The URL endpoint segment. | ||||
|                     ParentURL               - The URL path preceeding the current endpoint. | ||||
|                     CurrentAPI              - The name of this stored procedure. | ||||
|  | ||||
| Parameters  : | ||||
|     API             [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]: | ||||
|                                 - APIPattern must follow this structure Lotoperation[.ID.[<Property>]] | ||||
|                                 - HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc. | ||||
|                             Examples: | ||||
|                                 - Lotoperation.POST | ||||
|                                 - Lotoperation.ID.PUT | ||||
|                                 - Lotoperation.ID.firstName.GET | ||||
|     Response       [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API | ||||
|                             services do not rely upon anything being returned in the response. This is what the | ||||
|                             various services like SetResponseBody and SetResponseStatus services are for. A response | ||||
|                             value is only helpful if the developers want to use it for debug purposes. | ||||
|  | ||||
| History     :   (Date, Initials, Notes) | ||||
|     05/20/25    xxx     Original programmer. | ||||
|  | ||||
| ***********************************************************************************************************************/ | ||||
|  | ||||
| #pragma precomp SRP_PreCompiler | ||||
|  | ||||
| Declare function OI_Wizard_Services, Lot_Operation_Services, Database_Services, Lot_Services, Clean_Services | ||||
| Declare function Met_Test_Services | ||||
| Declare subroutine  Lot_Services, Met_Test_Services, Wafer_Counter_Services | ||||
|  | ||||
| $insert APP_INSERTS | ||||
| $insert API_SETUP | ||||
| $insert HTTP_INSERTS | ||||
| $insert OI_WIZARD_EQUATES | ||||
| $insert LOT_OPERATION_EQUATES | ||||
|  | ||||
| GoToAPI else | ||||
| // The specific resource endpoint doesn't have a API handler yet. | ||||
| HTTP_Services('SetResponseStatus', 204, 'This is a valid endpoint but a web API handler has not yet been created.') | ||||
| end | ||||
|  | ||||
| Return Response OR '' | ||||
|  | ||||
|  | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| // Endpoint Handlers | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
|  | ||||
| API lotoperation.HEAD | ||||
| API lotoperation.GET | ||||
|  | ||||
| HTTP_Resource_Services('LoremIpsum') | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API lotoperation.addoperation.POST | ||||
|  | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             LotId      = SRP_JSON(objBody, 'GetValue', 'NewLotOperationData.LotId') | ||||
|             OperationId   = SRP_JSON(objBody, 'GetValue', 'NewLotOperationData.OperationId') | ||||
|             Sequence = SRP_JSON(objBody, 'GetValue', 'NewLotOperationData.Sequence') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|         end | ||||
|         If RowExists('LOT', LotId) then | ||||
|             If RowExists('OPERATION', OperationId) then | ||||
|                 If Sequence NE '' then | ||||
|                     NewOperationId = Lot_Operation_Services('AddOperationToLot', LotId, OperationId, Sequence, UserId) | ||||
|                     If Error_Services('NoError') then | ||||
|                         LotJsonString = Lot_Services('ConvertLotRecordToJson', LotId, '', UserId) | ||||
|                         HTTP_Services('SetResponseBody', LotJsonString, False$, 'application/hal+json') | ||||
|                         ResponseCode = 200 | ||||
|                     end else | ||||
|                         ErrorMessage = Error_Services('GetMessage') | ||||
|                         ResponseCode = 500 | ||||
|                     end | ||||
|                 end else | ||||
|                     ErrorMessage = 'Invalid Sequence.' | ||||
|                     ResponseCode = 500 | ||||
|                 end | ||||
|             end else | ||||
|                 ErrorMessage = 'Invalid Operation.' | ||||
|                 ResponseCode = 500 | ||||
|             end | ||||
|         end else | ||||
|             ErrorMessage = 'Invalid Lot.' | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|      | ||||
| end api | ||||
|  | ||||
| API lotoperation.removeoperation.POST | ||||
|      | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             LotOperationId   = SRP_JSON(objBody, 'GetValue', 'LotOperationIdToRemove') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|         end | ||||
|  | ||||
|             If RowExists('LOT_OPERATION', LotOperationId) then | ||||
|                 LotId = Database_Services('ReadDataColumn', 'LOT_OPERATION', LotOperationId, LOT_OPERATION_LOT_ID$, True$, 0, False$) | ||||
|                 Removed = Lot_Operation_Services('RemoveLotOperation', LotOperationId, UserId) | ||||
|                 If Error_Services('NoError') then | ||||
|                     LotJsonString = Lot_Services('ConvertLotRecordToJson', LotId, '', UserId) | ||||
|                     HTTP_Services('SetResponseBody', LotJsonString, False$, 'application/hal+json') | ||||
|                     ResponseCode = 200 | ||||
|                 end else | ||||
|                     ErrorMessage = Error_Services('GetMessage') | ||||
|                     ResponseCode = 500 | ||||
|                 end | ||||
|             end else | ||||
|                 ErrorMessage = 'Invalid Operation.' | ||||
|                 ResponseCode = 500 | ||||
|             end | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
| API lotoperation.startlotoperation.POST | ||||
|      | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             LotOperationId      = SRP_JSON(objBody, 'GetValue', 'lotOperationId') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|         end | ||||
|          | ||||
|         LotProcessStarted = Lot_Operation_Services('StartLotOperation', LotOperationId, UserId) | ||||
|         If Error_Services('NoError') then | ||||
|             LotOperationJson = Lot_Operation_Services('ConvertRecordToJson', LotOperationId)     | ||||
|             HTTP_Services('SetResponseBody', LotOperationJson,False$, 'application/hal+json') | ||||
|             ResponseCode = 200  | ||||
|         end else | ||||
|             ErrorMessage = 'Error while moving lot in. ' : Error_Services('GetMessage') | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|      | ||||
| end api | ||||
|  | ||||
|  | ||||
| API lotoperation.completelotoperation.POST | ||||
|  | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             LotOperationId      = SRP_JSON(objBody, 'GetValue', 'lotOperationId') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|         end | ||||
|          | ||||
|         LotProcessCompleted = Lot_Operation_Services('CompleteLotOperation', LotOperationId, UserId) | ||||
|         If Error_Services('NoError') then | ||||
|             LotOperationJson = Lot_Operation_Services('ConvertRecordToJson', LotOperationId)     | ||||
|             HTTP_Services('SetResponseBody', LotOperationJson) | ||||
|             ResponseCode = 200  | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|      | ||||
| end api | ||||
|  | ||||
|  | ||||
| API lotoperation.ID.HEAD | ||||
| API lotoperation.ID.GET | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         LotOperationId = EndpointSegment | ||||
|         If RowExists('LOT_OPERATION', LotOperationId) then | ||||
|             LotOperationJson = Lot_Operation_Services('ConvertRecordToJson', LotOperationId) | ||||
|             HTTP_Services('SetResponseBody', LotOperationJson, False$, 'application/hal+json') | ||||
|             ResponseCode = 200 | ||||
|         end else | ||||
|             ErrorMessage = 'Lot Operation not found in database.' | ||||
|         end | ||||
|          | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|      | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API lotoperation.associatemettest.POST | ||||
|      | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             LotOperationId      = SRP_JSON(objBody, 'GetValue', 'LotOperationId') | ||||
|             MetTestId   = SRP_JSON(objBody, 'GetValue', 'MetTestId') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|         end | ||||
|  | ||||
|         Met_Test_Services('AttachMetTestToLotOperation', MetTestId, LotOperationId, UserId) | ||||
|         If Error_Services('NoError') then | ||||
|             ResponseCode = 200 | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|  | ||||
|          | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API lotoperation.removemettest.POST | ||||
|  | ||||
|         ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             LotOperationId      = SRP_JSON(objBody, 'GetValue', 'LotOperationId') | ||||
|             MetTestId   = SRP_JSON(objBody, 'GetValue', 'MetTestId') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|         end | ||||
|  | ||||
|         Met_Test_Services('RemoveMetTestFromLotOperation', MetTestId, LotOperationId, UserId) | ||||
|         If Error_Services('NoError') then | ||||
|             HTTP_Services('SetResponseBody', LotJsonString, False$, 'application/hal+json') | ||||
|             ResponseCode = 200 | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|  | ||||
|          | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API lotoperation.associatewafercounter.POST | ||||
|  | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPPostString', True$) | ||||
|         // The POST string will have been encoded so use percent (URL) decoding. | ||||
|         DecodedJSON = HTTP_Services('DecodePercentString', Body) | ||||
|         If SRP_JSON(objBody, 'Parse', Body) EQ '' then | ||||
|             LotOperationId      = SRP_JSON(objBody, 'GetValue', 'LotOperationId') | ||||
|             WaferCounterId   = SRP_JSON(objBody, 'GetValue', 'WaferCounterId') | ||||
|             SRP_JSON(objBody, 'Release') | ||||
|         end | ||||
|  | ||||
|         Wafer_Counter_Services('AssociateWaferCounter', LotOperationId, WaferCounterId, UserId) | ||||
|         If Error_Services('NoError') then | ||||
|             ResponseCode = 200 | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|  | ||||
|          | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
| @ -38,9 +38,12 @@ Function Lot_API(@API) | ||||
|  | ||||
| #pragma precomp SRP_PreCompiler | ||||
|  | ||||
| Declare function OI_Wizard_Services, Lot_Services, Database_Services, PSN_Services, Clean_Services | ||||
|  | ||||
| $insert APP_INSERTS | ||||
| $insert API_SETUP | ||||
| $insert HTTP_INSERTS | ||||
| $Insert OI_WIZARD_EQUATES | ||||
|  | ||||
| GoToAPI else | ||||
|     // The specific resource endpoint doesn't have a API handler yet. | ||||
| @ -55,3 +58,159 @@ Return Response OR '' | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
|  | ||||
|  | ||||
| API lot.ID.HEAD | ||||
| API lot.ID.GET | ||||
|  | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     UserId = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|      | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         LotId = EndpointSegment | ||||
|         If RowExists('LOT', LotId) then | ||||
|             LotJson = Lot_Services('ConvertLotRecordToJson', LotId, '', UserId) | ||||
|             HTTP_Services('SetResponseBody', LotJson, False$, 'application/hal+json') | ||||
|             ResponseCode = 200 | ||||
|         end else | ||||
|             ResponseCode = 500 | ||||
|             ErrorMessage = 'Lot not found in database.' | ||||
|         end | ||||
|          | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|      | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API lot.getlotbylegacylotid.HEAD | ||||
| API lot.getlotbylegacylotid.GET | ||||
|      | ||||
|     ErrorMessage = '' | ||||
|     ResponseCode = '' | ||||
|     ResponseMessage = '' | ||||
|     Body = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|     If ValidSession then | ||||
|         UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X') | ||||
|         StatusCode  = '' | ||||
|         Body        = HTTP_Services('GetHTTPGetString') | ||||
|          | ||||
|         LegacyLotId = Http_Services('GetQueryField', 'LegacyLotId') | ||||
|         LegacyLotType = Http_Services('GetQueryField', 'LegacyLotType') | ||||
|  | ||||
|         LotId = Lot_Services('GetLotIdByLegacyLotIdAndType', LegacyLotId, LegacyLotType)  | ||||
|         LotJson = Lot_Services('ConvertLotRecordToJson', LotId, '', UserId) | ||||
|         If Error_Services('NoError') then | ||||
|             HTTP_Services('SetResponseBody', LotJson, False$, 'application/hal+json') | ||||
|             ResponseCode = 200 | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|             ResponseCode = 500 | ||||
|         end | ||||
|          | ||||
|     end else | ||||
|         ErrorMessage = 'Invalid session. Reauthentication required.' | ||||
|         ResponseCode = 401 | ||||
|     end | ||||
|     HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|     HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage) | ||||
|  | ||||
| end api | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
| API lot.ID.getrecipeoptions.HEAD | ||||
| API lot.ID.getrecipeoptions.GET | ||||
|  | ||||
|     JSONCollection = '' | ||||
|     OIWizardID = '' | ||||
|     Cookies    = HTTP_Services('GetHTTPCookie') | ||||
|     For each Cookie in Cookies using ';' | ||||
|         Key = Field(Cookie, '=', 1) | ||||
|         If Key EQ 'sessionID' then | ||||
|             OIWizardID = Field(Cookie, '=', 2) | ||||
|         end | ||||
|     Next Cookie | ||||
|      | ||||
|     ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) | ||||
|     If ValidSession then | ||||
|         LotId = EndpointSegment | ||||
|         PSN = Database_Services('ReadDataColumn', 'LOT', LotId, LOT_PROD_SPEC_ID$, True$, 0, False$) | ||||
|         RecipeParameters = PSN_Services('GetAllMetrologyRecipes', PSN, True$, True$, True$, True$) | ||||
|         If Error_Services('NoError') then | ||||
|             If Body NE '' then | ||||
|                 RequestJson      = HTTP_Services('DecodePercentString', Body) | ||||
|                 objJSONResponse = '' | ||||
|                 If SRP_Json(objJSONResponse, 'New', 'Object') then | ||||
|                     //Available Tools | ||||
|                     If SRP_Json(objCleanTools, 'New', 'Array') then | ||||
|                         CleanTools = Clean_Services('GetCleanToolOptions') | ||||
|                         for each CleanTool in CleanTools using @FM | ||||
|                             SRP_Json(objCleanTools, 'AddValue', CleanTool, 'String') | ||||
|                         Next CleanTool | ||||
|                         SRP_Json(objJsonResponse, 'Set', 'CleanToolOptions', objCleanTools) | ||||
|                         SRP_Json(objCleanTools, 'Release') | ||||
|                     end | ||||
|                     //Available Recipes | ||||
|                     If SRP_Json(objCleanRecipes, 'New', 'Array') then | ||||
|                         CleanRecipes = Clean_Services('GetCleanRecipeOptions') | ||||
|                         for each Recipe in CleanRecipes using @VM | ||||
|                             SRP_Json(objCleanRecipes, 'AddValue', Recipe, 'String') | ||||
|                         Next Recipe | ||||
|                         SRP_Json(objJsonResponse, 'Set', 'CleanRecipeOptions', objCleanRecipes) | ||||
|                         SRP_Json(objCleanRecipes, 'Release') | ||||
|                     end | ||||
|                     JsonResponse = SRP_Json(objJsonResponse, 'Stringify', 'Styled') | ||||
|                     SRP_Json(objJsonResponse, 'Release') | ||||
|                 end else | ||||
|                     Error_Services('Add', 'Error when creating JSON response.') | ||||
|                 end | ||||
|             end else | ||||
|                 Error_Services('Add', 'No body was sent with the request.') | ||||
|             end | ||||
|         end else | ||||
|             ErrorMessage = Error_Services('GetMessage') | ||||
|         end | ||||
|          | ||||
|         If Error_Services('NoError') then | ||||
|             HTTP_Services('SetResponseStatus', 201, 'Success') | ||||
|             HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL) | ||||
|             HTTP_Services('SetResponseBody', JsonResponse, False$, 'application/hal+json') | ||||
|         end else | ||||
|             HTTP_Services('SetResponseStatus', 400, Error_Services('GetMessage')) | ||||
|         end | ||||
|     end else | ||||
|         HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.') | ||||
|     end | ||||
|  | ||||
| end api | ||||
|  | ||||
|  | ||||
|  | ||||
| @ -1,17 +1,65 @@ | ||||
| Compile function Lot_Event_Services(@Service, @Params) | ||||
| /*********************************************************************************************************************** | ||||
|  | ||||
|     Name        :   Lot_Event_Services | ||||
|  | ||||
|     Description :   Handler program for all LOT_EVENT services. | ||||
|  | ||||
|     Notes       :   Application errors should be logged using the Error Services module. There are a few methodological | ||||
|                     assumptions built into way errors are managed which are important to understand in order to properly | ||||
|                     work with Error Services: | ||||
|  | ||||
|                     - The term 'top' refers to the originating procedure of a call stack and the term 'bottom' refers to | ||||
|                       the last routine (or the current routine) within a call stack. Within the OpenInsight Debugger | ||||
|                       this will appear backwards since the originating procedure always appears at the bottom of the | ||||
|                       list and the current routine appears at the top of the list. We are using this orientation because | ||||
|                       it is common to refer to the process of calling other procedures as 'drilling down'. | ||||
|  | ||||
|                     - The reason for defining the orientation of the call stack is because Error_Services allows for | ||||
|                       multiple error conditions to be appended to an original error. In most cases this will happen when | ||||
|                       a procedure at the bottom of the stack generates an error condition and then returns to its | ||||
|                       calling procedure. This higher level procedure can optionally add more information relevant to | ||||
|                       itself. This continues as the call stack 'bubbles' its way back to the top to where the | ||||
|                       originating procedure is waiting. | ||||
|  | ||||
|                     - Native OpenInsight commands that handle errors (e.g., Set_Status, Set_FSError, Set_EventStatus) | ||||
|                       preserve their error state until explicitly cleared. This can hinder the normal execution of code | ||||
|                       since subsequent procedures (usually SSPs) will fail if a pre-existing error condition exists. | ||||
|                       Our philosophy is that error conditions should automatically be cleared before a new procedure | ||||
|                       is executed to avoid this problem. However, the nature of Basic+ does not make this easy to | ||||
|                       automate for any given stored procedure. Therefore, if a stored procedure wants to conform to our | ||||
|                       philosophy then it should include a call into the 'Clear' service request at the top of the | ||||
|                       program. Alternatively this can be done through a common insert (see SERVICE_SETUP for example.) | ||||
|  | ||||
|                     - Service modules will use the SERVICE_SETUP insert and therefore automatically clear out any | ||||
|                       error conditions that were set before. | ||||
|  | ||||
|     Parameters  : | ||||
|         Service         [in] -- Name of the service being requested | ||||
|         Param1-10   [in/out] -- Additional request parameter holders | ||||
|         Response       [out] -- Response to be sent back to the Controller (MCP) or requesting procedure | ||||
|  | ||||
|     Metadata    : | ||||
|  | ||||
|     History     :   (Date, Initials, Notes) | ||||
|         07/01/25    djs     Modified CreateLotEvent to use Transaction Queue instead of Proc Queue to avoid locking | ||||
| 							errors on LOT table. Updated error throwing. | ||||
|  | ||||
| ***********************************************************************************************************************/ | ||||
| #pragma precomp SRP_PreCompiler | ||||
|  | ||||
| Declare function Error_Services, Logging_Services, Environment_Services, Database_Services, RTI_CreateGUID, Lot_Services | ||||
| Declare function Lot_Event_Services | ||||
|  | ||||
| Declare subroutine Error_Services, Logging_Services, Database_Services, Lot_Services, Service_Services | ||||
|  | ||||
| $insert LOGICAL | ||||
| $Insert SERVICE_SETUP | ||||
| $insert APP_INSERTS | ||||
| $Insert LOT_EVENT_EQUATES | ||||
| $Insert LOT_EQUATES | ||||
| $Insert LOT_OPERATION_EQUATES | ||||
|  | ||||
| Options EVENT_TYPES = 'MOVE_IN', 'MOVE_OUT', 'HOLD_ON', 'HOLD_OFF', 'REDUCE_WAFER_QTY', 'BONUS_WAFER_QTY', 'COMMENT', 'LOCATION', 'LOAD', 'UNSIGN_LOAD', 'TW_USE', 'CLOSE' | ||||
| Declare function   Error_Services, Logging_Services, Environment_Services, Database_Services, RTI_CreateGUID | ||||
| Declare function   Lot_Event_Services, Lot_Services | ||||
| Declare subroutine Error_Services, Logging_Services, Database_Services, Lot_Services, Service_Services | ||||
| Declare subroutine Transaction_Services | ||||
|  | ||||
| Options EVENT_TYPES = 'MOVE_IN', 'MOVE_OUT', 'HOLD_ON', 'HOLD_OFF', 'REDUCE_WAFER_QTY', 'BONUS_WAFER_QTY', 'COMMENT', 'LOCATION', 'LOAD', 'UNSIGN_LOAD', 'TW_USE', 'CLOSE', 'SIGN_FQA', 'UNSIGN_FQA', 'ADD_LOT_OPERATION', 'REMOVE_LOT_OPERATION', 'MET_TEST', 'LOG_WAFER_COUNT', 'PACKAGING' | ||||
| Options LOT_TYPES = 'TW', 'RDS', 'WM_OUT', 'WM_IN', 'WO_MAT', 'LOT' | ||||
| Options LEGACY_LOT_TYPES = 'RDS', 'WM_OUT', 'WM_IN' | ||||
| Options BOOLEAN = 'True', 'False' | ||||
| @ -20,9 +68,9 @@ GoToService | ||||
|  | ||||
| Return Response or "" | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
| // SERVICES | ||||
| //----------------------------------------------------------------------------- | ||||
| //---------------------------------------------------------------------------------------------------------------------- | ||||
| // Services | ||||
| //---------------------------------------------------------------------------------------------------------------------- | ||||
|  | ||||
| Service CreateLotEvent(LotId, EventDateTime, EventType=EVENT_TYPES, EventNote, EventEquipmentId, OperatorId, IsLegacyLotId=BOOLEAN, LegacyLotType=LEGACY_LOT_TYPES) | ||||
| 	 | ||||
| @ -55,7 +103,8 @@ Service CreateLotEvent(LotId, EventDateTime, EventType=EVENT_TYPES, EventNote, E | ||||
| 				NewEventRec<LOT_EVENT_SEQUENCE$>               = NewEventSequence | ||||
| 				Database_Services('WriteDataRow', 'LOT_EVENT', NewEventId, NewEventRec) | ||||
| 				If Error_Services('NoError') then | ||||
|                     Service_Services('PostProcedure', 'LOT_EVENT_SERVICES', 'SetLatestLotEvent':@VM:LotId:@VM:NewEventId, True$) | ||||
| 					Transaction_Services('PostWriteFieldTransaction', 'LOT', LotId, LOT_MOST_RECENT_LOT_EVENT_ID$, NewEventId) | ||||
| 					If Error_Services('HasError') then ErrorMessage = Error_Services('GetMessage') | ||||
| 				end else | ||||
| 					ErrorMessage = 'Error creating new event : ' : Error_Services('GetMessage') | ||||
| 				end | ||||
| @ -89,6 +138,7 @@ Service CreateLotEvent(LotId, EventDateTime, EventType=EVENT_TYPES, EventNote, E | ||||
| 	 | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service GetLotEventNextSequence(LotId) | ||||
| 	 | ||||
| 	ErrorMessage = '' | ||||
| @ -111,10 +161,14 @@ Service GetLotEventNextSequence(LotId) | ||||
| 	end else | ||||
| 		Error_Services('Add', ErrorMessage) | ||||
| 	end | ||||
| 	 | ||||
| end service | ||||
|  | ||||
|  | ||||
| // Returns a @FM delimited list of events in sequence | ||||
| Service GetLotEventsInSequence(LotId) | ||||
| 	 | ||||
| 	ErrorMsg          = '' | ||||
| 	LotEventsUnsorted = '' | ||||
| 	LotEventsSorted   = '' | ||||
| 	LotEventsToReturn = '' | ||||
| @ -126,11 +180,18 @@ Service GetLotEventsInSequence(LotId) | ||||
| 			LotEventsToReturn<ThisEventSequence> = LotEvent | ||||
| 		Next LotOperation  | ||||
| 	end else | ||||
|         //error: lot id was null | ||||
| 		ErrorMsg = 'Error in ':Service:' service. Null LotID passed into service.' | ||||
| 	end | ||||
| 	 | ||||
| 	If ErrorMsg EQ '' then | ||||
| 		Response = LotEventsToReturn | ||||
| 	end else | ||||
| 		Error_Services('Add', ErrorMsg) | ||||
| 	end | ||||
| 	 | ||||
| end service | ||||
|  | ||||
|  | ||||
| Service SetLatestLotEvent(LotId, LotEventId) | ||||
| 	 | ||||
| 	ErrorMessage = '' | ||||
| @ -148,14 +209,14 @@ Service SetLatestLotEvent(LotId, LotEventId) | ||||
| 	end else | ||||
| 		ErrorMessage = 'Lot Id ' : LotId : ' not found in LOT table.' | ||||
| 	end | ||||
|     If ErrorMessage NE '' then | ||||
|         Error_Services('Add', ErrorMessage) | ||||
|     end | ||||
| 	If ErrorMessage NE '' then Error_Services('Add', ErrorMessage) | ||||
| 	 | ||||
| end service | ||||
|  | ||||
| /* * * * * * * * * * | ||||
| * INTERNAL GOSUBS | ||||
| * * * * * * * * *  */ | ||||
|  | ||||
| //---------------------------------------------------------------------------------------------------------------------- | ||||
| // Internal GoSubs | ||||
| //---------------------------------------------------------------------------------------------------------------------- | ||||
|  | ||||
| InitEventLog: | ||||
| 	 | ||||
| @ -170,3 +231,5 @@ InitEventLog: | ||||
| return | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	