Compare commits

..

1 Commits

Author SHA1 Message Date
18604a53c9 Stratus own Qual
Common ResourceID and IsViewerFile

Test data and vba
2025-05-21 10:01:21 -07:00
65 changed files with 17976 additions and 14478 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
LSL2/STPROC/TEST_DANIEL*.txt LSL2/STPROC/TEST_DANIEL*.txt
LSL2/STPROC/TEST_DAKOTA.txt LSL2/STPROC/TEST_DAKOTA.txt
LSL2/STPROC/JONATHAN_SERVICES.txt LSL2/STPROC/JONATHAN_SERVICES.txt
.vscode/**/*.png

234
.vscode/.txt vendored Normal file
View File

@ -0,0 +1,234 @@
// 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 Normal file
View File

@ -0,0 +1,280 @@
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

View File

@ -0,0 +1,50 @@
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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,87 @@
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

View File

@ -0,0 +1,49 @@
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

View File

@ -0,0 +1,176 @@
{
"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
}
]
}

View File

@ -0,0 +1,43 @@
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

View File

@ -0,0 +1,78 @@
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

View File

@ -0,0 +1,122 @@
{
"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"
}
]
}

View File

@ -0,0 +1,57 @@
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

View File

@ -0,0 +1,36 @@
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

View File

@ -0,0 +1,80 @@
{
"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"
}
]
}

View File

@ -0,0 +1,55 @@
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

View File

@ -0,0 +1,22 @@
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

View File

@ -0,0 +1,59 @@
{
"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"
}
]
}
]
}

View File

@ -0,0 +1,41 @@
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

View File

@ -0,0 +1,103 @@
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

View File

@ -0,0 +1,119 @@
{
"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"
}
]
}

View File

@ -0,0 +1,47 @@
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

3383
.vscode/METROLOGY_SERVICES.vba vendored Normal file

File diff suppressed because it is too large Load Diff

6
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"files.associations": {
"*.txt": "vba"
},
"cSpell.words": []
}

File diff suppressed because it is too large Load Diff

View File

@ -1,675 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "1010",
"<2>": "3",
"<3>": ""
},
"record2": {
"<1>": {
"<1,1>": "NDW_ACKNOWLEDGE_MESSAGE",
"<1,2>": "",
"<1,3>": "WINDOW",
"<1,4>": "",
"<1,5>": "137",
"<1,6>": "173",
"<1,7>": "-765",
"<1,8>": "-539",
"<1,9>": "Process Message",
"<1,10>": {
"<1,10,1>": "0x84C80000",
"<1,10,2>": "0x101"
},
"<1,11>": {
"<1,11,1>": "0x8000",
"<1,11,2>": "0x80000000"
},
"<1,12>": "",
"<1,13>": {
"<1,13,1>": "-2",
"<1,13,2>": "-2",
"<1,13,3>": "0"
},
"<1,14>": "",
"<1,15>": "",
"<1,16>": "",
"<1,17>": "",
"<1,18>": {
"<1,18,1>": {
"<1,18,1,1>": "X",
"<1,18,1,2>": "EXECUTE",
"<1,18,1,3>": "@WINDOW_EVENTS",
"<1,18,1,4>": {
"<1,18,1,4,1>": "@SELF",
"<1,18,1,4,2>": "@EVENT",
"<1,18,1,4,3>": "@PARAM1",
"<1,18,1,4,4>": "@PARAM2",
"<1,18,1,4,5>": "@PARAM3",
"<1,18,1,4,6>": "@PARAM4",
"<1,18,1,4,7>": "@PARAM5",
"<1,18,1,4,8>": "@PARAM6"
},
"<1,18,1,5>": "",
"<1,18,1,6>": "",
"<1,18,1,7>": "",
"<1,18,1,8>": "",
"<1,18,1,9>": "",
"<1,18,1,10>": "",
"<1,18,1,11>": "",
"<1,18,1,12>": "",
"<1,18,1,13>": "",
"<1,18,1,14>": "",
"<1,18,1,15>": "COMMEVT",
"<1,18,1,16>": "0"
}
},
"<1,19>": "CREATE",
"<1,20>": "",
"<1,21>": "",
"<1,22>": "",
"<1,23>": "",
"<1,24>": {
"<1,24,1>": "",
"<1,24,2>": "0",
"<1,24,3>": "0",
"<1,24,4>": "0",
"<1,24,5>": "",
"<1,24,6>": "0",
"<1,24,7>": "",
"<1,24,8>": "",
"<1,24,9>": "",
"<1,24,10>": "0",
"<1,24,11>": "0",
"<1,24,12>": "0",
"<1,24,13>": "0",
"<1,24,14>": "0",
"<1,24,15>": "0",
"<1,24,16>": "0",
"<1,24,17>": "0"
},
"<1,25>": "",
"<1,26>": "",
"<1,27>": "",
"<1,28>": "",
"<1,29>": "",
"<1,30>": "",
"<1,31>": "",
"<1,32>": "",
"<1,33>": "",
"<1,34>": "LSL2*IMAGE*ICO*INFINEON",
"<1,35>": "",
"<1,36>": "",
"<1,37>": {
"<1,37,1>": "0X10001",
"<1,37,2>": "0X10001"
},
"<1,38>": "",
"<1,39>": "",
"<1,40>": "",
"<1,41>": "",
"<1,42>": "",
"<1,43>": "",
"<1,44>": "",
"<1,45>": "",
"<1,46>": "",
"<1,47>": "",
"<1,48>": "",
"<1,49>": "",
"<1,50>": "",
"<1,51>": "",
"<1,52>": "",
"<1,53>": "",
"<1,54>": "",
"<1,55>": "",
"<1,56>": "",
"<1,57>": "",
"<1,58>": "",
"<1,59>": "",
"<1,60>": "",
"<1,61>": "",
"<1,62>": {
"<1,62,1>": "0",
"<1,62,2>": "",
"<1,62,3>": "",
"<1,62,4>": "2",
"<1,62,5>": "0",
"<1,62,6>": "0",
"<1,62,7>": "",
"<1,62,8>": "0.50",
"<1,62,9>": "5.00",
"<1,62,10>": "0.00"
},
"<1,63>": "",
"<1,64>": "",
"<1,65>": "",
"<1,66>": "",
"<1,67>": "",
"<1,68>": "",
"<1,69>": "",
"<1,70>": "",
"<1,71>": "",
"<1,72>": "",
"<1,73>": "",
"<1,74>": "",
"<1,75>": "",
"<1,76>": "",
"<1,77>": "",
"<1,78>": "",
"<1,79>": "",
"<1,80>": "",
"<1,81>": "",
"<1,82>": "",
"<1,83>": "",
"<1,84>": "",
"<1,85>": "",
"<1,86>": "",
"<1,87>": "",
"<1,88>": "",
"<1,89>": "",
"<1,90>": "",
"<1,91>": "",
"<1,92>": "",
"<1,93>": "",
"<1,94>": "",
"<1,95>": "",
"<1,96>": "",
"<1,97>": "",
"<1,98>": "",
"<1,99>": "",
"<1,100>": "",
"<1,101>": "",
"<1,102>": "",
"<1,103>": "",
"<1,104>": "",
"<1,105>": "",
"<1,106>": "0",
"<1,107>": "",
"<1,108>": ""
}
},
"record3": {
"<1>": {
"<1,1>": "EDB_DATA",
"<1,2>": "",
"<1,3>": "EDITBOX",
"<1,4>": "NDW_ACKNOWLEDGE_MESSAGE",
"<1,5>": "16",
"<1,6>": "12",
"<1,7>": "-17",
"<1,8>": "-48",
"<1,9>": "",
"<1,10>": {
"<1,10,1>": "0x56200840",
"<1,10,2>": "0x200"
},
"<1,11>": {
"<1,11,1>": "0xC400",
"<1,11,2>": "0x80000000"
},
"<1,12>": "3",
"<1,13>": {
"<1,13,1>": "-2",
"<1,13,2>": "-2",
"<1,13,3>": ""
},
"<1,14>": "-2",
"<1,15>": {
"<1,15,1>": {
"<1,15,1,1>": "Segoe UI",
"<1,15,1,2>": "-15",
"<1,15,1,3>": "400",
"<1,15,1,4>": "0",
"<1,15,1,5>": "0",
"<1,15,1,6>": "0",
"<1,15,1,7>": "0",
"<1,15,1,8>": "34",
"<1,15,1,9>": "0",
"<1,15,1,10>": "3",
"<1,15,1,11>": "2",
"<1,15,1,12>": "1"
}
},
"<1,16>": "",
"<1,17>": "",
"<1,18>": "",
"<1,19>": "",
"<1,20>": "",
"<1,21>": "",
"<1,22>": "",
"<1,23>": "",
"<1,24>": "",
"<1,25>": "",
"<1,26>": "",
"<1,27>": "",
"<1,28>": "<<None>>",
"<1,29>": "<<None>>",
"<1,30>": "",
"<1,31>": "0",
"<1,32>": "",
"<1,33>": "",
"<1,34>": "",
"<1,35>": "",
"<1,36>": "",
"<1,37>": "",
"<1,38>": "",
"<1,39>": "",
"<1,40>": "",
"<1,41>": "",
"<1,42>": "",
"<1,43>": "",
"<1,44>": "",
"<1,45>": "",
"<1,46>": "",
"<1,47>": "",
"<1,48>": "",
"<1,49>": "",
"<1,50>": "",
"<1,51>": "",
"<1,52>": "",
"<1,53>": "",
"<1,54>": "",
"<1,55>": "",
"<1,56>": "",
"<1,57>": "",
"<1,58>": "",
"<1,59>": "",
"<1,60>": "",
"<1,61>": "",
"<1,62>": "0",
"<1,63>": "",
"<1,64>": "",
"<1,65>": "",
"<1,66>": "",
"<1,67>": "",
"<1,68>": "",
"<1,69>": "",
"<1,70>": "",
"<1,71>": "",
"<1,72>": "",
"<1,73>": "",
"<1,74>": "",
"<1,75>": "",
"<1,76>": "",
"<1,77>": "",
"<1,78>": "",
"<1,79>": "",
"<1,80>": "",
"<1,81>": "",
"<1,82>": "",
"<1,83>": "",
"<1,84>": "",
"<1,85>": "",
"<1,86>": "",
"<1,87>": "",
"<1,88>": "",
"<1,89>": "",
"<1,90>": "",
"<1,91>": "",
"<1,92>": "",
"<1,93>": "",
"<1,94>": "",
"<1,95>": "",
"<1,96>": "",
"<1,97>": "",
"<1,98>": "",
"<1,99>": "",
"<1,100>": "",
"<1,101>": "",
"<1,102>": "",
"<1,103>": "",
"<1,104>": "",
"<1,105>": "",
"<1,106>": "",
"<1,107>": "",
"<1,108>": ""
},
"<2>": {
"<2,1>": "PUB_OK",
"<2,2>": "",
"<2,3>": "PUSHBUTTON",
"<2,4>": "NDW_ACKNOWLEDGE_MESSAGE",
"<2,5>": "-184",
"<2,6>": "-37",
"<2,7>": "80",
"<2,8>": "24",
"<2,9>": "&OK",
"<2,10>": {
"<2,10,1>": "0x56000300",
"<2,10,2>": "0x0"
},
"<2,11>": {
"<2,11,1>": "0x3005",
"<2,11,2>": "0x80000000"
},
"<2,12>": "1",
"<2,13>": {
"<2,13,1>": "-2",
"<2,13,2>": "-2",
"<2,13,3>": "0"
},
"<2,14>": "-2",
"<2,15>": {
"<2,15,1>": {
"<2,15,1,1>": "Segoe UI",
"<2,15,1,2>": "-12",
"<2,15,1,3>": "400",
"<2,15,1,4>": "0",
"<2,15,1,5>": "0",
"<2,15,1,6>": "0",
"<2,15,1,7>": "1",
"<2,15,1,8>": "0",
"<2,15,1,9>": "0",
"<2,15,1,10>": "0",
"<2,15,1,11>": "0",
"<2,15,1,12>": "0"
}
},
"<2,16>": "",
"<2,17>": "",
"<2,18>": {
"<2,18,1>": {
"<2,18,1,1>": "X",
"<2,18,1,2>": "EXECUTE",
"<2,18,1,3>": "@WINDOW_EVENTS",
"<2,18,1,4>": {
"<2,18,1,4,1>": "@SELF",
"<2,18,1,4,2>": "@EVENT",
"<2,18,1,4,3>": "@PARAM1",
"<2,18,1,4,4>": "@PARAM2",
"<2,18,1,4,5>": "@PARAM3",
"<2,18,1,4,6>": "@PARAM4",
"<2,18,1,4,7>": "@PARAM5",
"<2,18,1,4,8>": "@PARAM6"
},
"<2,18,1,5>": "",
"<2,18,1,6>": "",
"<2,18,1,7>": "",
"<2,18,1,8>": "",
"<2,18,1,9>": "",
"<2,18,1,10>": "",
"<2,18,1,11>": "",
"<2,18,1,12>": "",
"<2,18,1,13>": "",
"<2,18,1,14>": "",
"<2,18,1,15>": "COMMEVT",
"<2,18,1,16>": "0"
}
},
"<2,19>": "CLICK",
"<2,20>": "",
"<2,21>": "",
"<2,22>": "",
"<2,23>": "",
"<2,24>": "",
"<2,25>": "",
"<2,26>": "",
"<2,27>": "",
"<2,28>": "",
"<2,29>": "",
"<2,30>": "",
"<2,31>": "",
"<2,32>": "",
"<2,33>": "",
"<2,34>": "",
"<2,35>": "",
"<2,36>": "",
"<2,37>": "",
"<2,38>": "",
"<2,39>": "",
"<2,40>": "-1",
"<2,41>": {
"<2,41,1>": "",
"<2,41,2>": "-1"
},
"<2,42>": "",
"<2,43>": "",
"<2,44>": "",
"<2,45>": "",
"<2,46>": "",
"<2,47>": "",
"<2,48>": "",
"<2,49>": "",
"<2,50>": "",
"<2,51>": "",
"<2,52>": "",
"<2,53>": "",
"<2,54>": "",
"<2,55>": "",
"<2,56>": "",
"<2,57>": "",
"<2,58>": "",
"<2,59>": "",
"<2,60>": "",
"<2,61>": "",
"<2,62>": "0",
"<2,63>": "",
"<2,64>": {
"<2,64,1>": "-2",
"<2,64,2>": "-2",
"<2,64,3>": "0"
},
"<2,65>": "-2",
"<2,66>": "",
"<2,67>": "",
"<2,68>": "",
"<2,69>": "",
"<2,70>": "",
"<2,71>": "",
"<2,72>": "",
"<2,73>": "",
"<2,74>": "",
"<2,75>": "",
"<2,76>": "",
"<2,77>": "",
"<2,78>": "",
"<2,79>": "",
"<2,80>": "",
"<2,81>": "",
"<2,82>": "",
"<2,83>": "",
"<2,84>": "",
"<2,85>": "",
"<2,86>": "",
"<2,87>": "",
"<2,88>": "",
"<2,89>": "",
"<2,90>": "0",
"<2,91>": "0",
"<2,92>": "",
"<2,93>": "",
"<2,94>": "",
"<2,95>": "",
"<2,96>": "",
"<2,97>": "",
"<2,98>": "",
"<2,99>": "",
"<2,100>": "",
"<2,101>": "",
"<2,102>": "",
"<2,103>": "",
"<2,104>": "",
"<2,105>": "",
"<2,106>": "",
"<2,107>": "",
"<2,108>": ""
},
"<3>": {
"<3,1>": "PUB_CANCEL",
"<3,2>": "",
"<3,3>": "PUSHBUTTON",
"<3,4>": "NDW_ACKNOWLEDGE_MESSAGE",
"<3,5>": "-97",
"<3,6>": "-37",
"<3,7>": "80",
"<3,8>": "24",
"<3,9>": "&Cancel",
"<3,10>": {
"<3,10,1>": "0x56000300",
"<3,10,2>": "0x0"
},
"<3,11>": {
"<3,11,1>": "0x3002",
"<3,11,2>": "0x80000000"
},
"<3,12>": "2",
"<3,13>": {
"<3,13,1>": "-2",
"<3,13,2>": "-2",
"<3,13,3>": "0"
},
"<3,14>": "-2",
"<3,15>": {
"<3,15,1>": {
"<3,15,1,1>": "Segoe UI",
"<3,15,1,2>": "-12",
"<3,15,1,3>": "400",
"<3,15,1,4>": "0",
"<3,15,1,5>": "0",
"<3,15,1,6>": "0",
"<3,15,1,7>": "1",
"<3,15,1,8>": "0",
"<3,15,1,9>": "0",
"<3,15,1,10>": "0",
"<3,15,1,11>": "0",
"<3,15,1,12>": "0"
}
},
"<3,16>": "",
"<3,17>": "",
"<3,18>": {
"<3,18,1>": {
"<3,18,1,1>": "X",
"<3,18,1,2>": "EXECUTE",
"<3,18,1,3>": "@WINDOW_EVENTS",
"<3,18,1,4>": {
"<3,18,1,4,1>": "@SELF",
"<3,18,1,4,2>": "@EVENT",
"<3,18,1,4,3>": "@PARAM1",
"<3,18,1,4,4>": "@PARAM2",
"<3,18,1,4,5>": "@PARAM3",
"<3,18,1,4,6>": "@PARAM4",
"<3,18,1,4,7>": "@PARAM5",
"<3,18,1,4,8>": "@PARAM6"
},
"<3,18,1,5>": "",
"<3,18,1,6>": "",
"<3,18,1,7>": "",
"<3,18,1,8>": "",
"<3,18,1,9>": "",
"<3,18,1,10>": "",
"<3,18,1,11>": "",
"<3,18,1,12>": "",
"<3,18,1,13>": "",
"<3,18,1,14>": "",
"<3,18,1,15>": "COMMEVT",
"<3,18,1,16>": "0"
}
},
"<3,19>": "CLICK",
"<3,20>": "",
"<3,21>": "",
"<3,22>": "",
"<3,23>": "",
"<3,24>": "",
"<3,25>": "",
"<3,26>": "",
"<3,27>": "",
"<3,28>": "",
"<3,29>": "",
"<3,30>": "",
"<3,31>": "",
"<3,32>": "",
"<3,33>": "",
"<3,34>": "",
"<3,35>": "",
"<3,36>": "",
"<3,37>": "",
"<3,38>": "",
"<3,39>": "",
"<3,40>": "-1",
"<3,41>": {
"<3,41,1>": "",
"<3,41,2>": "-1"
},
"<3,42>": "",
"<3,43>": "",
"<3,44>": "",
"<3,45>": "",
"<3,46>": "",
"<3,47>": "",
"<3,48>": "",
"<3,49>": "",
"<3,50>": "",
"<3,51>": "",
"<3,52>": "",
"<3,53>": "",
"<3,54>": "",
"<3,55>": "",
"<3,56>": "",
"<3,57>": "",
"<3,58>": "",
"<3,59>": "",
"<3,60>": "",
"<3,61>": "",
"<3,62>": "0",
"<3,63>": "",
"<3,64>": {
"<3,64,1>": "-2",
"<3,64,2>": "-2",
"<3,64,3>": "0"
},
"<3,65>": "-2",
"<3,66>": "",
"<3,67>": "",
"<3,68>": "",
"<3,69>": "",
"<3,70>": "",
"<3,71>": "",
"<3,72>": "",
"<3,73>": "",
"<3,74>": "",
"<3,75>": "",
"<3,76>": "",
"<3,77>": "",
"<3,78>": "",
"<3,79>": "",
"<3,80>": "",
"<3,81>": "",
"<3,82>": "",
"<3,83>": "",
"<3,84>": "",
"<3,85>": "",
"<3,86>": "",
"<3,87>": "",
"<3,88>": "",
"<3,89>": "",
"<3,90>": "0",
"<3,91>": "0",
"<3,92>": "",
"<3,93>": "",
"<3,94>": "",
"<3,95>": "",
"<3,96>": "",
"<3,97>": "",
"<3,98>": "",
"<3,99>": "",
"<3,100>": "",
"<3,101>": "",
"<3,102>": "",
"<3,103>": "",
"<3,104>": "",
"<3,105>": "",
"<3,106>": "",
"<3,107>": "",
"<3,108>": ""
}
},
"record4": {
"<1>": ""
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -423,7 +423,7 @@
"<1,31>": "", "<1,31>": "",
"<1,32>": "", "<1,32>": "",
"<1,33>": "", "<1,33>": "",
"<1,34>": "LSL2*IMAGE*ICO*INFINEON", "<1,34>": "",
"<1,35>": "", "<1,35>": "",
"<1,36>": "", "<1,36>": "",
"<1,37>": { "<1,37>": {

View File

@ -6655,6 +6655,13 @@
"<41,35,3,3>": "", "<41,35,3,3>": "",
"<41,35,3,4>": "", "<41,35,3,4>": "",
"<41,35,3,5>": "" "<41,35,3,5>": ""
},
"<41,35,4>": {
"<41,35,4,1>": "",
"<41,35,4,2>": "",
"<41,35,4,3>": "",
"<41,35,4,4>": "",
"<41,35,4,5>": ""
} }
}, },
"<41,36>": "", "<41,36>": "",
@ -7879,7 +7886,7 @@
"<45,10,2>": "0x200" "<45,10,2>": "0x200"
}, },
"<45,11>": { "<45,11>": {
"<45,11,1>": "0x80000", "<45,11,1>": "0x0",
"<45,11,2>": "0x80000000" "<45,11,2>": "0x80000000"
}, },
"<45,12>": "45", "<45,12>": "45",
@ -7915,7 +7922,7 @@
"<45,21>": "", "<45,21>": "",
"<45,22>": "", "<45,22>": "",
"<45,23>": "WM_OUT", "<45,23>": "WM_OUT",
"<45,24>": "SPEC_INST", "<45,24>": "SPECIAL_INST",
"<45,25>": "", "<45,25>": "",
"<45,26>": "", "<45,26>": "",
"<45,27>": "", "<45,27>": "",

View File

@ -40,7 +40,7 @@
"<8,2>": { "<8,2>": {
"<8,2,1>": "MET", "<8,2,1>": "MET",
"<8,2,2>": "Metrology", "<8,2,2>": "Metrology",
"<8,2,3>": "TODD_C, JEANNE_M, JFUENTE1, JUSTIN_H, JONATHON_S, MARROQUINBRA, TIFFANY_M" "<8,2,3>": "TODD_C, JEANNE_M"
}, },
"<8,3>": { "<8,3>": {
"<8,3,1>": "MTC", "<8,3,1>": "MTC",

View File

@ -9,7 +9,7 @@
"<2>": "-1", "<2>": "-1",
"<3>": "-1", "<3>": "-1",
"<4>": "-1", "<4>": "-1",
"<5>": "-2", "<5>": "16777215",
"<6>": { "<6>": {
"<6,1>": { "<6,1>": {
"<6,1,1>": "Tahoma", "<6,1,1>": "Tahoma",
@ -31,7 +31,7 @@
} }
}, },
"<7>": "REACT_ITEM", "<7>": "REACT_ITEM",
"<8>": "BY-DSND ENTER_DTM", "<8>": "BY @ID",
"<9>": { "<9>": {
"<9,1>": { "<9,1>": {
"<9,1,1>": "RI_NO", "<9,1,1>": "RI_NO",
@ -120,22 +120,6 @@
"<9,11,4>": "C", "<9,11,4>": "C",
"<9,11,5>": "D4/", "<9,11,5>": "D4/",
"<9,11,6>": "Retire Dt" "<9,11,6>": "Retire Dt"
},
"<9,12>": {
"<9,12,1>": "ENTER_DTM",
"<9,12,2>": "14",
"<9,12,3>": "L",
"<9,12,4>": "C",
"<9,12,5>": "DT2/^H",
"<9,12,6>": "Enter Dtm"
},
"<9,13>": {
"<9,13,1>": "CURR_STATUS",
"<9,13,2>": "5",
"<9,13,3>": "L",
"<9,13,4>": "C",
"<9,13,5>": "[CONV_ITEM_CURR_STATUS]",
"<9,13,6>": "Curr Status"
} }
}, },
"<10>": "T", "<10>": "T",
@ -163,17 +147,7 @@
"<32>": "0", "<32>": "0",
"<33>": "1", "<33>": "1",
"<34>": "16777215", "<34>": "16777215",
"<35>": "16766894", "<35>": "16777215"
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
} }
} }
} }

View File

@ -9,7 +9,7 @@
"<2>": "-1", "<2>": "-1",
"<3>": "-1", "<3>": "-1",
"<4>": "-1", "<4>": "-1",
"<5>": "-2", "<5>": "16777215",
"<6>": { "<6>": {
"<6,1>": { "<6,1>": {
"<6,1,1>": "MS Sans Serif", "<6,1,1>": "MS Sans Serif",
@ -91,17 +91,7 @@
"<32>": "0", "<32>": "0",
"<33>": "1", "<33>": "1",
"<34>": "16777215", "<34>": "16777215",
"<35>": "16777215", "<35>": "16777215"
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
} }
} }
} }

View File

@ -235,7 +235,7 @@ Service SendReminders()
IF CLType = 'E' THEN IF CLType = 'E' THEN
Desc = CLRec<CALIB_LIST_EQ_DESC$> Desc = CLRec<CALIB_LIST_EQ_DESC$>
SN = CLRec<CALIB_LIST_EQ_SN$> SN = CLRec<CALIB_LIST_EQ_SN$>
Loc = CLRec<CALIB_LIST_EQ_LOC$> Loc = CLRec<CALIB_LIST_EQ_LOC$
NewLine = Desc:' (S/N: ':SN:') located in the ':Loc:' is due for calibration on ':NextCalDt:CRLF$ NewLine = Desc:' (S/N: ':SN:') located in the ':Loc:' is due for calibration on ':NextCalDt:CRLF$
END END
IF CLType = 'S' THEN IF CLType = 'S' THEN

View File

@ -50,112 +50,109 @@ RETURN Result
* * * * * * * * * * * * * *
Create: Create:
* * * * * * * * * * * * * *
obj_AppWindow('Create') obj_AppWindow('Create')
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX') Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
GOSUB Refresh GOSUB Refresh
RETURN RETURN
* * * * * * * * * * * * * *
Refresh: Refresh:
* * * * * * * * * * * * * *
RETURN RETURN
* * * * * * * * * * * * * *
ReactNoGF: ReactNoGF:
* * * * * * * * * * * * * *
* Don't add a return here * Don't add a return here
* * * * * * * * * * * * * *
LUReactor: LUReactor:
* * * * * * * * * * * * * *
IF NOT(ASSIGNED(Parm1)) THEN FocusControl = '' ELSE FocusControl = Parm1 IF NOT(ASSIGNED(Parm1)) THEN FocusControl = '' ELSE FocusControl = Parm1
IF NOT(ASSIGNED(Parm2)) THEN FocusPos = '' ELSE FocusPos = Parm2 IF NOT(ASSIGNED(Parm2)) THEN FocusPos = '' ELSE FocusPos = Parm2
Set_Status(0) Set_Status(0)
TypeOver = '' TypeOver = ''
TypeOver<PSELECT$> = '2' ;* Multiple Select TypeOver<PSELECT$> = '2' ;* Multiple Select
TypeOver<PTYPE$> = 'E' ;* Return entire row TypeOver<PTYPE$> = 'E' ;* Return entire row
ReactData = Popup(@WINDOW,TypeOver,'REACTORS') ReactData = Popup(@WINDOW,TypeOver,'REACTORS')
IF ReactData = '' THEN RETURN IF ReactData = '' THEN RETURN
Set_Property(@WINDOW:'.REACT_NO','LIST',ReactData) Set_Property(@WINDOW:'.REACT_NO','LIST',ReactData)
LineCnt = COUNT(ReactData,@FM) + (ReactData NE '') LineCnt = COUNT(ReactData,@FM) + (ReactData NE '')
ColCnt = 7 ColCnt = 7
FOR Line = 1 TO LineCnt FOR Line = 1 TO LineCnt
FOR Column = 2 TO ColCnt FOR Column = 2 TO ColCnt
stat = Send_Message(@WINDOW:'.REACT_NO','COLOR_BY_POS',Column,Line,GREEN$) stat = Send_Message(@WINDOW:'.REACT_NO','COLOR_BY_POS',Column,Line,GREEN$)
NEXT Column NEXT Column
NEXT Line NEXT Line
RETURN RETURN
* * * * * * * * * * * * * *
Cancel: Cancel:
* * * * * * * * * * * * * *
End_Dialog(@WINDOW,'') End_Dialog(@WINDOW,'')
RETURN RETURN
* * * * * * * * * * * * * *
PostEntries: PostEntries:
* * * * * * * * * * * * * *
ReactNos = Get_Property(@WINDOW:'.REACT_NO','ARRAY')<COL$REACT_NO>
Comment = Get_Property(@WINDOW:'.COMMENT','DEFPROP')
LOOP
TestChar = ReactNos[-1,1]
UNTIL TestChar NE @VM OR ReactNos = ''
ReactNos[-1,1] = ''
REPEAT
EventKeys = '' ;* Keys to return to the REACT_EVENT window for a browse of the newly created records
IF ReactNos NE '' AND Comment NE '' THEN
EventDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS') ;* Same DTM for all new records
EventType = 'PD' ;* Passdown
LoggedBy = @USER4
ReactNos = Get_Property(@WINDOW:'.REACT_NO','ARRAY')<COL$REACT_NO> ReactCnt = COUNT(ReactNos,@VM) + (ReactNos NE '')
Comment = Get_Property(@WINDOW:'.COMMENT','DEFPROP')
LOOP FOR I = 1 TO ReactCnt
TestChar = ReactNos[-1,1] ReactNo = ReactNos<1,I>
UNTIL TestChar NE @VM OR ReactNos = '' CurrMode = XLATE('REACTOR',ReactNo,'CURR_MODE','X')
ReactNos[-1,1] = ''
REPEAT
EventKeys = '' ;* Keys to return to the REACT_EVENT window for a browse of the newly created records
IF ReactNos NE '' AND Comment NE '' THEN
EventDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS') ;* Same DTM for all new records obj_React_Event('Create',ReactNo:@RM:EventDTM:@RM:EventType:@RM:LoggedBy:@RM:Comment:@RM:@RM:CurrMode)
EventType = 'PD' ;* Passdown EventKeys<I> = ReactNo:'*':ICONV(EventDTM,'DT')
LoggedBy = @USER4 NEXT I
ReactCnt = COUNT(ReactNos,@VM) + (ReactNos NE '') END
FOR I = 1 TO ReactCnt End_Dialog(@WINDOW,EventKeys)
ReactNo = ReactNos<1,I>
CurrMode = XLATE('REACTOR',ReactNo,'CURR_MODE','X')
obj_React_Event('Create',ReactNo:@RM:EventDTM:@RM:EventType:@RM:LoggedBy:@RM:Comment:@RM:@RM:CurrMode)
ErrCode = ''
If Get_Status(ErrCode) then
Msg(@Window, '', 'OK', '', 'Process Error':@FM:'Error posting entries. ':ErrCode)
end else
Set_Property(@Window:'.REACT_NO', 'LIST', '')
Set_Property(@Window:'.COMMENT', 'TEXT', '')
end
EventKeys<I> = ReactNo:'*':ICONV(EventDTM,'DT')
NEXT I
END else
Msg(@Window, '', 'OK', '', 'Process Error':@FM:'React No(s) and Comment must not be null!')
end
RETURN RETURN

View File

@ -20,7 +20,7 @@ Declare Function Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.I
Declare Function Send_Message, Msg, Security_Check, obj_React_Item, Select_Into, MemberOf, Create_Dialog, obj_Calendar Declare Function Send_Message, Msg, Security_Check, obj_React_Item, Select_Into, MemberOf, Create_Dialog, obj_Calendar
Declare Function GetAsyncKeyState, obj_Tables, MemberOf, Environment_Services, Database_Services, Rds_Services Declare Function GetAsyncKeyState, obj_Tables, MemberOf, Environment_Services, Database_Services, Rds_Services
Declare Function Reactor_Services, Error_Services, React_Servs_Services, Reactor_Log_Services, Send_Event, SRP_List Declare Function Reactor_Services, Error_Services, React_Servs_Services, Reactor_Log_Services, Send_Event, SRP_List
Declare Function Nica_Orders_Services, SRP_Date, React_Item_Services, SRP_Datetime, Datetime Declare Function Nica_Orders_Services
$Insert MSG_EQUATES $Insert MSG_EQUATES
$Insert APPCOLORS $Insert APPCOLORS
@ -1229,51 +1229,64 @@ SvcsOptions:
If ItemType NE '' then If ItemType NE '' then
RetVal = '' RetVal = ''
ItemType = ICONV(ItemType,'[CONV_CODE_DESC,REACT_ITEM_TYPE]')
RIKeys = React_Item_Services('GetReactItems', ItemType, 'N,U') ItemType = ICONV(ItemType,'[CONV_CODE_DESC,REACT_ITEM_TYPE]')
If Error_Services('NoError') then OPEN 'DICT.REACT_ITEM' to DictReactItem else
ErrMsg('Unable to open DICT.REACT_ITEM')
TypeOver = '' return
TypeOVer<PMODE$> = 'K' end
TypeOver<PDISPLAY$> = RIKeys
RetVal = Popup(@Window,TypeOver,'REACT_ITEM') SearchString = 'RI_TYPE':@VM:ItemType:@FM
SearchString := 'CURR_STATUS':@VM:'N':@VM:'U':@FM
If RetVal NE '' then
obj_AppWindow('LUValReturn',RetVal:@RM:@Window:'.SERV_INFO':@RM:SelPos) RIKeys = ''
Option = ''
RIRec = XLATE('REACT_ITEM',RetVal,'','X') Flag = ''
If RIRec<REACT_ITEM_RI_TYPE$> = 'T' then Btree.Extract(SearchString,'REACT_ITEM',DictReactItem,RIKeys,Option,Flag)
CardWindow = 'REACT_ITEM' If Get_Status(errCode) then
CardKey = RetVal ErrMsg(errCode)
DefaultRec = '' return
NewCardCtrl = '' end
RecalcCtrl = @Window:'.SERV_INFO'
RecalcPos = SelPos TypeOver = ''
RetCtrl = @Window:'.SERV_INFO' TypeOVer<PMODE$> = 'K'
RetPos = SelPos TypeOver<PDISPLAY$> = RIKeys
RetVal = Popup(@Window,TypeOver,'REACT_ITEM')
oAParms = CardWindow:@RM:CardKey:@RM:DefaultRec:@RM:NewCardCtrl:@RM:RecalcCtrl:@RM:RecalcPos:@RM:RetCtrl:@RM:RetPos
If RetVal NE '' then
obj_AppWindow('ViewNewCard',oAParms) obj_AppWindow('LUValReturn',RetVal:@RM:@Window:'.SERV_INFO':@RM:SelPos)
Set_Property('REACT_ITEM.TUBE_GRADE','FOCUS',1) RIRec = XLATE('REACT_ITEM',RetVal,'','X')
If Get_Status(errCode) then If RIRec<REACT_ITEM_RI_TYPE$> = 'T' then
ErrMsg(errCode) CardWindow = 'REACT_ITEM'
end CardKey = RetVal
end DefaultRec = ''
NewCardCtrl = ''
GoSub Refresh RecalcCtrl = @Window:'.SERV_INFO'
end RecalcPos = SelPos
end else RetCtrl = @Window:'.SERV_INFO'
Error_Services('DisplayError') RetPos = SelPos
oAParms = CardWindow:@RM:CardKey:@RM:DefaultRec:@RM:NewCardCtrl:@RM:RecalcCtrl:@RM:RecalcPos:@RM:RetCtrl:@RM:RetPos
obj_AppWindow('ViewNewCard',oAParms)
Set_Property('REACT_ITEM.TUBE_GRADE','FOCUS',1)
If Get_Status(errCode) then
ErrMsg(errCode)
end
end
GoSub Refresh
end end
end ;* End of check for null SNReq end ;* End of check for null SNReq
End Case End Case
GoSub Refresh GoSub Refresh
@ -1864,3 +1877,4 @@ ColorRemRiTable:
return return

View File

@ -1099,7 +1099,7 @@ SignSupVer:
************************************************************************ ************************************************************************
WMOKey = Get_Property(@WINDOW,'ID') WMOKey = Get_Property(@WINDOW,'ID')
PSNo = Get_Property(@WINDOW:'.PS_NO)','TEXT') PSNo = Get_Property(@WINDOW:'.PS_NO)','TEXT')
VerInst = XLATE('PRS_STAGE',PSNo:'*MO_QA',PRS_STAGE_INST$,'X') VerInst = XLATE('PRS_STAGE',PSNo:'*QA',PRS_STAGE_INST$,'X')
IF (VerInst NE '') THEN IF (VerInst NE '') THEN
Yes = Dialog_Box( 'RDS_VER', @WINDOW, VerInst ) Yes = Dialog_Box( 'RDS_VER', @WINDOW, VerInst )
IF NOT(Yes) THEN IF NOT(Yes) THEN
@ -1711,142 +1711,129 @@ AddMakeup:
END END
NEXT I NEXT I
Continue = True$ Response = Dialog_Box('NDW_MAKEUP_WAFERS', @Window, WOMatKey)
ShowSpecInst = Xlate('PROD_SPEC', PSNo, PROD_SPEC_SHOW_SPEC_INST_ON_MU_ADD$, 'X')
If ShowSpecInst then
SpecInst = Xlate('PROD_SPEC', PSNo, PROD_SPEC_SPEC_INST$, 'X')
If SpecInst NE '' then
Continue = Dialog_Box('NDW_ACKNOWLEDGE_MESSAGE', @Window, SpecInst)
If Not(Continue) then
Msg(@Window, '', 'OK', '', 'Process Error':@FM:'This PSN requires you to acknowledge special instructions to add makeup wafers.')
end
end
end
If Continue then Begin Case
Response = Dialog_Box('NDW_MAKEUP_WAFERS', @Window, WOMatKey) Case Response EQ True$
// User requested to convert the current cassette into a makeup box.
Begin Case WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
Case Response EQ True$ If Error_Services('NoError') then
// User requested to convert the current cassette into a makeup box. SAPBatchNo = WOMatRec<WO_MAT_SAP_BATCH_NO$>
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey) SAPTXDtm = WOMatRec<WO_MAT_SAP_TX_DTM$>
If Error_Services('NoError') then AwaitingBatchNo = ( (SAPTXDtm NE '') and (SAPBatchNo EQ '') )
SAPBatchNo = WOMatRec<WO_MAT_SAP_BATCH_NO$> HasBatchNo = (SAPBatchNo NE '')
SAPTXDtm = WOMatRec<WO_MAT_SAP_TX_DTM$> FullBoxReject = (SAPBatchNo[-1, 1] = 'R')
AwaitingBatchNo = ( (SAPTXDtm NE '') and (SAPBatchNo EQ '') ) Begin Case
HasBatchNo = (SAPBatchNo NE '') Case AwaitingBatchNo
FullBoxReject = (SAPBatchNo[-1, 1] = 'R') InvalidRequest = True$
Begin Case ErrMsg('WARNING: Cassette ineligible to be converted as it is awaiting a batch number from SAP.')
Case AwaitingBatchNo Return
InvalidRequest = True$ Case FullBoxReject
ErrMsg('WARNING: Cassette ineligible to be converted as it is awaiting a batch number from SAP.') InvalidRequest = True$
Return ErrMsg('WARNING: Cassette is ineligible to be converted as it is a full box reject.')
Case FullBoxReject Return
InvalidRequest = True$ Case HasBatchNo
ErrMsg('WARNING: Cassette is ineligible to be converted as it is a full box reject.') // Operation limited to LEAD and SUPERVISOR groups
Return OverrideMsg = "Cassette has a batch number. SUPERVISOR or LEAD must override."
Case HasBatchNo Response = Msg(@Window, '', 'OVERRIDE', '', OverrideMsg)
// Operation limited to LEAD and SUPERVISOR groups
OverrideMsg = "Cassette has a batch number. SUPERVISOR or LEAD must override." Begin Case
Response = Msg(@Window, '', 'OVERRIDE', '', OverrideMsg) Case Response EQ 1
Response = True$ ; // User Clicked Override
Begin Case Case Response EQ 2
Case Response EQ 1 Response = False$ ; // User Clicked Cancel
Response = True$ ; // User Clicked Override Case Response EQ char(27)
Case Response EQ 2 Response = False$ ; // User Pressed Escape Key
Response = False$ ; // User Clicked Cancel End Case
Case Response EQ char(27)
Response = False$ ; // User Pressed Escape Key If Response EQ True$ then
End Case Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:'LEAD':@VM:'SUPERVISOR')
Authorized = Response<1>
If Response EQ True$ then end else
Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:'LEAD':@VM:'SUPERVISOR') Authorized = False$
Authorized = Response<1>
end else
Authorized = False$
end
If Not(Authorized) then Return
Case Otherwise$
Null
End Case
AvailMU_WMOKeys = ''
UserResp = Response
MakeupBox = ''
// User requested to convert the current cassette into a makeup box.
// Verify the quantity before proceeding.
If WMOutKey NE '' then
Parms = ''
Parms<1> = WMOutKey ; // Cassette to verify wafer count of.
Parms<2> = 0 ; // Wafer count adjustment - 0 because converting box.
Parms<3> = 'MU' ; // Wafer counter tool location
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
If Proceed NE True$ then Return
end else
ErrMsg('Error starting wafer counter check. WM_OUT key is missing.')
end
CheckValue = 1
FieldNo = WO_MAT_EPO_MAKEUP_BOX$
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) ;* Set WMO_MAKEUP flag on WM_OUT
IF Get_Status(errCode) THEN ErrMsg(errCode)
Set_Property(@WINDOW:'.MAKEUP_BOX','DEFPROP',CheckValue) ;* Make this the makeup box
Send_Event(@WINDOW,'WRITE') ;* Write the record
WMOKey = WONo:'*':ProcStepNo:'*':CassNo
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:WMOKey) ;* Reread the updated record
Return
end else
ErrMsg('WARNING: Error reading WO_MAT record.')
Return
end
Case Response EQ ''
// User has cancelled this process.
Return
Case Otherwise$
// User has selected a makeup box to use and backfill.
AvailMU_WMOKeys = Response
MakeupBox = Response
MuWfrsNeeded = SelCnt
If AvailMU_WMOKeys NE '' then
// Wafer counter check - Account for the possibility of selecting more than one makeup box.
For each MuWmoKey in AvailMU_WMOKeys using @FM
MuWoMatKey = Field(MuWmoKey, '*', 1):'*':Field(MuWmoKey, '*', 3)
QtyAdj = MuWfrsNeeded
CurrMuWfrCnt = obj_WO_Mat('CurrWaferCnt', MuWoMatKey)
If MuWfrsNeeded GT CurrMuWfrCnt then
QtyAdj = CurrMuWfrCnt
MuWfrsNeeded -= CurrMuWfrCnt
end end
Parms = '' If Not(Authorized) then Return
Parms<1> = MuWmoKey ; // Cassette to verify wafer count of. Case Otherwise$
Parms<2> = QtyAdj ; // Wafer count adjustment - 0 because converting box. Null
Parms<3> = 'MU' ; // Wafer counter tool location End Case
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
If Proceed NE True$ then Return AvailMU_WMOKeys = ''
Next MuWmoKey UserResp = Response
MakeupBox = ''
// User requested to convert the current cassette into a makeup box.
// Verify the quantity before proceeding.
If WMOutKey NE '' then
Parms = ''
Parms<1> = WMOutKey ; // Cassette to verify wafer count of.
Parms<2> = 0 ; // Wafer count adjustment - 0 because converting box.
Parms<3> = 'MU' ; // Wafer counter tool location
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
If Proceed NE True$ then Return
end else
ErrMsg('Error starting wafer counter check. WM_OUT key is missing.')
end end
* Signature block added 10/6/2010 JCH * CheckValue = 1
Valid = Dialog_Box('NDW_VERIFY_USER', @Window, @User4)
IF NOT(Valid) THEN RETURN ;* User is not worthy or can't type FieldNo = WO_MAT_EPO_MAKEUP_BOX$
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) ;* Set WMO_MAKEUP flag on WM_OUT
IF Get_Status(errCode) THEN ErrMsg(errCode)
Send_Event(@WINDOW,'WRITE') Set_Property(@WINDOW:'.MAKEUP_BOX','DEFPROP',CheckValue) ;* Make this the makeup box
Send_Event(@WINDOW,'WRITE') ;* Write the record
obj_WM_Out('AddMakeupWafers',WMOutKey:@RM:EmptySlots:@RM:MakeupBox) WMOKey = WONo:'*':ProcStepNo:'*':CassNo
//Remove the signatures for the WO_MAT_QA record because they are changing its results. obj_AppWindow('LoadFormKeys',@WINDOW:@RM:WMOKey) ;* Reread the updated record
WOMatQaKey = Field(WMOutKey, '*', 1) : '*' : Field(WMOutKey, '*', 3)
Wo_Mat_Qa_Services('ClearSignatureByStage', WOMatQaKey, 'MO_QA')
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:WMOutKey)
RETURN Return
End Case end else
end ErrMsg('WARNING: Error reading WO_MAT record.')
Return
end
Case Response EQ ''
// User has cancelled this process.
Return
Case Otherwise$
// User has selected a makeup box to use and backfill.
AvailMU_WMOKeys = Response
MakeupBox = Response
MuWfrsNeeded = SelCnt
If AvailMU_WMOKeys NE '' then
// Wafer counter check - Account for the possibility of selecting more than one makeup box.
For each MuWmoKey in AvailMU_WMOKeys using @FM
MuWoMatKey = Field(MuWmoKey, '*', 1):'*':Field(MuWmoKey, '*', 3)
QtyAdj = MuWfrsNeeded
CurrMuWfrCnt = obj_WO_Mat('CurrWaferCnt', MuWoMatKey)
If MuWfrsNeeded GT CurrMuWfrCnt then
QtyAdj = CurrMuWfrCnt
MuWfrsNeeded -= CurrMuWfrCnt
end
Parms = ''
Parms<1> = MuWmoKey ; // Cassette to verify wafer count of.
Parms<2> = QtyAdj ; // Wafer count adjustment - 0 because converting box.
Parms<3> = 'MU' ; // Wafer counter tool location
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
If Proceed NE True$ then Return
Next MuWmoKey
end
* Signature block added 10/6/2010 JCH *
Valid = Dialog_Box('NDW_VERIFY_USER', @Window, @User4)
IF NOT(Valid) THEN RETURN ;* User is not worthy or can't type
Send_Event(@WINDOW,'WRITE')
obj_WM_Out('AddMakeupWafers',WMOutKey:@RM:EmptySlots:@RM:MakeupBox)
//Remove the signatures for the WO_MAT_QA record because they are changing its results.
WOMatQaKey = Field(WMOutKey, '*', 1) : '*' : Field(WMOutKey, '*', 3)
Wo_Mat_Qa_Services('ClearSignatureByStage', WOMatQaKey, 'MO_QA')
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:WMOutKey)
RETURN
End Case
end else end else
// Cassette is on hold so makeup wafers cannot be added. // Cassette is on hold so makeup wafers cannot be added.
ErrorMessage = 'Add MU Wafer Denied!. The cassette must be taken off hold before adding makeup wafers.' ErrorMessage = 'Add MU Wafer Denied!. The cassette must be taken off hold before adding makeup wafers.'

View File

@ -440,7 +440,7 @@ END
IF CurrStatus NE '' THEN IF CurrStatus NE '' THEN
SWAP @VM WITH '" "' IN CurrStatus SWAP @VM WITH '" "' IN CurrStatus
IF SelectSent NE '' THEN SelectSent := ' AND' IF SelectSent NE '' THEN SelectSent := ' AND'
SelectSent := ' WITH CURR_STATUS_STATIC ':QUOTE(CurrStatus) SelectSent := ' WITH CURR_STATUS ':QUOTE(CurrStatus)
END END
IF PartTypes NE '' THEN IF PartTypes NE '' THEN
@ -471,7 +471,7 @@ SelectSent = 'SELECT REACT_ITEM ':SelectSent
Def = "" Def = ""
Def<MTEXT$> = "Selecting Reactor Items..." Def<MTEXT$> = "Selecting Reactor Events..."
Def<MTYPE$> = "U" Def<MTYPE$> = "U"
* display the processing message and do the processing * display the processing message and do the processing
@ -502,3 +502,6 @@ End_Dialog(@WINDOW,RINos)
RETURN RETURN

View File

@ -1177,4 +1177,3 @@ end service

File diff suppressed because it is too large Load Diff

View File

@ -1,99 +0,0 @@
Compile function NDW_ACKNOWLEDGE_MESSAGE_EVENTS(CtrlEntId, Event, @PARAMS)
/***********************************************************************************************************************
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
permission from Infineon.
Name : NDW_ACKNOWLEDGE_MESSAGE_EVENTS
Description : This function acts as a commuter module for all events related to this window.
Notes : Commuter Modules are automatically called from the Promoted_Events function which is called by the
application-specific promoted event handler. This makes it possible to add QuickEvents that need to
execute Basic+ logic without having use the Form Designer to make the association, although this is
limited to the events which are currently promoted.
If the form needs to call the commuter module directly then the QuickEvent parameters should be
formatted like this:
'@SELF','@EVENT',['@PARAM1','@PARAMx']
Parameters :
CtrlEntId [in] -- The fully qualified name of the control calling the promoted event
Event [in] -- The event being executed. See the Notes section regarding "PRE" events
Param1-15 [in] -- Additional event parameter holders
EventFlow [out] -- Set to 1 or 0 so the calling event knows whether or not to chain forward. See comments in
EVENT_SETUP insert
History : (Date, Initials, Notes)
05/23/25 djs Created initial commuter module.
***********************************************************************************************************************/
#pragma precomp SRP_PreCompiler
#window NDW_ACKNOWLEDGE_MESSAGE
$Insert APP_INSERTS
$Insert EVENT_SETUP
Declare subroutine PlaceDialog
SubclassInfo = Form_Services('FindSubclassControl')
Subclass = SubclassInfo<1>
// Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler.
If Event EQ 'OLE' then
Transfer Event to OIEvent
Transfer Param1 to Event
Transfer Param2 to Param1
Transfer Param3 to Param2
Transfer Param4 to Param3
Transfer Param5 to Param4
Transfer Param6 to Param5
Transfer Param7 to Param6
Transfer Param8 to Param7
end
GoToEvent Event for CtrlEntId else
// Event not implemented
end
Return EventFlow or 1
//-----------------------------------------------------------------------------
// EVENT HANDLERS
//-----------------------------------------------------------------------------
Event WINDOW.CREATE(CreateParam)
TextToAcknowledge = CreateParam
If TextToAcknowledge NE '' then
Swap @TM with CRLF$ in TextToAcknowledge
Set_Property(@Window:'.EDB_DATA', 'TEXT', TextToAcknowledge)
PlaceDialog(-2, -2)
end else
Post_Event(@Window, 'CLOSE')
end
End Event
Event WINDOW.CLOSE(CancelFlag, CloseFlags)
End_Dialog(@Window, False$)
end event
Event PUB_OK.CLICK()
End_Dialog(@Window, True$)
end event
Event PUB_CANCEL.CLICK()
End_Dialog(@Window, False$)
end event

View File

@ -3,7 +3,7 @@ Compile function NDW_ADJUST_LOT_QTY_EVENTS(CtrlEntId, Event, @PARAMS)
#window NDW_ADJUST_LOT_QTY #window NDW_ADJUST_LOT_QTY
Declare function MemberOf, Database_Services, Error_Services, Datetime Declare function MemberOf, Database_Services, Error_Services, Datetime
Declare subroutine PlaceDialog, Database_Services, Lot_Services, Lot_Event_Services Declare subroutine PlaceDialog, Database_Services, Lot_Services
$Insert App_Inserts $Insert App_Inserts
$Insert Lot_Equates $Insert Lot_Equates
@ -125,16 +125,10 @@ Event PUB_SUBMIT.CLICK()
Begin Case Begin Case
Case NewWfrQty LT CurrWfrQty Case NewWfrQty LT CurrWfrQty
AmountToDecrease = CurrWfrQty - NewWfrQty AmountToDecrease = CurrWfrQty - NewWfrQty
Lot_Services('ReduceLotWaferCount', LotId, AmountToDecrease, @User4) Lot_Services('ReduceLotWaferCount', LotId, AmountToDecrease, @User4)
If Error_Services('NoError') then
Lot_Event_Services('CreateLotEvent', LotId, Datetime(), 'COMMENT', 'Manual Lot Qty decrease performed.', '', @User4, '' , '')
end
Case NewWfrQty GT CurrWfrQty Case NewWfrQty GT CurrWfrQty
AmountToIncrease = NewWfrQty - CurrWfrQty AmountToIncrease = NewWfrQty - CurrWfrQty
Lot_Services('IncreaseLotWaferCount', LotId, AmountToIncrease, @User4) Lot_Services('IncreaseLotWaferCount', LotId, AmountToIncrease, @User4)
If Error_Services('NoError') then
Lot_Event_Services('CreateLotEvent', LotId, Datetime(), 'COMMENT', 'Manual Lot Qty increase performed.', '', @User4, '' , '')
end
End Case End Case
If Error_Services('NoError') then If Error_Services('NoError') then
msg(@Window, 'Wafer quantity adjusted successfully!') msg(@Window, 'Wafer quantity adjusted successfully!')
@ -182,4 +176,3 @@ return

View File

@ -3,27 +3,25 @@ Compile function NDW_WAFER_COUNTS_EVENTS(CtrlEntId, Event, @PARAMS)
#window NDW_WAFER_COUNTS #window NDW_WAFER_COUNTS
Declare function Reactor_Services, Database_Services, Get_Property, Error_Services, Environment_Services Declare function Reactor_Services, Database_Services, Get_Property, Error_Services, Environment_Services
Declare function SRP_Array, Logging_Services Declare function SRP_Array, Logging_Services
Declare subroutine Set_Property, Logging_Services, PlaceDialog Declare subroutine Set_Property, Logging_Services
$Insert EVENT_SETUP $Insert EVENT_SETUP
$Insert APP_INSERTS $Insert APP_INSERTS
$Insert REACTOR_EQUATES $Insert REACTOR_EQUATES
EQU DATA_ASM_REACT_ID$ to 1 EQU DATA_ASM_REACT_ID$ to 1
EQU DATA_ASM_SUSC_CNT$ to 2 EQU DATA_ASM_SUSC_CNT$ to 2
EQU DATA_ASM_SUSC_THK$ to 3 EQU DATA_ASM_SUSC_THK$ to 3
EQU DATA_ASM_TUBE_CNT$ to 4 EQU DATA_ASM_TUBE_CNT$ to 4
EQU DATA_ASM_TUBE_THK$ to 5 EQU DATA_ASM_TUBE_THK$ to 5
EQU DATA_ASM_ARM_CNT$ to 6 EQU DATA_ASM_ARM_CNT$ to 6
EQU DATA_ASM_EXHAUST_THK$ to 7
EQU DATA_HTR_REACT_ID$ to 1 EQU DATA_HTR_REACT_ID$ to 1
EQU DATA_HTR_SUSC_CNT$ TO 2 EQU DATA_HTR_SUSC_CNT$ TO 2
EQU DATA_HTR_SUSC_THK$ TO 3 EQU DATA_HTR_SUSC_THK$ TO 3
EQU DATA_HTR_TUBE_CNT$ TO 4 EQU DATA_HTR_TUBE_CNT$ TO 4
EQU DATA_HTR_TUBE_THK$ TO 5 EQU DATA_HTR_TUBE_THK$ TO 5
EQU DATA_HTR_ARM_CNT$ TO 6 EQU DATA_HTR_ARM_CNT$ TO 6
EQU DATA_HTR_EXHAUST_THK$ TO 7
EQU DATA_EPP_REACT_ID$ to 1 EQU DATA_EPP_REACT_ID$ to 1
EQU DATA_EPP_SUSC_CNT$ TO 2 EQU DATA_EPP_SUSC_CNT$ TO 2
@ -32,7 +30,6 @@ EQU DATA_EPP_BELL_JAR_CNT$ TO 4
EQU DATA_EPP_BELL_JAR_THK$ TO 5 EQU DATA_EPP_BELL_JAR_THK$ TO 5
EQU DATA_EPP_LOWER_QUARTZ_CNT$ TO 6 EQU DATA_EPP_LOWER_QUARTZ_CNT$ TO 6
EQU DATA_EPP_LOWER_QUARTZ_THK$ TO 7 EQU DATA_EPP_LOWER_QUARTZ_THK$ TO 7
EQU DATA_EPP_EXHAUST_THK$ TO 8
ASMDataTable = @Window : '.OLE_DATA_ASM' ASMDataTable = @Window : '.OLE_DATA_ASM'
HTRDataTable = @Window : '.OLE_DATA_HTR' HTRDataTable = @Window : '.OLE_DATA_HTR'
@ -52,11 +49,11 @@ If Event EQ 'OLE' then
Transfer Param1 to Event Transfer Param1 to Event
Transfer Param2 to Param1 Transfer Param2 to Param1
Transfer Param3 to Param2 Transfer Param3 to Param2
Transfer Param4 to Param3 * Transfer Param4 to Param3
Transfer Param5 to Param4 * Transfer Param5 to Param4
Transfer Param6 to Param5 * Transfer Param6 to Param5
Transfer Param7 to Param6 * Transfer Param7 to Param6
Transfer Param8 to Param7 * Transfer Param8 to Param7
end end
GoToEvent Event for CtrlEntId else GoToEvent Event for CtrlEntId else
@ -70,25 +67,17 @@ Return EventFlow or 1
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
Event WINDOW.CREATE(CreateParam) Event WINDOW.CREATE(CreateParam)
GoSub SetupOLEControls GoSub SetupOLEControls
GoSub GetReactorMetrics GoSub GetReactorMetrics
End Event End Event
Event TABCONTROL_1.CLICK() Event TABCONTROL_1.CLICK()
Page = Get_Property(@Window : '.TABCONTROL_1', 'VALUE') Page = Get_Property(@Window : '.TABCONTROL_1', 'VALUE')
Set_Property(@WINDOW,'VPOSITION', Page) Set_Property(@WINDOW,'VPOSITION', Page)
end event end event
Event PUB_REFRESH_DATA.CLICK() Event PUB_REFRESH_DATA.CLICK()
GoSub GetReactorMetrics GoSub GetReactorMetrics
end event end event
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -96,7 +85,6 @@ end event
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
GetReactorMetrics: GetReactorMetrics:
ReactorRec = '' ReactorRec = ''
ASMData = '' ASMData = ''
HTRData = '' HTRData = ''
@ -117,13 +105,12 @@ GetReactorMetrics:
for each Reactor in ASMList using @FM setting rPos for each Reactor in ASMList using @FM setting rPos
MetricData = Reactor_Services('GetWaferCntMetricsByReactorID', Reactor) MetricData = Reactor_Services('GetWaferCntMetricsByReactorID', Reactor)
if Error_Services('NoError') then if Error_Services('NoError') then
ASMData<rPos, DATA_ASM_REACT_ID$> = MetricData<1, DATA_ASM_REACT_ID$> ASMData<rPos, DATA_ASM_REACT_ID$> = MetricData<1, DATA_ASM_REACT_ID$>
ASMData<rPos, DATA_ASM_SUSC_CNT$> = MetricData<1, DATA_ASM_SUSC_CNT$> ASMData<rPos, DATA_ASM_SUSC_CNT$> = MetricData<1, DATA_ASM_SUSC_CNT$>
ASMData<rPos, DATA_ASM_SUSC_THK$> = MetricData<1, DATA_ASM_SUSC_THK$> ASMData<rPos, DATA_ASM_SUSC_THK$> = MetricData<1, DATA_ASM_SUSC_THK$>
ASMData<rPos, DATA_ASM_TUBE_CNT$> = MetricData<1, DATA_ASM_TUBE_CNT$> ASMData<rPos, DATA_ASM_TUBE_CNT$> = MetricData<1, DATA_ASM_TUBE_CNT$>
ASMData<rPos, DATA_ASM_TUBE_THK$> = MetricData<1, DATA_ASM_TUBE_THK$> ASMData<rPos, DATA_ASM_TUBE_THK$> = MetricData<1, DATA_ASM_TUBE_THK$>
ASMData<rPos, DATA_ASM_ARM_CNT$> = MetricData<1, DATA_ASM_ARM_CNT$> ASMData<rPos, DATA_ASM_ARM_CNT$> = MetricData<1, DATA_ASM_ARM_CNT$>
ASMData<rPos, DATA_ASM_EXHAUST_THK$> = MetricData<1, DATA_ASM_EXHAUST_THK$>
end else end else
ErrorMessage = Error_Services('GetMessage') ErrorMessage = Error_Services('GetMessage')
LogData = LoggingDTM : @FM : ErrorMessage LogData = LoggingDTM : @FM : ErrorMessage
@ -136,13 +123,12 @@ GetReactorMetrics:
for each Reactor in HTRList using @FM setting rPos for each Reactor in HTRList using @FM setting rPos
MetricData = Reactor_Services('GetWaferCntMetricsByReactorID', Reactor) MetricData = Reactor_Services('GetWaferCntMetricsByReactorID', Reactor)
if Error_Services('NoError') then if Error_Services('NoError') then
HTRData<rPos, DATA_HTR_REACT_ID$> = MetricData <1, DATA_HTR_REACT_ID$> HTRData<rPos, DATA_HTR_REACT_ID$> = MetricData <1, DATA_HTR_REACT_ID$>
HTRData<rPos, DATA_HTR_SUSC_CNT$> = MetricData<1, DATA_HTR_SUSC_CNT$> HTRData<rPos, DATA_HTR_SUSC_CNT$> = MetricData<1, DATA_HTR_SUSC_CNT$>
HTRData<rPos, DATA_HTR_SUSC_THK$> = MetricData<1, DATA_HTR_SUSC_THK$> HTRData<rPos, DATA_HTR_SUSC_THK$> = MetricData<1, DATA_HTR_SUSC_THK$>
HTRData<rPos, DATA_HTR_TUBE_CNT$> = MetricData<1, DATA_HTR_TUBE_CNT$> HTRData<rPos, DATA_HTR_TUBE_CNT$> = MetricData<1, DATA_HTR_TUBE_CNT$>
HTRData<rPos, DATA_HTR_TUBE_THK$> = MetricData<1, DATA_HTR_TUBE_THK$> HTRData<rPos, DATA_HTR_TUBE_THK$> = MetricData<1, DATA_HTR_TUBE_THK$>
HTRData<rPos, DATA_HTR_ARM_CNT$> = MetricData<1, DATA_HTR_ARM_CNT$> HTRData<rPos, DATA_HTR_ARM_CNT$> = MetricData<1, DATA_HTR_ARM_CNT$>
HTRData<rPos, DATA_HTR_EXHAUST_THK$> = MetricData<1, DATA_HTR_EXHAUST_THK$>
end else end else
ErrorMessage = Error_Services('GetMessage') ErrorMessage = Error_Services('GetMessage')
LogData = LoggingDTM : @FM : ErrorMessage LogData = LoggingDTM : @FM : ErrorMessage
@ -163,7 +149,6 @@ GetReactorMetrics:
EPPData<rPos, DATA_EPP_BELL_JAR_THK$> = MetricData<1, DATA_EPP_BELL_JAR_THK$> EPPData<rPos, DATA_EPP_BELL_JAR_THK$> = MetricData<1, DATA_EPP_BELL_JAR_THK$>
EPPData<rPos, DATA_EPP_LOWER_QUARTZ_CNT$> = MetricData<1, DATA_EPP_LOWER_QUARTZ_CNT$> EPPData<rPos, DATA_EPP_LOWER_QUARTZ_CNT$> = MetricData<1, DATA_EPP_LOWER_QUARTZ_CNT$>
EPPData<rPos, DATA_EPP_LOWER_QUARTZ_THK$> = MetricData<1, DATA_EPP_LOWER_QUARTZ_THK$> EPPData<rPos, DATA_EPP_LOWER_QUARTZ_THK$> = MetricData<1, DATA_EPP_LOWER_QUARTZ_THK$>
EPPData<rPos, DATA_EPP_EXHAUST_THK$> = MetricData<1, DATA_EPP_EXHAUST_THK$>
end else end else
ErrorMessage = Error_Services('GetMessage') ErrorMessage = Error_Services('GetMessage')
LogData = LoggingDTM : @FM : ErrorMessage LogData = LoggingDTM : @FM : ErrorMessage
@ -174,55 +159,36 @@ GetReactorMetrics:
return return
SetupOLEControls: SetupOLEControls:
// Set Row Headers to invisible //Set Row Headers to invisible
Set_Property(ASMDataTable, "OLE.HeaderColumn[1]", '':@FM:False$) Set_Property(ASMDataTable, "OLE.HeaderColumn[1]", '':@FM:False$)
Set_Property(HTRDataTable, "OLE.HeaderColumn[1]", '':@FM:False$) Set_Property(HTRDataTable, "OLE.HeaderColumn[1]", '':@FM:False$)
Set_Property(EPPDataTable, "OLE.HeaderColumn[1]", '':@FM:False$) Set_Property(EPPDataTable, "OLE.HeaderColumn[1]", '':@FM:False$)
// Set Number of columns for each table //Set Number of columns for each table
Set_Property(ASMDataTable, "OLE.Dimension", 7);*6 columns for ASM Data Table Set_Property(ASMDataTable, "OLE.Dimension", 6);*6 columns for ASM Data Table
Set_Property(HTRDataTable, "OLE.Dimension", 7);*6 columns for HTR Data Table Set_Property(HTRDataTable, "OLE.Dimension", 6);*6 columns for HTR Data Table
Set_Property(EPPDataTable, "OLE.Dimension", 8);*7 columns for EPP Data Table Set_Property(EPPDataTable, "OLE.Dimension", 7);*7 columns for EPP Data Table
// Set size of all columns //Set size of columns
ColSizeArray = '' ColSizeArray = ''
ColSizeArray<1> = 115 ColSizeArray<1> = 100
Set_Property(ASMDataTable, "OLE.DataColumn[All]", ColSizeArray) Set_Property(ASMDataTable, "OLE.DataColumn[All]", ColSizeArray)
Set_Property(HTRDataTable, "OLE.DataColumn[All]", ColSizeArray) Set_Property(HTRDataTable, "OLE.DataColumn[All]", ColSizeArray)
Set_Property(EPPDataTable, "OLE.DataColumn[All]", ColSizeArray) Set_Property(EPPDataTable, "OLE.DataColumn[All]", ColSizeArray)
// Shrink size of column 1
ColSizeArray<1> = 60
Set_Property(ASMDataTable, "OLE.DataColumn[1]", ColSizeArray)
Set_Property(HTRDataTable, "OLE.DataColumn[1]", ColSizeArray)
Set_Property(EPPDataTable, "OLE.DataColumn[1]", ColSizeArray)
// Set size of all columns
ColSizeArray = ''
ColSizeArray<1> = 125
Set_Property(EPPDataTable, "OLE.DataColumn[6]", ColSizeArray)
// Set autosize last column to true to fill out table width
ColSizeArray<1> = 125
ColSizeArray<4> = True$
Set_Property(ASMDataTable, "OLE.DataColumn[7]", ColSizeArray)
Set_Property(HTRDataTable, "OLE.DataColumn[7]", ColSizeArray)
Set_Property(EPPDataTable, "OLE.DataColumn[8]", ColSizeArray)
//Set ASM Table Col. Headers //Set ASM Table Col. Headers
HeaderTitles = 'Reactor#':@VM:'Susc. Wfr. Cnt.':@VM:'Susc. Thk':@VM:'Tube Wfr. Cnt.':@VM:'Tube Wfr. Thk':@VM:'Arm Wfr. Cnt.':@VM:'Exhaust Chamber Thk.' HeaderTitles = 'Reactor#':@VM:'Susc. Wfr. Cnt.':@VM:'Susc. Thk':@VM:'Tube Wfr. Cnt.':@VM:'Tube Wfr. Thk':@VM:'Arm Wfr. Cnt.'
Set_Property(ASMDataTable, "OLE.TitleList", HeaderTitles) Set_Property(ASMDataTable, "OLE.TitleList", HeaderTitles)
//Set HTR Table Col. Headers //Set HTR Table Col. Headers
HeaderTitles = 'Reactor#':@VM:'Susc. Run Cnt.':@VM:'Susc. Thk':@VM:'Tube Run Cnt.':@VM:'Tube Thk':@VM:'Arm Wfr. Cnt.':@VM:'Exhaust Chamber Thk.' HeaderTitles = 'Reactor#':@VM:'Susc. Run Cnt.':@VM:'Susc. Thk':@VM:'Tube Run Cnt.':@VM:'Tube Thk':@VM:'Arm Wfr. Cnt.'
Set_Property(HTRDataTable, "OLE.TitleList", HeaderTitles) Set_Property(HTRDataTable, "OLE.TitleList", HeaderTitles)
//Set EPP Table Col. Headers //Set EPP Table Col. Headers
HeaderTitles = 'Reactor#':@VM:'Susc. Run Cnt.':@VM:'Susc. Thk':@VM:'Bell Jar Run Cnt.':@VM:'Bell Jar Thk':@VM:'Lower Quartz Run Cnt.':@VM:'Lower Quartz thk.':@VM:'Exhaust Chamber Thk.' HeaderTitles = 'Reactor#':@VM:'Susc. Run Cnt.':@VM:'Susc. Thk':@VM:'Bell Jar Run Cnt.':@VM:'Bell Jar Thk':@VM:'Lower Quartz Run Cnt.':@VM:'Lower Quartz thk.'
Set_Property(EPPDataTable, "OLE.TitleList", HeaderTitles) Set_Property(EPPDataTable, "OLE.TitleList", HeaderTitles)
return return

View File

@ -535,9 +535,9 @@ Service CancelOrder(OrderId)
If HttpResponseJson NE '' then If HttpResponseJson NE '' then
ObjResponseJson = '' ObjResponseJson = ''
If SRP_JSON(ObjResponseJson, 'Parse', HttpResponseJson) EQ '' then If SRP_JSON(ObjResponseJson, 'Parse', HttpResponseJson) EQ '' then
IsComplete = SRP_JSON(ObjResponseJson, 'GetValue', 'isComplete') IsComplete = SRP_JSON(ObjResponseJson, 'GetValue', 'pendingUpdate')
NicaOrderRec<NICA_ORDERS.ORDER_STATUS$> = 'cancelled' NicaOrderRec<NICA_ORDERS.ORDER_STATUS$> = SRP_JSON(ObjResponseJson, 'GetValue', 'state')
NicaOrderRec<NICA_ORDERS.IS_COMPLETE$> = IsComplete NicaOrderRec<NICA_ORDERS.IS_COMPLETE$> = SRP_JSON(ObjResponseJson, 'GetValue', 'isComplete')
CloseDtm = Datetime() CloseDtm = Datetime()
NicaOrderRec<NICA_ORDERS.CLOSED_DTM$> = CloseDtm NicaOrderRec<NICA_ORDERS.CLOSED_DTM$> = CloseDtm
If IsComplete EQ False$ then If IsComplete EQ False$ then
@ -904,3 +904,4 @@ end service
// Internal GoSubs // Internal GoSubs
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -18,7 +18,7 @@ COMPILE FUNCTION obj_Reactor_Log(Method,Parms)
*/ */
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Btree.Extract, obj_React_Item_Hist, Update_Index, obj_Post_Log DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Btree.Extract, obj_React_Item_Hist, Update_Index, obj_Post_Log
Declare subroutine Error_Services, Database_Services, React_Item_Services Declare subroutine Error_Services, Database_Services
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, obj_React_Item, obj_Calendar, Database_Services DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, obj_React_Item, obj_Calendar, Database_Services
@ -195,16 +195,18 @@ PostReactItems:
ReactorLogRec<REACTOR_LOG_RI_POST_DTM$> = PostDTM ReactorLogRec<REACTOR_LOG_RI_POST_DTM$> = PostDTM
otParms = FIELDSTORE(otParms,@RM,4,0,ReactorLogRec) otParms = FIELDSTORE(otParms,@RM,4,0,ReactorLogRec)
//obj_Tables('WriteRec',otParms)
Database_Services('WriteDataRow', 'REACTOR_LOG', RLNo, ReactorLogRec, 1, 0, 1) Database_Services('WriteDataRow', 'REACTOR_LOG', RLNo, ReactorLogRec, 1, 0, 1)
Update_Index('REACT_ITEM_HIST', 'INST_RL_ID', False$, True$) ;* Don't wait for indexer - flush pending indexes now Update_Index('REACT_ITEM_HIST', 'INST_RL_ID', False$, True$) ;* Don't wait for indexer - flush pending indexes now
Update_Index('REACT_ITEM_HIST', 'REM_RL_ID', False$, True$) Update_Index('REACT_ITEM_HIST', 'REM_RL_ID', False$, True$)
end else end else
Error_Services('Add', ValidationFailureReason) Error_Services('Add', ValidationFailureReason)
end end
RETURN RETURN
@ -384,3 +386,10 @@ RemHistKeys:
RETURN RETURN

View File

@ -18,12 +18,11 @@ COMPILE FUNCTION obj_React_Item_Hist(Method,Parms)
*/ */
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Send_Dyn, obj_Popup DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Send_Dyn, obj_Popup
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Btree.Extract, React_Item_Services DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn
DECLARE SUBROUTINE ErrMsg, Btree.Extract
$Insert LOGICAL
$INSERT REACT_ITEM_HIST_EQUATES $INSERT REACT_ITEM_HIST_EQUATES
$INSERT RLIST_EQUATES
EQU CRLF$ TO \0D0A\ EQU CRLF$ TO \0D0A\
EQU TAB$ TO CHAR(9) EQU TAB$ TO CHAR(9)
@ -63,26 +62,26 @@ RETURN Result
Install: Install:
* * * * * * * * * * * * * *
RIHKey = Parms[1,@RM] RIHKey = Parms[1,@RM]
RL_Id = Parms[COL2()+1,@RM] RL_Id = Parms[COL2()+1,@RM]
ReactWfrCnt = Parms[COL2()+1,@RM] ReactWfrCnt = Parms[COL2()+1,@RM]
ReactHrs = Parms[COL2()+1,@RM] ReactHrs = Parms[COL2()+1,@RM]
IF RIHKey = '' THEN ErrorMsg = 'Null Parameter "RIHKey" passed to routine. (':Method:')' IF RIHKey = '' THEN ErrorMsg = 'Null Parameter "RIHKey" passed to routine. (':Method:')'
IF RL_Id = '' THEN ErrorMsg = 'Null Parameter "RL_Id" passed to routine. (':Method:')' IF RL_Id = '' THEN ErrorMsg = 'Null Parameter "RL_Id" passed to routine. (':Method:')'
*IF ReactWfrCnt = '' THEN ErrorMsg = 'Null Parameter "ReactWfrCnt" passed to routine. (':Method:')' ;* Optional
*IF ReactHrs = '' THEN ErrorMsg = 'Null Parameter "ReactHrs" passed to routine. (':Method:')' ;* Optional
IF ErrorMsg NE '' THEN RETURN IF ErrorMsg NE '' THEN RETURN
RIHRec = '' RIHRec = ''
RIHRec<REACT_ITEM_HIST_INST_RL_ID$> = RL_ID RIHRec<REACT_ITEM_HIST_INST_RL_ID$> = RL_ID
RIHRec<REACT_ITEM_HIST_INST_REACT_WFR_CNT$> = ReactWfrCnt RIHRec<REACT_ITEM_HIST_INST_REACT_WFR_CNT$> = ReactWfrCnt
RIHRec<REACT_ITEM_HIST_INST_REACT_HRS$> = ReactHrs RIHRec<REACT_ITEM_HIST_INST_REACT_HRS$> = ReactHrs
otParms = 'REACT_ITEM_HIST':@RM:RIHKey:@RM:@RM:RIHRec otParms = 'REACT_ITEM_HIST':@RM:RIHKey:@RM:@RM:RIHRec
obj_Tables('WriteRec',otParms) obj_Tables('WriteRec',otParms)
RINo = Field(RIHKey, '*', 2, 1)
React_Item_Services('UpdateReactItemStatus', RINo)
RETURN RETURN
@ -91,36 +90,38 @@ RETURN
Remove: Remove:
* * * * * * * * * * * * * *
RIHKey = Parms[1,@RM] RIHKey = Parms[1,@RM]
RemoveDTM = Parms[COL2()+1,@RM] ;* Internal format * RemoveDTM = Parms[COL2()+1,@RM] ;* Internal format *
RL_Id = Parms[COL2()+1,@RM] RL_Id = Parms[COL2()+1,@RM]
ReactWfrCnt = Parms[COL2()+1,@RM] ReactWfrCnt = Parms[COL2()+1,@RM]
ReactHrs = Parms[COL2()+1,@RM] ReactHrs = Parms[COL2()+1,@RM]
IF RIHKey = '' THEN ErrorMsg = 'Null Parameter "RIHKey" passed to routine. (':Method:')' IF RIHKey = '' THEN ErrorMsg = 'Null Parameter "RIHKey" passed to routine. (':Method:')'
IF RemoveDTM = '' THEN ErrorMsg = 'Null Parameter "RemoveDTM" passed to routine. (':Method:')' IF RemoveDTM = '' THEN ErrorMsg = 'Null Parameter "RemoveDTM" passed to routine. (':Method:')'
IF RL_Id = '' THEN ErrorMsg = 'Null Parameter "RL_Id" passed to routine. (':Method:')' IF RL_Id = '' THEN ErrorMsg = 'Null Parameter "RL_Id" passed to routine. (':Method:')'
*IF ReactWfrCnt = '' THEN ErrorMsg = 'Null Parameter "ReactWfrCnt" passed to routine. (':Method:')' ;* Optional
*IF ReactHrs = '' THEN ErrorMsg = 'Null Parameter "ReactHrs" passed to routine. (':Method:')' ;* Optional
IF ErrorMsg NE '' THEN RETURN IF ErrorMsg NE '' THEN RETURN
otParms = 'REACT_ITEM_HIST':@RM:RIHKey * Read and update record *
RIHRec = obj_Tables('ReadRec',otParms) otParms = 'REACT_ITEM_HIST':@RM:RIHKey
IF Get_Status(errCode) THEN RIHRec = obj_Tables('ReadRec',otParms)
Set_Status(0)
RIHRec = ''
END
RIHRec<REACT_ITEM_HIST_REM_DTM$> = RemoveDTM IF Get_Status(errCode) THEN
RIHRec<REACT_ITEM_HIST_REM_RL_ID$> = RL_Id Set_Status(0)
RIHRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$> = ReactWfrCnt RIHRec = ''
RIHRec<REACT_ITEM_HIST_REM_REACT_HRS$> = ReactHrs END
otParms = FIELDSTORE(otParms,@RM,4,0,RIHRec) RIHRec<REACT_ITEM_HIST_REM_DTM$> = RemoveDTM
obj_Tables('WriteRec',otParms) RIHRec<REACT_ITEM_HIST_REM_RL_ID$> = RL_Id
RINo = Field(RIHKey, '*', 2, 1) RIHRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$> = ReactWfrCnt
React_Item_Services('UpdateReactItemStatus', RINo) RIHRec<REACT_ITEM_HIST_REM_REACT_HRS$> = ReactHrs
otParms = FIELDSTORE(otParms,@RM,4,0,RIHRec)
obj_Tables('WriteRec',otParms)
RETURN RETURN
@ -129,21 +130,24 @@ RETURN
ClearRemove: ClearRemove:
* * * * * * * * * * * * * *
RIHKey = Parms[1,@RM] RIHKey = Parms[1,@RM]
IF RIHKey = '' THEN RETURN IF RIHKey = '' THEN RETURN
otParms = 'REACT_ITEM_HIST':@RM:RIHKey
RIHRec = obj_Tables('ReadRec',otParms) * Read and update record *
RIHRec<REACT_ITEM_HIST_REM_DTM$> = '' otParms = 'REACT_ITEM_HIST':@RM:RIHKey
RIHRec<REACT_ITEM_HIST_REM_RL_ID$> = ''
RIHRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$> = ''
RIHRec<REACT_ITEM_HIST_REM_REACT_HRS$> = ''
otParms = FIELDSTORE(otParms,@RM,4,0,RIHRec) RIHRec = obj_Tables('ReadRec',otParms)
obj_Tables('WriteRec',otParms)
RIHRec<REACT_ITEM_HIST_REM_DTM$> = ''
RIHRec<REACT_ITEM_HIST_REM_RL_ID$> = ''
RIHRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$> = ''
RIHRec<REACT_ITEM_HIST_REM_REACT_HRS$> = ''
otParms = FIELDSTORE(otParms,@RM,4,0,RIHRec)
obj_Tables('WriteRec',otParms)
RETURN RETURN
@ -152,50 +156,49 @@ RETURN
GetHistory: GetHistory:
* * * * * * * * * * * * * *
ReactNo = Parms[1,@RM] ReactNo = Parms[1,@RM]
RINo = Parms[COL2()+1,@RM] RINo = Parms[COL2()+1,@RM]
RIType = Parms[COL2()+1,@RM] RIType = Parms[COL2()+1,@RM]
IF ReactNo = '' AND RINo = '' AND RIType = '' THEN RETURN IF ReactNo = '' AND RINo = '' AND RIType = '' THEN RETURN
OPEN 'DICT.REACT_ITEM_HIST' TO DictVar ELSE OPEN 'DICT.REACT_ITEM_HIST' TO DictVar ELSE
ErrorMsg = 'Unable to open DICT.REACT_ITEM_HIST for index lookup' ErrorMsg = 'Unable to open DICT.REACT_ITEM_HIST for index lookup'
RETURN RETURN
END END
Search = '' Search = ''
IF ReactNo NE '' THEN Search := 'REACT_NO':@VM:ReactNo:@FM IF ReactNo NE '' THEN Search := 'REACT_NO':@VM:ReactNo:@FM
IF RINo NE '' THEN Search := 'RI_NO':@VM:RINo:@FM IF RINo NE '' THEN Search := 'RI_NO':@VM:RINo:@FM
IF RIType NE '' THEN Search := 'RI_TYPE':@VM:RIType:@FM IF RIType NE '' THEN Search := 'RI_TYPE':@VM:RIType:@FM
Option = '' Option = ''
Flag = '' Flag = ''
Btree.Extract(Search, 'REACT_ITEM_HIST', DictVar, RIKeys, Option, Flag) ;* Get unsorted keys based on Search parameters Btree.Extract(Search, 'REACT_ITEM_HIST', DictVar, RIKeys, Option, Flag) ;* Get unsorted keys based on Search parameters
// Put sort data in first column (Install DTM) * Put sort data in first column (Install DTM)
WorkList = '' WorkList = ''
riCnt = COUNT(RIKeys,@VM) + (RIKeys NE '') riCnt = COUNT(RIKeys,@VM) + (RIKeys NE '')
FOR I = 1 TO riCnt FOR I = 1 TO riCnt
RIKey = RIKeys<1,I> RIKey = RIKeys<1,I>
WorkList<I> = FIELD(RIKey,'*',3):@VM:RIKey WorkList<I> = FIELD(RIKey,'*',3):@VM:RIKey
NEXT I NEXT I
WorkList := @RM WorkList := @RM
CONVERT @FM:@VM TO @RM:@FM IN WorkList ;* push delimiters higher for V119 CONVERT @FM:@VM TO @RM:@FM IN WorkList ;* push delimiters higher for V119
CALL V119('S','','D','L',WorkList,'') ;* Descending Left justified sort CALL V119('S','','D','L',WorkList,'') ;* Descending Left justified sort
CONVERT @FM:@RM TO @VM:@FM IN WorkList ;* pull delimiters lower CONVERT @FM:@RM TO @VM:@FM IN WorkList ;* pull delimiters lower
WorkList[-1,1] = '' ;* Trim trailing delimiter WorkList[-1,1] = '' ;* Trim trailing delimiter
FOR I = 1 TO riCnt FOR I = 1 TO riCnt
Result<1,I> = WorkList<I,2> ;* Strip Sort column(s) Result<1,I> = WorkList<I,2> ;* Strip Sort column(s)
NEXT I NEXT I
RETURN RETURN

View File

@ -84,7 +84,6 @@ $Insert NOTIFICATION_EQUATES
$Insert DICT_EQUATES $Insert DICT_EQUATES
$Insert COMPANY_EQUATES $Insert COMPANY_EQUATES
$Insert RETURN_TO_FAB_LOTS_EQUATES $Insert RETURN_TO_FAB_LOTS_EQUATES
$Insert TEST_RUN_EQUATES
EQU COL$LSID TO 1 EQU COL$LSID TO 1
EQU COL$RECIPE TO 2 EQU COL$RECIPE TO 2
@ -849,27 +848,6 @@ Service IsTWLoggingReqd(RDSNo)
Response = IsTWReqd Response = IsTWReqd
end service end service
Service TestWaferRanAfterLoad(RDSNo)
TestWaferRanAfterLoad = False$
TestWaferKeys = Test_Run_Services('GetTestRunKeysByRDS', RDSNo)
for each Key in TestWaferKeys using @VM
TestWaferDtm = Xlate('TEST_RUN', Key, TEST_RUN_RUN_DTM$, 'X')
TestWaferDate = SRP_DateTime('Date', TestWaferDtm)
TestWaferTime = SRP_DateTime('Time', TestWaferDtm)
RdsDateIn = Xlate('RDS', RDSNo, RDS_DATE_IN$, 'X')
RdsTimeIn = Xlate('RDS', RDSNo, RDS_TIME_IN$, 'X')
TestWaferRanAfterLoad = TestWaferDate > RdsDateIn
If TestWaferRanAfterLoad EQ False$ then
TestWaferRanAfterLoad = (TestWaferDate EQ RdsDateIn) and TestWaferTime GT RdsTimeIn
end
Until TestWaferRanAfterLoad EQ True$
Next Key
Response = TestWaferRanAfterLoad
end service
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
// VerifyEPPMetrology // VerifyEPPMetrology
// //
@ -1827,4 +1805,3 @@ return

View File

@ -277,7 +277,6 @@ Event PUB_SIGN.CLICK()
end end
If (Valid EQ True$) then If (Valid EQ True$) then
ReactorType = XLATE('RDS',RDSNo,'REACTOR_TYPE','X') ReactorType = XLATE('RDS',RDSNo,'REACTOR_TYPE','X')
ErrMsg = ''
If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then
WoMatKey = WONo:'*':CassNo WoMatKey = WONo:'*':CassNo
IsLastCassetteInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey) IsLastCassetteInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey)
@ -299,44 +298,26 @@ Event PUB_SIGN.CLICK()
WoMatRecord = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey) WoMatRecord = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey)
WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$> = True$ WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$> = True$
TestWaferRanSinceLoad = WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> Message = ''
If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then
If TestWaferRanSinceLoad NE True$ then Message = 'No material scheduled. Test wafer required.'
TestWaferRanSinceLoad = Rds_Services('TestWaferRanAfterLoad', RDSNo) end else if NextEventHasSamePsn EQ False$ then
WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> = TestWaferRanSinceLoad Message = 'Next work order is a NEW PSN number. Test wafer required.'
If TestWaferRanSinceLoad NE True$ then
Message = ''
If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then
Message = 'No material scheduled. Test wafer required.'
end else if NextEventHasSamePsn EQ False$ then
Message = 'Next work order is a NEW PSN number. Test wafer required.'
end
Message_Box(@Window, Message, "Test Wafer Required", MSG_BTN_OK$ + MSG_ICON_EXCLAM$)
TWLogResult = Dialog_Box('NDW_LOG_TEST_WAFER_USAGE', @Window, RDSNo : @VM : '' : @VM : 'REACTOR' : @VM : Reactor)
WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> = TWLogResult
If TWLogResult NE True$ then
ErrMsg = 'Unload blocked! You must run a test wafer before signing the unload'
end
end
end end
MesageAcked = Message_Box(@Window, Message, "Test Wafer Required", MSG_BTN_OK$ + MSG_ICON_EXCLAM$)
WoMatRecord<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$> = True$
Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRecord, True$, False$, False$)
ConfirmNote = 'Test wafer requirement acknowledged. [RDS:' : RDSNo : '], [WO:' : WONo : '], [Cassette:' : CassNo : ']'
Reactor_Log_Services('AddComment', Reactor, ConfirmNote, @User4)
end end
Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRecord, True$, False$, False$)
end end
end end
end end
If ErrMsg NE '' then QA_Services('SignUnloadStage', RDSNo, @User4)
Error_Services('Add', ErrMsg)
end
If Error_Services('NoError') then
QA_Services('SignUnloadStage', RDSNo, @User4)
end
end end
end end
If Error_Services('HasError') then If Error_Services('HasError') then
@ -465,4 +446,3 @@ return

View File

@ -62,80 +62,24 @@ API reactItems.HEAD
API reactItems.GET API reactItems.GET
QueryFields = HTTP_Services('GetHTTPGetString') QueryFields = HTTP_Services('GetHTTPGetString')
If IndexC(QueryFields, 'includeNullRetireDt', 1) then If Index(QueryFields, 'riType', 1) then
IncludeNullRetireDt = HTTP_Services('GetQueryField', 'includeNullRetireDt') RIType = HTTP_Services('GetQueryField', 'riType')
Begin Case
Case ( (IncludeNullRetireDt EQ 1) or (IncludeNullRetireDt EQ 0) )
Null
Case ( (IncludeNullRetireDt _EQC 'true') or (IncludeNullRetireDt _EQC 'yes') )
IncludeNullRetireDt = True$
Case ( (IncludeNullRetireDt _EQC 'false') or (IncludeNullRetireDt _EQC 'no') )
IncludeNullRetireDt = False$
Case Otherwise$
Error_Services('Add', 'Error in ':CurrentAPI:' API. Invalid value "':IncludeNullRetireDt:'" passed in for includeNullRetireDt.')
End Case
end else end else
IncludeNullRetireDt = '' RIType = ''
end
If Error_Services('NoError') then
If IndexC(QueryFields, 'showAllDetails', 1) then
ShowAllDetails = HTTP_Services('GetQueryField', 'showAllDetails')
Begin Case
Case ( (ShowAllDetails EQ 1) or (ShowAllDetails EQ 0) )
Null
Case ( (ShowAllDetails _EQC 'true') or (ShowAllDetails _EQC 'yes') )
ShowAllDetails = True$
Case ( (ShowAllDetails _EQC 'false') or (ShowAllDetails _EQC 'no') )
ShowAllDetails = False$
Case Otherwise$
Error_Services('Add', 'Error in ':CurrentAPI:' API. Invalid value "':ShowAllDetails:'" passed in for showAllDetails.')
End Case
end else
ShowAllDetails = False$
end
If Error_Services('NoError') then
If IndexC(QueryFields, 'currStatus', 1) then
CurrStatus = HTTP_Services('GetQueryField', 'currStatus')
end else
CurrStatus = ''
end
If IndexC(QueryFields, 'riType', 1) then
RIType = HTTP_Services('GetQueryField', 'riType')
end else
RIType = ''
end
If IndexC(QueryFields, 'entryDtStart', 1) then
EntryDtStart = HTTP_Services('GetQueryField', 'entryDtStart')
end else
EntryDtStart = ''
end
If IndexC(QueryFields, 'entryDtEnd', 1) then
EntryDtEnd = HTTP_Services('GetQueryField', 'entryDtEnd')
end else
EntryDtEnd = ''
end
If IndexC(QueryFields, 'retireDtStart', 1) then
RetireDtStart = HTTP_Services('GetQueryField', 'retireDtStart')
end else
RetireDtStart = ''
end
If IndexC(QueryFields, 'retireDtEnd', 1) then
RetireDtEnd = HTTP_Services('GetQueryField', 'retireDtEnd')
end else
RetireDtEnd = ''
end
StatusCode = 200
GoSub CreateHALCollection
end else
HTTP_Services('SetResponseStatus', 400, Error_Services("GetMessage"))
end
end else
HTTP_Services('SetResponseStatus', 400, Error_Services("GetMessage"))
end end
If Index(QueryFields, 'currStatus', 1 ) then
CurrStatus = Http_Services('GetQueryField', 'currStatus')
end else
CurrStatus = ''
end
If Index(QueryFields, 'showAllDetails', 1 ) then
ShowAllDetails = Http_Services('GetQueryField', 'showAllDetails')
end else
ShowAllDetails = False$
end
StatusCode = 200
GoSub CreateHALCollection
end api end api
@ -310,7 +254,11 @@ CreateHALCollection:
JSONCollection = '' JSONCollection = ''
Abort = False$ Abort = False$
ReactItems = React_Item_Services('GetReactItems', RIType, CurrStatus, EntryDtStart, EntryDtEnd, RetireDtStart, RetireDtEnd, IncludeNullRetireDt) If RIType NE '' OR CurrStatus NE '' then
ReactItems = React_Item_Services('GetReactItems', RIType, CurrStatus)
end else
ReactItems = React_Item_Services('GetAllReactItemKeys')
end
If ReactItems NE '' then If ReactItems NE '' then
If SRP_JSON(hJSONCollection, 'New', 'Object') then If SRP_JSON(hJSONCollection, 'New', 'Object') then
@ -356,4 +304,3 @@ CreateHALCollection:
end end
return return

File diff suppressed because it is too large Load Diff

View File

@ -101,7 +101,7 @@ Return Response else ''
// Service Parameter Options // Service Parameter Options
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Options BOOLEAN = True$, False$ Options BOOLEAN = True$, False$
Options REACTORMETRIC = 'TUBE_BELL_JAR_THK', 'TUBE_BELL_JAR_WFR_CNT', 'SUSC_THK', 'SUSC_WFR_CNT', 'LOWER_QUARTZ_THK', 'LOWER_QUARTZ_WFR', 'ARMS_WFR_CNT', 'EXHAUST_CHAMBER_THK' Options REACTORMETRIC = 'TUBE_BELL_JAR_THK', 'TUBE_BELL_JAR_WFR_CNT', 'SUSC_THK', 'SUSC_WFR_CNT', 'LOWER_QUARTZ_THK', 'LOWER_QUARTZ_WFR', 'ARMS_WFR_CNT'
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Services // Services
@ -136,7 +136,6 @@ Service IncrementWfrMetrics(RDSNo)
CurrSuscWfrCnt = OldReactorRec<REACTOR_SUSC_WFR_CNT$> CurrSuscWfrCnt = OldReactorRec<REACTOR_SUSC_WFR_CNT$>
CurrLowerQuartzThk = OldReactorRec<REACTOR_LOWER_QUARTZ_THK$> CurrLowerQuartzThk = OldReactorRec<REACTOR_LOWER_QUARTZ_THK$>
CurrLowerQuartzWfr = OldReactorRec<REACTOR_LOWER_QUARTZ_WFR$> CurrLowerQuartzWfr = OldReactorRec<REACTOR_LOWER_QUARTZ_WFR$>
CurrExhaustThk = OldReactorRec<REACTOR_EXHAUST_CHAMBER_THK$>
// Arms are not used for EPP // Arms are not used for EPP
If ReactorType NE 'EPP' then If ReactorType NE 'EPP' then
@ -151,7 +150,6 @@ Service IncrementWfrMetrics(RDSNo)
If CurrSuscWfrCnt = '' then CurrSuscWfrCnt = 0 If CurrSuscWfrCnt = '' then CurrSuscWfrCnt = 0
If CurrLowerQuartzThk = '' then CurrLowerQuartzThk = 0 If CurrLowerQuartzThk = '' then CurrLowerQuartzThk = 0
If CurrLowerQuartzWfr = '' then CurrLowerQuartzWfr = 0 If CurrLowerQuartzWfr = '' then CurrLowerQuartzWfr = 0
If CurrExhaustThk = '' then CurrExhaustThk = 0
Begin Case Begin Case
@ -163,7 +161,6 @@ Service IncrementWfrMetrics(RDSNo)
NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt + 1 NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt + 1
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + TargetThickness NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + TargetThickness
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + 1 NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + 1
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk + TargetThickness
Case ReactorType = 'HTR' Case ReactorType = 'HTR'
@ -179,7 +176,6 @@ Service IncrementWfrMetrics(RDSNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + CntAddition NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + CntAddition
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk + ThkAddition
Case SusceptorSize = 8 Case SusceptorSize = 8
// Round up // Round up
@ -196,7 +192,6 @@ Service IncrementWfrMetrics(RDSNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + CntAddition NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + CntAddition
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk + ThkAddition
End Case End Case
@ -211,7 +206,6 @@ Service IncrementWfrMetrics(RDSNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + WaferCount NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + WaferCount
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk + ThkAddition
End Case End Case
@ -235,7 +229,6 @@ Service GetWaferCntMetricsByReactorID(ReactorID)
ResponseData<1, 4> = ReactorRec<REACTOR_TUBE_BELL_JAR_WFR_CNT$> ResponseData<1, 4> = ReactorRec<REACTOR_TUBE_BELL_JAR_WFR_CNT$>
ResponseData<1, 5> = ReactorRec<REACTOR_TUBE_BELL_JAR_THK$> ResponseData<1, 5> = ReactorRec<REACTOR_TUBE_BELL_JAR_THK$>
ResponseData<1, 6> = ReactorRec<REACTOR_ARMS_WFR_CNT$> ResponseData<1, 6> = ReactorRec<REACTOR_ARMS_WFR_CNT$>
ResponseData<1, 7> = ReactorRec<REACTOR_EXHAUST_CHAMBER_THK$>
//These are the column titles to help us with API Responses //These are the column titles to help us with API Responses
ResponseData<2, 1> = 'ReactorID' ResponseData<2, 1> = 'ReactorID'
ResponseData<2, 2> = 'SusceptorWaferCount' ResponseData<2, 2> = 'SusceptorWaferCount'
@ -243,7 +236,6 @@ Service GetWaferCntMetricsByReactorID(ReactorID)
ResponseData<2, 4> = 'TubeWaferCount' ResponseData<2, 4> = 'TubeWaferCount'
ResponseData<2, 5> = 'TubeThickness' ResponseData<2, 5> = 'TubeThickness'
ResponseData<2, 6> = 'ArmsWaferCount' ResponseData<2, 6> = 'ArmsWaferCount'
ResponseData<2, 7> = 'ExhuastChamberThickness'
Case ReactorType EQ 'HTR' Case ReactorType EQ 'HTR'
ResponseData<1, 1> = ReactorID ResponseData<1, 1> = ReactorID
ResponseData<1, 2> = ReactorRec<REACTOR_SUSC_WFR_CNT$> ResponseData<1, 2> = ReactorRec<REACTOR_SUSC_WFR_CNT$>
@ -251,7 +243,6 @@ Service GetWaferCntMetricsByReactorID(ReactorID)
ResponseData<1, 4> = ReactorRec<REACTOR_TUBE_BELL_JAR_WFR_CNT$> ResponseData<1, 4> = ReactorRec<REACTOR_TUBE_BELL_JAR_WFR_CNT$>
ResponseData<1, 5> = ReactorRec<REACTOR_TUBE_BELL_JAR_THK$> ResponseData<1, 5> = ReactorRec<REACTOR_TUBE_BELL_JAR_THK$>
ResponseData<1, 6> = ReactorRec<REACTOR_ARMS_WFR_CNT$> ResponseData<1, 6> = ReactorRec<REACTOR_ARMS_WFR_CNT$>
ResponseData<1, 7> = ReactorRec<REACTOR_EXHAUST_CHAMBER_THK$>
//These are the column titles to help us with API Responses //These are the column titles to help us with API Responses
ResponseData<2, 1> = 'ReactorID' ResponseData<2, 1> = 'ReactorID'
ResponseData<2, 2> = 'SusceptorWaferCount' ResponseData<2, 2> = 'SusceptorWaferCount'
@ -259,7 +250,6 @@ Service GetWaferCntMetricsByReactorID(ReactorID)
ResponseData<2, 4> = 'TubeWaferCount' ResponseData<2, 4> = 'TubeWaferCount'
ResponseData<2, 5> = 'TubeThickness' ResponseData<2, 5> = 'TubeThickness'
ResponseData<2, 6> = 'ArmsWaferCount' ResponseData<2, 6> = 'ArmsWaferCount'
ResponseData<2, 7> = 'ExhuastChamberThickness'
Case ReactorType EQ 'EPP' Case ReactorType EQ 'EPP'
ResponseData<1, 1> = ReactorID ResponseData<1, 1> = ReactorID
ResponseData<1, 2> = ReactorRec<REACTOR_SUSC_WFR_CNT$> ResponseData<1, 2> = ReactorRec<REACTOR_SUSC_WFR_CNT$>
@ -268,7 +258,6 @@ Service GetWaferCntMetricsByReactorID(ReactorID)
ResponseData<1, 5> = ReactorRec<REACTOR_TUBE_BELL_JAR_THK$> ResponseData<1, 5> = ReactorRec<REACTOR_TUBE_BELL_JAR_THK$>
ResponseData<1, 6> = ReactorRec<REACTOR_LOWER_QUARTZ_WFR$> ResponseData<1, 6> = ReactorRec<REACTOR_LOWER_QUARTZ_WFR$>
ResponseData<1, 7> = ReactorRec<REACTOR_LOWER_QUARTZ_THK$> ResponseData<1, 7> = ReactorRec<REACTOR_LOWER_QUARTZ_THK$>
ResponseData<1, 8> = ReactorRec<REACTOR_EXHAUST_CHAMBER_THK$>
//These are the column titles to help us with API Responses //These are the column titles to help us with API Responses
ResponseData<2, 1> = 'ReactorID' ResponseData<2, 1> = 'ReactorID'
ResponseData<2, 2> = 'SusceptorWaferCount' ResponseData<2, 2> = 'SusceptorWaferCount'
@ -277,7 +266,6 @@ Service GetWaferCntMetricsByReactorID(ReactorID)
ResponseData<2, 5> = 'BellJarThickness' ResponseData<2, 5> = 'BellJarThickness'
ResponseData<2, 6> = 'LowerQuartzWaferCount' ResponseData<2, 6> = 'LowerQuartzWaferCount'
ResponseData<2, 7> = 'LowerQuartzThickness' ResponseData<2, 7> = 'LowerQuartzThickness'
ResponseData<2, 8> = 'ExhuastChamberThickness'
End Case End Case
Response = ResponseData Response = ResponseData
end else end else
@ -319,7 +307,6 @@ Service DecrementWfrMetrics(RDSNo)
CurrSuscWfrCnt = OldReactorRec<REACTOR_SUSC_WFR_CNT$> CurrSuscWfrCnt = OldReactorRec<REACTOR_SUSC_WFR_CNT$>
CurrLowerQuartzThk = OldReactorRec<REACTOR_LOWER_QUARTZ_THK$> CurrLowerQuartzThk = OldReactorRec<REACTOR_LOWER_QUARTZ_THK$>
CurrLowerQuartzWfr = OldReactorRec<REACTOR_LOWER_QUARTZ_WFR$> CurrLowerQuartzWfr = OldReactorRec<REACTOR_LOWER_QUARTZ_WFR$>
CurrExhaustThk = OldReactorRec<REACTOR_EXHAUST_CHAMBER_THK$>
// Arms are not used for EPP // Arms are not used for EPP
If ReactorType NE 'EPP' then If ReactorType NE 'EPP' then
@ -334,7 +321,6 @@ Service DecrementWfrMetrics(RDSNo)
If CurrSuscWfrCnt = '' then CurrSuscWfrCnt = 0 If CurrSuscWfrCnt = '' then CurrSuscWfrCnt = 0
If CurrLowerQuartzThk = '' then CurrLowerQuartzThk = 0 If CurrLowerQuartzThk = '' then CurrLowerQuartzThk = 0
If CurrLowerQuartzWfr = '' then CurrLowerQuartzWfr = 0 If CurrLowerQuartzWfr = '' then CurrLowerQuartzWfr = 0
If CurrExhaustThk = '' then CurrExhaustThk = 0
Begin Case Begin Case
@ -346,7 +332,6 @@ Service DecrementWfrMetrics(RDSNo)
NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt - 1 NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt - 1
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - TargetThickness NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - TargetThickness
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - 1 NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - 1
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk - TargetThickness
Case ReactorType = 'HTR' Case ReactorType = 'HTR'
@ -357,12 +342,11 @@ Service DecrementWfrMetrics(RDSNo)
ThkAddition = (WaferCount / 5) * TargetThickness ThkAddition = (WaferCount / 5) * TargetThickness
NewReactorRec<REACTOR_TUBE_BELL_JAR_THK$> = CurrTubeBellJarThk - ThkAddition NewReactorRec<REACTOR_TUBE_BELL_JAR_THK$> = CurrTubeBellJarThk - ThkAddition
NewReactorRec<REACTOR_TUBE_BELL_JAR_WFR_CNT$> = CurrTubeBellJarCnt - CntAddition NewReactorRec<REACTOR_TUBE_BELL_JAR_WFR_CNT$> = CurrTubeBellJarCnt - CntAddition
NewReactorRec<REACTOR_SUSC_THK$> = CurrSuscThk - ThkAddition NewReactorRec<REACTOR_SUSC_THK$> = CurrSuscThk + ThkAddition
NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt - CntAddition NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt - CntAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - CntAddition NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - CntAddition
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk - ThkAddition
Case SusceptorSize = 8 Case SusceptorSize = 8
// Round up // Round up
@ -379,7 +363,6 @@ Service DecrementWfrMetrics(RDSNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - CntAddition NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - CntAddition
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk - ThkAddition
End Case End Case
@ -394,7 +377,6 @@ Service DecrementWfrMetrics(RDSNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - WaferCount NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - WaferCount
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk - ThkAddition
End Case End Case
@ -428,7 +410,6 @@ Service IncrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
CurrSuscWfrCnt = OldReactorRec<REACTOR_SUSC_WFR_CNT$> CurrSuscWfrCnt = OldReactorRec<REACTOR_SUSC_WFR_CNT$>
CurrLowerQuartzThk = OldReactorRec<REACTOR_LOWER_QUARTZ_THK$> CurrLowerQuartzThk = OldReactorRec<REACTOR_LOWER_QUARTZ_THK$>
CurrLowerQuartzWfr = OldReactorRec<REACTOR_LOWER_QUARTZ_WFR$> CurrLowerQuartzWfr = OldReactorRec<REACTOR_LOWER_QUARTZ_WFR$>
CurrExhaustThk = OldReactorRec<REACTOR_EXHAUST_CHAMBER_THK$>
// Arms are not used for EPP // Arms are not used for EPP
If ReactorType NE 'EPP' then If ReactorType NE 'EPP' then
@ -454,7 +435,6 @@ Service IncrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt + 1 NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt + 1
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + TargetThickness NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + TargetThickness
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + 1 NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + 1
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk + TargetThickness
Case ReactorType = 'HTR' Case ReactorType = 'HTR'
@ -470,7 +450,6 @@ Service IncrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + CntAddition NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + CntAddition
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk + ThkAddition
Case SusceptorSize = 8 Case SusceptorSize = 8
// Round up // Round up
@ -487,7 +466,6 @@ Service IncrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + CntAddition NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + CntAddition
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk + ThkAddition
End Case End Case
@ -502,7 +480,6 @@ Service IncrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk + ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + WaferCount NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr + WaferCount
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt + WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk + ThkAddition
End Case End Case
@ -536,7 +513,6 @@ Service DecrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
CurrSuscWfrCnt = OldReactorRec<REACTOR_SUSC_WFR_CNT$> CurrSuscWfrCnt = OldReactorRec<REACTOR_SUSC_WFR_CNT$>
CurrLowerQuartzThk = OldReactorRec<REACTOR_LOWER_QUARTZ_THK$> CurrLowerQuartzThk = OldReactorRec<REACTOR_LOWER_QUARTZ_THK$>
CurrLowerQuartzWfr = OldReactorRec<REACTOR_LOWER_QUARTZ_WFR$> CurrLowerQuartzWfr = OldReactorRec<REACTOR_LOWER_QUARTZ_WFR$>
CurrExhaustThk = OldReactorRec<REACTOR_EXHAUST_CHAMBER_THK$>
// Arms are not used for EPP // Arms are not used for EPP
If ReactorType NE 'EPP' then If ReactorType NE 'EPP' then
@ -551,7 +527,6 @@ Service DecrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
If CurrSuscWfrCnt = '' then CurrSuscWfrCnt = 0 If CurrSuscWfrCnt = '' then CurrSuscWfrCnt = 0
If CurrLowerQuartzThk = '' then CurrLowerQuartzThk = 0 If CurrLowerQuartzThk = '' then CurrLowerQuartzThk = 0
If CurrLowerQuartzWfr = '' then CurrLowerQuartzWfr = 0 If CurrLowerQuartzWfr = '' then CurrLowerQuartzWfr = 0
If CurrExhaustThk = '' then CurrExhaustThk = 0
Begin Case Begin Case
@ -563,7 +538,6 @@ Service DecrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt - 1 NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt - 1
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - TargetThickness NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - TargetThickness
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - 1 NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - 1
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk - TargetThickness
Case ReactorType = 'HTR' Case ReactorType = 'HTR'
@ -574,12 +548,11 @@ Service DecrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
ThkAddition = (WaferCount / 5) * TargetThickness ThkAddition = (WaferCount / 5) * TargetThickness
NewReactorRec<REACTOR_TUBE_BELL_JAR_THK$> = CurrTubeBellJarThk - ThkAddition NewReactorRec<REACTOR_TUBE_BELL_JAR_THK$> = CurrTubeBellJarThk - ThkAddition
NewReactorRec<REACTOR_TUBE_BELL_JAR_WFR_CNT$> = CurrTubeBellJarCnt - CntAddition NewReactorRec<REACTOR_TUBE_BELL_JAR_WFR_CNT$> = CurrTubeBellJarCnt - CntAddition
NewReactorRec<REACTOR_SUSC_THK$> = CurrSuscThk - ThkAddition NewReactorRec<REACTOR_SUSC_THK$> = CurrSuscThk + ThkAddition
NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt - CntAddition NewReactorRec<REACTOR_SUSC_WFR_CNT$> = CurrSuscWfrCnt - CntAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - CntAddition NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - CntAddition
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk - ThkAddition
Case SusceptorSize = 8 Case SusceptorSize = 8
// Round up // Round up
@ -596,7 +569,6 @@ Service DecrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - CntAddition NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - CntAddition
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk - ThkAddition
End Case End Case
@ -611,7 +583,6 @@ Service DecrementTestWfrMetrics(TargetThickness, WaferCount, ReactorNo)
NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition NewReactorRec<REACTOR_LOWER_QUARTZ_THK$> = CurrLowerQuartzThk - ThkAddition
NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - WaferCount NewReactorRec<REACTOR_LOWER_QUARTZ_WFR$> = CurrLowerQuartzWfr - WaferCount
NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount NewReactorRec<REACTOR_ARMS_WFR_CNT$> = CurrArmsWfrCnt - WaferCount
NewReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = CurrExhaustThk - ThkAddition
End Case End Case
@ -625,7 +596,7 @@ end service
// ResetWfrMetric // ResetWfrMetric
// //
// RDSNo. - [Required] // RDSNo. - [Required]
// MetricType - [Required]('TUBE_BELL_JAR_THK', 'TUBE_BELL_JAR_WFR_CNT', 'SUSC_THK', 'SUSC_WFR_CNT', 'LOWER_QUARTZ_THK', 'LOWER_QUARTZ_WFR', 'ARMS_WFR_CNT', EXHAUST_CHAMBER_THK) // MetricType - [Required]('TUBE_BELL_JAR_THK', 'TUBE_BELL_JAR_WFR_CNT', 'SUSC_THK', 'SUSC_WFR_CNT', 'LOWER_QUARTZ_THK', 'LOWER_QUARTZ_WFR', 'ARMS_WFR_CNT')
// //
// Reset a specified REACTOR metric to 0. // Reset a specified REACTOR metric to 0.
// //
@ -657,9 +628,6 @@ Service ResetWfrMetric(ReactorNo, MetricType = REACTORMETRIC)
Case MetricType = 'ARMS_WFR_CNT' Case MetricType = 'ARMS_WFR_CNT'
ReactorRec<REACTOR_ARMS_WFR_CNT$> = 0 ReactorRec<REACTOR_ARMS_WFR_CNT$> = 0
Case MetricType = 'EXHAUST_CHAMBER_THK'
ReactorRec<REACTOR_EXHAUST_CHAMBER_THK$> = 0
End Case End Case
Database_Services('WriteDataRow', 'REACTOR', ReactorNo, ReactorRec, 1, 0, 0) Database_Services('WriteDataRow', 'REACTOR', ReactorNo, ReactorRec, 1, 0, 0)

View File

@ -1,235 +1,254 @@
Function REACT_ITEM_ACTIONS(Action, CalcColName, FSList, Handle, Name, FMC, Record, Status, OrigRecord, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10) Function REACT_ITEM_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Record, Status, OrigRecord, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
/*********************************************************************************************************************** /***********************************************************************************************************************
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
permission from Infineon. permission from Infineon.
Name : React_Item_Actions Name : RDS_Actions
Description : Handles calculated columns and MFS calls for the current table. Description : Handles calculated columns and MFS calls for the current table.
Notes : This function uses @ID, @RECORD, and @DICT to make sure {ColumnName} references work correctly. Notes : This function uses @ID, @RECORD, and @DICT to make sure {ColumnName} references work correctly.
If called from outside of a calculated column these will need to be set and restored. If called from outside of a calculated column these will need to be set and restored.
Parameters : Parameters :
Action [in] -- Name of the action to be taken Action [in] -- Name of the action to be taken
CalcColName [in] -- Name of the calculated column that needs to be processed. Normally this should only be CalcColName [in] -- Name of the calculated column that needs to be processed. Normally this should only be
populated when the CalcField action is being used. populated when the CalcField action is being used.
FSList [in] -- The list of MFSs and the BFS name for the current file or volume. This is an @SVM FSList [in] -- The list of MFSs and the BFS name for the current file or volume. This is an @SVM
delimited array, with the current MFS name as the first value in the array, and the BFS delimited array, with the current MFS name as the first value in the array, and the BFS
name as the last value. Normally set by a calling MFS. name as the last value. Normally set by a calling MFS.
Handle [in] -- The file handle of the file or media map being accessed. Note, this does contain the Handle [in] -- The file handle of the file or media map being accessed. Note, this does contain the
entire handle structure that the Basic+ Open statement would provide. Normally set by a entire handle structure that the Basic+ Open statement would provide. Normally set by a
calling MFS. calling MFS.
Name [in] -- The name (key) of the record or file being accessed. Normally set by a calling MFS. Name [in] -- The name (key) of the record or file being accessed. Normally set by a calling MFS.
FMC [in] -- Various functions. Normally set by a calling MFS. FMC [in] -- Various functions. Normally set by a calling MFS.
Record [in] -- The entire record (for record-oriented functions) or a newly-created handle (for Record [in] -- The entire record (for record-oriented functions) or a newly-created handle (for
"get handle" functions). Normally set by a calling MFS. "get handle" functions). Normally set by a calling MFS.
Status [in/out] -- Indicator of the success or failure of an action. Normally set by the calling MFS but Status [in/out] -- Indicator of the success or failure of an action. Normally set by the calling MFS but
for some actions can be set by the action handler to indicate failure. for some actions can be set by the action handler to indicate failure.
OrigRecord [in] -- Original content of the record being processed by the current action. This is OrigRecord [in] -- Original content of the record being processed by the current action. This is
automatically being assigned by the WRITE_RECORD and DELETE_RECORD actions within automatically being assigned by the WRITE_RECORD and DELETE_RECORD actions within
BASE_MFS. BASE_MFS.
Param1-10 [in/out] -- Additional request parameter holders Param1-10 [in/out] -- Additional request parameter holders
ActionFlow [out] -- Used to control the action chain (see the ACTION_SETUP insert for more information.) ActionFlow [out] -- Used to control the action chain (see the ACTION_SETUP insert for more information.)
Can also be used to return a special value, such as the results of the CalcField Can also be used to return a special value, such as the results of the CalcField
method. method.
History : (Date, Initials, Notes) History : (Date, Initials, Notes)
05/12/25 djs Updated WRITE_PRE action to update the CURR_STATUS_STATIC field if the retire date changes. 04/10/18 dmb Original programmer.
10/04/18 djs Added a trigger within the WRITE_RECORD event, which fires when the reactor number has
***********************************************************************************************************************/ changed. When this occurs the related RDS_LAYER records for this RDS record are populated
with the most recent associated TOOL_PARMS record. (related by PSN and Reactor)
#pragma precomp SRP_PreCompiler
***********************************************************************************************************************/
$Insert ACTION_SETUP
$Insert APP_INSERTS #pragma precomp SRP_PreCompiler
$Insert FILE.SYSTEM.EQUATES
$Insert REACT_ITEM_EQUATES $Insert FILE.SYSTEM.EQUATES
$Insert ACTION_SETUP
Declare function obj_React_Item $Insert RDS_EQUATES
Declare subroutine Error_Services $Insert CLEAN_INSP_EQUATES
$Insert COMPANY_EQUATES
If KeyID then GoSub Initialize_System_Variables $Insert RDS_LAYER_EQUATES
$Insert TOOL_PARMS_EQUATES
Begin Case $Insert RLIST_EQUATES
$Insert APP_INSERTS
Case Action _EQC 'CalculateColumn' ; GoSub CalculateColumn $Insert QA_MET_EQUATES
Case Action _EQC 'READ_RECORD_PRE' ; GoSub READ_RECORD_PRE $Insert PRS_STAGE_EQUATES
Case Action _EQC 'READ_RECORD' ; GoSub READ_RECORD $Insert WO_MAT_EQUATES
Case Action _EQC 'READONLY_RECORD_PRE' ; GoSub READONLY_RECORD_PRE $Insert WO_MAT_QA_EQUATES
Case Action _EQC 'READONLY_RECORD' ; GoSub READONLY_RECORD
Case Action _EQC 'WRITE_RECORD_PRE' ; GoSub WRITE_RECORD_PRE Equ COMMA$ to ','
Case Action _EQC 'WRITE_RECORD' ; GoSub WRITE_RECORD
Case Action _EQC 'DELETE_RECORD_PRE' ; GoSub DELETE_RECORD_PRE Declare function Error_Services, Database_Services, obj_RDS_Test, Logging_Services, Environment_Services, SRP_Math
Case Action _EQC 'DELETE_RECORD' ; GoSub DELETE_RECORD Declare function Tool_Parms_Services, Signature_Services, obj_WO_Mat_QA, Datetime, Override_Services, obj_WO_Mat
Case Otherwise$ ; Status = 'Invalid Action' Declare subroutine Error_Services, Database_Services, Logging_Services, Set_Status, Schedule_Services_Dev
Declare subroutine Work_Order_Services, Material_Services, Set_FSError
End Case
If KeyID then GoSub Restore_System_Variables
If Assigned(ActionFlow) else ActionFlow = ACTION_CONTINUE$
If KeyID then GoSub Initialize_System_Variables
Return ActionFlow
Begin Case
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Case Action _EQC 'CalculateColumn' ; GoSub CalculateColumn
// Calculated Columns Case Action _EQC 'READ_RECORD_PRE' ; GoSub READ_RECORD_PRE
// Case Action _EQC 'READ_RECORD' ; GoSub READ_RECORD
// The typical structure of a calculated column will look like this: Case Action _EQC 'READONLY_RECORD_PRE' ; GoSub READONLY_RECORD_PRE
// Case Action _EQC 'READONLY_RECORD' ; GoSub READONLY_RECORD
// Declare function Database_Services Case Action _EQC 'WRITE_RECORD_PRE' ; GoSub WRITE_RECORD_PRE
// Case Action _EQC 'WRITE_RECORD' ; GoSub WRITE_RECORD
// @ANS = Database_Services('CalculateColumn') Case Action _EQC 'DELETE_RECORD_PRE' ; GoSub DELETE_RECORD_PRE
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Case Action _EQC 'DELETE_RECORD' ; GoSub DELETE_RECORD
Case Otherwise$ ; Status = 'Invalid Action'
CalculateColumn:
End Case
// Make sure the ActionFlow return variable is cleared in case nothing is calculated.
ActionFlow = '' If KeyID then GoSub Restore_System_Variables
return If Assigned(ActionFlow) else ActionFlow = ACTION_CONTINUE$
// ----- MFS calls ----------------------------------------------------------------------------------------------------- Return ActionFlow
READ_RECORD_PRE:
// In order to stop a record from being read in this action these lines of code must be used: ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// // Calculated Columns
// OrigFileError = 100 : @FM : KeyID //
// Status = 0 // The typical structure of a calculated column will look like this:
// Record = '' //
// ActionFlow = ACTION_STOP$ // Declare function Database_Services
return //
// @ANS = Database_Services('CalculateColumn')
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
READ_RECORD:
CalculateColumn:
// In order to stop a record from being read in this action these lines of code must be used:
// // Make sure the ActionFlow return variable is cleared in case nothing is calculated.
// OrigFileError = 100 : @FM : KeyID ActionFlow = ''
// Status = 0
// Record = ''
return return
READONLY_RECORD_PRE:
// In order to stop a record from being read in this action these lines of code must be used: // ----- MFS calls -----------------------------------------------------------------------------------------------------
//
// OrigFileError = 100 : @FM : KeyID READ_RECORD_PRE:
// Status = 0 // In order to stop a record from being read in this action these lines of code must be used:
// Record = '' //
// ActionFlow = ACTION_STOP$ // OrigFileError = 100 : @FM : KeyID
return // Status = 0
// Record = ''
// ActionFlow = ACTION_STOP$
READONLY_RECORD:
// In order to stop a record from being read in this action these lines of code must be used:
// return
// OrigFileError = 100 : @FM : KeyID
// Status = 0 READ_RECORD:
// Record = ''
return // In order to stop a record from being read in this action these lines of code must be used:
//
// OrigFileError = 100 : @FM : KeyID
WRITE_RECORD_PRE: // Status = 0
// Record = ''
ErrMsg = ''
return
// Req'd parameter checks
ItemType = {RI_TYPE} READONLY_RECORD_PRE:
// In order to stop a record from being read in this action these lines of code must be used:
If ItemType EQ '' then ErrMsg := 'Item Type was not specified. ' //
// OrigFileError = 100 : @FM : KeyID
If ErrMsg NE '' then // Status = 0
Error_Services('Add', 'Error Saving Reactor Item: ' : ErrMsg) // Record = ''
OrigFileError = 104:': Error Saving Reactor Item: ' : ErrMsg // ActionFlow = ACTION_STOP$
Status = 0 return
Record = ''
ActionFlow = ACTION_STOP$ READONLY_RECORD:
end else // In order to stop a record from being read in this action these lines of code must be used:
OrigRetireDt = OrigRecord<REACT_ITEM_RETIRE_DT$> //
NewRetireDt = Record<REACT_ITEM_RETIRE_DT$> // OrigFileError = 100 : @FM : KeyID
OrigNotes = OrigRecord<REACT_ITEM_NOTES$> // Status = 0
NewNotes = Record<REACT_ITEM_NOTES$> // Record = ''
If ( (OrigRetireDt NE NewRetireDt) or (OrigNotes NE NewNotes) ) then return
CurrStatus = obj_React_Item('CurrStatus', Name:@RM:Record)
Record<REACT_ITEM_CURR_STATUS_STATIC$> = CurrStatus WRITE_RECORD_PRE:
SaveRecord = Record
end ErrMsg = ''
end
//Req'd parameter checks
return ItemType = {RI_TYPE}
WRITE_RECORD: If ItemType EQ '' then
return ErrMsg := 'Item Type was not specified. '
end
DELETE_RECORD_PRE:
return If ErrMsg NE '' then
Error_Services('Add', 'Error Saving Reactor Item: ' : ErrMsg)
DELETE_RECORD: OrigFileError = 104:': Error Saving Reactor Item: ' : ErrMsg
return Status = 0
Record = ''
ActionFlow = ACTION_STOP$
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// end
// Internal GoSubs
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// return
ClearCursors: WRITE_RECORD:
For counter = 0 to 8
ClearSelect counter
Next counter return
return DELETE_RECORD_PRE:
Initialize_System_Variables: return
// Save these for restoration later DELETE_RECORD:
SaveDict = @DICT return
SaveID = @ID
SaveRecord = @RECORD
OrigFileError = @FILE.ERROR
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Now make sure @DICT, ID, and @RECORD are populated // Internal GoSubs
CurrentDictName = '' ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
If @DICT then
DictHandle = @DICT<1, 2> ClearCursors:
Locate DictHandle in @TABLES(5) Using @FM Setting fPos then For counter = 0 to 8
CurrentDictName = Field(@TABLES(0), @FM, fPos, 1) ClearSelect counter
end Next counter
end return
If CurrentDictName NE DictName then
Open DictName to @DICT else Status = 'Unable to initialize @DICT' Initialize_System_Variables:
end
// Save these for restoration later
@ID = KeyID SaveDict = @DICT
If Record else SaveID = @ID
// Record might not have been passed in. Read the record from the database table just to make sure. SaveRecord = @RECORD
@FILE.ERROR = '' OrigFileError = @FILE.ERROR
Open TableName to hTable then
FullFSList = hTable[1, 'F' : @VM] // Now make sure @DICT, ID, and @RECORD are populated
BFS = FullFSList[-1, 'B' : @SVM] CurrentDictName = ''
LastHandle = hTable[-1, 'B' : \0D\] If @DICT then
FileHandle = \0D\ : LastHandle[1, @VM] DictHandle = @DICT<1, 2>
Locate DictHandle in @TABLES(5) Using @FM Setting fPos then
Call @BFS(READO.RECORD, BFS, FileHandle, KeyID, FMC, Record, ReadOStatus) CurrentDictName = Field(@TABLES(0), @FM, fPos, 1)
end end
end end
@RECORD = Record
If CurrentDictName NE DictName then
return Open DictName to @DICT else Status = 'Unable to initialize @DICT'
end
Restore_System_Variables: @ID = KeyID
If Record else
Transfer SaveDict to @DICT // Record might not have been passed in. Read the record from the database table just to make sure.
Transfer SaveID to @ID @FILE.ERROR = ''
Transfer SaveRecord to @RECORD Open TableName to hTable then
@FILE.ERROR = OrigFileError FullFSList = hTable[1, 'F' : @VM]
BFS = FullFSList[-1, 'B' : @SVM]
return LastHandle = hTable[-1, 'B' : \0D\]
FileHandle = \0D\ : LastHandle[1, @VM]
Call @BFS(READO.RECORD, BFS, FileHandle, KeyID, FMC, Record, ReadOStatus)
end
end
@RECORD = Record
return
Restore_System_Variables:
Transfer SaveDict to @DICT
Transfer SaveID to @ID
Transfer SaveRecord to @RECORD
@FILE.ERROR = OrigFileError
return

View File

@ -20,110 +20,62 @@ Compile function React_Item_Services(@Service, @Params)
08/02/22 djs Original programmer. 08/02/22 djs Original programmer.
***********************************************************************************************************************/ ***********************************************************************************************************************/
#pragma precomp SRP_PreCompiler #pragma precomp SRP_PreCompiler
$Insert LOGICAL
$Insert APP_INSERTS $Insert APP_INSERTS
$Insert SERVICE_SETUP
$Insert RLIST_EQUATES $Insert RLIST_EQUATES
$Insert REACT_ITEM_EQUATES $Insert REACT_ITEM_EQUATES
Declare function Database_Services, Error_Services, SRP_JSON, NextKey, SRP_Date, obj_React_Item, SRP_Array Declare function Database_Services, Error_Services, SRP_JSON, NextKey
Declare subroutine SRP_JSON, Error_Services, Btree.Extract, Database_Services, Update_Index Declare subroutine SRP_JSON, Error_Services, Btree.Extract, Database_Services
GoToService
GoToService else Return Response or ""
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
end
Return Response else '' //-----------------------------------------------------------------------------
// SERVICES
//-----------------------------------------------------------------------------
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Service GetAllReactItemKeys()
// Service Parameter Options AllKeys = ''
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RList('SELECT REACT_ITEM', TARGET_ACTIVELIST$, '', '', '')
Options BOOLEAN = True$, False$ Done = False$
Reactors = ''
Loop
Readnext keyId else Done = True$
Until Done
AllKeys<1,-1> = keyId
Repeat
Response = AllKeys
end service
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Service GetReactItems(RIType, CurrStatus)
// Services
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Service GetReactItems(RIType, CurrStatus, EntryDtStart, EntryDtEnd, RetireDtStart, RetireDtEnd, IncludeNullRetireDt=BOOLEAN)
ErrorMsg = '' ErrorMsg = ''
Response = '' Response = ''
If ( (RIType NE '') or (CurrStatus NE '') or (EntryDtStart NE '') or (EntryDtEnd NE '') or (RetireDtStart NE '') or (RetireDtEnd NE '') or (IncludeNullRetireDt NE '') ) then Swap ',' with @VM in RIType
If EntryDtStart NE '' and Not(Num(EntryDtStart)) then EntryDtStart = IConv(EntryDtStart, 'D') Swap ',' with @VM in CurrStatus
If EntryDtEnd NE '' and Not(Num(EntryDtEnd)) then EntryDtEnd = IConv(EntryDtEnd, 'D')
If RetireDtStart NE '' and Not(Num(RetireDtStart)) then RetireDtStart = IConv(RetireDtStart, 'D') Open 'DICT.REACT_ITEM' to DictReactItem then
If RetireDtEnd NE '' and Not(Num(RetireDtEnd)) then RetireDtEnd = IConv(RetireDtEnd, 'D')
Open 'DICT.REACT_ITEM' to DictReactItem then SearchString = ''
SearchString = '' If RIType NE '' then SearchString := 'RI_TYPE':@VM:RIType:@FM
If RIType NE '' then If CurrStatus NE '' then SearchString := 'CURR_STATUS':@VM:CurrStatus:@FM
Swap ',' with @VM in RIType RIKeys = ''
SearchString := 'RI_TYPE':@VM:RIType:@FM Btree.Extract(SearchString, 'REACT_ITEM', DictReactItem, RIKeys, '', '')
end ErrCode = ''
Begin Case IF Get_Status(ErrCode) then
Case ( (EntryDtStart NE '') and (EntryDtEnd NE '') ) ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract. Error code ':ErrCode:'.'
EntryDtStart = OConv(EntryDtStart - 1, 'D4/')
EntryDtEnd = OConv(EntryDtEnd + 1, 'D4/')
SearchString := 'ENTER_DT':@VM:EntryDtStart:'~':EntryDtEnd:@FM
Case (EntryDtStart NE '')
EntryDtStart = OConv(EntryDtStart, 'D4/')
SearchString := 'ENTER_DT':@VM:'>=':EntryDtStart:@FM
Case (EntryDtEnd NE '')
SearchString := 'ENTER_DT':@VM:'<=':EntryDtEnd:@FM
Case Otherwise$
Null
End Case
Begin Case
Case ( (RetireDtStart NE '') and (RetireDtEnd NE '') )
RetireDtStart = OConv(RetireDtStart - 1, 'D4/')
RetireDtEnd = OConv(RetireDtEnd + 1, 'D4/')
SearchString := 'RETIRE_DT':@VM:RetireDtStart:'~':RetireDtEnd
If IncludeNullRetireDt then SearchString := @VM:''
SearchString := @FM
Case (RetireDtStart NE '')
RetireDtStart = OConv(RetireDtStart, 'D4/')
SearchString := 'RETIRE_DT':@VM:'>=':RetireDtStart
If IncludeNullRetireDt then SearchString := @VM:''
SearchString := @FM
Case (RetireDtEnd NE '')
SearchString := 'RETIRE_DT':@VM:'<=':RetireDtEnd
If IncludeNullRetireDt then SearchString := @VM:''
SearchString := @FM
Case IncludeNullRetireDt
SearchString := 'RETIRE_DT':@VM:'':@FM
Case Otherwise$
Null
End Case
If CurrStatus NE '' then
Swap ',' with @VM in CurrStatus
SearchString := 'CURR_STATUS_STATIC':@VM:CurrStatus:@FM
end
Flag = ''
RIKeys = ''
Btree.Extract(SearchString, 'REACT_ITEM', DictReactItem, RIKeys, 'E', Flag)
If Flag EQ 0 then
EnterDtms = Xlate('REACT_ITEM', RIKeys, 'ENTER_DTM', 'X')
Array = RIKeys:@FM:EnterDtms
Array = SRP_Array('SortRows', Array, 'DN2', 'ARRAY', @FM, @VM)
Response = Array<1>
end else
ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract.'
end
end else end else
ErrorMsg = 'Error in ':Service:' service. Error opening REACT_ITEM dictionary.' Response = RIKeys
end end
end else end else
AllKeys = '' ErrorMsg = 'Error in ':Service:' service. Error opening REACT_ITEM dictionary.'
RList('SELECT REACT_ITEM', TARGET_ACTIVELIST$, '', '', '')
Done = False$
Loop
Readnext KeyId else Done = True$
Until Done
AllKeys<1, -1> = KeyId
Repeat
Response = AllKeys
end end
If ErrorMsg NE '' then If ErrorMsg NE '' then
Error_Services('Add', ErrorMsg) Error_Services('Add', ErrorMsg)
end end
@ -203,6 +155,7 @@ Service ConvertRecordToJSON(KeyID, Record, ItemURL)
Response = jsonRecord Response = jsonRecord
end service end service
@ -373,11 +326,11 @@ Service GetReactItemTemplateJSON()
Response = jsonRecord Response = jsonRecord
end service end service
Service CreateReactItem(Record) Service CreateReactItem(Record)
ErrMsg = '' ErrMsg = ''
KeyID = '' KeyID = ''
If Record NE '' then If Record NE '' then
@ -402,7 +355,6 @@ Service CreateReactItem(Record)
end service end service
Service ConvertRecordToJSONQuick(KeyID, Record, ItemURL) Service ConvertRecordToJSONQuick(KeyID, Record, ItemURL)
jsonRecord = '' jsonRecord = ''
@ -455,32 +407,6 @@ Service ConvertRecordToJSONQuick(KeyID, Record, ItemURL)
Response = jsonRecord Response = jsonRecord
end service end service
Service UpdateReactItemStatus(RINo)
If RINo NE '' then
If RowExists('REACT_ITEM', RINo) then
RIRec = Database_Services('ReadDataRow', 'REACT_ITEM', RINo)
If Error_Services('NoError') then
Update_Index('REACT_ITEM_HIST', 'RI_NO', False$, True$)
ReactItemCurrStatus = obj_React_Item('CurrStatus', RINo:@RM:RIRec)
ReactItemCurrStatusStatic = RIRec<REACT_ITEM_CURR_STATUS_STATIC$>
If ReactItemCurrStatus NE ReactItemCurrStatusStatic then
Open 'REACT_ITEM' to hTable then
WriteV ReactItemCurrStatus on hTable, RINo, REACT_ITEM_CURR_STATUS_STATIC$ else
Error_Services('Add', 'Error in ':Service:' service. Error writing CURR_STATUS_STATIC, ':ReactItemCurrStatus:', for REACT_ITEM ':RINo:'.')
end
end else
Error_Services('Add', 'Error in ':Service:' service. Error opening REACT_ITEM table for status update.')
end
end
end
end
end
end service
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Internal GoSubs // Internal GoSubs
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -493,3 +419,6 @@ ClearCursors:
return return

View File

@ -79,7 +79,6 @@ Service CreateReturnToFabRecord(CassId, UserId)
Recipients = XLATE('NOTIFICATION','SHIPPING',NOTIFICATION_USER_ID$,'X') Recipients = XLATE('NOTIFICATION','SHIPPING',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_ENG',NOTIFICATION_USER_ID$,'X') Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_ENG',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_MANUF',NOTIFICATION_USER_ID$,'X') Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_MANUF',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_GENERAL',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = UserId Recipients<1, -1> = UserId
SentFrom = 'OI_ADMIN' SentFrom = 'OI_ADMIN'
Subject = 'Return To Fab Form Created' Subject = 'Return To Fab Form Created'
@ -476,7 +475,6 @@ Service SetBinToBin(RTFId, MHUserId)
Recipients = XLATE('NOTIFICATION','SHIPPING',NOTIFICATION_USER_ID$,'X') Recipients = XLATE('NOTIFICATION','SHIPPING',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_ENG',NOTIFICATION_USER_ID$,'X') Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_ENG',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_MANUF',NOTIFICATION_USER_ID$,'X') Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_MANUF',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_GENERAL',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = RTFOrigUser Recipients<1, -1> = RTFOrigUser
SentFrom = 'OI_ADMIN' SentFrom = 'OI_ADMIN'
Subject = 'Return To Fab Form Updated' Subject = 'Return To Fab Form Updated'
@ -551,7 +549,6 @@ Service SetRTFCompleted(RTFId, CompleteUserId)
Recipients = XLATE('NOTIFICATION','SHIPPING',NOTIFICATION_USER_ID$,'X') Recipients = XLATE('NOTIFICATION','SHIPPING',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_ENG',NOTIFICATION_USER_ID$,'X') Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_ENG',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_MANUF',NOTIFICATION_USER_ID$,'X') Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_MANUF',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_GENERAL',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = RTFRecord<RETURN_TO_FAB_LOTS_REQUESTOR_USER_ID$> Recipients<1, -1> = RTFRecord<RETURN_TO_FAB_LOTS_REQUESTOR_USER_ID$>
SentFrom = 'OI_ADMIN' SentFrom = 'OI_ADMIN'
Subject = 'Return To Fab Form Completed' Subject = 'Return To Fab Form Completed'
@ -626,7 +623,6 @@ Service SetEvalInfo(RTFId, EvalUserId, ResultId)
Recipients = XLATE('NOTIFICATION','SHIPPING',NOTIFICATION_USER_ID$,'X') Recipients = XLATE('NOTIFICATION','SHIPPING',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_ENG',NOTIFICATION_USER_ID$,'X') Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_ENG',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_MANUF',NOTIFICATION_USER_ID$,'X') Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_MANUF',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = XLATE('NOTIFICATION','RETURN_TO_FAB_GENERAL',NOTIFICATION_USER_ID$,'X')
Recipients<1, -1> = RTFRecord<RETURN_TO_FAB_LOTS_REQUESTOR_USER_ID$> Recipients<1, -1> = RTFRecord<RETURN_TO_FAB_LOTS_REQUESTOR_USER_ID$>
SentFrom = 'OI_ADMIN' SentFrom = 'OI_ADMIN'
Subject = 'Return To Fab Form Updated' Subject = 'Return To Fab Form Updated'
@ -826,4 +822,3 @@ end service

View File

@ -335,18 +335,6 @@ Service ProcessScanData(ScanID, ScanJSON)
Error_Services('Add', 'Inactive employee.') Error_Services('Add', 'Inactive employee.')
Case Otherwise$ Case Otherwise$
ScansRow<SCANS.EMPLOYEE_ID$> = {EMPLOYEE_ID} ScansRow<SCANS.EMPLOYEE_ID$> = {EMPLOYEE_ID}
Username = {EMPLOYEE_ID}
Member = False$
Groups = 'LEAD':@VM:'SUPERVISOR':@VM:'ENGINEER':@VM:'ENG_TECH':@VM:'ROTR_OVERRIDE'
For each Group in Groups using @VM
Member = MemberOf(Username, Group)
Until Member EQ True$
Next Group
ScansRow<SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$> = Member
End Case End Case
Case ScanData[1, 3] EQ '10S' Case ScanData[1, 3] EQ '10S'
@ -532,9 +520,6 @@ Service ProcessScanData(ScanID, ScanJSON)
Database_Services('WriteDataRow', 'REACTOR', Reactor, ReactorRec, True$, False$, True$) Database_Services('WriteDataRow', 'REACTOR', Reactor, ReactorRec, True$, False$, True$)
Database_Services('WriteDataRow', 'RDS', RDSNo, RDSRec, True$, False$, True$) Database_Services('WriteDataRow', 'RDS', RDSNo, RDSRec, True$, False$, True$)
ScansRow<SCANS.OVERRIDE_REQD$> = 0
ScansRow<SCANS.OVERRIDE_TYPE$> = ''
ScansRow<SCANS.OVERRIDE_REASON$> = ''
ScansRow<SCANS.EMPLOYEE_ID$>= '' ScansRow<SCANS.EMPLOYEE_ID$>= ''
Result = 'Override Performed successfully' Result = 'Override Performed successfully'
end end
@ -667,7 +652,6 @@ Service ProcessScanData(ScanID, ScanJSON)
If (CassetteIDs NE '') then If (CassetteIDs NE '') then
TestWaferLotData = ScansRow<SCANS.TW_LOT_ID$> TestWaferLotData = ScansRow<SCANS.TW_LOT_ID$>
Abort = False$ Abort = False$
TestWaferLotIsValid = False$
If TestWaferLotData NE '' then If TestWaferLotData NE '' then
ThisTestRunType = ScansRow<SCANS.TEST_RUN_TYPE_ID$> ThisTestRunType = ScansRow<SCANS.TEST_RUN_TYPE_ID$>
If ThisTestRunType NE '' then If ThisTestRunType NE '' then
@ -683,8 +667,6 @@ Service ProcessScanData(ScanID, ScanJSON)
If Not(TWLotCurrOpen) then If Not(TWLotCurrOpen) then
Abort = True$ Abort = True$
Scan_Services('AddNotAcceptableReason', 'Lot ':TWLot:' is closed and cannot be used at this time.') Scan_Services('AddNotAcceptableReason', 'Lot ':TWLot:' is closed and cannot be used at this time.')
end else
TestWaferLotIsValid = True$
end end
end else end else
Abort = True$ Abort = True$
@ -1108,60 +1090,6 @@ Service ProcessScanData(ScanID, ScanJSON)
Case Otherwise$ Case Otherwise$
// Keep error on Error_Services stack and return 400 level error. // Keep error on Error_Services stack and return 400 level error.
End Case End Case
end else
ReactorNo = Xlate('RDS', RDSNo, RDS_REACTOR$, 'X')
ReactorType = Xlate('REACTOR', ReactorNo, REACTOR_REACT_TYPE$, 'X')
If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then
WO = Xlate('RDS', RDSNo, RDS_WO$, 'X')
CassNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
WoMatKey = WO:'*':CassNo
WoMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey)
LastCassInWoTestWaferAckReq = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$>
LastCassInWoTestWaferAcked = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$>
LastCassInWoTestWaferReqMsg = ''
If LastCassInWoTestWaferAcked EQ False$ or LastCassInWoTestWaferAcked EQ '' then
LastCassInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey)
If LastCassInWo then
NextEventScheduled = False$
NextEventHasSamePsn = True$
NextEventIsBlock = False$
NextScheduledEvent = Schedule_Services('GetNextEvent', ReactorNo)
If Error_Services('NoError') then
NextEventScheduled = True$
NextEventHasSamePsn = Schedule_Services('NextEventIsSamePsn', ReactorNo)
NextEventIsBlock = Schedule_Services('NextEventIsBlock', ReactorNo)
end
If NextEventScheduled EQ False$ or NextEventHasSamePsn EQ False$ or NextEventIsBlock EQ True$ then
LastCassInWoTestWaferAckReq = True$
WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$> = LastCassInWoTestWaferAckReq
TestWaferRanSinceLoad = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> or TestWaferLotIsValid EQ True$
If TestWaferLotIsValid NE True$ and TestWaferRanSinceLoad NE True$ then
TestWaferRanSinceLoad = Rds_Services('TestWaferRanAfterLoad', RDSNo)
If TestWaferRanSinceLoad NE True$ then
LastCassInWoTestWaferReqMsg = ''
If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then
LastCassInWoTestWaferReqMsg = 'No material scheduled. Test wafer required.'
end else If NextEventHasSamePsn EQ False$ then
LastCassInWoTestWaferReqMsg = 'Next work order is a NEW PSN number. Test wafer required.'
end
Scan_Services('AddNotAcceptableReason', LastCassInWoTestWaferReqMsg)
end
end
WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$> = TestWaferRanSinceLoad
Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRec, True$, False$, False$)
end
end
end
end
end end
end else end else
ScanMsg = 'The POST stage engineering instructions must be acknowledged before the load operation can be signed.' ScanMsg = 'The POST stage engineering instructions must be acknowledged before the load operation can be signed.'
@ -1475,7 +1403,6 @@ Service AcceptScan(ScanID, ScanJSON)
LogData<3> = Username LogData<3> = Username
LogData<4> = CurrStage LogData<4> = CurrStage
LogData<5> = ScanID LogData<5> = ScanID
Begin Case Begin Case
Case CurrStage _EQC 'VER' Case CurrStage _EQC 'VER'
Action = 'LOAD' Action = 'LOAD'
@ -1566,32 +1493,14 @@ Service AcceptScan(ScanID, ScanJSON)
Case CurrStage _EQC 'UNLOAD' Case CurrStage _EQC 'UNLOAD'
Action = 'UNLOAD' Action = 'UNLOAD'
Continue = True$ // Check if UNLOAD stage is ready to sign
If TestWaferLots NE '' then UnloadStageSigned = QA_Services('SignUnloadStage', RDSNo, Username, 1)
ToolID = ScansRow<SCANS.TOOL_ID$> If UnloadStageSigned EQ True$ then
Reactor = ToolID[-1, 'BR'] Result = '(':CassetteID:') Unload stage signed.'
Username = ScansRow<SCANS.EMPLOYEE_ID$>
TestWaferLotQtys = ScansRow<SCANS.TW_LOT_QTY$>
TestRunType = ScansRow<SCANS.TEST_RUN_TYPE_ID$>
PSNo = Xlate('RDS', RDSNo, RDS_PROD_SPEC_ID$, True$, 'X')
NewTestRunId = Test_Run_Services('CreateTestRunRecord', TestRunType, 'R', Reactor, PSNo, RDSNo,Username , TestWaferLots, TestWaferLotQtys)
If Error_Services('HasError') then
ErrorMessage = Error_Services('GetMessage')
Error_Services('Set', ErrorMessage)
Continue = False$
end
end
If Continue EQ True$ then
// Check if UNLOAD stage is ready to sign
UnloadStageSigned = QA_Services('SignUnloadStage', RDSNo, Username, 1)
If UnloadStageSigned EQ True$ then
Result = '(':CassetteID:') Unload stage signed.'
end
LogData<6> = Action
LogData<7> = Result
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
end end
LogData<6> = Action
LogData<7> = Result
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
Case CurrStage _EQC 'COMP' Case CurrStage _EQC 'COMP'
Action = 'COMP' Action = 'COMP'
Error_Services('Set', '(':CassetteID:") Cassette has already been FQA'd.") Error_Services('Set', '(':CassetteID:") Cassette has already been FQA'd.")
@ -1765,7 +1674,6 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
SRP_JSON(objEmployee, 'SetValue', 'authorized', {EMPLOYEE_AUTHORIZED}, 'Boolean') SRP_JSON(objEmployee, 'SetValue', 'authorized', {EMPLOYEE_AUTHORIZED}, 'Boolean')
SRP_JSON(objEmployee, 'SetValue', 'notAuthorizedReason', {EMPLOYEE_NOT_AUTHORIZED_REASON}, 'String') SRP_JSON(objEmployee, 'SetValue', 'notAuthorizedReason', {EMPLOYEE_NOT_AUTHORIZED_REASON}, 'String')
SRP_JSON(objEmployee, 'SetValue', 'authenticated' , @Record<SCANS.AUTHENTICATED$> , 'Boolean');//JRO Change SRP_JSON(objEmployee, 'SetValue', 'authenticated' , @Record<SCANS.AUTHENTICATED$> , 'Boolean');//JRO Change
SRP_JSON(objEmployee, 'SetValue', 'isAuthorizedToOverrideROTR', @Record<SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$>, 'Boolean')
SRP_JSON(objJSONScan, 'Set', 'employee', objEmployee) SRP_JSON(objJSONScan, 'Set', 'employee', objEmployee)
SRP_JSON(objEmployee, 'Release') SRP_JSON(objEmployee, 'Release')
@ -1879,6 +1787,52 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
end else end else
SupplUnloadInstAckReq = False$ SupplUnloadInstAckReq = False$
end end
ReactorNo = Xlate('RDS', RDSNo, RDS_REACTOR$, 'X')
ReactorType = Xlate('REACTOR', ReactorNo, REACTOR_REACT_TYPE$, 'X')
If Len(ReactorType) GE 3 and ReactorType[1, 3] _EQC 'HTR' then
WO = Xlate('RDS', RDSNo, RDS_WO$, 'X')
CassNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
WoMatKey = WO:'*':CassNo
WoMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey)
LastCassInWoTestWaferAckReq = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$>
LastCassInWoTestWaferAcked = WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$>
LastCassInWoTestWaferReqMsg = ''
If LastCassInWoTestWaferAcked EQ False$ or LastCassInWoTestWaferAcked EQ '' then
LastCassInWo = WO_MAT_Services('CassetteIsLastInWo', WoMatKey)
If LastCassInWo then
NextEventScheduled = False$
NextEventHasSamePsn = True$
NextEventIsBlock = False$
NextScheduledEvent = Schedule_Services('GetNextEvent', ReactorNo)
If Error_Services('NoError') then
NextEventScheduled = True$
NextEventHasSamePsn = Schedule_Services('NextEventIsSamePsn', ReactorNo)
NextEventIsBlock = Schedule_Services('NextEventIsBlock', ReactorNo)
end
If NextEventScheduled EQ False$ or NextEventHasSamePsn EQ False$ or NextEventIsBlock EQ True$ then
LastCassInWoTestWaferAckReq = True$
WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$> = LastCassInWoTestWaferAckReq
WoMatRec<WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$> = LastCassInWoTestWaferAcked
Database_Services('WriteDataRow', 'WO_MAT', WoMatKey, WoMatRec, True$, False$, False$)
LastCassInWoTestWaferReqMsg = ''
If NextEventScheduled EQ False$ or NextEventIsBlock EQ True$ then
LastCassInWoTestWaferReqMsg = 'No material scheduled. Test wafer required.'
end else If NextEventHasSamePsn EQ False$ then
LastCassInWoTestWaferReqMsg = 'Next work order is a NEW PSN number. Test wafer required.'
end
end
end
end
SRP_JSON(objRDS, 'SetValue', 'lastCassInWoTestWaferAckReq', LastCassInWoTestWaferAckReq, 'Boolean')
SRP_JSON(objRDS, 'SetValue', 'lastCassInWoTestWaferAcked', LastCassInWoTestWaferAcked, 'Boolean')
SRP_JSON(objRDS, 'SetValue', 'lastCassInWoTestWaferAckReqMsg', LastCassInWoTestWaferReqMsg, 'String')
end
end else end else
SupplUnloadInstAckReq = False$ SupplUnloadInstAckReq = False$
end end
@ -2401,4 +2355,3 @@ return

View File

@ -16,8 +16,7 @@ Subroutine Service_Manager_Debugger_Intercept(Void)
Metadata : Metadata :
History : (Date, Initials, Notes) History : (Date, Initials, Notes)
07/25/23 djs Original programmer. 07/25/23 djs Original programmer.
06/04/25 djs Added LSL note creation (and email forwarding) to notify OI_ADMIN users when invoked.
***********************************************************************************************************************/ ***********************************************************************************************************************/
@ -25,58 +24,24 @@ Subroutine Service_Manager_Debugger_Intercept(Void)
$insert APP_INSERTS $insert APP_INSERTS
$insert RTI_DEBUG_COMMON $insert RTI_DEBUG_COMMON
$insert ENVIRON_CONSTANTS
Declare function Environment_Services, Logging_Services, Environment_Services, GetCommandLine, Datetime Declare function Environment_Services, Logging_Services
Declare subroutine Logging_Services, obj_Notes, Set_Env Declare subroutine Logging_Services
Main: LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\ServiceManager'
LogDate = Oconv(Date(), 'D4/')
// Log event in .\LogFiles\ServiceManager\<Date> OEngine Log.csv LogTime = Oconv(Time(), 'MTS')
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\ServiceManager' LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' OEngine Log.csv'
LogDate = Oconv(Date(), 'D4/') Headers = 'Stored Proc Status' : @FM : 'Stored Proc Status Code' : @FM : 'Current Program' : @FM : 'Call Depth' : @FM : 'Line No' : @FM : 'Call Stack'
LogTime = Oconv(Time(), 'MTS') objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$)
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' OEngine Log.csv' LogData = ''
Headers = 'Stored Proc Status' : @FM : 'Stored Proc Status Code' : @FM : 'Current Program' : @FM LogData<1> = SPStatus@
Headers := 'Call Depth' : @FM : 'Line No' : @FM : 'Call Stack' LogData<2> = SPStatCode@
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$) LogData<3> = Curr_Program@
LogData = '' LogData<4> = CallDepth@
LogData<1> = spStatus@ LogData<5> = LineNo@
LogData<2> = spStatCode@ LogData<6> = CallStack@
LogData<3> = curr_Program@ Logging_Services('AppendLog', objLog, LogData, @RM, @FM, '', '', '')
LogData<4> = callDepth@
LogData<5> = lineNo@
LogData<6> = callStack@
Logging_Services('AppendLog', objLog, LogData, @RM, @FM, '', '', '')
// Send an LSL message to FI admins to alert them. This is forward to their email address if configured in
// their LSL_USERS record.
CmdLine = GetCommandLine()
EngIndex = Index(CmdLine, '/S=', 1)
EngNo = CmdLine[EngIndex + 3, 'F ']
Server = Environment_Services('GetServer')
Recipients = ''
SentFrom = 'SYSTEM'
Subject = 'Service Manager Debugger Intercept Invoked'
Message = OConv(Datetime(), 'DT2/^H')
Message<2> = 'RevEngineHost (OEngine) ':EngNo:' encountered a runtime error on server ':Server
Message<3> = 'Stored Procedure Status: ':spStatus@
StatCodes = spStatCode@
Swap Char(0) with ',' in StatCodes
Swap Char(23) with '' in StatCodes
Message<4> = 'Stored Procedure Status Code: ':StatCodes
Message<5> = 'Current Program: ':curr_Program@
Message<6> = 'Call Depth: ':callDepth@
Message<7> = 'Line No: ':lineNo@
Message<8> = 'Call Stack: ':\0D0A\:callStack@
Swap @FM with \0D0A\ in Message
Swap @VM with ',' in Message
AttachWindow = ''
AttachKey = ''
SendToGroup = 'OI_SYSADMIN'
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
obj_Notes('Create',Parms)
Return Return

View File

@ -27,29 +27,19 @@ Function Service_Services(@Service, @Params)
#pragma precomp SRP_PreCompiler #pragma precomp SRP_PreCompiler
$insert APP_INSERTS $insert LOGICAL
$insert SERVICE_SETUP $insert SERVICE_SETUP
$insert SERVICES_EQUATES $insert SERVICES_EQUATES
$insert RLIST_EQUATES $insert RLIST_EQUATES
$insert SQL_REQUESTS_EQUATES $insert SQL_REQUESTS_EQUATES
$Insert PROC_QUEUE_EQUATES $Insert PROC_QUEUE_EQUATES
Equ Comma$ to ','
Common /ServiceServices/ Unused1@, Unused2@, Unused3@, Unused4@, Unused5@, Unused6@, Unused7@, Unused8@, Unused9@, Unused10@ Common /ServiceServices/ Unused1@, Unused2@, Unused3@, Unused4@, Unused5@, Unused6@, Unused7@, Unused8@, Unused9@, Unused10@
Declare function Service_Services, Memory_Services, SRP_List, SRP_FastArray, SRP_Array, Database_Services, Datetime Declare function Service_Services, Memory_Services, SRP_List, SRP_FastArray, SRP_Array, Database_Services, Datetime
Declare function GetTickCount, SRP_Decode, RTI_CreateGuid, UCase, Environment_services, Logging_Services Declare Function GetTickCount, SRP_Decode, RTI_CREATEGUID
Declare subroutine Service_Services, Memory_Services, SRP_List, SRP_FastArray, RList, Set_Status, Database_Services Declare subroutine Service_Services, Memory_Services, SRP_List, SRP_FastArray, RList, Set_Status, Database_Services
Declare Subroutine Yield, WinYield, Sleepery, Btree.Extract, Logging_Services, obj_Notes Declare Subroutine Yield, WinYield, Sleepery, Btree.Extract
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\ProcQueue'
LogDate = Oconv(Date(), 'D4/')
LogTime = Oconv(Time(), 'MTS')
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' Procedure Queue Log.csv'
Headers = 'Logging DTM' : @FM : 'Machine' : @FM : 'RequestKeyId' : @FM : 'Procedure' : @FM : 'Params' : @FM : 'Result' : @FM : 'Error Message'
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
GoToService else GoToService else
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.') Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
@ -175,21 +165,18 @@ Service ProcessProcedureQueue()
ReadNext RequestKeyID else EOF = True$ ReadNext RequestKeyID else EOF = True$
Until EOF or Done Until EOF or Done
Lock hProcQueue, RequestKeyID then Lock hProcQueue, RequestKeyID then
Server = Environment_Services('GetServer')
Done = True$ Done = True$
Database_Services('GetKeyIDLock', 'PROC_QUEUE', RequestKeyId) Database_Services('GetKeyIDLock', 'PROC_QUEUE', RequestKeyId)
RequestRow = Database_Services('ReadDataRow', 'PROC_QUEUE', RequestKeyID) RequestRow = Database_Services('ReadDataRow', 'PROC_QUEUE', RequestKeyID)
If RequestRow NE '' then If RequestRow NE '' then
Procedure = RequestRow<PROC_QUEUE.PROC_NAME$> Procedure = RequestRow<PROC_QUEUE.PROC_NAME$>
Procedure = UCase(Procedure)
Params = RequestRow<PROC_QUEUE.PARAMS$> Params = RequestRow<PROC_QUEUE.PARAMS$>
If Procedure NE '' then If Procedure NE '' then
Dim ProcParams(12) Dim ProcParams(11)
For each Param in Params using @VM setting pPos For each Param in Params using @VM setting pPos
ProcParams(pPos) = Param ProcParams(pPos) = Param
Next Param Next Param
NumArguments = DCount(Params, @VM) NumArguments = DCount(Params, @VM)
Begin Case Begin Case
Case NumArguments EQ 0 ; Call @Procedure() Case NumArguments EQ 0 ; Call @Procedure()
Case NumArguments EQ 1 ; Call @Procedure(ProcParams(1)) Case NumArguments EQ 1 ; Call @Procedure(ProcParams(1))
@ -207,40 +194,17 @@ Service ProcessProcedureQueue()
Error_Services('Add', 'Error in ':Service:' service. More than 11 arguments are not currently supported.') Error_Services('Add', 'Error in ':Service:' service. More than 11 arguments are not currently supported.')
End Case End Case
end end
If Error_Services('NoError') then
Swap @VM with ',' in Params Database_Services('DeleteDataRow', 'PROC_QUEUE', RequestKeyId, True$, False$) ; // This call will release the lock
LogData = LoggingDTM
LogData<2> = Server
LogData<3> = RequestKeyId
LogData<4> = Procedure
LogData<5> = Params
ErrCode = ''
If ( Get_Status(ErrCode) or Error_Services('HasError') ) then
ErrorMessage = Error_Services('GetMessage')
Recipients = ''
SentFrom = 'SYSTEM'
Subject = 'Background Procedure Queue Error'
Message = OConv(Datetime(), 'DT2/^H')
Message<2> = 'Error on server ':Server
Message<3> = 'Stored Procedure: ':Procedure
StatCodes = 'Parameters: ':Params
Message<4> = 'Error_Services error message: ':ErrorMessage
Message<5> = 'Get_Status error code: ':ErrCode
Swap @FM with \0D0A\ in Message
AttachWindow = ''
AttachKey = ''
SendToGroup = 'OI_SYSADMIN'
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
obj_Notes('Create',Parms)
LogData<6> = 'Failed'
LogData<7> = 'Error_Services error message: ':ErrorMessage:' Get_Status error code: ':ErrCode
end else end else
LogData<6> = 'Success' RequestRow<PROC_QUEUE.LAST_ATTEMPT_DTM$> = DateTime()
RequestRow<PROC_QUEUE.ERROR$> = Error_Services('GetMessage')
Database_Services('WriteDataRow', 'PROC_QUEUE', RequestKeyID, RequestRow, True$, False$, False$) ; // This call will release the lock
end end
Logging_Services('AppendLog', objLog, LogData, @RM, @FM) end else
// Empty request, so delete it from the queue
Database_Services('DeleteDataRow', 'PROC_QUEUE', RequestKeyId, True$, False$) ; // This call will release the lock
end end
Database_Services('DeleteDataRow', 'PROC_QUEUE', RequestKeyId, True$, False$) ; // This call should release the lock
Unlock hProcQueue, RequestKeyID else Null
end end
Repeat Repeat
end end
@ -294,3 +258,4 @@ return
/// Internal GoSubs /// Internal GoSubs
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -1231,23 +1231,19 @@ Service SignVoidNonEpp(WOMatKey, Username)
Service_Services('PostProcedure', 'RDS_SERVICES', 'DetachRDSFromWO':@vm:RDSNo) Service_Services('PostProcedure', 'RDS_SERVICES', 'DetachRDSFromWO':@vm:RDSNo)
If Error_Services('NoError') then If Error_Services('NoError') then
LotEventParams = '' LotEventParams = ''
LotEventParams<1,1> = 'CreateLotEvent' ; //Service Module LotEventParams<1,1> = 'CreateLotEvent'
LotEventParams<1,2> = ''; //Legacy Lot Id, set below LotEventParams<1,4> = DateTime()
LotEventParams<1,3> = DateTime(); //Datetime LotEventParams<1,5> = 'VOID'
LotEventParams<1,4> = 'VOID'; //Event Type LotEventParams<1,6> = 'Lot voided by ' : Username
LotEventParams<1,5> = 'Lot voided by ' : Username; //Event Note LotEventParams<1,11> = Username
LotEventParams<1,6> = ''; //Equipment id
LotEventParams<1,7> = Username ;//User Id
LotEventParams<1,8> = True$; //IsLegacyLotId
LotEventParams<1,9> = ''; //Legacy Lot Type, set below
If RDSNo NE '' then If RDSNo NE '' then
LotEventParams<1,2> = RDSNo LotEventParams<1,2> = RDSNo
LotEventParams<1,9> = 'RDS'; //Legacy Lot Type LotEventParams<1,3> = 'RDS'
Service_Services('PostProcedure', 'LOT_EVENT_SERVICES', LotEventParams) Service_Services('PostProcedure', 'LOT_SERVICES', LotEventParams)
end else end else
LotEventParams<1,2> = WoMatKey LotEventParams<1,2> = WoMatKey
LotEventParams<1,9> = 'WO_MAT' LotEventParams<1,3> = 'WO_MAT'
Service_Services('PostProcedure', 'LOT_EVENT_SERVICES', LotEventParams) Service_Services('PostProcedure', 'LOT_SERVICES', LotEventParams)
end end
If Error_Services('NoError') then If Error_Services('NoError') then
//Add inventory transaction //Add inventory transaction
@ -1315,15 +1311,13 @@ Service SignVoidWMI(WMInKey, Username)
If Error_Services('NoError') then If Error_Services('NoError') then
LotEventParams = '' LotEventParams = ''
LotEventParams<1,1> = 'CreateLotEvent' LotEventParams<1,1> = 'CreateLotEvent'
LotEventParams<1,4> = DateTime()
LotEventParams<1,5> = 'VOID'
LotEventParams<1,6> = 'Lot voided by ' : Username
LotEventParams<1,11> = Username
LotEventParams<1,2> = WMInKey LotEventParams<1,2> = WMInKey
LotEventParams<1,3> = DateTime() LotEventParams<1,3> = 'WM_IN'
LotEventParams<1,4> = 'VOID' Service_Services('PostProcedure', 'LOT_SERVICES', LotEventParams)
LotEventParams<1,5> = 'Lot voided by ' : Username
LotEventParams<1,6> = ''
LotEventParams<1,7> = Username
LotEventParams<1,8> = True$
LotEventParams<1,9> = 'WM_IN'
Service_Services('PostProcedure', 'LOT_EVENT_SERVICES', LotEventParams)
If Error_Services('NoError') then If Error_Services('NoError') then
//Check if WMO is also voided. If it is, remove it from the WO_MAT_KEY field in WO_LOG, and void the WO_MAT record //Check if WMO is also voided. If it is, remove it from the WO_MAT_KEY field in WO_LOG, and void the WO_MAT record
WMOKey = WMInKey; //the paired WMO key is the same as the WMIKey WMOKey = WMInKey; //the paired WMO key is the same as the WMIKey
@ -1392,15 +1386,13 @@ Service SignVoidWMO(WMOutKey, Username)
If Error_Services('NoError') then If Error_Services('NoError') then
LotEventParams = '' LotEventParams = ''
LotEventParams<1,1> = 'CreateLotEvent' LotEventParams<1,1> = 'CreateLotEvent'
LotEventParams<1,4> = DateTime()
LotEventParams<1,5> = 'VOID'
LotEventParams<1,6> = 'Lot voided by ' : Username
LotEventParams<1,11> = Username
LotEventParams<1,2> = WMOutKey LotEventParams<1,2> = WMOutKey
LotEventParams<1,3> = DateTime() LotEventParams<1,3> = 'WM_OUT'
LotEventParams<1,4> = 'VOID' Service_Services('PostProcedure', 'LOT_SERVICES', LotEventParams)
LotEventParams<1,5> = 'Lot voided by ' : Username
LotEventParams<1,6> = ''
LotEventParams<1,7> = Username
LotEventParams<1,8> = True$
LotEventParams<1,9> = 'WM_OUT'
Service_Services('PostProcedure', 'LOT_EVENT_SERVICES', LotEventParams)
If Error_Services('NoError') then If Error_Services('NoError') then
//Check if WMI is also voided. If it is, remove it from the WO_MAT_KEY field in WO_LOG, and void the WO_MAT record //Check if WMI is also voided. If it is, remove it from the WO_MAT_KEY field in WO_LOG, and void the WO_MAT record
WMIKey = WMOutKey; //the paired WMO key is the same as the WMIKey WMIKey = WMOutKey; //the paired WMO key is the same as the WMIKey
@ -1566,4 +1558,3 @@ ClearCursors:
return return

View File

@ -181,7 +181,14 @@ DoRead:
Reactor = get_property( @window, '@Reactor' ) Reactor = get_property( @window, '@Reactor' )
LoadedRDS = Xlate('REACT_STATUS', Reactor, 'LOAD_RDS', 'X') LoadedRDS = Xlate('REACT_STATUS', Reactor, 'LOAD_RDS', 'X')
LoadedRuns = Xlate('RDS', LoadedRDS, 'RUN_ORDER_NUM', 'X') LoadedRuns = ''
If LoadedRDS NE '' then
For each RDS in LoadedRDS using @VM setting vPos
Locate RDS in AllRDS using @VM setting rPos then
LoadedRuns<0, -1> = rPos
end
Next RDS
end
LoadedData = '' LoadedData = ''
For each RDSNo in LoadedRDS using @VM setting vPos For each RDSNo in LoadedRDS using @VM setting vPos
@ -500,3 +507,5 @@ REACT_MODE:
END END
RETURN RETURN

View File

@ -573,16 +573,15 @@ return
WRITE_RECORD: WRITE_RECORD:
WONo = Field(Name, '*', 1) WONo = Field(Name, '*', 1)
CassNo = Field(Name, '*', 2) CassNo = Field(Name, '*', 2)
WOMatKeyID = Name WOMatKeyID = Name
If {REACTOR_TYPE} NE 'EPP' then If {REACTOR_TYPE} NE 'EPP' then
If {MAKEUP_BOX} then If {MAKEUP_BOX} then
CurrWaferCount = obj_WO_Mat('CurrWaferCnt', WOMatKeyID) CurrWaferCount = obj_WO_Mat('CurrWaferCnt', WOMatKeyID)
CurrStatus = {CURR_STATUS} If CurrWaferCount GT 0 then
If ( (CurrWaferCount GT 0) and (CurrStatus NE 'VOID') ) then
// Populate MAKEUP_WAFERS table // Populate MAKEUP_WAFERS table
// Add/update cassette data to the MAKEUP_WAFERS table // Add/update cassette data to the MAKEUP_WAFERS table
If RowExists('MAKEUP_WAFERS', WOMatKeyID) then If RowExists('MAKEUP_WAFERS', WOMatKeyID) then
@ -601,7 +600,7 @@ WRITE_RECORD:
MUWfrRec<MAKEUP_WAFERS.PROD_VER_NO$> = {PROD_VER_NO} MUWfrRec<MAKEUP_WAFERS.PROD_VER_NO$> = {PROD_VER_NO}
MUWfrRec<MAKEUP_WAFERS.CUST_PART_NO$> = {CUST_PART_NO} MUWfrRec<MAKEUP_WAFERS.CUST_PART_NO$> = {CUST_PART_NO}
MUWfrRec<MAKEUP_WAFERS.REACT_TYPE$> = {REACTOR_TYPE} MUWfrRec<MAKEUP_WAFERS.REACT_TYPE$> = {REACTOR_TYPE}
MUWfrRec<MAKEUP_WAFERS.CURR_STATUS_STATIC$> = CurrStatus MUWfrRec<MAKEUP_WAFERS.CURR_STATUS_STATIC$> = {CURR_STATUS}
MUWfrRec<MAKEUP_WAFERS.WFR_QTY$> = CurrWaferCount MUWfrRec<MAKEUP_WAFERS.WFR_QTY$> = CurrWaferCount
DateOut = Xlate('RDS', {RDS_NO}, 'DATE_OUT', 'X') DateOut = Xlate('RDS', {RDS_NO}, 'DATE_OUT', 'X')
TimeOut = Xlate('RDS', {RDS_NO}, 'TIME_OUT', 'X') / 86400 TimeOut = Xlate('RDS', {RDS_NO}, 'TIME_OUT', 'X') / 86400

View File

@ -179,4 +179,3 @@ Equ PROD_SPEC_ANKO_MET_POCKETS$ To 166
Equ PROD_SPEC_ANKO_FULL_CHAR_POCKET$ To 167 Equ PROD_SPEC_ANKO_FULL_CHAR_POCKET$ To 167
Equ PROD_SPEC_ANKO_WAFER_SELECTION$ To 168 Equ PROD_SPEC_ANKO_WAFER_SELECTION$ To 168
Equ PROD_SPEC_LOCKED_BY$ To 169 Equ PROD_SPEC_LOCKED_BY$ To 169
Equ PROD_SPEC_SHOW_SPEC_INST_ON_MU_ADD$ To 170

View File

@ -83,5 +83,4 @@ Equ REACTOR_HGCV_CHECKLIST_ACTIVE$ To 71
Equ REACTOR_INTRUSIVE_MAINT_CHECKLIST_ACTIVE$ To 72 Equ REACTOR_INTRUSIVE_MAINT_CHECKLIST_ACTIVE$ To 72
Equ REACTOR_ABORT_ALARM_CHECKLIST_ACTIVE$ To 73 Equ REACTOR_ABORT_ALARM_CHECKLIST_ACTIVE$ To 73
Equ REACTOR_ABORT_ALARM_COMPLETE$ To 74 Equ REACTOR_ABORT_ALARM_COMPLETE$ To 74
Equ REACTOR_EXHAUST_CHAMBER_THK$ To 75

View File

@ -6,27 +6,25 @@ compile insert REACT_ITEM_EQUATES
----------------------------------------*/ ----------------------------------------*/
Equ REACT_ITEM_RI_NO$ To 0 Equ REACT_ITEM_RI_NO$ To 0
Equ REACT_ITEM_DESC$ To 1 Equ REACT_ITEM_DESC$ To 1
Equ REACT_ITEM_ENTER_BY$ To 2 Equ REACT_ITEM_ENTER_BY$ To 2
Equ REACT_ITEM_ENTER_DTM$ To 3 Equ REACT_ITEM_ENTER_DTM$ To 3
Equ REACT_ITEM_RETIRE_BY$ To 4 Equ REACT_ITEM_RETIRE_BY$ To 4
Equ REACT_ITEM_RETIRE_DT$ To 5 Equ REACT_ITEM_RETIRE_DT$ To 5
Equ REACT_ITEM_PART_TYPE$ To 6 Equ REACT_ITEM_PART_TYPE$ To 6
Equ REACT_ITEM_MFR_CD$ To 7 Equ REACT_ITEM_MFR_CD$ To 7
Equ REACT_ITEM_MFR_PART_NO$ To 8 Equ REACT_ITEM_MFR_PART_NO$ To 8
Equ REACT_ITEM_MFR_PART_NO_REV$ To 9 Equ REACT_ITEM_MFR_PART_NO_REV$ To 9
Equ REACT_ITEM_SERIAL_NO$ To 10 Equ REACT_ITEM_SERIAL_NO$ To 10
Equ REACT_ITEM_RI_TYPE$ To 11 Equ REACT_ITEM_RI_TYPE$ To 11
Equ REACT_ITEM_SUSC_SIZE$ To 12 Equ REACT_ITEM_SUSC_SIZE$ To 12
Equ REACT_ITEM_PKT_QTY$ To 13 Equ REACT_ITEM_PKT_QTY$ To 13
Equ REACT_ITEM_PKT_SIZE$ To 14 Equ REACT_ITEM_PKT_SIZE$ To 14
Equ REACT_ITEM_NOTES$ To 15 Equ REACT_ITEM_NOTES$ To 15
Equ REACT_ITEM_PPLUS_RDS_NO$ To 16 Equ REACT_ITEM_PPLUS_RDS_NO$ To 16
Equ REACT_ITEM_SERIAL$ To 17 Equ REACT_ITEM_SERIAL$ To 17
Equ REACT_ITEM_TUBE_GRADE$ To 18 Equ REACT_ITEM_TUBE_GRADE$ To 18
Equ REACT_ITEM_TUBE_PRESS$ To 19 Equ REACT_ITEM_TUBE_PRESS$ To 19
Equ REACT_ITEM_TUBE_STYLE$ To 20 Equ REACT_ITEM_TUBE_STYLE$ To 20
Equ REACT_ITEM_NEW_OR_REFURB$ To 21 Equ REACT_ITEM_NEW_OR_REFURB$ To 21
Equ REACT_ITEM_CURR_STATUS_STATIC$ To 22

View File

@ -40,9 +40,6 @@ compile insert SCANS_EQUATES
equ SCANS.TW_LOT_QTY$ to 31 equ SCANS.TW_LOT_QTY$ to 31
equ SCANS.TEST_RUN_TYPE_ID$ to 32 equ SCANS.TEST_RUN_TYPE_ID$ to 32
equ SCANS.TEST_RUN_TYPE_NAME$ to 33 equ SCANS.TEST_RUN_TYPE_NAME$ to 33
equ SCANS.IS_AUTHORIZED_TO_OVERRIDE_ROTR$ to 34
#endif #endif

View File

@ -156,5 +156,4 @@ Equ WO_MAT_LAST_CASSETTE_TEST_WAFER_ACK_REQ$ To 147
Equ WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$ To 148 Equ WO_MAT_LAST_CASSETTE_TEST_WAFER_ACKED$ To 148
Equ WO_MAT_HOLD_STAGE$ To 149 Equ WO_MAT_HOLD_STAGE$ To 149
Equ WO_MAT_HOLD_INTERRUPTED$ To 150 Equ WO_MAT_HOLD_INTERRUPTED$ To 150
Equ WO_MAT_LAST_CASSETTE_TEST_WAFER_RAN$ To 151