Compare commits

111 Commits

Author SHA1 Message Date
f4f63c28e3 Added JSON body and response logging to CreateNewOrder service. Modified how reactor log comments are added for ABORT_ALARM NICA orders. Modified ABORT_ALARM solution to not trigger on WAITING_FOR_MAINTENANCE_UNSCHEDULED 2025-08-12 16:24:12 -07:00
1f2b73797b Enable BioRad pdsf usage 2025-08-12 07:52:13 -07:00
54eaf15598 Increased the MAX_NUM_CASS$ equate to 150 as we have a workorder with more than 96 WO_MAT ID's 2025-08-08 11:44:44 -07:00
fffadaa1c3 Found that the location of the cassettes being added were first being sorted in an ascending order within a LOCATE loop. 2025-08-07 14:55:21 -07:00
a6da80dc3c Revert "Created temporary workarounds to QA Metrology not getting set correctly." 2025-08-07 18:07:28 +00:00
3125225639 Created temporary workarounds to QA Metrology not getting set correctly. 2025-08-06 16:20:43 -07:00
f54331eb0e Fixed HgCV frequency bug 2025-08-05 12:46:25 -07:00
847483f603 Added new Stratus Qual Data Import method to stop using BioRad Qual Data Import for Stratus runs 2025-08-05 16:02:39 +00:00
88281fff05 Added a query param in GetWOMatKeys service to only get WOMat Keys that are not VOID 2025-08-04 17:16:16 -07:00
8499d03ef8 modified update work order services to throttle better 2025-08-01 08:26:27 -07:00
3186ec1ad6 Bug fix to ensure correct WM_OUT key is identified and created. Added services to ensure WM_IN and WM_OUT indexes are maintained. 2025-07-31 17:18:09 -07:00
898f21b73d Refactored error checking to utilize ErrorMsg variable so that errors make their way back to the calling routine. 2025-07-30 17:07:01 +00:00
f7ee12a78d Fixed a bug where the ProcessProcedureQueue service would write an invalid record to the PROC_QUEUE2 table when failing to read a record. 2025-07-30 09:48:56 -07:00
475df5ba54 Minor bug fix in UpdateWorkOrderData. Modified ProcessRequest service to dump record for troubleshooting purposes. 2025-07-30 09:24:02 -07:00
28a8a10ba2 Not sure how this bug was re-introduced. 99% sure we pushed this to prod. 2025-07-29 16:16:32 -07:00
6934799e92 Added troubleshooting logs to find cause of LBLCHK transactions going missing 2025-07-29 21:11:25 +00:00
03f42dedea updated UpdateWorkOrderData service to correct WO_MAT records containing multiple RDS keys 2025-07-29 13:34:57 -07:00
033e3baee8 added condition to search RDS table for matching WO_MAT record to correct index 2025-07-29 12:52:06 -07:00
4bfae8e7b7 minor fix to prevent an error message from being displayed on brand new work orders 2025-07-29 12:03:55 -07:00
0f0c735023 added SYSOBJ check to the PostProcedure service to prevent invalid procedures from getting posted to the procedure queue 2025-07-29 11:56:42 -07:00
4eee1b0f0a modified check to look at WO_MAT record instead of WO_STEP to see if RDS already exists for a given cassette 2025-07-29 18:22:52 +00:00
e2e8731316 Removed uneccessary transaction postings 2025-07-29 10:52:39 -07:00
a21f41fd29 modified service to dispatch a single job at a time to avoid clogging up the SRP Engine Server 2025-07-29 09:33:11 -07:00
2bbc5c065d updated service to remove keys if lot is voided 2025-07-28 15:08:11 -07:00
9e54865e1e moved procedure call from WO_MAT_ACTIONS to a standalone service to avoid posting too many transactions 2025-07-28 14:34:20 -07:00
c7f1f86249 SP1 Misfit bug fix 2025-07-28 16:06:35 +00:00
c89bb6b3d4 added services and triggers to manually add index transactions to keep indexes up-to-date 2025-07-28 15:57:33 +00:00
71daf317f0 Added filtering criteria to only return available met tests relevant to the current operation 2025-07-25 18:16:00 +00:00
a48f47ddc9 modified WO_REC form to select WO_MAT keys instead of relying on WO_LOG<WO_MAT_KEY> field.
refactored print cass labels to select on RDS table for list of RDSes instead of using relational column in WO_STEP table
2025-07-24 17:13:52 -07:00
6396264e64 added combobox dropdown options to the CALIB_LIST form 2025-07-24 09:05:19 -07:00
8f233705a2 added call to clean array to prevent null values from truncating the list 2025-07-23 15:54:30 -07:00
b159e1aa27 fixed bug preventing rec rel jobs from posting if vendor code doesn't match expected vendor code 2025-07-23 09:44:12 -07:00
de2e6af5f7 Merged PR 21598: Refactored receive and release codebase.
Refactored receive and release codebase.

bug fixes and performance improvements

modified WO_REC form to use the same receive and same release dtm for all cassettes released in a given batch

Related work items: #259878
2025-07-23 15:40:25 +00:00
84da66ccd5 Enable SP1 pdsf usage 2025-07-22 08:48:23 -07:00
49e77a769f Release JSON handles in SCAN_SERVICES 2025-07-22 15:11:29 +00:00
490bfe21d4 Modified ship label printing routine to use the epi part number instead of the customer part number. Modified UpdateFailedWafers service to use the transaction queue to avoid clobbering WO_MAT records. 2025-07-22 00:33:29 +02:00
2aaed8944e Merge branch 'master' of https://tfs.intra.infineon.com/tfs/FactoryIntegration/_git/OpenInsight 2025-07-22 00:33:29 +02:00
ef104f889c Added in a check for the active flag when adding an operation to a lot. Added in material handler group to the CanUserModifyLot check 2025-07-22 00:33:29 +02:00
ea156489f1 Merged PR 21245: Added in a check for the active flag when adding an operation to a lot. Added...
Added in a check for the active flag when adding an operation to a lot. Added in material handler group to the CanUserModifyLot check.

Given the addition of a check for the active flag to allow adding an operation. I checked all OPERATION records to ensure that flag has already been set. The only operations that had a value other than true were the OPERATION records related to Return To Fab Lot processing.

Tested and verified creating test wafer lots, and creating RTF forms.
2025-07-22 00:31:04 +02:00
e1a44a7687 changed delimiter used for the background process queue so that all native delimiters are protected 2025-07-18 12:08:09 -07:00
c890a25d46 removed hgcv pattern from control plan 2025-07-17 13:30:23 -07:00
836b8c47a9 Merged PR 21153: Updated listing of FI Label Printer IP Address
Updated listing of FI Label Printer IP Address
2025-07-16 23:23:10 +02:00
aabd4c3a91 Merged PR 21151: Return To Fab Operations and Processing 2025-07-16 21:17:07 +02:00
b607432be4 Merged PR 21055: Added two new tools at request of engineering. TBI #1 and SCOPE #6
Added two new tools at request of engineering. TBI #1 and SCOPE #6
2025-07-16 17:36:41 +02:00
3debdce91e Revert "RDS JSON caching to minimize processing"
This reverts commit 4689b861d7.
2025-07-15 20:52:07 -07:00
4689b861d7 RDS JSON caching to minimize processing 2025-07-15 13:09:37 -07:00
350116fddc Modified WO_MAT_ACTIONS to not block write operations if critical fields are cleared. Instead it will restore the critical values and allow the write operation to continue. 2025-07-15 12:51:20 -07:00
59aed72156 modified changed OEngine memory logging to post to MonA instead 2025-07-15 09:41:48 -07:00
e97162dc1e fixed routines posting procedures with value marks instead of the new service delimiter 2025-07-14 15:13:45 -07:00
2a6c0afddf refactored codebase to not rely on WO_LOG calculated column indexes 2025-07-14 11:59:30 -07:00
b53e805929 Merged PR 20879: Initial commit.
Initial commit.
2025-07-14 20:55:07 +02:00
804b590773 added check to verify PROC_NAME exists before invoking 2025-07-14 18:50:09 +02:00
cd64511871 Scanner employee caching 2025-07-14 09:28:11 -07:00
2226f3112b added input checking to prevent runtime errors on bad input 2025-07-14 09:17:28 -07:00
184d2c2cba cache the TW type list 2025-07-14 17:55:12 +02:00
5830705c7d removing HF-Strip step from Oxide Epi Parts per Mark Cousten 2025-07-11 16:02:07 -07:00
1d32ec4fbb minor bug fix to release lock if record not updated 2025-07-11 10:44:14 -07:00
eb85afaf35 Updated WO_LOG_ACTIONS to also set the legacy status field in the WO_LOG table. Updated GetIQSViolationData to only update the Reactor record if something has changed. 2025-07-11 08:08:31 -07:00
269e5f9bd4 cache TW Lot JSON unless changed 2025-07-10 10:26:10 -07:00
d4ce96337b fixed bug in GetAvailableMakeupWafers which was using the CustPartNo instead of the EpiPartNo to find available makeup wafers 2025-07-10 09:16:00 -07:00
af6cd757de Remove TW_All_Signed CC dependency 2025-07-09 09:36:17 -07:00
ce252bf885 added additional checks in WO_LOG WRITE_PRE action to only set the closes date and closed status if the work order is not already closed 2025-07-08 11:08:54 -07:00
28d5b81b30 added triggers to calculate and store the scrapped quantity of a work order and auto close the work order when the scrap quantity and ship quantity equal the total work order quantity
added performance improvements to reduce unnecessary writes to the WO_LOG table
2025-07-08 10:31:25 -07:00
563871008e Move WO_MAT_LOG creation to background 2025-07-08 19:10:10 +02:00
272b2ce7d8 updated copy and delete record from sql routines to allow for a null pkey 2025-07-07 16:13:27 -07:00
14c77d9edf Merged PR 20357: Fixed typo in log object reference.
Fixed typo in log object reference.
2025-07-08 00:38:42 +02:00
d15cd38daf added UpdateOpenWorkOrderStatuses and UpdateWorkOrderStatus services 2025-07-07 15:10:47 -07:00
e3dbea2b7a fixed service manager group name 2025-07-07 11:48:36 -07:00
01fa3f8202 fixed logic determining which wafers can be NCRed 2025-07-04 01:58:45 +02:00
98ac420462 Modified copy and delete record to sql routines to lock the queue record before attempting to prevent long running copy or delete calls form being processed more than once and wasting resources. 2025-07-03 14:06:04 -07:00
5ca3778719 VNAV bug fix 2025-07-02 09:54:16 -07:00
5d27afcd68 minor bug fix 2025-07-01 14:41:29 -07:00
c786fce37b Deprecating old services. Refactored codebase to not use SwapResources GoSub. 2025-07-01 14:14:04 -07:00
b796060529 Updated CreateLotEvent to use Transaction Queue instead of Proc Queue to avoid locking errors. 2025-07-01 10:41:54 -07:00
ff0036d4c2 Fixed some error throwing in LOT_SERVICES 2025-07-01 09:31:50 -07:00
fd55fe06a9 Removing JSON not used by scanner app 2025-07-01 18:10:56 +02:00
653ba1619f Added square brackets around OPEN column in LOT table to prevent SQL insert/update errors. Updated PROC_QUEUE monitor to monitor the PROC_QUEUE2 table. 2025-07-01 08:54:24 -07:00
8f25d78fe6 Final fixes. 2025-06-30 23:23:55 +02:00
521c35af8f Fix column display issue on ENG_OPTIONS popup. 2025-06-30 23:23:55 +02:00
d021ab64b9 Commit to switch branches. 2025-06-30 23:23:55 +02:00
df5b217fe7 Merged PR 19805: Modified form and removed form items for the MU Inventory Report(Replaced by...
Modified form and removed form items for the MU Inventory Report(Replaced by Reporting Services) and thruput report also replaced my Reporting services
2025-06-30 22:46:32 +02:00
8415e99055 Switching to fast stringify 2025-06-30 11:39:40 -07:00
da208b2908 Remove duplicate calc column read 2025-06-30 18:33:40 +02:00
7b7f501145 added service to get nicaBaseInstructionId from NicaIntegrationService based on name of instruction/document
added UpdateNicaChecklistBaseInstructionIds call to GetOrderUpdates service
2025-06-30 18:04:37 +02:00
03e85359d1 ready for unit testing 2025-06-30 18:02:16 +02:00
401c03d752 Merged PR 19733: Bug Fix #2. TW Lot Qty Adjust
Fixed improper usage of CreateTestRunRecord.
Removed unnecessary development gates and unnecessary code usages.
2025-06-27 22:15:12 +02:00
a878c9bb2e Merged PR 19663: Modified the decrease lot qty functionality to reduce qty via test wafer usag...
Modified the decrease lot qty functionality to reduce qty via test wafer usage rather than directly reducing the qty.,
2025-06-27 21:39:06 +02:00
60b5386f27 modified logging dtm to include seconds 2025-06-26 16:24:10 -07:00
46f070e9cc Updated some logging to OConv the datetime. 2025-06-26 16:17:00 -07:00
2180ba3fb4 refactored Mona_Services to queue requests and send them in bulk via the Service Manager
Added queue count to mona monitors. Added email notification on ProcessMonaQueue.

Added hard limit of 2000 requests to be sent to MonInBufferedWorker at one time. Fixed outdated Shipment_Services in SharedTest environment.
2025-06-26 15:20:01 -07:00
c6910c14c2 modified ProcessProcedureQueue to mark requests as queued and only re-queue them if they have been queued for over ten minutes 2025-06-25 15:35:54 -07:00
38e7b6e276 Switched to RList from Select...By to prevent read issues. 2025-06-25 09:34:01 -07:00
e523f2085d moved log variables to prevent VNAVS when failing to read transaction record 2025-06-24 19:41:20 -07:00
7b386fe856 modified CLEAN_INSP_ACTIONS WRITE action to post to transaction queue and proc queue 2025-06-25 00:10:11 +02:00
bcdfbe0534 created transaction queue to process database writes and deletes in first in first out order 2025-06-24 13:25:47 -07:00
52499b7616 Merged PR 19430: Fix references to old supplement system. 2025-06-24 21:20:40 +02:00
1db89a3d3f fixing typo 2025-06-24 09:53:29 -07:00
de67e45c9a updated WRITE_PRE action to not use GetStackTrace and to notify FI of field name being cleared 2025-06-24 09:32:00 -07:00
3becd9cf4d updated WO_MAT_ACTIONS to block write operations if certain fields are cleared 2025-06-24 00:43:16 +02:00
d570e3cfef Merged PR 19340: Test wafer quantity 2025-06-23 20:22:02 +02:00
49f6cf505a Adding addtional smart scanner metrics 2025-06-23 18:21:12 +02:00
17e320923f Merged PR 19265: Moved call to MonA Metric setting above the local service error setting as th...
Moved call to MonA Metric setting above the local service error setting as the call to that MonA service was clearing out errors and preventing them from making their way back to the GUI.
2025-06-21 01:33:55 +02:00
c4a3edece2 fixed bug in generate material track rows that would clear user comments and kit demand values 2025-06-18 14:46:22 -07:00
273b7f67a6 Merged PR 19143: Require 100 percent centerpoint on MU conversion.
Initial commit.

Create FQASignatureReady service in QA_SERVICES.

Create SignFQA service in SIGNATURE_SERVICES.

Commit remaining portion of project.

Implement changes requested in review meeting.

Fix typo. Add new MU logic to final entry point.

Restrict logic to only apply to 'THICK'
inspections.

Bypass new logic if Biorad 4 and 5 are down.
2025-06-18 22:23:57 +02:00
5cb17c6d52 removing old notification code 2025-06-18 22:02:42 +02:00
0c7a1d55e2 fixed email notifications on failed calls to obj_WM_IN('Create') and obj_WM_OUT('Create') 2025-06-18 11:52:52 -07:00
b2c9e500f8 Modified WM_IN ZPL label generation to include a 2D datamatrix
barcode. Implemented 2D barcode verification in PTI and FQA Label Check
Operations.

Bug fixes

Changed WMI 2D barcode to have 8 fields to keep code base simpler

minor changes to error message verbiage

Refactored code to use post log. Refactored code to not use multiple returns. Modfield input form fields to force upper case only.

changed LSL password verification to be case insensitive to avoid barcode scanning issues when caps lock is on

temporary change to allow 1D WMI scans at PTI while we exhaust current supply
2025-06-18 19:09:34 +02:00
2f6b376ece Added removal of WO_STEP_KEY from RDS void routine 2025-06-18 09:32:19 -07:00
357b7ede64 added PROC_QUEUE metric to MONA_MONITORS 2025-06-17 11:20:38 -07:00
60493b3413 Refactored process proc queue service to handle more throughput. Fixed Metrology_Services import CDE qual service. 2025-06-17 09:35:34 -07:00
76327e9dbc Merged PR 18923: Added new vendor to REACT_VENDOR popup
Added new vendor to REACT_VENDOR popup
2025-06-16 23:10:40 +02:00
218 changed files with 105493 additions and 85061 deletions

2
.gitignore vendored
View File

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

234
.vscode/.txt vendored
View File

@ -1,234 +0,0 @@
// T:\met08resisrp2100\06_SourceCode\met08resisrp2100\Adaptation\FileHandlers\OpenInsight\FileRead.cs
// x.Date // 001
// x.Employee // 002
// x.Recipe // 003
// x.Reactor // 004
// x.RDS // 005
// x.PSN // 006
// x.Layer // 007
// x.Zone // 008
// T:\met08anlysdifaast230\06_SourceCode\met08anlysdifaast230\Adaptation\FileHandlers\OpenInsight\FileRead.cs
// x.PSN // 001
// x.Reactor // 002
// logistics.MesEntity // 003
// x.RDS // 004
// x.Recipe // 005
// x.Employee // 006
// x.SlotNumber // 007
// T:\met08thftirstratus\06_SourceCode\met08thftirstratus\Adaptation\FileHandlers\OpenInsight\FileRead.cs
// "Stratus_" // 001
// x.Date // 002
// logistics.JobID // 003
// "FQA Thickness" // 004
// x.Employee // 005
// x.Recipe // 006
// x.Reactor // 007
// x.RDS // 008
// x.PSN // 009
// x.Lot // 010
// x.Cassette // 011
// x.MeanThickness // 012
// descriptions[i].Slot // 013
// descriptions[i].Mean // 014
// T:\met08thftirqs408m\06_SourceCode\met08thftirqs408m\Adaptation\FileHandlers\OpenInsight\FileRead.cs
// Bio-Rad UniqueId // 001
// Date // 002
// ThicknessFourteenCriticalPointsAverage // 003
// Recipe // 004
// Reactor // 005
// RDS // 006
// PSN // 007
// Layer // 008
// Zone // 009
// Cassette // 010
// Wafer // 011
// RVThickness // 012
// Position // 013
// Thickness // 014
// T:\met08resimapcde\06_SourceCode\met08resimapcde\Adaptation\FileHandlers\OpenInsight\FileRead.cs
// x.UniqueId // 001
// x.Run // 002
// x.Date // 003
// x.Lot // 004
// x.Recipe // 005
// x.Reactor // 006
// x.RDS // 007
// x.PSN // 008
// x.Layer // 009
// x.Zone // 010
// logistics.MesEntity // 011
// x.Employee // 012
// x.Engineer // 013
// x.DLRatio // 014
// x.Temp // 015
// x.AutoOptimizeGain // 016
// x.AutoProbeHeightSet // 017
// x.DataReject // 018
// x.FileName // 019
// x.Avg // 020
// x.StdDev // 021
// x.SemiRadial // 022
// description.Pt // 023
// description.R // 024
// description.T // 025
// description.Rs // 026
// description.Merit // 027
// T:\met08resihgcv\06_SourceCode\met08resihgcv\Adaptation\FileHandlers\OpenInsight\FileRead.cs
// x.UniqueId // 001
// logistics.MesEntity // 002
// x.Reactor // 003
// x.RDS // 004
// x.PSN // 005
// x.Layer // 006
// x.Zone // 007
// x.Wafer // 008
// x.Lot // 009
// x.Plan // 010
// x.Date // 011
// x.WaferSize // 012
// x.Ccomp // 013
// x.Area // 014
// x.CondType // 015
// x.Model // 016
// x.StartVoltage // 017
// x.StopVoltage // 018
// x.RampRate // 019
// x.GLimit // 020
// x.SetupFile // 021
// x.SetupFile // 022
// x.Folder // 023
// x.Pattern // 024
// x.RhoMethod // 025
// x.NAvgMean // 026
// x.NAvgStdDev // 027
// x.NAvgRadialGradient // 028
// x.NslMean // 029
// x.NslStdDev // 030
// x.NslRadialGradient // 031
// x.VdMean // 032
// x.VdStdDev // 033
// x.VdRadialGradient // 034
// x.FlatZMean // 035
// x.FlatZStdDev // 036
// x.FlatZRadialGradient // 037
// x.RhoAvgMean // 038
// x.RhoAvgStdDev // 039
// x.RhoAvgRadialGradient // 040
// x.RhoslMean // 041
// x.RhoslStdDev // 042
// x.RhoslRadialGradient // 043
// x.PhaseMean // 044
// x.PhaseStdDev // 045
// x.PhaseRadialGradient // 046
// x.GradeMean // 047
// x.GradeStdDev // 048
// x.GradeRadialGradient // 049
// x.RsMean // 050
// x.RsStdDev // 051
// x.RsRadialGradient // 052
// description.Index // 053
// description.NAvg // 054
// description.Nsl // 055
// description.Vd // 056
// description.FlatZ // 057
// description.RhoAvg // 058
// description.Rhosl // 059
// description.Phase // 060
// description.Grade // 061
// T:\met08ddupsfs6420\06_SourceCode\met08ddupsfs6420\Adaptation\FileHandlers\OpenInsight\FileRead.cs
// x.AreaCountAvg // 001 - AreaCountAvg
// x.AreaCountMax // 002 - AreaCountMax
// x.AreaCountMin // 003 - AreaCountMin
// x.AreaCountStdDev // 004 - AreaCountStdDev
// x.AreaTotalAvg // 005 - AreaTotalAvg
// x.AreaTotalMax // 006 - AreaTotalMax
// x.AreaTotalMin // 007 - AreaTotalMin
// x.AreaTotalStdDev // 008 - AreaTotalStdDev
// x.Date // 009 -
// x.HazeAverageAvg // 010 - Haze Average
// x.HazeAverageMax // 011 -
// x.HazeAverageMin // 012 -
// x.HazeAverageStdDev // 013 -
// x.HazeRegionAvg // 014 -
// x.HazeRegionMax // 015 -
// x.HazeRegionMin // 016 -
// x.HazeRegionStdDev // 017 -
// x.Lot // 018 -
// x.LPDCM2Avg // 019 -
// x.LPDCM2Max // 020 -
// x.LPDCM2Min // 021 -
// x.LPDCM2StdDev // 022 -
// x.LPDCountAvg // 023 -
// x.LPDCountMax // 024 -
// x.LPDCM2Min // 025 -
// x.LPDCountStdDev // 026 -
// x.Employee // 027 -
// x.RDS // 028 - Lot
// x.Reactor // 029 - Process
// x.Recipe // 030 - Part
// x.ScratchCountAvg // 031 - Scratch Count
// x.ScratchCountMax // 032 -
// x.ScratchCountMin // 033 -
// x.ScratchTotalStdDev // 034 -
// x.ScratchTotalAvg // 035 - Scratch Length
// x.ScratchTotalMax // 036 -
// x.ScratchTotalMin // 037 -
// x.ScratchTotalStdDev // 038 -
// x.SumOfDefectsAvg // 039 - Average Sum of Defects
// x.SumOfDefectsMax // 040 - Max Sum of Defects
// x.SumOfDefectsMin // 041 - Min Sum of Defects
// x.SumOfDefectsStdDev // 042 - SumOfDefectsStdDev
// logistics.MesEntity // 043 -
// T:\met08ddupsp1tbi\06_SourceCode\met08ddupsp1tbi\Adaptation\FileHandlers\OpenInsight\FileRead.cs
// x.DcnLpdMin // 001 -
// x.DcnLpdMax // 002 -
// x.DcnLpdMean // 003 - DCN LPD
// x.DcnAreaCountMin // 004 -
// x.DcnAreaCountMax // 005 -
// x.DcnAreaCountMean // 006 - DCN Area
// x.DcnAreaMin // 007 -
// x.DcnAreaMax // 008 -
// x.Date // 009 -
// x.DcnHazeAvgMean // 010 - Haze Average
// string.Empty // 011 -
// string.Empty // 012 -
// string.Empty // 013 -
// string.Empty // 014 -
// string.Empty // 015 -
// string.Empty // 016 -
// string.Empty // 017 -
// string.Empty // 018 -
// string.Empty // 019 -
// string.Empty // 020 -
// string.Empty // 021 -
// string.Empty // 022 -
// string.Empty // 023 -
// string.Empty // 024 -
// string.Empty // 025 -
// string.Empty // 026 -
// string.Empty // 027 -
// x.RDS // 028 - Lot
// x.Reactor // 029 - Process
// x.Recipe // 030 - Part
// x.DcnScrMean // 031 - Scratch Count
// string.Empty // 032 -
// string.Empty // 033 -
// string.Empty // 034 -
// x.DcnMicroScrMean // 035 - Scratch Length
// string.Empty // 036 -
// string.Empty // 037 -
// string.Empty // 038 -
// x.DcnAllMean // 039 - Average Sum of Defects
// x.DcnAllMax // 040 - Max Sum of defects
// x.DcnAllMin // 041 - Min Sum of Defects
// string.Empty // 042 -
// logistics.MesEntity // 043 -
// x.DcnAreaMean // 044 - DCN MM2

280
.vscode/.vba vendored
View File

@ -1,280 +0,0 @@
Service SetJsonFromProcessDataStandardFormat(DataPath, FileName)
OSREAD Text FROM DataPath:FileName THEN
Records = 0;
Sequence = -1;
HeaderId = -1;
SubgroupId = -1;
ColumnTitlesLine = 0;
FoundEndOfFile = False$;
json = '{ "Records": [':@FM;
SWAP '|' WITH @VM IN Text;
SWAP CRLF$ WITH @FM IN Text;
ColumnTitlesIndexCount = 0;
LineCount = DCOUNT(Text, @FM);
FOR LineLoopIndex = 1 TO LineCount
Line = Text<LineLoopIndex>;
IF FoundEndOfFile = True$ THEN
IF Line<1, 1> = 'END_OFFSET' THEN
ColumnTitlesLine = LineLoopIndex + 2;
END
IF ColumnTitlesLine GT 0 THEN
Row = '{';
SegmentsCount = DCOUNT(Line, @VM);
IF ColumnTitlesIndexCount EQ 0 THEN
FOR SegmentLoopIndex = 1 TO SegmentsCount
IF SegmentLoopIndex = ColumnTitlesLine THEN
ColumnTitlesIndexCount = SegmentsCount - 2;
END
NEXT SegmentLoopIndex
END
IF ColumnTitlesIndexCount GT 0 AND SegmentsCount = ColumnTitlesIndexCount THEN
FOR SegmentLoopIndex = 1 TO SegmentsCount
Value = SRP_String('Trim', Line<1,SegmentLoopIndex>, 'FB');
swap '"' with '\"' in Value;
swap '\' with '\\' in Value;
Column = Text<ColumnTitlesLine,SegmentLoopIndex + 1>;
IF Column[1,1] = '"' AND Column[-1,1] = '"' THEN
Column = Column[2,LEN(Column) - 2];
END
Row = Row:'"':Column:'":"':Value:'",';
NEXT SegmentLoopIndex
Row = SRP_String('Trim', Row, 'B', ','):'},':@FM;
json = json:Row;
Records = Records + 1;
END
END
END
IF Line = 'EOF' THEN
FoundEndOfFile = True$;
Line = Text<LineLoopIndex - 1>;
Convert Tab$ to @FM IN Line
SWAP '=' WITH @VM IN Line;
SWAP ';' WITH @FM IN Line;
IF Line<2, 1> = 'B_HeaderId' THEN
HeaderId = Line<2, 2>
END
IF Line<3, 1> = 'B_SubgroupId' THEN
SubgroupId = Line<3, 2>
END
IF Line<14, 1> = 'B_SEQUENCE' THEN
Sequence = Line<14, 2>
END
END
NEXT LineLoopIndex
IF ColumnTitlesLine GT 0 AND ColumnTitlesIndexCount GT 0 THEN
json = SRP_String('Trim', json, 'B', @FM);
json = SRP_String('Trim', json, 'B', ',');
json = json:@FM:']':@FM:',"Sequence":':Sequence:',"HeaderId":':HeaderId:',"SubgroupId":':SubgroupId:',"Count":':Records:'}';
SWAP @FM WITH CRLF$ IN json;
END
IF LEN(json) GT 0 THEN
set_status(0);
OSWRITE json to DataPath:FileName:'.json'
StatusCode = '';
If Get_Status(StatusCode) THEN
ErrorMessage = 'Error writing run data file to repository: StatusCode = ' : StatusCode;
Metrology_Services('LogResults', '', Machine, 'UID001', Service : ' : ' : ErrorMessage);
Set_Status(0);
END
END
END ELSE
json = '';
END
Response = json;
end service
Service GetStratus(Handle)
Result = ''; // Service ImportStratusData(
Offset = 1
FieldPosition = 13
FieldPositionIncrement = 2
Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count');
Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence');
Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId');
Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId');
FOR RecordIndex = 1 TO Result<1, 1>
IF RecordIndex = 1 THEN
Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DateTime'); // Timestamp
Result<3> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MesEntity'); // Tool
Result<4> = 'FQA Thickness'; // DataType
Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Employee'); // Operator
Result<6> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Recipe'); // Recipe
Result<7> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // Reactor
Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSNo
Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']PSN'); // PSN
Result<10> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Batch'); // BatchID
Result<11> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Cassette'); // Cassette
Result<12> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']GradeMean'); // ThickAvg
END
ForOffset = (RecordIndex - 1) * FieldPositionIncrement;
Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Slot'); // Position
Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Mean'); // DataPoint
NEXT RecordIndex
Response = Result;
end service
Service GetBioRadEPPFQA(Handle)
Result = ''; // Service ImportBioRadEPPFQAData(
Offset = 1
FieldPosition = 13
FieldPositionIncrement = 1
Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count');
Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence');
Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId');
Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId');
FOR RecordIndex = 1 TO Result<1, 1>
IF RecordIndex = 1 THEN
Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DateTime'); // Timestamp
Result<4> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Recipe'); // ScanRecipe
Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ReactorID
Result<6> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // WMOKeyID
Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Layer'); // RunDataLayer
END
ForOffset = (RecordIndex - 1) * FieldPositionIncrement;
Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Position'); // Position
Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Thickness'); // DataPoint
NEXT RecordIndex
Response = Result;
end service
Service GetBioRad(Handle)
Result = ''; // Service ImportBioRadData(
Offset = 1
FieldPosition = 13
FieldPositionIncrement = 2
Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count');
Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence');
Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId');
Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId');
FOR RecordIndex = 1 TO Result<1, 1>
IF RecordIndex = 1 THEN
Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DateTime'); // TimeStamp
Result<4> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Recipe'); // ScanRecipe
Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ReactorID
Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ToolID
Result<6> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID
Result<7> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']PSN'); // PSN
Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Layer'); // RunDataLayer
Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Zone'); // RunDataZone
END
ForOffset = (RecordIndex - 1) * FieldPositionIncrement;
Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Position'); // Position
Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Thickness'); // DataPoint
NEXT RecordIndex
Response = Result;
end service
Service GetCDE(Handle)
Result = ''; // Service ImportCDEData(
Offset = 3
FieldPosition = 23
FieldPositionIncrement = 5
Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count');
Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence');
Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId');
Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId');
FOR RecordIndex = 1 TO Result<1, 1>
IF RecordIndex = 1 THEN
Result<3> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Date'); // Timestamp
Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RecipeName'); // ScanRecip
Result<6> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ReactorID
Result<7> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID
Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']PSN'); // PSN
Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Layer'); // RunDataLayer
Result<10> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Zone'); // RunDataZo
END
ForOffset = (RecordIndex - 1) * FieldPositionIncrement;
Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']InferredPoint'); // Position
Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Data'); // DataPoint
Result<FieldPosition + ForOffset + FieldPositionIncrement - 1> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MeritGOF'); // N/A
NEXT RecordIndex
Response = Result;
end service
Service GetHgCV(Handle)
Result = ''; // Service ImportHgCVData(
Offset = 5
PhaseOffset = 7
FieldPosition = 53
FieldPositionIncrement = 9
Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count');
Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence');
Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId');
Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId');
FOR RecordIndex = 1 TO Result<1, 1>
IF RecordIndex = 1 THEN
Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MesEntity'); // ToolID
Result<3> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Reactor'); // ReactorID
Result<4> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID
Result<5> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']PSN'); // PSN
Result<8> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Wafer'); // LayerZonePair
Result<11> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Date'); // Timestamp
END
ForOffset = (RecordIndex - 1) * FieldPositionIncrement;
Result<FieldPosition + ForOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Site'); // Position
Result<FieldPosition + ForOffset + Offset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RhoAvg'); // HgCVDataPoint
Result<FieldPosition + ForOffset + PhaseOffset> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Phase'); // PhaseDataPoint
Result<FieldPosition + ForOffset + FieldPositionIncrement - 1> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Grade'); // N/A
NEXT RecordIndex
Response = Result;
end service
Service GetTencor(Handle)
Result = ''; // Service ImportTencorData(
Result<1, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count');
Result<1, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence');
Result<1, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId');
Result<1, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId');
FOR RecordIndex = 1 TO Result<1, 1>
IF RecordIndex = 1 THEN
Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Date'); // Timestamp
Result<10> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']HazeAverageAvg'); // HazeAvg
Result<28> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID
Result<30> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']WaferRecipe'); // ScanRecipe
Result<39> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']SumOfDefectsAvg'); // SoDAvg
Result<40> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']SumOfDefectsMax'); // SoDMax
Result<41> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']SumOfDefectsMin'); // SoDMin
Result<43> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MesEntity'); // ScanTool
END
NEXT RecordIndex
Response = Result;
end service
Service GetSP1(Handle)
Result = ''; // Service ImportSP1Data(
Result<5, 1> = SRP_JSON(Handle, 'GETVALUE', 'Count');
Result<5, 2> = SRP_JSON(Handle, 'GETVALUE', 'Sequence');
Result<5, 3> = SRP_JSON(Handle, 'GETVALUE', 'HeaderId');
Result<5, 4> = SRP_JSON(Handle, 'GETVALUE', 'SubgroupId');
FOR RecordIndex = 1 TO Result<5, 1>
IF RecordIndex = 1 THEN
Result<9> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Date'); // Timestamp
Result<10> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnHazeAvgMean'); // HazeAvg
Result<28> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']RDS'); // RDSKeyID
Result<30> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']Session'); // ScanRecipe
IsMisfit = IndexC(Result<30>, 'MISFIT', 1)
IF IsMisfit THEN
Result<3> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMean'); // SoDAvg
Result<2> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMax'); // SoDMax
Result<1> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMin'); // SoDMin
END ELSE
Result<39> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMean'); // SoDAvg
Result<40> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMax'); // SoDMax
Result<41> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAllMin'); // SoDMin
END
Result<43> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']MesEntity'); // ScanTool
Result<44> = SRP_JSON(Handle, 'GETVALUE', 'Records[':RecordIndex:']DcnAreaMean'); // DCNMM2
END
NEXT RecordIndex
Response = Result;
end service

View File

@ -1,50 +0,0 @@
0 0 0.000 1 12 4.320 0.064 1.176 4/24/2025 1:56:23 AM 0.622 666335 55 6IN_SLIP 0.000 NA 4.440 12 1 SP101 0.357
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
|---|---|---|---|----|------|-------|-------|----------------------|-------|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|--------|----|----------|----|----|----|----|----|----|----|----|------|----|----|----|-------|-------|
| 0 | 0 | 0 | 1 | 12 | 4.32 | 0.064 | 1.176 | 4/24/2025 1:56:23 AM | 0.622 | | | | | | | | | | | | | | | | | | 666335 | 55 | 6IN_SLIP | 0 | | | | NA | | | | 4.44 | 12 | 1 | | SP101 | 0.357 |
<1>:0
<2>:0
<3>:0
<4>:1
<5>:12
<6>:4.32
<7>:0.064
<8>:1.176
<9>:4/24/2025 1:56:23 AM
<10>:0.622
<11>:
<12>:
<13>:
<14>:
<15>:
<16>:
<17>:
<18>:
<19>:
<20>:
<21>:
<22>:
<23>:
<24>:
<25>:
<26>:
<27>:
<28>:666335
<29>:55
<30>:6IN_SLIP
<31>:0
<32>:
<33>:
<34>:
<35>:NA
<36>:
<37>:
<38>:
<39>:4.44
<40>:12
<41>:1
<42>:
<43>:SP101
<44>:0.357

File diff suppressed because it is too large Load Diff

View File

@ -1,87 +0,0 @@
HEADER_TAG HEADER_VALUE
FORMAT 2.00
NUMBER_PASSES 0001
HEADER_OFFSET H#######T
DATA_OFFSET D#######T
END_OFFSET E#######T
"Time" "A_LOGISTICS" "B_LOGISTICS" "Test" "Count" "Index" "MesEntity" "Date" "Employee" "Lot" "PSN" "Reactor" "Recipe" "Grade" "HeaderUniqueId" "RDS" "Session" "Side" "SrcDest" "UniqueId" "WaferID" "DcnAllMax" "DcnAllMean" "DcnAllMin" "DcnAllStdDev" "DcnAreaCountMax" "DcnAreaCountMean" "DcnAreaCountMin" "DcnAreaCountStdDev" "DcnAreaMax" "DcnAreaMean" "DcnAreaMin" "DcnAreaStdDev" "DcnBin1Max" "DcnBin1Mean" "DcnBin1Min" "DcnBin1StdDev" "DcnBin2Max" "DcnBin2Mean" "DcnBin2Min" "DcnBin2StdDev" "DcnBin3Max" "DcnBin3Mean" "DcnBin3Min" "DcnBin3StdDev" "DcnBin4Max" "DcnBin4Mean" "DcnBin4Min" "DcnBin4StdDev" "DcnBin5Max" "DcnBin5Mean" "DcnBin5Min" "DcnBin5StdDev" "DcnBin6Max" "DcnBin6Mean" "DcnBin6Min" "DcnBin6StdDev" "DcnBin7Max" "DcnBin7Mean" "DcnBin7Min" "DcnBin7StdDev" "DcnBin8Max" "DcnBin8Mean" "DcnBin8Min" "DcnBin8StdDev" "DcnHazeAvgMax" "DcnHazeAvgMean" "DcnHazeAvgMin" "DcnHazeAvgStdDev" "DcnHazeMedianMax" "DcnHazeMedianMean" "DcnHazeMedianMin" "DcnHazeMedianStdDev" "DcnHazeStdDevMax" "DcnHazeStdDevMean" "DcnHazeStdDevMin" "DcnHazeStdDevStdDev" "DcnLpdESMax" "DcnLpdESMean" "DcnLpdESMin" "DcnLpdESStdDev" "DcnLpdMax" "DcnLpdMean" "DcnLpdMin" "DcnLpdNMax" "DcnLpdNMean" "DcnLpdNMin" "DcnLpdNStdDev" "DcnLpdStdDev" "DcnMicroScrMax" "DcnMicroScrMean" "DcnMicroScrMin" "DcnMicroScrStdDev" "DcnScrMax" "DcnScrMean" "DcnScrMin" "DcnScrStdDev" "DcnSlipMax" "DcnSlipMean" "DcnSlipMin" "DcnSlipStdDev" "DnnAllMax" "DnnAllMean" "DnnAllMin" "DnnAllStdDev" "DnnAreaCountMax" "DnnAreaCountMean" "DnnAreaCountMin" "DnnAreaCountStdDev" "DnnAreaMax" "DnnAreaMean" "DnnAreaMin" "DnnAreaStdDev" "DnnBin1Max" "DnnBin1Mean" "DnnBin1Min" "DnnBin1StdDev" "DnnBin2Max" "DnnBin2Mean" "DnnBin2Min" "DnnBin2StdDev" "DnnBin3Max" "DnnBin3Mean" "DnnBin3Min" "DnnBin3StdDev" "DnnBin4Max" "DnnBin4Mean" "DnnBin4Min" "DnnBin4StdDev" "DnnBin5Max" "DnnBin5Mean" "DnnBin5Min" "DnnBin5StdDev" "DnnBin6Max" "DnnBin6Mean" "DnnBin6Min" "DnnBin6StdDev" "DnnBin7Max" "DnnBin7Mean" "DnnBin7Min" "DnnBin7StdDev" "DnnBin8Max" "DnnBin8Mean" "DnnBin8Min" "DnnBin8StdDev" "DnnHazeAvgMax" "DnnHazeAvgMean" "DnnHazeAvgMin" "DnnHazeAvgStdDev" "DnnHazeMedianMax" "DnnHazeMedianMean" "DnnHazeMedianMin" "DnnHazeMedianStdDev" "DnnHazeStdDevMax" "DnnHazeStdDevMean" "DnnHazeStdDevMin" "DnnHazeStdDevStdDev" "DnnLpdESMax" "DnnLpdESMean" "DnnLpdESMin" "DnnLpdESStdDev" "DnnLpdMax" "DnnLpdMean" "DnnLpdMin" "DnnLpdNMax" "DnnLpdNMean" "DnnLpdNMin" "DnnLpdNStdDev" "DnnLpdStdDev" "DnnMicroScrMax" "DnnMicroScrMean" "DnnMicroScrMin" "DnnMicroScrStdDev" "DnnScrMax" "DnnScrMean" "DnnScrMin" "DnnScrStdDev" "DnnSlipMax" "DnnSlipMean" "DnnSlipMin" "DnnSlipStdDev" "DwnAllMax" "DwnAllMean" "DwnAllMin" "DwnAllStdDev" "DwnAreaCountMax" "DwnAreaCountMean" "DwnAreaCountMin" "DwnAreaCountStdDev" "DwnAreaMax" "DwnAreaMean" "DwnAreaMin" "DwnAreaStdDev" "DwnBin1Max" "DwnBin1Mean" "DwnBin1Min" "DwnBin1StdDev" "DwnBin2Max" "DwnBin2Mean" "DwnBin2Min" "DwnBin2StdDev" "DwnBin3Max" "DwnBin3Mean" "DwnBin3Min" "DwnBin3StdDev" "DwnBin4Max" "DwnBin4Mean" "DwnBin4Min" "DwnBin4StdDev" "DwnBin5Max" "DwnBin5Mean" "DwnBin5Min" "DwnBin5StdDev" "DwnBin6Max" "DwnBin6Mean" "DwnBin6Min" "DwnBin6StdDev" "DwnBin7Max" "DwnBin7Mean" "DwnBin7Min" "DwnBin7StdDev" "DwnBin8Max" "DwnBin8Mean" "DwnBin8Min" "DwnBin8StdDev" "DwnHazeAvgMax" "DwnHazeAvgMean" "DwnHazeAvgMin" "DwnHazeAvgStdDev" "DwnHazeMedianMax" "DwnHazeMedianMean" "DwnHazeMedianMin" "DwnHazeMedianStdDev" "DwnHazeStdDevMax" "DwnHazeStdDevMean" "DwnHazeStdDevMin" "DwnHazeStdDevStdDev" "DwnLpdESMax" "DwnLpdESMean" "DwnLpdESMin" "DwnLpdESStdDev" "DwnLpdMax" "DwnLpdMean" "DwnLpdMin" "DwnLpdNMax" "DwnLpdNMean" "DwnLpdNMin" "DwnLpdNStdDev" "DwnLpdStdDev" "DwnMicroScrMax" "DwnMicroScrMean" "DwnMicroScrMin" "DwnMicroScrStdDev" "DwnScrMax" "DwnScrMean" "DwnScrMin" "DwnScrStdDev" "DwnSlipMax" "DwnSlipMean" "DwnSlipMin" "DwnSlipStdDev" "DcnAll" "DcnArea" "DcnAreaCount" "DcnBin1" "DcnBin2" "DcnBin3" "DcnBin4" "DcnBin5" "DcnBin6" "DcnBin7" "DcnBin8" "DcnHazeAvg" "DcnHazeMedian" "DcnHazeStdDev" "DcnLpd" "DcnLpdES" "DcnLpdN" "DcnMicroScr" "DcnScr" "DcnSlip" "DnnAll" "DnnArea" "DnnAreaCount" "DnnBin1" "DnnBin2" "DnnBin3" "DnnBin4" "DnnBin5" "DnnBin6" "DnnBin7" "DnnBin8" "DnnHazeAvg" "DnnHazeMedian" "DnnHazeStdDev" "DnnLpd" "DnnLpdES" "DnnLpdN" "DnnMicroScr" "DnnScr" "DnnSlip" "DwnAll" "DwnArea" "DwnAreaCount" "DwnBin1" "DwnBin2" "DwnBin3" "DwnBin4" "DwnBin5" "DwnBin6" "DwnBin7" "DwnBin8" "DwnHazeAvg" "DwnHazeMedian" "DwnHazeStdDev" "DwnLpd" "DwnLpdES" "DwnLpdN" "DwnMicroScr" "DwnScr" "DwnSlip"
0.00 1 2 8 25 0 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/1-2/1 UniqueId 1 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.230 2 0 0 0 0 0 0 0 0 0.640 0.636 0.061 0 NA NA NA 0 0.000 0.155 4 0 0 0 0 0 0 0 0 0.448 0.443 0.028 0 NA NA NA NA NA 0.000 0 0 0 0 0 0 0 0 0 0.192 0.179 0.066 0 NA NA NA NA NA
0.00 1 2 8 25 1 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/2-2/2 UniqueId 2 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.064 2 0 0 0 0 0 0 0 0 0.644 0.636 0.058 0 NA NA NA 0 0.581 0.073 4 0 0 0 0 0 0 0 0 0.459 0.456 0.024 0 NA NA NA NA NA 0.000 0 0 0 0 0 0 0 0 0 0.185 0.169 0.062 0 NA NA NA NA NA
0.00 1 2 8 25 2 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/3-2/3 UniqueId 3 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.345 7 0 0 0 0 0 0 0 0 0.615 0.601 0.070 0 NA NA NA 0 0.000 0.284 9 0 0 0 0 0 0 0 0 0.449 0.447 0.017 0 NA NA NA NA NA 0.000 4 0 0 0 0 0 0 0 0 0.165 0.145 0.068 0 NA NA NA NA NA
0.00 1 2 8 25 3 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/4-2/4 UniqueId 4 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.284 4 0 0 0 0 0 0 0 0 0.631 0.625 0.065 0 NA NA NA 0 0.000 0.192 4 0 0 0 0 0 0 0 0 0.450 0.448 0.026 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.181 0.166 0.062 0 NA NA NA NA NA
0.00 1 2 8 25 4 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/5-2/5 UniqueId 5 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.298 2 0 0 0 0 0 0 0 0 0.624 0.612 0.065 0 NA NA NA 0 0.000 0.202 2 0 0 0 0 0 0 0 0 0.453 0.452 0.026 0 NA NA NA NA NA 0.028 2 0 0 0 0 0 0 0 0 0.170 0.153 0.061 0 NA NA NA NA NA
0.00 1 2 8 25 5 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/6-2/6 UniqueId 6 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.119 1 0 0 0 0 0 0 0 0 0.650 0.641 0.060 0 NA NA NA 0 0.000 0.083 1 0 0 0 0 0 0 0 0 0.468 0.467 0.027 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.182 0.166 0.066 0 NA NA NA NA NA
0.00 1 2 8 25 6 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/7-2/7 UniqueId 7 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.293 5 0 0 0 0 0 0 0 0 0.660 0.645 0.072 0 NA NA NA 0 0.000 0.222 5 0 0 0 0 0 0 0 0 0.477 0.476 0.018 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.182 0.164 0.072 0 NA NA NA NA NA
0.00 1 2 8 25 7 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/8-2/8 UniqueId 8 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.530 5 0 0 0 0 0 0 0 0 0.608 0.596 0.059 0 NA NA NA 0 0.000 0.309 7 0 0 0 0 0 0 0 0 0.442 0.437 0.030 0 NA NA NA NA NA 0.024 3 0 0 0 0 0 0 0 0 0.167 0.145 0.065 0 NA NA NA NA NA
0.00 1 2 8 25 8 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/9-2/9 UniqueId 9 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.138 3 0 0 0 0 0 0 0 0 0.607 0.598 0.086 0 NA NA NA 0 0.000 0.113 3 0 0 0 0 0 0 0 0 0.448 0.444 0.043 0 NA NA NA NA NA 0.000 0 0 0 0 0 0 0 0 0 0.160 0.147 0.065 0 NA NA NA NA NA
0.00 1 2 8 25 9 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/10-2/10 UniqueId 10 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.501 5 0 0 0 0 0 0 0 0 0.627 0.618 0.060 0 NA NA NA 0 0.000 0.347 5 0 0 0 0 0 0 0 0 0.459 0.453 0.027 0 NA NA NA NA NA 0.021 2 0 0 0 0 0 0 0 0 0.169 0.154 0.066 0 NA NA NA NA NA
0.00 1 2 8 25 10 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/11-2/11 UniqueId 11 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.498 7 0 0 0 0 0 0 0 0 0.611 0.604 0.057 0 NA NA NA 0 0.000 0.342 7 0 0 0 0 0 0 0 0 0.461 0.461 0.020 0 NA NA NA NA NA 0.022 3 0 0 0 0 0 0 0 0 0.151 0.137 0.061 0 NA NA NA NA NA
0.00 1 2 8 25 11 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/12-2/12 UniqueId 12 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.311 3 0 0 0 0 0 0 0 0 0.617 0.608 0.059 0 NA NA NA 0 0.000 0.197 3 0 0 0 0 0 0 0 0 0.448 0.444 0.022 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.169 0.156 0.062 0 NA NA NA NA NA
0.00 1 2 8 25 12 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/13-2/13 UniqueId 13 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.254 4 0 0 0 0 0 0 0 0 0.623 0.619 0.059 0 NA NA NA 0 0.000 0.191 4 0 0 0 0 0 0 0 0 0.461 0.458 0.023 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.162 0.153 0.057 0 NA NA NA NA NA
0.00 1 2 8 25 13 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/14-2/14 UniqueId 14 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.445 5 0 0 0 0 0 0 0 0 0.622 0.615 0.057 0 NA NA NA 0 0.000 0.316 5 0 0 0 0 0 0 0 0 0.444 0.440 0.025 0 NA NA NA NA NA 0.000 2 0 0 0 0 0 0 0 0 0.178 0.168 0.064 0 NA NA NA NA NA
0.00 1 2 8 25 14 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/15-2/15 UniqueId 15 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.285 2 0 0 0 0 0 0 0 0 0.609 0.602 0.058 0 NA NA NA 0 0.000 0.190 3 0 0 0 0 0 0 0 0 0.425 0.418 0.027 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.184 0.172 0.062 0 NA NA NA NA NA
0.00 1 2 8 25 15 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/16-2/16 UniqueId 16 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.845 6 0 0 0 0 0 0 0 0 0.604 0.604 0.057 0 NA NA NA 0 0.000 0.547 6 0 0 0 0 0 0 0 0 0.426 0.423 0.024 0 NA NA NA NA NA 0.026 3 0 0 0 0 0 0 0 0 0.178 0.170 0.063 0 NA NA NA NA NA
0.00 1 2 8 25 16 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/17-2/17 UniqueId 17 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.148 3 0 0 0 0 0 0 0 0 0.625 0.623 0.053 0 NA NA NA 0 0.000 0.111 3 0 0 0 0 0 0 0 0 0.432 0.430 0.022 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.193 0.188 0.060 0 NA NA NA NA NA
0.00 1 2 8 25 17 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/18-2/18 UniqueId 18 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.467 5 0 0 0 0 0 0 0 0 0.638 0.635 0.048 0 NA NA NA 0 0.000 0.308 5 0 0 0 0 0 0 0 0 0.439 0.436 0.021 0 NA NA NA NA NA 0.000 3 0 0 0 0 0 0 0 0 0.199 0.191 0.053 0 NA NA NA NA NA
0.00 1 2 8 25 18 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/19-2/19 UniqueId 19 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.282 6 0 0 0 0 0 0 0 0 0.624 0.622 0.050 0 NA NA NA 0 0.000 0.247 6 0 0 0 0 0 0 0 0 0.423 0.416 0.027 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.201 0.193 0.058 0 NA NA NA NA NA
0.00 1 2 8 25 19 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/20-2/20 UniqueId 20 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 1.176 12 0 0 0 0 0 0 0 0 0.619 0.617 0.054 0 NA NA NA 0 0.000 0.786 14 0 0 0 0 0 0 0 0 0.411 0.408 0.026 0 NA NA NA NA NA 0.000 3 0 0 0 0 0 0 0 0 0.208 0.198 0.061 0 NA NA NA NA NA
0.00 1 2 8 25 20 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/21-2/21 UniqueId 21 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.170 3 0 0 0 0 0 0 0 0 0.589 0.584 0.064 0 NA NA NA 0 0.000 0.135 3 0 0 0 0 0 0 0 0 0.416 0.416 0.023 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.173 0.165 0.067 0 NA NA NA NA NA
0.00 1 2 8 25 21 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/22-2/22 UniqueId 22 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.407 4 0 0 0 0 0 0 0 0 0.602 0.596 0.058 0 NA NA NA 0 0.000 0.269 4 0 0 0 0 0 0 0 0 0.422 0.418 0.027 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.181 0.167 0.066 0 NA NA NA NA NA
0.00 1 2 8 25 22 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/23-2/23 UniqueId 23 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.516 4 0 0 0 0 0 0 0 0 0.609 0.603 0.063 0 NA NA NA 0 0.000 0.319 4 0 0 0 0 0 0 0 0 0.415 0.413 0.024 0 NA NA NA NA NA 0.000 1 0 0 0 0 0 0 0 0 0.194 0.181 0.058 0 NA NA NA NA NA
0.00 1 2 8 25 23 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/24-2/24 UniqueId 24 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.180 4 0 0 0 0 0 0 0 0 0.614 0.606 0.067 0 NA NA NA 0 1.732 0.178 6 0 0 0 0 0 0 0 0 0.418 0.415 0.023 0 NA NA NA NA NA 0.000 2 0 0 0 0 0 0 0 0 0.196 0.179 0.060 0 NA NA NA NA NA
0.00 1 2 8 25 24 SP101 4/24/2025 1:56:23 AM 666335 5113 55 6IN_SLIP Grade1 HeaderUniqueId 666335 6IN_SLIP F 2/25-2/25 UniqueId 25 12 4.440 1 2.238 12 4.320 1 2.249 1.176 0.357 0.064 0.243 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.660 0.622 0.589 0.016 0.645 0.615 0.584 0.016 0.278 0.070 0.048 0.044 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA 0 0.000 0 0.000 1.732 0.093 0.000 0.361 14 4.840 1 2.577 14 4.840 1 2.577 0.786 0.250 0.073 0.154 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.477 0.440 0.411 0.019 0.476 0.437 0.408 0.019 0.187 0.032 0.017 0.033 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 4 1.560 0 1.083 4 1.560 0 1.083 0.042 0.007 0.000 0.012 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0 0.000 0.218 0.182 0.151 0.016 0.200 0.168 0.137 0.017 0.108 0.065 0.053 0.010 NA NA NA NA 0 0.000 0 NA NA NA NA 0.000 NA NA NA NA NA NA NA NA NA NA NA NA 0.152 4 0 0 0 0 0 0 0 0 0.633 0.622 0.278 0 NA NA NA 0 0.000 0.128 4 0 0 0 0 0 0 0 0 0.415 0.414 0.187 0 NA NA NA NA NA 0.042 1 0 0 0 0 0 0 0 0 0.218 0.200 0.108 0 NA NA NA NA NA
NUM_DATA_ROWS 000000025
NUM_DATA_COLUMNS 000000321
DELIMITER ;
START_TIME_FORMAT MM/dd/yyyy HH:mm:ss
START_TIME 04/24/2025 01:56:23
LOGISTICS_COLUMN A_LOGISTICS
LOGISTICS_COLUMN B_LOGISTICS
LOGISTICS_1 A_BASIC_TYPE=;A_INFO=6IN_SLIP_20250424_0127_2025-04-24_01;56;37;581.txt.csv;A_INFO2=25;A_JOBID=SP101;A_MES_ENTITY=SP101;A_MID=55-666335-5113;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638810565835457504;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2 B_BASIC_TYPE=Left - High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=666335;B_NULL_DATA=;B_PPID=6IN_SLIP;B_PROCESS_JOBID=55;B_PRODUCT=5113;B_SEQUENCE=638810565835457504;B_WAFER_ID=-;B_WAFER_POS=-;
EOF
HEADER_TAG|HEADER_VALUE
FORMAT|2.00
NUMBER_PASSES|0001
HEADER_OFFSET|000037963
DATA_OFFSET|000000128
END_OFFSET|000038659
|Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Lot|Session|DcnAllMin|DcnLpdMin|DcnLpdNMin|DcnLpdESMin|DcnMicroScrMin|DcnScrMin|DcnSlipMin|DcnAreaCountMin|DcnAreaMin|DcnHazeAvgMin|DcnHazeMedianMin|DcnHazeStdDevMin|DcnBin1Min|DcnBin2Min|DcnBin3Min|DcnBin4Min|DcnBin5Min|DcnBin6Min|DcnBin7Min|DcnBin8Min|DcnAllMax|DcnLpdMax|DcnLpdNMax|DcnLpdESMax|DcnMicroScrMax|DcnScrMax|DcnSlipMax|DcnAreaCountMax|DcnAreaMax|DcnHazeAvgMax|DcnHazeMedianMax|DcnHazeStdDevMax|DcnBin1Max|DcnBin2Max|DcnBin3Max|DcnBin4Max|DcnBin5Max|DcnBin6Max|DcnBin7Max|DcnBin8Max|DcnAllMean|DcnLpdMean|DcnLpdNMean|DcnLpdESMean|DcnMicroScrMean|DcnScrMean|DcnSlipMean|DcnAreaCountMean|DcnAreaMean|DcnHazeAvgMean|DcnHazeMedianMean|DcnHazeStdDevMean|DcnBin1Mean|DcnBin2Mean|DcnBin3Mean|DcnBin4Mean|DcnBin5Mean|DcnBin6Mean|DcnBin7Mean|DcnBin8Mean|DcnAllStdDev|DcnLpdStdDev|DcnLpdNStdDev|DcnLpdESStdDev|DcnMicroScrStdDev|DcnScrStdDev|DcnSlipStdDev|DcnAreaCountStdDev|DcnAreaStdDev|DcnHazeAvgStdDev|DcnHazeMedianStdDev|DcnHazeStdDevStdDev|DcnBin1StdDev|DcnBin2StdDev|DcnBin3StdDev|DcnBin4StdDev|DcnBin5StdDev|DcnBin6StdDev|DcnBin7StdDev|DcnBin8StdDev|DwnAllMin|DwnLpdMin|DwnLpdNMin|DwnLpdESMin|DwnMicroScrMin|DwnScrMin|DwnSlipMin|DwnAreaCountMin|DwnAreaMin|DwnHazeAvgMin|DwnHazeMedianMin|DwnHazeStdDevMin|DwnBin1Min|DwnBin2Min|DwnBin3Min|DwnBin4Min|DwnBin5Min|DwnBin6Min|DwnBin7Min|DwnBin8Min|DwnAllMax|DwnLpdMax|DwnLpdNMax|DwnLpdESMax|DwnMicroScrMax|DwnScrMax|DwnSlipMax|DwnAreaCountMax|DwnAreaMax|DwnHazeAvgMax|DwnHazeMedianMax|DwnHazeStdDevMax|DwnBin1Max|DwnBin2Max|DwnBin3Max|DwnBin4Max|DwnBin5Max|DwnBin6Max|DwnBin7Max|DwnBin8Max|DwnAllMean|DwnLpdMean|DwnLpdNMean|DwnLpdESMean|DwnMicroScrMean|DwnScrMean|DwnSlipMean|DwnAreaCountMean|DwnAreaMean|DwnHazeAvgMean|DwnHazeMedianMean|DwnHazeStdDevMean|DwnBin1Mean|DwnBin2Mean|DwnBin3Mean|DwnBin4Mean|DwnBin5Mean|DwnBin6Mean|DwnBin7Mean|DwnBin8Mean|DwnAllStdDev|DwnLpdStdDev|DwnLpdNStdDev|DwnLpdESStdDev|DwnMicroScrStdDev|DwnScrStdDev|DwnSlipStdDev|DwnAreaCountStdDev|DwnAreaStdDev|DwnHazeAvgStdDev|DwnHazeMedianStdDev|DwnHazeStdDevStdDev|DwnBin1StdDev|DwnBin2StdDev|DwnBin3StdDev|DwnBin4StdDev|DwnBin5StdDev|DwnBin6StdDev|DwnBin7StdDev|DwnBin8StdDev|DnnAllMin|DnnLpdMin|DnnLpdNMin|DnnLpdESMin|DnnMicroScrMin|DnnScrMin|DnnSlipMin|DnnAreaCountMin|DnnAreaMin|DnnHazeAvgMin|DnnHazeMedianMin|DnnHazeStdDevMin|DnnBin1Min|DnnBin2Min|DnnBin3Min|DnnBin4Min|DnnBin5Min|DnnBin6Min|DnnBin7Min|DnnBin8Min|DnnAllMax|DnnLpdMax|DnnLpdNMax|DnnLpdESMax|DnnMicroScrMax|DnnScrMax|DnnSlipMax|DnnAreaCountMax|DnnAreaMax|DnnHazeAvgMax|DnnHazeMedianMax|DnnHazeStdDevMax|DnnBin1Max|DnnBin2Max|DnnBin3Max|DnnBin4Max|DnnBin5Max|DnnBin6Max|DnnBin7Max|DnnBin8Max|DnnAllMean|DnnLpdMean|DnnLpdNMean|DnnLpdESMean|DnnMicroScrMean|DnnScrMean|DnnSlipMean|DnnAreaCountMean|DnnAreaMean|DnnHazeAvgMean|DnnHazeMedianMean|DnnHazeStdDevMean|DnnBin1Mean|DnnBin2Mean|DnnBin3Mean|DnnBin4Mean|DnnBin5Mean|DnnBin6Mean|DnnBin7Mean|DnnBin8Mean|DnnAllStdDev|DnnLpdStdDev|DnnLpdNStdDev|DnnLpdESStdDev|DnnMicroScrStdDev|DnnScrStdDev|DnnSlipStdDev|DnnAreaCountStdDev|DnnAreaStdDev|DnnHazeAvgStdDev|DnnHazeMedianStdDev|DnnHazeStdDevStdDev|DnnBin1StdDev|DnnBin2StdDev|DnnBin3StdDev|DnnBin4StdDev|DnnBin5StdDev|DnnBin6StdDev|DnnBin7StdDev|DnnBin8StdDev|Side|WaferID|Grade|SrcDest|DcnAll|DcnLpd|DcnLpdN|DcnLpdES|DcnMicroScr|DcnScr|DcnSlip|DcnAreaCount|DcnArea|DcnHazeAvg|DcnHazeMedian|DcnHazeStdDev|DcnBin1|DcnBin2|DcnBin3|DcnBin4|DcnBin5|DcnBin6|DcnBin7|DcnBin8|DwnAll|DwnLpd|DwnLpdN|DwnLpdES|DwnMicroScr|DwnScr|DwnSlip|DwnAreaCount|DwnArea|DwnHazeAvg|DwnHazeMedian|DwnHazeStdDev|DwnBin1|DwnBin2|DwnBin3|DwnBin4|DwnBin5|DwnBin6|DwnBin7|DwnBin8|DnnAll|DnnLpd|DnnLpdN|DnnLpdES|DnnMicroScr|DnnScr|DnnSlip|DnnAreaCount|DnnArea|DnnHazeAvg|DnnHazeMedian|DnnHazeStdDev|DnnBin1|DnnBin2|DnnBin3|DnnBin4|DnnBin5|DnnBin6|DnnBin7|DnnBin8|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|Date|EventId|
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
0.00|1|2|25|638810565835457504|SP101|0|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|1|Grade1|2/1-2/1||0|NA|NA|NA|0|0.000|2|0.230|0.640|0.636|0.061|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|0|0.000|0.192|0.179|0.066|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.155|0.448|0.443|0.028|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|1|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|2|Grade1|2/2-2/2||0|NA|NA|NA|0|0.581|2|0.064|0.644|0.636|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|0|0.000|0.185|0.169|0.062|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.073|0.459|0.456|0.024|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|2|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|3|Grade1|2/3-2/3||0|NA|NA|NA|0|0.000|7|0.345|0.615|0.601|0.070|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.000|0.165|0.145|0.068|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|9|0.284|0.449|0.447|0.017|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|3|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|4|Grade1|2/4-2/4||0|NA|NA|NA|0|0.000|4|0.284|0.631|0.625|0.065|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.181|0.166|0.062|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.192|0.450|0.448|0.026|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|4|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|5|Grade1|2/5-2/5||0|NA|NA|NA|0|0.000|2|0.298|0.624|0.612|0.065|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.028|0.170|0.153|0.061|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.202|0.453|0.452|0.026|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|5|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|6|Grade1|2/6-2/6||0|NA|NA|NA|0|0.000|1|0.119|0.650|0.641|0.060|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.182|0.166|0.066|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.083|0.468|0.467|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|6|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|7|Grade1|2/7-2/7||0|NA|NA|NA|0|0.000|5|0.293|0.660|0.645|0.072|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.182|0.164|0.072|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|5|0.222|0.477|0.476|0.018|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|7|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|8|Grade1|2/8-2/8||0|NA|NA|NA|0|0.000|5|0.530|0.608|0.596|0.059|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.024|0.167|0.145|0.065|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|7|0.309|0.442|0.437|0.030|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|8|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|9|Grade1|2/9-2/9||0|NA|NA|NA|0|0.000|3|0.138|0.607|0.598|0.086|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|0|0.000|0.160|0.147|0.065|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.113|0.448|0.444|0.043|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|9|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|10|Grade1|2/10-2/10||0|NA|NA|NA|0|0.000|5|0.501|0.627|0.618|0.060|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.021|0.169|0.154|0.066|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|5|0.347|0.459|0.453|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|10|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|11|Grade1|2/11-2/11||0|NA|NA|NA|0|0.000|7|0.498|0.611|0.604|0.057|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.022|0.151|0.137|0.061|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|7|0.342|0.461|0.461|0.020|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|11|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|12|Grade1|2/12-2/12||0|NA|NA|NA|0|0.000|3|0.311|0.617|0.608|0.059|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.169|0.156|0.062|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.197|0.448|0.444|0.022|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|12|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|13|Grade1|2/13-2/13||0|NA|NA|NA|0|0.000|4|0.254|0.623|0.619|0.059|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.162|0.153|0.057|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.191|0.461|0.458|0.023|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|13|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|14|Grade1|2/14-2/14||0|NA|NA|NA|0|0.000|5|0.445|0.622|0.615|0.057|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.000|0.178|0.168|0.064|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|5|0.316|0.444|0.440|0.025|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|14|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|15|Grade1|2/15-2/15||0|NA|NA|NA|0|0.000|2|0.285|0.609|0.602|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.184|0.172|0.062|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.190|0.425|0.418|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|15|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|16|Grade1|2/16-2/16||0|NA|NA|NA|0|0.000|6|0.845|0.604|0.604|0.057|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.026|0.178|0.170|0.063|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|6|0.547|0.426|0.423|0.024|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|16|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|17|Grade1|2/17-2/17||0|NA|NA|NA|0|0.000|3|0.148|0.625|0.623|0.053|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.193|0.188|0.060|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.111|0.432|0.430|0.022|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|17|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|18|Grade1|2/18-2/18||0|NA|NA|NA|0|0.000|5|0.467|0.638|0.635|0.048|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.000|0.199|0.191|0.053|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|5|0.308|0.439|0.436|0.021|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|18|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|19|Grade1|2/19-2/19||0|NA|NA|NA|0|0.000|6|0.282|0.624|0.622|0.050|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.201|0.193|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|6|0.247|0.423|0.416|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|19|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|20|Grade1|2/20-2/20||0|NA|NA|NA|0|0.000|12|1.176|0.619|0.617|0.054|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.000|0.208|0.198|0.061|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|14|0.786|0.411|0.408|0.026|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|20|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|21|Grade1|2/21-2/21||0|NA|NA|NA|0|0.000|3|0.170|0.589|0.584|0.064|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.173|0.165|0.067|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|3|0.135|0.416|0.416|0.023|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|21|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|22|Grade1|2/22-2/22||0|NA|NA|NA|0|0.000|4|0.407|0.602|0.596|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.181|0.167|0.066|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.269|0.422|0.418|0.027|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|22|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|23|Grade1|2/23-2/23||0|NA|NA|NA|0|0.000|4|0.516|0.609|0.603|0.063|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.000|0.194|0.181|0.058|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.319|0.415|0.413|0.024|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|23|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|24|Grade1|2/24-2/24||0|NA|NA|NA|0|1.732|4|0.180|0.614|0.606|0.067|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|2|0.000|0.196|0.179|0.060|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|6|0.178|0.418|0.415|0.023|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
0.00|1|2|25|638810565835457504|SP101|24|666335|6IN_SLIP|1|0|NA|NA|NA|0|0.000|1|0.064|0.589|0.584|0.048|0|0|0|0|0|0|0|0|12|0|NA|NA|NA|0|1.732|12|1.176|0.660|0.645|0.278|0|0|0|0|0|0|0|0|4.440|0.000|NA|NA|NA|0.000|0.093|4.320|0.357|0.622|0.615|0.070|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.238|0.000|NA|NA|NA|0.000|0.361|2.249|0.243|0.016|0.016|0.044|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0|0|NA|NA|NA|NA|NA|0|0.000|0.151|0.137|0.053|0|0|0|0|0|0|0|0|4|0|NA|NA|NA|NA|NA|4|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0|1.560|0.000|NA|NA|NA|NA|NA|1.560|0.007|0.182|0.168|0.065|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1.083|0.000|NA|NA|NA|NA|NA|1.083|0.012|0.016|0.017|0.010|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|1|0|NA|NA|NA|NA|NA|1|0.073|0.411|0.408|0.017|0|0|0|0|0|0|0|0|14|0|NA|NA|NA|NA|NA|14|0.786|0.477|0.476|0.187|0|0|0|0|0|0|0|0|4.840|0.000|NA|NA|NA|NA|NA|4.840|0.250|0.440|0.437|0.032|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|2.577|0.000|NA|NA|NA|NA|NA|2.577|0.154|0.019|0.019|0.033|0.000|0.000|0.000|0.000|0.000|0.000|0.000|0.000|F|25|Grade1|2/25-2/25||0|NA|NA|NA|0|0.000|4|0.152|0.633|0.622|0.278|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|1|0.042|0.218|0.200|0.108|0|0|0|0|0|0|0|0||0|NA|NA|NA|NA|NA|4|0.128|0.415|0.414|0.187|0|0|0|0|0|0|0|0|666335|5113|55|-|-||55-666335-5113|4/24/2025 1:56:23 AM|8
NUM_DATA_ROWS|000000025
NUM_DATA_COLUMNS|000000322
DELIMITER|;
START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss
START_TIME|04/24/2025 01:56:23
LOGISTICS_COLUMN|A_LOGISTICS
LOGISTICS_COLUMN|B_LOGISTICS
LOGISTICS_1|A_BASIC_TYPE=;A_INFO=6IN_SLIP_20250424_0127_2025-04-24_01;56;37;581.txt.csv;A_INFO2=25;A_JOBID=SP101;A_MES_ENTITY=SP101;A_MID=55-666335-5113;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638810565835457504;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2|B_BASIC_TYPE=Left - High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=666335;B_NULL_DATA=;B_PPID=6IN_SLIP;B_PROCESS_JOBID=55;B_PRODUCT=5113;B_SEQUENCE=638810565835457504;B_WAFER_ID=-;B_WAFER_POS=-;
END_HEADER

View File

@ -1,49 +0,0 @@
1 1 1 0 0.10 0.21 0.019 0.10 4/24/2025 4:46:29 PM 1.15 1.18 1.12 0.0291 100 100 100 0 667227 0.013 0.019 0.006 0.006 2 3 0.006 1 667227 36 6IN_THIN ROTR 0.3 1 0 0.59 0.34 1.02 0 0.59 3 4 2 1 TENCOR1
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |
|---|---|---|---|-----|------|-------|-----|----------------------|------|------|------|--------|-----|-----|-----|----|--------|-------|-------|-------|-------|----|----|-------|----|----|--------|----|---------------|-----|----|----|------|------|------|----|------|----|----|----|----|---------|
| 1 | 1 | 1 | 0 | 0.1 | 0.21 | 0.019 | 0.1 | 4/24/2025 4:46:29 PM | 1.15 | 1.18 | 1.12 | 0.0291 | 100 | 100 | 100 | 0 | 667227 | 0.013 | 0.019 | 0.006 | 0.006 | 2 | 3 | 0.006 | 1 | | 667227 | 36 | 6IN_THIN ROTR | 0.3 | 1 | 0 | 0.59 | 0.34 | 1.02 | 0 | 0.59 | 3 | 4 | 2 | 1 | TENCOR1 |
<1>:1
<2>:1
<3>:1
<4>:0
<5>:0.1
<6>:0.21
<7>:0.019
<8>:0.1
<9>:4/24/2025 4:46:29 PM
<10>:1.15
<11>:1.18
<12>:1.12
<13>:0.0291
<14>:100
<15>:100
<16>:100
<17>:0
<18>:667227
<19>:0.013
<20>:0.019
<21>:0.006
<22>:0.006
<23>:2
<24>:3
<25>:0.006
<26>:1
<27>:
<28>:667227
<29>:36
<30>:6IN_THIN ROTR
<31>:0.3
<32>:1
<33>:0
<34>:0.59
<35>:0.34
<36>:1.02
<37>:0
<38>:0.59
<39>:3
<40>:4
<41>:2
<42>:1
<43>:TENCOR1

View File

@ -1,176 +0,0 @@
{
"Id": -1,
"AreaCountAvg": "1",
"AreaCountMax": "1",
"AreaCountMin": "1",
"AreaCountStdDev": "0",
"AreaTotalAvg": "0.10",
"AreaTotalMax": "0.21",
"AreaTotalMin": "0.019",
"AreaTotalStdDev": "0.10",
"Date": "4/24/2025 4:46:29 PM",
"HazeAverageAvg": "1.15",
"HazeAverageMax": "1.18",
"HazeAverageMin": "1.12",
"HazeAverageStdDev": "0.0291",
"HazeRegionAvg": "100",
"HazeRegionMax": "100",
"HazeRegionMin": "100",
"HazeRegionStdDev": "0",
"Layer": null,
"LotID": "667227",
"LPDCM2Avg": "0.013",
"LPDCM2Max": "0.019",
"LPDCM2Min": "0.006",
"LPDCM2StdDev": "0.006",
"LPDCountAvg": "2",
"LPDCountMax": "3",
"LPDCountMin": "1",
"LPDCountStdDev": "1",
"Operator": "",
"ParseErrorText": "ParseErrorText",
"PSN": "5142",
"RDS": "667227",
"Reactor": "36",
"Recipe": "6IN_THIN ROTR",
"ScratchCountAvg": "0.3",
"ScratchCountMax": "1",
"ScratchCountMin": "0",
"ScratchCountStdDev": "0.6",
"ScratchTotalAvg": "0.34",
"ScratchTotalMax": "1.02",
"ScratchTotalMin": "0",
"ScratchTotalStdDev": "0.59",
"SumOfDefectsAvg": "3",
"SumOfDefectsMax": "4",
"SumOfDefectsMin": "2",
"SumOfDefectsStdDev": "1",
"Title": null,
"UniqueId": "TENCOR1_1T667227_202504241646295374",
"Zone": null,
"CellName": "TENCOR1",
"Data": "*Data*",
"i": -1,
"Details": [
{
"Id": 0,
"AreaCount": "1",
"AreaTotal": "0.0716mm2",
"Bin1": "2",
"Bin2": "1",
"Bin3": "0",
"Bin4": "0",
"Bin5": "0",
"Bin6": "0",
"Bin7": null,
"Bin8": null,
"Comments": "- High Thruput",
"Date": "4/24/2025 4:46:29 PM",
"Diameter": "150 mm",
"Exclusion": "4mm",
"Gain": "4",
"HazeAverage": "1.16ppm",
"HazePeak": "25.5ppm",
"HazeRegion": "100%",
"HazeRng": "500ppm",
"HeaderUniqueId": "TENCOR1_1T667227_202504241646295374",
"LPDCM2": "0.019",
"LPDCount": "3",
"Laser": "488nm",
"Mean": "0.252",
"Recipe": "6IN_THIN ROTR",
"ScratchCount": "1",
"ScratchTotal": "1.02mm",
"Slot": "01",
"Sort": "PASS",
"StdDev": "0.043",
"SumOfDefects": "4",
"Thresh": "0.200um",
"Thruput": "Normal",
"Title": null,
"UniqueId": "TENCOR1_1T667227_202504241646295374_Item-1",
"Data": "*Data*",
"i": -1
},
{
"Id": 0,
"AreaCount": "1",
"AreaTotal": "0.0195mm2",
"Bin1": "1",
"Bin2": "0",
"Bin3": "0",
"Bin4": "0",
"Bin5": "1",
"Bin6": "0",
"Bin7": null,
"Bin8": null,
"Comments": "- High Thruput",
"Date": "4/24/2025 4:46:29 PM",
"Diameter": "150 mm",
"Exclusion": "4mm",
"Gain": "4",
"HazeAverage": "1.18ppm",
"HazePeak": "25.0ppm",
"HazeRegion": "100%",
"HazeRng": "500ppm",
"HeaderUniqueId": "TENCOR1_1T667227_202504241646295374",
"LPDCM2": "0.013",
"LPDCount": "2",
"Laser": "488nm",
"Mean": "1.32",
"Recipe": "6IN_THIN ROTR",
"ScratchCount": "0",
"ScratchTotal": "0mm",
"Slot": "15",
"Sort": "PASS",
"StdDev": "1.54",
"SumOfDefects": "3",
"Thresh": "0.200um",
"Thruput": "Normal",
"Title": null,
"UniqueId": "TENCOR1_1T667227_202504241646295374_Item-2",
"Data": "*Data*",
"i": -1
},
{
"Id": 0,
"AreaCount": "1",
"AreaTotal": "0.213mm2",
"Bin1": "0",
"Bin2": "1",
"Bin3": "0",
"Bin4": "0",
"Bin5": "0",
"Bin6": "0",
"Bin7": null,
"Bin8": null,
"Comments": "- High Thruput",
"Date": "4/24/2025 4:46:29 PM",
"Diameter": "150 mm",
"Exclusion": "4mm",
"Gain": "4",
"HazeAverage": "1.12ppm",
"HazePeak": "22.5ppm",
"HazeRegion": "100%",
"HazeRng": "500ppm",
"HeaderUniqueId": "TENCOR1_1T667227_202504241646295374",
"LPDCM2": "0.006",
"LPDCount": "1",
"Laser": "488nm",
"Mean": "0.307",
"Recipe": "6IN_THIN ROTR",
"ScratchCount": "0",
"ScratchTotal": "0mm",
"Slot": "25",
"Sort": "PASS",
"StdDev": "0.000",
"SumOfDefects": "2",
"Thresh": "0.200um",
"Thruput": "Normal",
"Title": null,
"UniqueId": "TENCOR1_1T667227_202504241646295374_Item-3",
"Data": "*Data*",
"i": -1
}
]
}

View File

@ -1,43 +0,0 @@
HEADER_TAG HEADER_VALUE
FORMAT 2.00
NUMBER_PASSES 0001
HEADER_OFFSET H#######T
DATA_OFFSET D#######T
END_OFFSET E#######T
"Time" "A_LOGISTICS" "B_LOGISTICS" "Test" "Count" "Index" "MesEntity" "Date" "Employee" "Lot" "PSN" "Reactor" "Recipe" "Comments" "Diameter" "Exclusion" "Gain" "HeaderUniqueId" "Laser" "ParseErrorText" "RDS" "Slot" "UniqueId" "AreaCount" "AreaCountAvg" "AreaCountMax" "AreaCountMin" "AreaCountStdDev" "AreaTotal" "AreaTotalAvg" "AreaTotalMax" "AreaTotalMin" "AreaTotalStdDev" "Bin1" "Bin2" "Bin3" "Bin4" "Bin5" "Bin6" "Bin7" "Bin8" "HazeAverage" "HazeAverageAvg" "HazeAverageMax" "HazeAverageMin" "HazeAverageStdDev" "HazePeak" "HazeRegion" "HazeRegionAvg" "HazeRegionMax" "HazeRegionMin" "HazeRegionStdDev" "HazeRng" "LPDCM2" "LPDCM2Avg" "LPDCM2Max" "LPDCM2Min" "LPDCM2StdDev" "LPDCount" "LPDCountAvg" "LPDCountMax" "LPDCountMin" "LPDCountStdDev" "Mean" "ScratchCount" "ScratchCountAvg" "ScratchCountMax" "ScratchCountMin" "ScratchCountStdDev" "ScratchTotal" "ScratchTotalAvg" "ScratchTotalMax" "ScratchTotalMin" "ScratchTotalStdDev" "Sort" "StdDev" "SumOfDefects" "SumOfDefectsAvg" "SumOfDefectsMax" "SumOfDefectsMin" "SumOfDefectsStdDev" "Thresh" "Thruput"
0.00 1 2 7 3 0 TENCOR1 4/24/2025 4:46:29 PM 667227 5142 36 6IN_THIN ROTR - High Thruput 150 mm 4mm 4 HeaderUniqueId 488nm ParseErrorText 667227 01 UniqueId 1 1 1 1 0 0.0716mm2 0.10 0.21 0.019 0.10 2 1 0 0 0 0 1.16ppm 1.15 1.18 1.12 0.0291 25.5ppm 100% 100 100 100 0 500ppm 0.019 0.013 0.019 0.006 0.006 3 2 3 1 1 0.252 1 0.3 1 0 0.6 1.02mm 0.34 1.02 0 0.59 PASS 0.043 4 3 4 2 1 0.200um Normal
0.00 1 2 7 3 1 TENCOR1 4/24/2025 4:46:29 PM 667227 5142 36 6IN_THIN ROTR - High Thruput 150 mm 4mm 4 HeaderUniqueId 488nm ParseErrorText 667227 15 UniqueId 1 1 1 1 0 0.0195mm2 0.10 0.21 0.019 0.10 1 0 0 0 1 0 1.18ppm 1.15 1.18 1.12 0.0291 25.0ppm 100% 100 100 100 0 500ppm 0.013 0.013 0.019 0.006 0.006 2 2 3 1 1 1.32 0 0.3 1 0 0.6 0mm 0.34 1.02 0 0.59 PASS 1.54 3 3 4 2 1 0.200um Normal
0.00 1 2 7 3 2 TENCOR1 4/24/2025 4:46:29 PM 667227 5142 36 6IN_THIN ROTR - High Thruput 150 mm 4mm 4 HeaderUniqueId 488nm ParseErrorText 667227 25 UniqueId 1 1 1 1 0 0.213mm2 0.10 0.21 0.019 0.10 0 1 0 0 0 0 1.12ppm 1.15 1.18 1.12 0.0291 22.5ppm 100% 100 100 100 0 500ppm 0.006 0.013 0.019 0.006 0.006 1 2 3 1 1 0.307 0 0.3 1 0 0.6 0mm 0.34 1.02 0 0.59 PASS 0.000 2 3 4 2 1 0.200um Normal
NUM_DATA_ROWS 000000003
NUM_DATA_COLUMNS 000000083
DELIMITER ;
START_TIME_FORMAT MM/dd/yyyy HH:mm:ss
START_TIME 04/24/2025 16:46:29
LOGISTICS_COLUMN A_LOGISTICS
LOGISTICS_COLUMN B_LOGISTICS
LOGISTICS_1 A_HeaderId=524300;A_SubgroupId=1745538421;A_BASIC_TYPE=;A_INFO=202504241646295374.pcl.csv;A_INFO2=3;A_JOBID=TENCOR1;A_MES_ENTITY=TENCOR1;A_MID=1T667227;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811099895374259;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2 B_HeaderId=524300;B_SubgroupId=1745538421;B_BASIC_TYPE=- High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667227;B_NULL_DATA=;B_PPID=6IN_THIN ROTR;B_PROCESS_JOBID=36;B_PRODUCT=5142;B_SEQUENCE=638811099895374259;B_WAFER_ID=-;B_WAFER_POS=-;
EOF
HEADER_TAG|HEADER_VALUE
FORMAT|2.00
NUMBER_PASSES|0001
HEADER_OFFSET|000002772
DATA_OFFSET|000000128
END_OFFSET|000003437
|Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Date|Recipe|Id|WaferId|LPDCount|LPDCM2|AreaCount|AreaTotal|ScratchCount|ScratchTotal|SumOfDefects|HazeRegion|HazeAverage|Grade|LPDCountMin|LPDCM2Min|AreaCountMin|AreaTotalMin|ScratchCountMin|ScratchTotalMin|SumOfDefectsMin|HazeRegionMin|HazeAverageMin|LPDCountMax|LPDCM2Max|AreaCountMax|AreaTotalMax|ScratchCountMax|ScratchTotalMax|SumOfDefectsMax|HazeRegionMax|HazeAverageMax|LPDCountAvg|LPDCM2Avg|AreaCountAvg|AreaTotalAvg|ScratchCountAvg|ScratchTotalAvg|SumOfDefectsAvg|HazeRegionAvg|HazeAverageAvg|LPDCountStdDev|LPDCM2StdDev|AreaCountStdDev|AreaTotalStdDev|ScratchCountStdDev|ScratchTotalStdDev|SumOfDefectsStdDev|HazeRegionStdDev|HazeAverageStdDev|WaferDate|Comments|Sort|WaferLPDCount|WaferLPDCM2|Bin1|Bin2|Bin3|Bin4|Bin5|Bin6|Bin7|Bin8|Mean|StdDev|WaferAreaCount|WaferAreaTotal|WaferScratchCount|WaferScratchTotal|WaferSumOfDefects|WaferHazeRegion|WaferHazeAverage|HazePeak|Laser|Gain|Diameter|Thresh|Exclusion|HazeRng|Thruput|WaferRecipe|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|EventId|
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
0.00|1|2|3|638811099895374259|TENCOR1|0|4/24/2025 4:46:29 PM|6IN_THIN ROTR|667227|01|3|0.019|1|0.072|1|1.02|4|100|1.16|P|1|0.006|1|0.019|0|0|2|100|1.12|3|0.019|1|0.21|1|1.02|4|100|1.18|2|0.013|1|0.10|0.3|0.34|3|100|1.15|1|0.006|0|0.10|0.6|0.59|1|0|0.0291|Wed, Apr 23, 2025 08:34:51 AM|- High Thruput|PASS|3|0.019|2|1|0|0|0|0|||0.252|0.043|1|0.0716mm2|1|1.02mm|4|100%|1.16ppm|25.5ppm|488nm|4|150 mm|0.200um|4mm|500ppm|Normal|6IN_THIN ROTR|667227|5142|36|-|-||667227|7
0.00|1|2|3|638811099895374259|TENCOR1|1|4/24/2025 4:46:29 PM|6IN_THIN ROTR|667227|15|2|0.013|1|0.019|0|0|3|100|1.18|P|1|0.006|1|0.019|0|0|2|100|1.12|3|0.019|1|0.21|1|1.02|4|100|1.18|2|0.013|1|0.10|0.3|0.34|3|100|1.15|1|0.006|0|0.10|0.6|0.59|1|0|0.0291|Wed, Apr 23, 2025 08:35:39 AM|- High Thruput|PASS|2|0.013|1|0|0|0|1|0|||1.32|1.54|1|0.0195mm2|0|0mm|3|100%|1.18ppm|25.0ppm|488nm|4|150 mm|0.200um|4mm|500ppm|Normal|6IN_THIN ROTR|667227|5142|36|-|-||667227|7
0.00|1|2|3|638811099895374259|TENCOR1|2|4/24/2025 4:46:29 PM|6IN_THIN ROTR|667227|25|1|0.006|1|0.21|0|0|2|100|1.12|P|1|0.006|1|0.019|0|0|2|100|1.12|3|0.019|1|0.21|1|1.02|4|100|1.18|2|0.013|1|0.10|0.3|0.34|3|100|1.15|1|0.006|0|0.10|0.6|0.59|1|0|0.0291|Wed, Apr 23, 2025 08:36:22 AM|- High Thruput|PASS|1|0.006|0|1|0|0|0|0|||0.307|0.000|1|0.213mm2|0|0mm|2|100%|1.12ppm|22.5ppm|488nm|4|150 mm|0.200um|4mm|500ppm|Normal|6IN_THIN ROTR|667227|5142|36|-|-||667227|7
NUM_DATA_ROWS|000000003
NUM_DATA_COLUMNS|000000096
DELIMITER|;
START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss
START_TIME|04/24/2025 16:46:29
LOGISTICS_COLUMN|A_LOGISTICS
LOGISTICS_COLUMN|B_LOGISTICS
LOGISTICS_1|A_BASIC_TYPE=;A_INFO=202504241646295374.pcl.csv;A_INFO2=3;A_JOBID=TENCOR1;A_MES_ENTITY=TENCOR1;A_MID=1T667227;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811099895374259;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2|B_BASIC_TYPE=- High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667227;B_NULL_DATA=;B_PPID=6IN_THIN ROTR;B_PROCESS_JOBID=36;B_PRODUCT=5142;B_SEQUENCE=638811099895374259;B_WAFER_ID=-;B_WAFER_POS=-;
END_HEADER

View File

@ -1,78 +0,0 @@
UniqueId 666765 4/24/2025 5:14:32 PM Lot LSL8IN \ 10PT_5mm 57 666765 4626 1 - CDE5 Operator Engineer DLRatio 18.55 AutoOptimizeGain AutoProbeHeightSet 3.00 915.190 0.0069647 SemiRadial 1 95.00 270.000 913.9620971680 1.3236315 2 71.00 270.000 923.2605590820 1.2676778 3 47.00 270.000 921.4100952148 1.3205365 4 23.00 270.000 913.6674194336 1.2704575 5 0.00 0.000 908.1397705078 1.3234487 6 11.00 90.000 908.0071411133 1.2582344 7 35.00 90.000 916.3591918945 1.5512319 8 59.00 90.000 920.1303100586 1.7320848 9 83.00 90.000 921.3920288086 1.6781629 10 95.00 90.000 905.5722656250 1.7448909
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 |
|----------|--------|----------------------|-----|-------------------|----|--------|------|---|----|------|----------|----------|---------|-------|------------------|--------------------|------|----|---------|-----------|------------|----|-------|---------|----------------|-----------|----|-------|---------|----------------|-----------|----|-------|---------|----------------|-----------|----|-------|---------|----------------|-----------|----|------|-------|----------------|-----------|----|-------|--------|----------------|-----------|----|-------|--------|----------------|-----------|----|-------|--------|----------------|-----------|----|-------|--------|----------------|-----------|----|-------|--------|----------------|-----------|
| UniqueId | 666765 | 4/24/2025 5:14:32 PM | Lot | LSL8IN \ 10PT_5mm | 57 | 666765 | 4626 | 1 | - | CDE5 | Operator | Engineer | DLRatio | 18.55 | AutoOptimizeGain | AutoProbeHeightSet | 3.00 | | 915.190 | 0.0069647 | SemiRadial | 1 | 95.00 | 270.000 | 913.9620971680 | 1.3236315 | 2 | 71.00 | 270.000 | 923.2605590820 | 1.2676778 | 3 | 47.00 | 270.000 | 921.4100952148 | 1.3205365 | 4 | 23.00 | 270.000 | 913.6674194336 | 1.2704575 | 5 | 0.00 | 0.000 | 908.1397705078 | 1.3234487 | 6 | 11.00 | 90.000 | 908.0071411133 | 1.2582344 | 7 | 35.00 | 90.000 | 916.3591918945 | 1.5512319 | 8 | 59.00 | 90.000 | 920.1303100586 | 1.7320848 | 9 | 83.00 | 90.000 | 921.3920288086 | 1.6781629 | 10 | 95.00 | 90.000 | 905.5722656250 | 1.7448909 |
<1>:UniqueId
<2>:666765
<3>:4/24/2025 5:14:32 PM
<4>:Lot
<5>:LSL8IN \ 10PT_5mm
<6>:57
<7>:666765
<8>:4626
<9>:1
<10>:-
<11>:CDE5
<12>:Operator
<13>:Engineer
<14>:DLRatio
<15>:18.55
<16>:AutoOptimizeGain
<17>:AutoProbeHeightSet
<18>:3
<19>:
<20>:915.19
<21>:0.0069647
<22>:SemiRadial
<23>:1
<24>:95
<25>:270
<26>:913.9620972
<27>:1.3236315
<28>:2
<29>:71
<30>:270
<31>:923.2605591
<32>:1.2676778
<33>:3
<34>:47
<35>:270
<36>:921.4100952
<37>:1.3205365
<38>:4
<39>:23
<40>:270
<41>:913.6674194
<42>:1.2704575
<43>:5
<44>:0
<45>:0
<46>:908.1397705
<47>:1.3234487
<48>:6
<49>:11
<50>:90
<51>:908.0071411
<52>:1.2582344
<53>:7
<54>:35
<55>:90
<56>:916.3591919
<57>:1.5512319
<58>:8
<59>:59
<60>:90
<61>:920.1303101
<62>:1.7320848
<63>:9
<64>:83
<65>:90
<66>:921.3920288
<67>:1.6781629
<68>:10
<69>:95
<70>:90
<71>:905.5722656
<72>:1.7448909

View File

@ -1,122 +0,0 @@
{
"SentToMetrology": false,
"SentToSPC": false,
"AutoOptimizeGain": "AutoOptimizeGain",
"AutoProbeHeightSet": "AutoProbeHeightSet",
"Avg": "915.190",
"CellName": "CDE5",
"DLRatio": "DLRatio",
"DataReject": "3.00",
"Date": "4/24/2025 5:14:32 PM",
"Engineer": "Engineer",
"EquipId": "CDE5",
"FileName": "",
"FilePath": "",
"Id": -1,
"Layer": "1",
"LotId": "Lot",
"Op": "Operator",
"PSN": "4626",
"RDS": "666765",
"Reactor": "57",
"Recipe": "LSL8IN \\ 10PT_5mm",
"ResistivitySpec": "ResistivitySpec",
"Run": "666765",
"SemiRadial": "SemiRadial",
"StDev": "0.0069647",
"Temp": "18.55",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Zone": "-",
"Details": [
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.3236315",
"Pt": "1",
"R": "95.00",
"Rs": "913.9620971680",
"T": "270.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-1"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.2676778",
"Pt": "2",
"R": "71.00",
"Rs": "923.2605590820",
"T": "270.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-2"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.3205365",
"Pt": "3",
"R": "47.00",
"Rs": "921.4100952148",
"T": "270.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-3"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.2704575",
"Pt": "4",
"R": "23.00",
"Rs": "913.6674194336",
"T": "270.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-4"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.3234487",
"Pt": "5",
"R": "0.00",
"Rs": "908.1397705078",
"T": "0.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-5"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.2582344",
"Pt": "6",
"R": "11.00",
"Rs": "908.0071411133",
"T": "90.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-6"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.5512319",
"Pt": "7",
"R": "35.00",
"Rs": "916.3591918945",
"T": "90.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-7"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.7320848",
"Pt": "8",
"R": "59.00",
"Rs": "920.1303100586",
"T": "90.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-8"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.6781629",
"Pt": "9",
"R": "83.00",
"Rs": "921.3920288086",
"T": "90.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-9"
},
{
"HeaderUniqueId": "CDE5_57-666765-4626.1_202504241714320000",
"Merit": "1.7448909",
"Pt": "10",
"R": "95.00",
"Rs": "905.5722656250",
"T": "90.000",
"UniqueId": "CDE5_57-666765-4626.1_202504241714320000_Item-10"
}
]
}

View File

@ -1,57 +0,0 @@
HEADER_TAG HEADER_VALUE
FORMAT 2.00
NUMBER_PASSES 0001
HEADER_OFFSET H#######T
DATA_OFFSET D#######T
END_OFFSET E#######T
"Time" "A_LOGISTICS" "B_LOGISTICS" "Test" "Count" "Index" "MesEntity" "Date" "Employee" "Lot" "PSN" "Reactor" "Recipe" "AutoOptimizeGain" "AutoProbeHeightSet" "Avg" "DataReject" "DLRatio" "Merit" "Pt" "R" "ResistivitySpec" "Rs" "SemiRadial" "StdDev" "T" "Temp" "Engineer" "EquipId" "FileName" "HeaderUniqueId" "Id" "Layer" "RDS" "Run" "UniqueId" "Zone" "SheetRhoVariation"
0.00 1 2 24 10 0 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.3236315 1 95.00 ResistivitySpec 913.9620971680 SemiRadial 0.0069647 270.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 1 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.2676778 2 71.00 ResistivitySpec 923.2605590820 SemiRadial 0.0069647 270.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 2 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.3205365 3 47.00 ResistivitySpec 921.4100952148 SemiRadial 0.0069647 270.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 3 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.2704575 4 23.00 ResistivitySpec 913.6674194336 SemiRadial 0.0069647 270.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 4 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.3234487 5 0.00 ResistivitySpec 908.1397705078 SemiRadial 0.0069647 0.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 5 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.2582344 6 11.00 ResistivitySpec 908.0071411133 SemiRadial 0.0069647 90.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 6 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.5512319 7 35.00 ResistivitySpec 916.3591918945 SemiRadial 0.0069647 90.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 7 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.7320848 8 59.00 ResistivitySpec 920.1303100586 SemiRadial 0.0069647 90.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 8 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.6781629 9 83.00 ResistivitySpec 921.3920288086 SemiRadial 0.0069647 90.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
0.00 1 2 24 10 9 CDE5 4/24/2025 5:14:32 PM Operator Lot 4626 57 LSL8IN \ 10PT_5mm AutoOptimizeGain AutoProbeHeightSet 915.190 3.00 DLRatio 1.7448909 10 95.00 ResistivitySpec 905.5722656250 SemiRadial 0.0069647 90.000 18.55 Engineer ResMap5 HeaderUniqueId Id 1 666765 666765 UniqueId -
NUM_DATA_ROWS 000000010
NUM_DATA_COLUMNS 000000038
DELIMITER ;
START_TIME_FORMAT MM/dd/yyyy HH:mm:ss
START_TIME 04/24/2025 17:14:32
LOGISTICS_COLUMN A_LOGISTICS
LOGISTICS_COLUMN B_LOGISTICS
LOGISTICS_1 A_HeaderId=309148;A_SubgroupId=1745540084;A_BASIC_TYPE=;A_INFO=5424R116.RsM.csv;A_INFO2=10;A_JOBID=CDE5;A_MES_ENTITY=CDE5;A_MID=57-666765-4626.1;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811116720000000;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2 B_HeaderId=309148;B_SubgroupId=1745540084;B_BASIC_TYPE=-;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=666765;B_NULL_DATA=;B_PPID=10PT_5mm;B_PROCESS_JOBID=57;B_PRODUCT=4626;B_SEQUENCE=638811116720000000;B_WAFER_ID=-;B_WAFER_POS=-;
EOF
HEADER_TAG|HEADER_VALUE
FORMAT|2.00
NUMBER_PASSES|0001
HEADER_OFFSET|000007317
DATA_OFFSET|000000128
END_OFFSET|000007957
|Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Title|TheFileName|Project|RecipeName|LotID|WfrID|Is_TF_DataFile|Directory|Time|Date|Temp|TCRPercent|NOrP|Avg|Dev|Min|Max|Operator|Equipment|Engineer|AreaOrDiamScan|WaferShape|BNBand|TemplateFile|XSize|YSize|CalibrationFactor|MsmtMode|DataType|DataUnit|NumProbePoints|SingleOrDualProbeConfig|NumberActPrbPts|Rsens|IdrvMx|VinGain|DataRejectSigma|MeritThreshold|PrbChgNumber|PrbName|WaferSize|EdgeEx|Xll|Yll|Xur|Yur|X|Y|CutCorners|DiamThScan|DiamStart|DiamEnd|DiamStep|FlatOrNotch|FollowMajorFlat|AutoOrManualLoad|RangeOrIndividual|PauseAfterEveryRun|AutoPrint|Plot|BulkSampleThk|Unit|RangeFrom|RangeTo|CassetteSlotSelected|R|Th|Data|Rs|RsA|RsB|NumberSample|PointX|PointY|Irng|Vrng|ChiSq|MeritGOF|DataIntegrity|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|InferredPoint|StandardDeviationPercentage|SheetRhoVariation|EventId|
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
0.00|1|2|10|638811116720000000|CDE5|0|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|95.00|270.000|913.9620971680|913.9620971680|914.08798462|731.11854485|1184|-95.00|-0.00|3051|1102|1.4E+02|1.3236315|0|666765|4626|57|1|-||57-666765-4626.1|1|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|1|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|71.00|270.000|923.2605590820|923.2605590820|923.56932267|738.79669064|1184|-71.00|-0.00|3051|1057|1.3E+02|1.2676778|0|666765|4626|57|1|-||57-666765-4626.1|2|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|2|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|47.00|270.000|921.4100952148|921.4100952148|909.70358100|721.40113210|1184|-47.00|-0.00|3054|1046|1.2E+02|1.3205365|0|666765|4626|57|1|-||57-666765-4626.1|3|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|3|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|23.00|270.000|913.6674194336|913.6674194336|896.28473107|707.65557259|1184|-23.00|-0.00|3055|1042|1.2E+02|1.2704575|0|666765|4626|57|1|-||57-666765-4626.1|4|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|4|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|0.00|0.000|908.1397705078|908.1397705078|898.61367587|713.68271830|1184|0.00|0.00|3052|1033|1.0E+02|1.3234487|0|666765|4626|57|1|-||57-666765-4626.1|5|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|5|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|11.00|90.000|908.0071411133|908.0071411133|900.37349147|716.08698414|1184|11.00|0.00|3052|1027|1.2E+02|1.2582344|0|666765|4626|57|1|-||57-666765-4626.1|6|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|6|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|35.00|90.000|916.3591918945|916.3591918945|903.86156023|716.31006062|1184|35.00|0.00|3052|1020|8.3E+01|1.5512319|0|666765|4626|57|1|-||57-666765-4626.1|7|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|7|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|59.00|90.000|920.1303100586|920.1303100586|914.46298514|728.38862138|1184|59.00|0.00|3050|1047|7.1E+01|1.7320848|0|666765|4626|57|1|-||57-666765-4626.1|8|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|8|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|83.00|90.000|921.3920288086|921.3920288086|913.59693033|726.57794711|1184|83.00|0.00|3051|1029|7.6E+01|1.6781629|0|666765|4626|57|1|-||57-666765-4626.1|9|0.0069647||24
0.00|1|2|10|638811116720000000|CDE5|9|666765||LSL8IN|LSL8IN \ 10PT_5mm|MyCarrierID|WaferID|0||17:14|4/24/2025 5:14:32 PM|18.55|0.300|?|915.190|6.374|905.57|923.26|Operator|ResMap5|Engineer|TC|8|10PT_5mm.TPL|125.00|125.00|1.00000|0|Rs|Ohms/sq||10|2|10|99348.000|0.0000750007|0.01287|3.00|0.10|1|MyFavoriteProbe|200.00|10.00|-55.00|-55.00|55.00|55.00|5|5|89|0.00|-50.00|50.00|2.0000|N|Y|M|I|N|Y|N|500.000000|U|25|25|NNNNNNNNNNNNNNNNNNNNNNNNNN|95.00|90.000|905.5722656250|905.5722656250|917.53049853|739.99994302|1184|95.00|0.00|3052|1055|6.7E+01|1.7448909|0|666765|4626|57|1|-||57-666765-4626.1|10|0.0069647||24
NUM_DATA_ROWS|000000010
NUM_DATA_COLUMNS|000000097
DELIMITER|;
START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss
START_TIME|04/24/2025 17:14:32
LOGISTICS_COLUMN|A_LOGISTICS
LOGISTICS_COLUMN|B_LOGISTICS
LOGISTICS_1|A_BASIC_TYPE=;A_INFO=5424R116.RsM.csv;A_INFO2=10;A_JOBID=CDE5;A_MES_ENTITY=CDE5;A_MID=57-666765-4626.1;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811116720000000;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2|B_BASIC_TYPE=-;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=666765;B_NULL_DATA=;B_PPID=10PT_5mm;B_PROCESS_JOBID=57;B_PRODUCT=4626;B_SEQUENCE=638811116720000000;B_WAFER_ID=-;B_WAFER_POS=-;
END_HEADER

View File

@ -1,36 +0,0 @@
Bio-Rad UniqueId 4/24/2025 6:11:07 PM 6inTHICK 40 667740 5159 1 1 667740 2.520 1 119.11 2 0.00 3 118.87 4 0.00 5 0.00 6 0.00 7 117.12 8 116.95 9 116.18
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
|------------------|----------------------|---|----------|----|--------|------|---|---|----|--------|------|----|--------|----|----|----|--------|----|----|----|----|----|----|----|--------|----|--------|----|--------|
| Bio-Rad UniqueId | 4/24/2025 6:11:07 PM | | 6inTHICK | 40 | 667740 | 5159 | 1 | 1 | | 667740 | 2.52 | 1 | 119.11 | 2 | 0 | 3 | 118.87 | 4 | 0 | 5 | 0 | 6 | 0 | 7 | 117.12 | 8 | 116.95 | 9 | 116.18 |
<1>:Bio-Rad UniqueId
<2>:4/24/2025 6:11:07 PM
<3>:
<4>:6inTHICK
<5>:40
<6>:667740
<7>:5159
<8>:1
<9>:1
<10>:
<11>:667740
<12>:2.52
<13>:1
<14>:119.11
<15>:2
<16>:0
<17>:3
<18>:118.87
<19>:4
<20>:0
<21>:5
<22>:0
<23>:6
<24>:0
<25>:7
<26>:117.12
<27>:8
<28>:116.95
<29>:9
<30>:116.18

View File

@ -1,80 +0,0 @@
{
"SentToMetrology": false,
"SentToSPC": false,
"Id": -1,
"Batch": "667740",
"Cassette": "",
"CellName": "BIORAD2",
"Date": "4/24/2025 6:11:07 PM",
"FilePath": "",
"Layer": "1",
"MeanThickness": "117.645",
"Op": "CL",
"PSN": "5159",
"PassFail": "FAIL",
"RDS": "667740",
"RVThickness": "2.520",
"Reactor": "40",
"Recipe": "6inTHICK",
"StdDev": "1.279",
"Title": "Bio-Rad QS400MEPI",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Wafer": "667740",
"Zone": "1",
"Details": [
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "1",
"Thickness": "119.11",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-1"
},
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "2",
"Thickness": "0.00",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-2"
},
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "3",
"Thickness": "118.87",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-3"
},
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "4",
"Thickness": "0.00",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-4"
},
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "5",
"Thickness": "0.00",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-5"
},
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "6",
"Thickness": "0.00",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-6"
},
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "7",
"Thickness": "117.12",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-7"
},
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "8",
"Thickness": "116.95",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-8"
},
{
"HeaderUniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527",
"Position": "9",
"Thickness": "116.18",
"UniqueId": "BIORAD2_40-667740-5159.1-1_202504241811079527_Item-9"
}
]
}

View File

@ -1,55 +0,0 @@
HEADER_TAG HEADER_VALUE
FORMAT 2.00
NUMBER_PASSES 0001
HEADER_OFFSET H#######T
DATA_OFFSET D#######T
END_OFFSET E#######T
"Time" "A_LOGISTICS" "B_LOGISTICS" "Test" "Count" "Index" "MesEntity" "Date" "Employee" "Lot" "PSN" "Reactor" "Recipe" "Cassette" "HeaderUniqueId" "Layer" "PassFail" "Position" "RDS" "Title" "UniqueId" "Wafer" "Zone" "MeanThickness" "RVThickness" "StdDev" "Thickness" "Slot" "ThicknessFourteen3mmEdgeMean" "ThicknessFourteen3mmEdgePercent" "ThicknessFourteen5mmEdgeMean" "ThicknessFourteen5mmEdgePercent" "ThicknessFourteenCenterMean" "ThicknessFourteenCriticalPointsAverage" "ThicknessFourteenCriticalPointsStdDev" "ThicknessFourteenMeanFrom" "Thickness01" "Thickness02" "Thickness03" "Thickness04" "Thickness05" "Thickness06" "Thickness07" "Thickness08" "Thickness09" "Thickness10" "Thickness11" "Thickness12" "Thickness13" "Thickness14"
0.00 1 2 25 9 0 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 1 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 119.11 00 119.11
0.00 1 2 25 9 1 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 2 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 0.00 00 0.00
0.00 1 2 25 9 2 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 3 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 118.87 00 118.87
0.00 1 2 25 9 3 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 4 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 0.00 00 0.00
0.00 1 2 25 9 4 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 5 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 0.00 00 0.00
0.00 1 2 25 9 5 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 6 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 0.00 00 0.00
0.00 1 2 25 9 6 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 7 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 117.12 00 117.12
0.00 1 2 25 9 7 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 8 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 116.95 00 116.95
0.00 1 2 25 9 8 BIORAD2 4/24/2025 6:11:07 PM CL 667740 5159 40 6inTHICK HeaderUniqueId 1 FAIL 9 667740 Bio-Rad QS400MEPI UniqueId 667740 1 117.645 2.520 1.279 116.18 00 116.18
NUM_DATA_ROWS 000000009
NUM_DATA_COLUMNS 000000050
DELIMITER ;
START_TIME_FORMAT MM/dd/yyyy HH:mm:ss
START_TIME 04/24/2025 18:11:07
LOGISTICS_COLUMN A_LOGISTICS
LOGISTICS_COLUMN B_LOGISTICS
LOGISTICS_1 A_HeaderId=514141;A_SubgroupId=1745543491;A_BASIC_TYPE=;A_INFO=202504241811079527.TXT.csv;A_INFO2=9;A_JOBID=BIORAD2;A_MES_ENTITY=BIORAD2;A_MID=40-667740-5159.1-1;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811150679527382;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2 B_HeaderId=514141;B_SubgroupId=1745543491;B_BASIC_TYPE=- EpiPro 5000;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667740;B_NULL_DATA=;B_PPID=6inTHICK;B_PROCESS_JOBID=40;B_PRODUCT=5159;B_SEQUENCE=638811150679527382;B_WAFER_ID=-;B_WAFER_POS=1;
EOF
HEADER_TAG|HEADER_VALUE
FORMAT|2.00
NUMBER_PASSES|0001
HEADER_OFFSET|000003202
DATA_OFFSET|000000128
END_OFFSET|000003871
|Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Title|Recipe|DateTime|Operator|Batch|Cassette|UsedLast|Wafer|Position|Thickness|WaferMeanThickness|StdDev|PassFail|Line|RadialVariationThickness|Slot|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|Thickness 14 3mm Edge Mean|Thickness 14 3mm Edge % from R/2|Thickness 14 5mm Edge Mean|Thickness 14 5mm Edge % from R/2|Thickness 14 Center Mean|Thickness 14 Average|Thickness 14 Std Dev|Thickness 14 R 2/Mean|Thickness01|Thickness02|Thickness03|Thickness04|Thickness05|Thickness06|Thickness07|Thickness08|Thickness09|Thickness10|Thickness11|Thickness12|Thickness13|Thickness14|EventId|
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
0.00|1|2|9|638811150679527382|BIORAD2|0|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|1|119.11|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||119.11||||||||||||||25
0.00|1|2|9|638811150679527382|BIORAD2|1|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|2|0.00|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1||||||||||0.00|||||||||||||25
0.00|1|2|9|638811150679527382|BIORAD2|2|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|3|118.87|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||||118.87||||||||||||25
0.00|1|2|9|638811150679527382|BIORAD2|3|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|4|0.00|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1||||||||||||0.00|||||||||||25
0.00|1|2|9|638811150679527382|BIORAD2|4|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|5|0.00|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||||||0.00||||||||||25
0.00|1|2|9|638811150679527382|BIORAD2|5|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|6|0.00|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1||||||||||||||0.00|||||||||25
0.00|1|2|9|638811150679527382|BIORAD2|6|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|7|117.12|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||||||||117.12||||||||25
0.00|1|2|9|638811150679527382|BIORAD2|7|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|8|116.95|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1||||||||||||||||116.95|||||||25
0.00|1|2|9|638811150679527382|BIORAD2|8|Bio-Rad QS400MEPI|6inTHICK|4/24/2025 6:11:07 PM|CL|BIORAD#2||True|667740|9|116.18|117.645|1.279|FAIL|Radial variation (computation B) PASS:|2.520|00|667740|5159|40|1|1||40-667740-5159.1-1|||||||||||||||||116.18||||||25
NUM_DATA_ROWS|000000009
NUM_DATA_COLUMNS|000000053
DELIMITER|;
START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss
START_TIME|04/24/2025 18:11:07
LOGISTICS_COLUMN|A_LOGISTICS
LOGISTICS_COLUMN|B_LOGISTICS
LOGISTICS_1|A_BASIC_TYPE=;A_INFO=202504241811079527.TXT.csv;A_INFO2=9;A_JOBID=BIORAD2;A_MES_ENTITY=BIORAD2;A_MID=40-667740-5159.1-1;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811150679527382;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2|B_BASIC_TYPE=- EpiPro 5000;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667740;B_NULL_DATA=;B_PPID=6inTHICK;B_PROCESS_JOBID=40;B_PRODUCT=5159;B_SEQUENCE=638811150679527382;B_WAFER_ID=-;B_WAFER_POS=1;
END_HEADER

View File

@ -1,22 +0,0 @@
Stratus_32-667283-5095_20250424074408371 4/24/2025 7:44:08 PM BIORAD5 FQA Thickness 6in_CENTERPOINT 32 667283 5095 _24_19_41 667283 6.971 1 6.963 25 6.980
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|------------------------------------------|----------------------|---------|---------------|---|-----------------|----|--------|------|-----------|--------|-------|----|-------|----|------|
| Stratus_32-667283-5095_20250424074408371 | 4/24/2025 7:44:08 PM | BIORAD5 | FQA Thickness | | 6in_CENTERPOINT | 32 | 667283 | 5095 | _24_19_41 | 667283 | 6.971 | 1 | 6.963 | 25 | 6.98 |
<1>:Stratus_32-667283-5095_20250424074408371
<2>:4/24/2025 7:44:08 PM
<3>:BIORAD5
<4>:FQA Thickness
<5>:
<6>:6in_CENTERPOINT
<7>:32
<8>:667283
<9>:5095
<10>:_24_19_41
<11>:667283
<12>:6.971
<13>:1
<14>:6.963
<15>:25
<16>:6.98

View File

@ -1,59 +0,0 @@
{
"Id": -1,
"Batch": "_24_19_41",
"Cassette": "667283",
"CellName": "BIORAD5",
"Date": "4/24/2025 7:44:08 PM",
"FilePath": "",
"MeanThickness": "6.971",
"Operator": "",
"PSN": "5095",
"RDS": "667283",
"Reactor": "32",
"Recipe": "6in_CENTERPOINT",
"StdDev": "0.0115",
"Title": "_24_19_41",
"UniqueId": "BIORAD5_32-667283-5095_202504241944083711",
"Details": [
{
"HeaderUniqueId": "BIORAD5_32-667283-5095_202504241944083711",
"Mean": "6.963",
"PassFail": "PASS",
"Position": "1",
"Recipe": "6in_CENTERPOINT",
"Slot": "1",
"StdDev": "0",
"UniqueId": "BIORAD5_32-667283-5095_202504241944083711_Item-1",
"Thickness": "6.963",
"Wafer": "Wafer 1",
"Points": [
{
"HeaderUniqueId": "HeaderUniqueId",
"Position": "1",
"Thickness": "6.963",
"UniqueId": "UniqueId"
}
]
},
{
"HeaderUniqueId": "BIORAD5_32-667283-5095_202504241944083711",
"Mean": "6.980",
"PassFail": "PASS",
"Position": "25",
"Recipe": "6in_CENTERPOINT",
"Slot": "25",
"StdDev": "0",
"UniqueId": "BIORAD5_32-667283-5095_202504241944083711_Item-2",
"Thickness": "6.980",
"Wafer": "Wafer 25",
"Points": [
{
"HeaderUniqueId": "HeaderUniqueId",
"Position": "25",
"Thickness": "6.980",
"UniqueId": "UniqueId"
}
]
}
]
}

View File

@ -1,41 +0,0 @@
HEADER_TAG HEADER_VALUE
FORMAT 2.00
NUMBER_PASSES 0001
HEADER_OFFSET H#######T
DATA_OFFSET D#######T
END_OFFSET E#######T
"Time" "A_LOGISTICS" "B_LOGISTICS" "Test" "Count" "Index" "MesEntity" "MID" "Date" "Employee" "Lot" "PSN" "Reactor" "Recipe" "Cassette" "GradeStdDev" "HeaderUniqueId" "Layer" "MeanThickness" "PassFail" "RDS" "Slot" "Title" "UniqueId" "Wafer" "Zone" "Mean" "Position" "StdDev" "Thickness" "ThicknessSlotOne" "ThicknessSlotTwentyFive" "DeltaThicknessSlotsOneAndTwentyFive" "PercentDeltaThicknessSlotsOneAndTwentyFive"
0.00 1 2 26 2 0 BIORAD5 667283 4/24/2025 7:44:08 PM _24_19_41 5095 32 6in_CENTERPOINT 667283 0.0115 HeaderUniqueId - 6.971 PASS 667283 1 _24_19_41 UniqueId Wafer 1 - 6.963 1 0 6.963 ThicknessSlotOne ThicknessSlotTwentyFive
0.00 1 2 26 2 1 BIORAD5 667283 4/24/2025 7:44:08 PM _24_19_41 5095 32 6in_CENTERPOINT 667283 0.0115 HeaderUniqueId - 6.971 PASS 667283 25 _24_19_41 UniqueId Wafer 25 - 6.980 25 0 6.980 ThicknessSlotOne ThicknessSlotTwentyFive
NUM_DATA_ROWS 000000002
NUM_DATA_COLUMNS 000000034
DELIMITER ;
START_TIME_FORMAT MM/dd/yyyy HH:mm:ss
START_TIME 04/24/2025 19:44:08
LOGISTICS_COLUMN A_LOGISTICS
LOGISTICS_COLUMN B_LOGISTICS
LOGISTICS_1 A_HeaderId=348729;A_SubgroupId=1745549064;A_BASIC_TYPE=;A_INFO=DataBiorad.txt-0.csv;A_INFO2=2;A_JOBID=BIORAD5;A_MES_ENTITY=BIORAD5;A_MID=32-667283-5095;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811206483711430;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2 B_HeaderId=348729;B_SubgroupId=1745549064;B_BASIC_TYPE=Left - High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667283;B_NULL_DATA=;B_PPID=6in_CENTERPOINT;B_PROCESS_JOBID=32;B_PRODUCT=5095;B_SEQUENCE=638811206483711430;B_WAFER_ID=-;B_WAFER_POS=-;
EOF
HEADER_TAG|HEADER_VALUE
FORMAT|2.00
NUMBER_PASSES|0001
HEADER_OFFSET|000000838
DATA_OFFSET|000000128
END_OFFSET|000001510
|Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Batch|Cassette|DateTime|Destination|Mean|PassFail|Recipe|Reference|Site|Slot|Source|StdDev|Text|GradeMean|GradeStdDev|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|Actual Delta Thick Pts 1 and 25|% Delta Thick Pts 1 and 25|EventId|
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
0.00|1|2|2|638811206483711430|BIORAD5|0|_24_19_41|667283|4/24/2025 7:44:08 PM||6.963|PASS|6in_CENTERPOINT||6.963|1||0|Wafer 1|6.971|0.0115|667283|5095|32|-|-||_24_19_41|||26
0.00|1|2|2|638811206483711430|BIORAD5|1|_24_19_41|667283|4/24/2025 7:44:08 PM||6.980|PASS|6in_CENTERPOINT||6.980|25||0|Wafer 25|6.971|0.0115|667283|5095|32|-|-||_24_19_41|||26
NUM_DATA_ROWS|000000002
NUM_DATA_COLUMNS|000000032
DELIMITER|;
START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss
START_TIME|04/24/2025 19:44:08
LOGISTICS_COLUMN|A_LOGISTICS
LOGISTICS_COLUMN|B_LOGISTICS
LOGISTICS_1|A_BASIC_TYPE=;A_INFO=DataBiorad.txt-0.csv;A_INFO2=2;A_JOBID=BIORAD5;A_MES_ENTITY=BIORAD5;A_MID=32-667283-5095;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811206483711430;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2|B_BASIC_TYPE=Left - High Thruput;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667283;B_NULL_DATA=;B_PPID=6in_CENTERPOINT;B_PROCESS_JOBID=32;B_PRODUCT=5095;B_SEQUENCE=638811206483711430;B_WAFER_ID=-;B_WAFER_POS=-;
END_HEADER

View File

@ -1,103 +0,0 @@
UniqueId HGCV2 46 667776 5159 - - ZONE2 667776 5PT MES 4/25/2025 8:40:01 AM 150.00 1.02 2.130E-002 N PARALLEL -5.00 -20.00 2500 2000.00 6IN5PT 6IN5PT SSMDATA 6_5PT10M.PAT ASTM: F723 - 82 7.599e+013 2.352e+000 2.799e+000 7.634e+013 2.352e+000 2.766e+000 3.342e-001 4.365e+001 4.605e+001 1.713e+001 2.053e+000 2.563e+000 5.632e+001 2.315e+000 2.779e+000 5.607e+001 2.321e+000 2.746e+000 9.000e+001 -1.000e+000 0.000e+000 2.251e+000 2.931e+001 3.713e+001 -1.000e+000 -1.000e+000 0.000e+000 1 7.854E+013 7.882E+013 0.294 17.109 54.482 54.286 90.000 2.193 2 7.447E+013 7.472E+013 0.216 17.428 57.431 57.247 90.000 1.898 3 7.426E+013 7.458E+013 0.250 17.496 57.596 57.352 90.000 2.414 4 7.695E+013 7.733E+013 0.327 16.621 55.595 55.324 90.000 1.493 5 7.571E+013 7.623E+013 0.584 17.015 56.500 56.121 90.000 3.257
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 |
|----------|-------|----|--------|------|---|---|-------|--------|---------|----------------------|-----|------|----------|----|----------|----|-----|------|------|--------|--------|---------|--------------|-----------------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|-----------|----------|----------|----------|----------|-----------|-----------|----------|----|----------|----------|-------|--------|--------|--------|----|-------|----|----------|----------|-------|--------|--------|--------|----|-------|----|----------|----------|------|--------|--------|--------|----|-------|----|----------|----------|-------|--------|--------|--------|----|-------|----|----------|----------|-------|--------|------|--------|----|-------|
| UniqueId | HGCV2 | 46 | 667776 | 5159 | - | - | ZONE2 | 667776 | 5PT MES | 4/25/2025 8:40:01 AM | 150 | 1.02 | 2.13E-02 | N | PARALLEL | -5 | -20 | 2500 | 2000 | 6IN5PT | 6IN5PT | SSMDATA | 6_5PT10M.PAT | ASTM: F723 - 82 | 7.60E+13 | 2.35E+00 | 2.80E+00 | 7.63E+13 | 2.35E+00 | 2.77E+00 | 3.34E-01 | 4.37E+01 | 4.61E+01 | 1.71E+01 | 2.05E+00 | 2.56E+00 | 5.63E+01 | 2.32E+00 | 2.78E+00 | 5.61E+01 | 2.32E+00 | 2.75E+00 | 9.00E+01 | -1.00E+00 | 0.00E+00 | 2.25E+00 | 2.93E+01 | 3.71E+01 | -1.00E+00 | -1.00E+00 | 0.00E+00 | 1 | 7.85E+13 | 7.88E+13 | 0.294 | 17.109 | 54.482 | 54.286 | 90 | 2.193 | 2 | 7.45E+13 | 7.47E+13 | 0.216 | 17.428 | 57.431 | 57.247 | 90 | 1.898 | 3 | 7.43E+13 | 7.46E+13 | 0.25 | 17.496 | 57.596 | 57.352 | 90 | 2.414 | 4 | 7.70E+13 | 7.73E+13 | 0.327 | 16.621 | 55.595 | 55.324 | 90 | 1.493 | 5 | 7.57E+13 | 7.62E+13 | 0.584 | 17.015 | 56.5 | 56.121 | 90 | 3.257 |
<1>:UniqueId
<2>:HGCV2
<3>:46
<4>:667776
<5>:5159
<6>:-
<7>:-
<8>:ZONE2
<9>:667776
<10>:5PT MES
<11>:4/25/2025 8:40:01 AM
<12>:150
<13>:1.02
<14>:0.0213
<15>:N
<16>:PARALLEL
<17>:-5
<18>:-20
<19>:2500
<20>:2000
<21>:6IN5PT
<22>:6IN5PT
<23>:SSMDATA
<24>:6_5PT10M.PAT
<25>:ASTM: F723 - 82
<26>:7.599E+13
<27>:2.352
<28>:2.799
<29>:7.634E+13
<30>:2.352
<31>:2.766
<32>:0.3342
<33>:43.65
<34>:46.05
<35>:17.13
<36>:2.053
<37>:2.563
<38>:56.32
<39>:2.315
<40>:2.779
<41>:56.07
<42>:2.321
<43>:2.746
<44>:90
<45>:-1
<46>:0
<47>:2.251
<48>:29.31
<49>:37.13
<50>:-1
<51>:-1
<52>:0
<53>:1
<54>:7.854E+13
<55>:7.882E+13
<56>:0.294
<57>:17.109
<58>:54.482
<59>:54.286
<60>:90
<61>:2.193
<62>:2
<63>:7.447E+13
<64>:7.472E+13
<65>:0.216
<66>:17.428
<67>:57.431
<68>:57.247
<69>:90
<70>:1.898
<71>:3
<72>:7.426E+13
<73>:7.458E+13
<74>:0.25
<75>:17.496
<76>:57.596
<77>:57.352
<78>:90
<79>:2.414
<80>:4
<81>:7.695E+13
<82>:7.733E+13
<83>:0.327
<84>:16.621
<85>:55.595
<86>:55.324
<87>:90
<88>:1.493
<89>:5
<90>:7.571E+13
<91>:7.623E+13
<92>:0.584
<93>:17.015
<94>:56.5
<95>:56.121
<96>:90
<97>:3.257

View File

@ -1,119 +0,0 @@
{
"SentToMetrology": false,
"SentToSPC": false,
"Area": "2.130E-002",
"Ccomp": "1.02",
"CellName": "HGCV2",
"CondType": "N",
"Date": "4/25/2025 8:40:01 AM",
"FlatZMean": "1.713e\u002B001",
"FlatZRadialGradient": "2.563e\u002B000",
"FlatZStdDev": "2.053e\u002B000",
"Folder": "SSMDATA",
"GLimit": "2000.00",
"GradeMean": "2.251e\u002B000",
"GradeRadialGradient": "3.713e\u002B001",
"GradeStdDev": "2.931e\u002B001",
"Id": -1,
"Layer": "-",
"Lot": "667776",
"Model": "PARALLEL",
"NAvgMean": "7.599e\u002B013",
"NAvgRadialGradient": "2.799e\u002B000",
"NAvgStdDev": "2.352e\u002B000",
"NslMean": "7.634e\u002B013",
"NslRadialGradient": "2.766e\u002B000",
"NslStdDev": "2.352e\u002B000",
"Operator": "HGCV2",
"PSN": "5159",
"Pattern": "6_5PT10M.PAT",
"PhaseMean": "9.000e\u002B001",
"PhaseRadialGradient": "0.000e\u002B000",
"PhaseStdDev": "-1.000e\u002B000",
"Plan": "5PT MES",
"RDS": "667776",
"RampRate": "2500",
"Reactor": "46",
"RhoAvgMean": "5.632e\u002B001",
"RhoAvgRadialGradient": "2.779e\u002B000",
"RhoAvgStdDev": "2.315e\u002B000",
"RhoMethod": "ASTM: F723 - 82",
"RhoslMean": "5.607e\u002B001",
"RhoslRadialGradient": "2.746e\u002B000",
"RhoslStdDev": "2.321e\u002B000",
"RsMean": "-1.000e\u002B000",
"RsRadialGradient": "0.000e\u002B000",
"RsStdDev": "-1.000e\u002B000",
"SetupFile": "6IN5PT",
"StartVoltage": "-5.00",
"StopVoltage": "-20.00",
"UniqueId": "HGCV2_46-667776-5159_202504250840019538",
"VdMean": "3.342e-001",
"VdRadialGradient": "4.605e\u002B001",
"VdStdDev": "4.365e\u002B001",
"Wafer": "ZONE2",
"WaferSize": "150.00",
"Zone": "-",
"Details": [
{
"FlatZ": "17.109",
"Grade": "2.193",
"HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538",
"NAvg": "7.854E\u002B013",
"Nsl": "7.882E\u002B013",
"Phase": "90.000",
"RhoAvg": "54.482",
"Rhosl": "54.286",
"UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-1",
"Vd": "0.294"
},
{
"FlatZ": "17.428",
"Grade": "1.898",
"HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538",
"NAvg": "7.447E\u002B013",
"Nsl": "7.472E\u002B013",
"Phase": "90.000",
"RhoAvg": "57.431",
"Rhosl": "57.247",
"UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-2",
"Vd": "0.216"
},
{
"FlatZ": "17.496",
"Grade": "2.414",
"HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538",
"NAvg": "7.426E\u002B013",
"Nsl": "7.458E\u002B013",
"Phase": "90.000",
"RhoAvg": "57.596",
"Rhosl": "57.352",
"UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-3",
"Vd": "0.250"
},
{
"FlatZ": "16.621",
"Grade": "1.493",
"HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538",
"NAvg": "7.695E\u002B013",
"Nsl": "7.733E\u002B013",
"Phase": "90.000",
"RhoAvg": "55.595",
"Rhosl": "55.324",
"UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-4",
"Vd": "0.327"
},
{
"FlatZ": "17.015",
"Grade": "3.257",
"HeaderUniqueId": "HGCV2_46-667776-5159_202504250840019538",
"NAvg": "7.571E\u002B013",
"Nsl": "7.623E\u002B013",
"Phase": "90.000",
"RhoAvg": "56.500",
"Rhosl": "56.121",
"UniqueId": "HGCV2_46-667776-5159_202504250840019538_Item-5",
"Vd": "0.584"
}
]
}

View File

@ -1,47 +0,0 @@
HEADER_TAG HEADER_VALUE
FORMAT 2.00
NUMBER_PASSES 0001
HEADER_OFFSET H#######T
DATA_OFFSET D#######T
END_OFFSET E#######T
"Time" "A_LOGISTICS" "B_LOGISTICS" "Test" "Count" "Index" "MesEntity" "Date" "Employee" "Lot" "PSN" "Reactor" "Recipe" "Area" "Folder" "HeaderUniqueId" "Id" "Layer" "Model" "Pattern" "Phase" "Plan" "RampRate" "RDS" "SetupFile" "StartVoltage" "StopVoltage" "UniqueId" "Wafer" "WaferSize" "Zone" "Ccomp" "CondType" "FlatZ" "FlatZMean" "FlatZRadialGradient" "FlatZStdDev" "GLimit" "Grade" "GradeMean" "GradeRadialGradient" "GradeStdDev" "NAvg" "NAvgMean" "NAvgRadialGradient" "NAvgStdDev" "Nsl" "NslMean" "NslRadialGradient" "NslStdDev" "PhaseMean" "PhaseRadialGradient" "PhaseStdDev" "RhoAvg" "RhoAvgMean" "RhoAvgRadialGradient" "RhoAvgStdDev" "RhoMethod" "Rhosl" "RhoslMean" "RhoslRadialGradient" "RhoslStdDev" "RsMean" "RsRadialGradient" "RsStdDev" "Vd" "VdMean" "VdRadialGradient" "VdStdDev" "Variation" "AreaDeltaFromLastRun" "Nine10mmEdgeMean" "Nine4mmEdgeMean" "NineCriticalPointsAverage" "NineCriticalPointsPhaseAngleAverage" "NineCriticalPointsStdDev" "NineEdgeMeanDelta" "NineMean" "NineResRangePercent" "RhoAvg01" "RhoAvg02" "RhoAvg03" "RhoAvg04" "RhoAvg05" "RhoAvg06" "RhoAvg07" "RhoAvg08" "RhoAvg09"
0.00 1 2 23 5 0 HGCV2 4/25/2025 8:40:01 AM 667776 5159 46 Recipe 2.130E-002 SSMDATA HeaderUniqueId Id - PARALLEL 6_5PT10M.PAT 90.000 5PT MES 2500 667776 6IN5PT -5.00 -20.00 UniqueId ZONE2 150.00 - 1.02 N 17.109 1.713e+001 2.563e+000 2.053e+000 2000.00 2.193 2.251e+000 3.713e+001 2.931e+001 7.854E+013 7.599e+013 2.799e+000 2.352e+000 7.882E+013 7.634e+013 2.766e+000 2.352e+000 9.000e+001 0.000e+000 -1.000e+000 54.482 5.632e+001 2.779e+000 2.315e+000 ASTM: F723 - 82 54.286 5.607e+001 2.746e+000 2.321e+000 -1.000e+000 0.000e+000 -1.000e+000 0.294 3.342e-001 4.605e+001 4.365e+001 54.482
0.00 1 2 23 5 1 HGCV2 4/25/2025 8:40:01 AM 667776 5159 46 Recipe 2.130E-002 SSMDATA HeaderUniqueId Id - PARALLEL 6_5PT10M.PAT 90.000 5PT MES 2500 667776 6IN5PT -5.00 -20.00 UniqueId ZONE2 150.00 - 1.02 N 17.428 1.713e+001 2.563e+000 2.053e+000 2000.00 1.898 2.251e+000 3.713e+001 2.931e+001 7.447E+013 7.599e+013 2.799e+000 2.352e+000 7.472E+013 7.634e+013 2.766e+000 2.352e+000 9.000e+001 0.000e+000 -1.000e+000 57.431 5.632e+001 2.779e+000 2.315e+000 ASTM: F723 - 82 57.247 5.607e+001 2.746e+000 2.321e+000 -1.000e+000 0.000e+000 -1.000e+000 0.216 3.342e-001 4.605e+001 4.365e+001 57.431
0.00 1 2 23 5 2 HGCV2 4/25/2025 8:40:01 AM 667776 5159 46 Recipe 2.130E-002 SSMDATA HeaderUniqueId Id - PARALLEL 6_5PT10M.PAT 90.000 5PT MES 2500 667776 6IN5PT -5.00 -20.00 UniqueId ZONE2 150.00 - 1.02 N 17.496 1.713e+001 2.563e+000 2.053e+000 2000.00 2.414 2.251e+000 3.713e+001 2.931e+001 7.426E+013 7.599e+013 2.799e+000 2.352e+000 7.458E+013 7.634e+013 2.766e+000 2.352e+000 9.000e+001 0.000e+000 -1.000e+000 57.596 5.632e+001 2.779e+000 2.315e+000 ASTM: F723 - 82 57.352 5.607e+001 2.746e+000 2.321e+000 -1.000e+000 0.000e+000 -1.000e+000 0.250 3.342e-001 4.605e+001 4.365e+001 57.596
0.00 1 2 23 5 3 HGCV2 4/25/2025 8:40:01 AM 667776 5159 46 Recipe 2.130E-002 SSMDATA HeaderUniqueId Id - PARALLEL 6_5PT10M.PAT 90.000 5PT MES 2500 667776 6IN5PT -5.00 -20.00 UniqueId ZONE2 150.00 - 1.02 N 16.621 1.713e+001 2.563e+000 2.053e+000 2000.00 1.493 2.251e+000 3.713e+001 2.931e+001 7.695E+013 7.599e+013 2.799e+000 2.352e+000 7.733E+013 7.634e+013 2.766e+000 2.352e+000 9.000e+001 0.000e+000 -1.000e+000 55.595 5.632e+001 2.779e+000 2.315e+000 ASTM: F723 - 82 55.324 5.607e+001 2.746e+000 2.321e+000 -1.000e+000 0.000e+000 -1.000e+000 0.327 3.342e-001 4.605e+001 4.365e+001 55.595
0.00 1 2 23 5 4 HGCV2 4/25/2025 8:40:01 AM 667776 5159 46 Recipe 2.130E-002 SSMDATA HeaderUniqueId Id - PARALLEL 6_5PT10M.PAT 90.000 5PT MES 2500 667776 6IN5PT -5.00 -20.00 UniqueId ZONE2 150.00 - 1.02 N 17.015 1.713e+001 2.563e+000 2.053e+000 2000.00 3.257 2.251e+000 3.713e+001 2.931e+001 7.571E+013 7.599e+013 2.799e+000 2.352e+000 7.623E+013 7.634e+013 2.766e+000 2.352e+000 9.000e+001 0.000e+000 -1.000e+000 56.500 5.632e+001 2.779e+000 2.315e+000 ASTM: F723 - 82 56.121 5.607e+001 2.746e+000 2.321e+000 -1.000e+000 0.000e+000 -1.000e+000 0.584 3.342e-001 4.605e+001 4.365e+001 56.500
NUM_DATA_ROWS 000000005
NUM_DATA_COLUMNS 000000088
DELIMITER ;
START_TIME_FORMAT MM/dd/yyyy HH:mm:ss
START_TIME 04/25/2025 08:40:01
LOGISTICS_COLUMN A_LOGISTICS
LOGISTICS_COLUMN B_LOGISTICS
LOGISTICS_1 A_HeaderId=241989;A_SubgroupId=1745595622;A_BASIC_TYPE=;A_INFO=202504250840019538.pcl.csv;A_INFO2=5;A_JOBID=HGCV2;A_MES_ENTITY=HGCV2;A_MID=46-667776-5159;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811672019538124;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2 B_HeaderId=241989;B_SubgroupId=1745595622;B_BASIC_TYPE=- EpiPro 5000;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667776;B_NULL_DATA=;B_PPID=6_5PT10M.PAT;B_PROCESS_JOBID=46;B_PRODUCT=5159;B_SEQUENCE=638811672019538124;B_WAFER_ID=-;B_WAFER_POS=-;
EOF
HEADER_TAG|HEADER_VALUE
FORMAT|2.00
NUMBER_PASSES|0001
HEADER_OFFSET|000004856
DATA_OFFSET|000000128
END_OFFSET|000005521
|Time|A_LOGISTICS|B_LOGISTICS|Count|Sequence|MesEntity|Index|Operator|StartVoltage|Wafer|StopVoltage|Lot|RampRate|Plan|GLimit|Date|Time|SetupFile|WaferSize|Folder|Ccomp|Pattern|Area|CondType|RhoMethod|Model|MeanNAvg|MeanNsl|MeanVd|MeanFlatZ|MeanRhoAvg|MeanRhosl|MeanPhase|MeanGrade|MeanRs|StandardDeviationPercentageNAvg|StandardDeviationPercentageNsl|StandardDeviationPercentageVd|StandardDeviationPercentageFlatZ|StandardDeviationPercentageRhoAvg|StandardDeviationPercentageRhosl|StandardDeviationPercentagePhase|StandardDeviationPercentageGrade|StandardDeviationPercentageRs|RadialGradientNAvg|RadialGradientNsl|RadialGradientVd|RadialGradientFlatZ|RadialGradientRhoAvg|RadialGradientRhosl|RadialGradientPhase|RadialGradientGrade|RadialGradientRs|Site|X|Y|NAvg|RhoAvg|Nsl|Rhosl|Vd|Phase|FlatZ|Grade|XLeft|XRight|BottomY|TopY|RDS|PSN|Reactor|Layer|Zone|Employee|InferredLot|Nine10mmEdgeMean|Nine4mmEdgeMean|NineCriticalPointsAverage|NineCriticalPointsPhaseAngleAverage|NineCriticalPointsStdDev|NineEdgeMeanDelta|NineMean|NineResRangePercent|AreaDeltaFromLastRun|Variation|Percentage HgCV 4PP Delta|RhoAvg01|RhoAvg02|RhoAvg03|RhoAvg04|RhoAvg05|RhoAvg06|RhoAvg07|RhoAvg08|RhoAvg09|EventId|
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
0.00|1|2|5|638811672019538124|HGCV2|0|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|1|0.0|0.0|7.854E+013|54.482|7.882E+013|54.286|0.294|90.000|17.109|2.193|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159||||||||||||54.482|||||||||23
0.00|1|2|5|638811672019538124|HGCV2|1|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|2|56.3|32.5|7.447E+013|57.431|7.472E+013|57.247|0.216|90.000|17.428|1.898|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159|||||||||||||57.431||||||||23
0.00|1|2|5|638811672019538124|HGCV2|2|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|3|-32.5|56.3|7.426E+013|57.596|7.458E+013|57.352|0.250|90.000|17.496|2.414|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159||||||||||||||57.596|||||||23
0.00|1|2|5|638811672019538124|HGCV2|3|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|4|-56.3|-32.5|7.695E+013|55.595|7.733E+013|55.324|0.327|90.000|16.621|1.493|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159|||||||||||||||55.595||||||23
0.00|1|2|5|638811672019538124|HGCV2|4|PROBE 2|-5.00|ZONE2|-20.00|667776|2500|5PT MES|2000.00|4/25/2025 8:40:01 AM|11:57:16 AM|6IN5PT|150.00|SSMDATA|1.02|6_5PT10M.PAT|2.130E-002|N|ASTM: F723 - 82|PARALLEL|7.599e+013|7.634e+013|3.342e-001|1.713e+001|5.632e+001|5.607e+001|9.000e+001|2.251e+000|-1.000e+000|2.352e+000|2.352e+000|4.365e+001|2.053e+000|2.315e+000|2.321e+000|-1.000e+000|2.931e+001|-1.000e+000|2.799e+000|2.766e+000|4.605e+001|2.563e+000|2.779e+000|2.746e+000|0.000e+000|3.713e+001|0.000e+000|5|32.5|-56.3|7.571E+013|56.500|7.623E+013|56.121|0.584|90.000|17.015|3.257|9.00E+000|1.80E+001|13|14|667776|5159|46|-|-||46-667776-5159||||||||||||||||56.500|||||23
NUM_DATA_ROWS|000000005
NUM_DATA_COLUMNS|000000096
DELIMITER|;
START_TIME_FORMAT|MM/dd/yyyy HH:mm:ss
START_TIME|04/25/2025 08:40:01
LOGISTICS_COLUMN|A_LOGISTICS
LOGISTICS_COLUMN|B_LOGISTICS
LOGISTICS_1|A_BASIC_TYPE=;A_INFO=202504250840019538.pcl.csv;A_INFO2=5;A_JOBID=HGCV2;A_MES_ENTITY=HGCV2;A_MID=46-667776-5159;A_NULL_DATA=;A_PPID=NO_PPID;A_PROCESS_JOBID=;A_PRODUCT=;A_SEQUENCE=638811672019538124;A_WAFER_ID=;A_WAFER_POS=;
LOGISTICS_2|B_BASIC_TYPE=- EpiPro 5000;B_INFO=-;B_INFO2=;B_JOBID=;B_MES_ENTITY=;B_MID=667776;B_NULL_DATA=;B_PPID=6_5PT10M.PAT;B_PROCESS_JOBID=46;B_PRODUCT=5159;B_SEQUENCE=638811672019538124;B_WAFER_ID=-;B_WAFER_POS=-;
END_HEADER

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -21,75 +21,77 @@
"<1,12>": "SCOPE #3",
"<1,13>": "SCOPE #4",
"<1,14>": "SCOPE #5",
"<1,15>": "SP1 1",
"<1,16>": "TENCOR1",
"<1,17>": "TENCOR2",
"<1,18>": "TENCOR3",
"<1,19>": "BIORAD2",
"<1,20>": "BIORAD3",
"<1,21>": "BIORAD4",
"<1,22>": "BIORAD5",
"<1,23>": "CDE4",
"<1,24>": "CDE5",
"<1,25>": "CDE6",
"<1,26>": "HGCV1",
"<1,27>": "HGCV2",
"<1,28>": "HGCV3",
"<1,29>": "SPV",
"<1,30>": "SRP",
"<1,31>": "BELLJAR",
"<1,32>": "6INLESS",
"<1,33>": "6INLESS2",
"<1,34>": "6MACTRONIX #1",
"<1,35>": "6MACTRONIX #2",
"<1,36>": "6MACTRONIX #3",
"<1,37>": "6MACTRONIX #4",
"<1,38>": "8INLESS",
"<1,39>": "8INLESS2",
"<1,40>": "BAGGER1",
"<1,41>": "BAGGER2",
"<1,42>": "BAGGER3",
"<1,43>": "BAGGER4",
"<1,44>": "6INFF01",
"<1,45>": "6INFF02",
"<1,46>": "6INFF03",
"<1,47>": "6INFF04",
"<1,48>": "6INFF05",
"<1,49>": "6INFF06",
"<1,50>": "6INFF07",
"<1,51>": "6INFF08",
"<1,52>": "6INFF09",
"<1,53>": "6INFF10",
"<1,54>": "8INNF01",
"<1,55>": "8INNF02",
"<1,56>": "8INNF03",
"<1,57>": "8INNF04",
"<1,58>": "8INNF05",
"<1,59>": "8INFF01",
"<1,60>": "8INFF02",
"<1,61>": "8INFF03",
"<1,62>": "8INFF04",
"<1,63>": "MACTRONIX #1",
"<1,64>": "MACTRONIX #2 ",
"<1,65>": "MACTRONIX #3",
"<1,66>": "MACTRONIX #4",
"<1,67>": "MACTRONIX #5",
"<1,68>": "MACTRONIX #6",
"<1,69>": "MACTRONIX #7",
"<1,70>": "TALL_PITCH1",
"<1,71>": "TALL_PITCH2",
"<1,72>": "TALL_PITCH3",
"<1,73>": "TALL_PITCH4",
"<1,74>": "WC6INCH1",
"<1,75>": "WC6INCH2",
"<1,76>": "WC6INCH3",
"<1,77>": "WC6INCH4",
"<1,78>": "WC8INCH1",
"<1,79>": "WC8INCH2",
"<1,80>": "WC8INCH3",
"<1,81>": "ELLP01",
"<1,82>": "LEAKCHK01",
"<1,83>": "LEAKCHK02"
"<1,15>": "SCOPE #6",
"<1,16>": "SP1 1",
"<1,17>": "TENCOR1",
"<1,18>": "TENCOR2",
"<1,19>": "TENCOR3",
"<1,20>": "BIORAD2",
"<1,21>": "BIORAD3",
"<1,22>": "BIORAD4",
"<1,23>": "BIORAD5",
"<1,24>": "CDE4",
"<1,25>": "CDE5",
"<1,26>": "CDE6",
"<1,27>": "HGCV1",
"<1,28>": "HGCV2",
"<1,29>": "HGCV3",
"<1,30>": "SPV",
"<1,31>": "SRP",
"<1,32>": "BELLJAR",
"<1,33>": "6INLESS",
"<1,34>": "6INLESS2",
"<1,35>": "6MACTRONIX #1",
"<1,36>": "6MACTRONIX #2",
"<1,37>": "6MACTRONIX #3",
"<1,38>": "6MACTRONIX #4",
"<1,39>": "8INLESS",
"<1,40>": "8INLESS2",
"<1,41>": "BAGGER1",
"<1,42>": "BAGGER2",
"<1,43>": "BAGGER3",
"<1,44>": "BAGGER4",
"<1,45>": "6INFF01",
"<1,46>": "6INFF02",
"<1,47>": "6INFF03",
"<1,48>": "6INFF04",
"<1,49>": "6INFF05",
"<1,50>": "6INFF06",
"<1,51>": "6INFF07",
"<1,52>": "6INFF08",
"<1,53>": "6INFF09",
"<1,54>": "6INFF10",
"<1,55>": "8INNF01",
"<1,56>": "8INNF02",
"<1,57>": "8INNF03",
"<1,58>": "8INNF04",
"<1,59>": "8INNF05",
"<1,60>": "8INFF01",
"<1,61>": "8INFF02",
"<1,62>": "8INFF03",
"<1,63>": "8INFF04",
"<1,64>": "MACTRONIX #1",
"<1,65>": "MACTRONIX #2 ",
"<1,66>": "MACTRONIX #3",
"<1,67>": "MACTRONIX #4",
"<1,68>": "MACTRONIX #5",
"<1,69>": "MACTRONIX #6",
"<1,70>": "MACTRONIX #7",
"<1,71>": "TALL_PITCH1",
"<1,72>": "TALL_PITCH2",
"<1,73>": "TALL_PITCH3",
"<1,74>": "TALL_PITCH4",
"<1,75>": "WC6INCH1",
"<1,76>": "WC6INCH2",
"<1,77>": "WC6INCH3",
"<1,78>": "WC6INCH4",
"<1,79>": "WC8INCH1",
"<1,80>": "WC8INCH2",
"<1,81>": "WC8INCH3",
"<1,82>": "ELLP01",
"<1,83>": "LEAKCHK01",
"<1,84>": "LEAKCHK02",
"<1,85>": "TBI #1"
}
}
}

View File

@ -1,11 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "declare function set_printer, Get_Property\r\ndeclare subroutine record_lock, Set_Property\r\n$insert msg_equates\r\n$insert lsl_users_equ\r\n\r\n*Void = Set_Property('SYSTSEM','IDLEPROC','')\r\nVoid = Set_Property(@WINDOW,'TIMER','')\r\n\r\n\r\nUNLOCK All\r\n/*\r\nDEAD - 1/27/2005 JCH\r\n* will write out the x and y coords for the user, so the menu comes up at the last used\r\n* location\r\nWinSize = get_property( @window, 'SIZE' )\r\nX = WinSize<1>\r\nY = WinSize<2>\r\nXsize = WinSize<3>\r\nYsize = WinSize<4>\r\n\r\nIF @USERNAME = 'BRYCE_BARB' THEN DEBUG\r\n\r\nopen 'LSL_USERS' to LSLUsersTableVar else\r\n MsgInfo = ''\r\n MsgInfo<mtext$> = 'Unable to open LSL_USERS...'\r\n MsgInfo<mcol$> = -2\r\n MsgInfo<mrow$> = -2\r\n Void = msg( '', MsgInfo )\r\nend\r\n\r\nread UserRec from LSLUsersTableVar, @user4 then\r\n\t \r\n\t*UserRec = xlate( 'LSL_USERS', @user4, '', 'X' )\r\n\tUserRec<lsl_users_menu_xpos$> = X\r\n\tUserRec<lsl_users_menu_ypos$> = Y\r\n\tUserRec<lsl_users_menu_xsize$> = Xsize\r\n\tUserRec<lsl_users_menu_ysize$> = Ysize\r\n\twrite UserRec on LSLUsersTableVar, @user4 else Null\r\n\r\nEND;* End of User Rec Read\r\n*/\r\n\r\nRETURN 1\r\n"
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,11 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "DECLARE FUNCTION Start_Window\r\n\r\nvoid = Start_Window('REACT_STATUS_EVEN',@WINDOW,'')\r\nvoid = Start_Window('REACT_STATUS_ODD',@WINDOW,'')\r\n\r\nvoid = Start_Window('TOOL_STATUS',@WINDOW,'')\r\n\r\n\r\nRETURN 1"
}
}
}

View File

@ -1,11 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0"
}
}
}

View File

@ -1,11 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0"
}
}
}

View File

@ -1,11 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0"
}
}
}

View File

@ -1,11 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0"
}
}
}

View File

@ -1,11 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "declare subroutine forward_event\r\n\r\nforward_event( x, y, Width, Height )\r\n*.group_1->size = -10:@fm:-10:@fm:Width:@fm:Height\r\nRETURN 0"
}
}
}

View File

@ -1,11 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "\r\nDeclare subroutine Post_Event, Set_Property\r\n\r\n*If @User4 EQ 'ERIK_L' then Set_Property(@Window, '@CLOSE', 1)\r\n\r\nClose = Get_Property(@Window, '@CLOSE')\r\n\r\nCurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')\r\n\r\nOPEN 'SYSLISTS' TO ListsFile THEN\r\n\tStation = @STATION\r\n\tStation = Station[1,'_']\t\t\r\n\tListKey = Station:'*KEEP_ALIVE'\r\n\tListRec = @USERNAME:@FM:CurrDTM\r\n\tWRITE ListRec ON ListsFile,ListKey ELSE NULL\r\nEND \r\n\r\n\r\nRETURN 1"
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,402 +0,0 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "1010",
"<2>": "1",
"<3>": ""
},
"record2": {
"<1>": {
"<1,1>": "LSL_MAIN",
"<1,2>": "",
"<1,3>": "WINDOW",
"<1,4>": "",
"<1,5>": "147",
"<1,6>": "181",
"<1,7>": "-631",
"<1,8>": "-427",
"<1,9>": "Infineon Technologies",
"<1,10>": {
"<1,10,1>": "0x92C70000",
"<1,10,2>": "0x0"
},
"<1,11>": {
"<1,11,1>": "0x100",
"<1,11,2>": "0x80000000"
},
"<1,12>": "0",
"<1,13>": "-2",
"<1,14>": "0",
"<1,15>": "",
"<1,16>": "",
"<1,17>": "",
"<1,18>": "",
"<1,19>": "",
"<1,20>": "",
"<1,21>": "",
"<1,22>": "",
"<1,23>": "",
"<1,24>": {
"<1,24,1>": "0",
"<1,24,2>": "0",
"<1,24,3>": "0",
"<1,24,4>": "0",
"<1,24,5>": "0",
"<1,24,6>": "0"
},
"<1,25>": "0",
"<1,26>": "0",
"<1,27>": "",
"<1,28>": "",
"<1,29>": "",
"<1,30>": "",
"<1,31>": "",
"<1,32>": {
"<1,32,1>": "0x7FFFE",
"<1,32,2>": "0xF001E988"
},
"<1,33>": "",
"<1,34>": "LSL2*IMAGE*ICO*DATASET",
"<1,35>": "",
"<1,36>": "",
"<1,37>": {
"<1,37,1>": "0x10001",
"<1,37,2>": "0x10001"
},
"<1,38>": {
"<1,38,1>": "1",
"<1,38,2>": "1"
},
"<1,39>": "",
"<1,40>": "0",
"<1,41>": "",
"<1,42>": "",
"<1,43>": "",
"<1,44>": "",
"<1,45>": "",
"<1,46>": "",
"<1,47>": "",
"<1,48>": "",
"<1,49>": "",
"<1,50>": "",
"<1,51>": "",
"<1,52>": ""
}
},
"record3": {
"<1>": {
"<1,1>": "MDICLIENT",
"<1,2>": "RTIMDICLIENT",
"<1,3>": "MDICLIENT",
"<1,4>": "LSL_MAIN",
"<1,5>": "3",
"<1,6>": "7",
"<1,7>": "-625",
"<1,8>": "-607",
"<1,9>": "",
"<1,10>": {
"<1,10,1>": "0x56B00000",
"<1,10,2>": "0x0"
},
"<1,11>": {
"<1,11,1>": "0xC000",
"<1,11,2>": "0x80000000"
},
"<1,12>": "1",
"<1,13>": "-2",
"<1,14>": "0",
"<1,15>": "",
"<1,16>": "",
"<1,17>": "",
"<1,18>": "",
"<1,19>": "",
"<1,20>": "",
"<1,21>": "",
"<1,22>": "",
"<1,23>": "",
"<1,24>": "",
"<1,25>": "0",
"<1,26>": "0",
"<1,27>": "",
"<1,28>": "",
"<1,29>": "",
"<1,30>": "",
"<1,31>": "",
"<1,32>": {
"<1,32,1>": "0x7fffc",
"<1,32,2>": "0xf001c808"
},
"<1,33>": "",
"<1,34>": "",
"<1,35>": "",
"<1,36>": "",
"<1,37>": "",
"<1,38>": "",
"<1,39>": "",
"<1,40>": "1"
},
"<2>": ""
},
"record4": {
"<1>": {
"<1,1>": {
"<1,1,1>": "MENU",
"<1,1,2>": "4",
"<1,1,3>": "",
"<1,1,4>": "",
"<1,1,5>": "0",
"<1,1,6>": "0",
"<1,1,7>": "0",
"<1,1,8>": "0",
"<1,1,9>": "12",
"<1,1,10>": "",
"<1,1,11>": "0",
"<1,1,12>": ""
},
"<1,2>": {
"<1,2,1>": "POPUP",
"<1,2,2>": "1",
"<1,2,3>": "",
"<1,2,4>": "&File",
"<1,2,5>": "0",
"<1,2,6>": "0",
"<1,2,7>": "0",
"<1,2,8>": "0",
"<1,2,9>": "",
"<1,2,10>": "",
"<1,2,11>": "0",
"<1,2,12>": ""
},
"<1,3>": {
"<1,3,1>": "ITEM",
"<1,3,2>": "",
"<1,3,3>": "",
"<1,3,4>": "E&xit\tAlt+F4",
"<1,3,5>": "0",
"<1,3,6>": "0",
"<1,3,7>": "0",
"<1,3,8>": "1139",
"<1,3,9>": "",
"<1,3,10>": "",
"<1,3,11>": "0",
"<1,3,12>": ""
},
"<1,4>": {
"<1,4,1>": "POPUP",
"<1,4,2>": "2",
"<1,4,3>": "",
"<1,4,4>": "&DataWindows",
"<1,4,5>": "0",
"<1,4,6>": "0",
"<1,4,7>": "0",
"<1,4,8>": "0",
"<1,4,9>": "",
"<1,4,10>": "",
"<1,4,11>": "0",
"<1,4,12>": ""
},
"<1,5>": {
"<1,5,1>": "ITEM",
"<1,5,2>": "",
"<1,5,3>": "",
"<1,5,4>": "&Company",
"<1,5,5>": "0",
"<1,5,6>": "0",
"<1,5,7>": "0",
"<1,5,8>": "0",
"<1,5,9>": "",
"<1,5,10>": "",
"<1,5,11>": "0",
"<1,5,12>": ""
},
"<1,6>": {
"<1,6,1>": "ITEM",
"<1,6,2>": "",
"<1,6,3>": "",
"<1,6,4>": "&Personal Names",
"<1,6,5>": "0",
"<1,6,6>": "0",
"<1,6,7>": "0",
"<1,6,8>": "0",
"<1,6,9>": "",
"<1,6,10>": "",
"<1,6,11>": "0",
"<1,6,12>": ""
},
"<1,7>": {
"<1,7,1>": "POPUP",
"<1,7,2>": "2",
"<1,7,3>": "",
"<1,7,4>": "&Messages",
"<1,7,5>": "0",
"<1,7,6>": "0",
"<1,7,7>": "0",
"<1,7,8>": "0",
"<1,7,9>": "",
"<1,7,10>": "",
"<1,7,11>": "0",
"<1,7,12>": ""
},
"<1,8>": {
"<1,8,1>": "ITEM",
"<1,8,2>": "",
"<1,8,3>": "",
"<1,8,4>": "&New",
"<1,8,5>": "0",
"<1,8,6>": "0",
"<1,8,7>": "0",
"<1,8,8>": "0",
"<1,8,9>": "",
"<1,8,10>": "",
"<1,8,11>": "0",
"<1,8,12>": ""
},
"<1,9>": {
"<1,9,1>": "ITEM",
"<1,9,2>": "",
"<1,9,3>": "",
"<1,9,4>": "&Check/View",
"<1,9,5>": "0",
"<1,9,6>": "0",
"<1,9,7>": "0",
"<1,9,8>": "0",
"<1,9,9>": "",
"<1,9,10>": "",
"<1,9,11>": "0",
"<1,9,12>": ""
},
"<1,10>": {
"<1,10,1>": "POPUP",
"<1,10,2>": "2",
"<1,10,3>": "",
"<1,10,4>": "&Help",
"<1,10,5>": "0",
"<1,10,6>": "0",
"<1,10,7>": "0",
"<1,10,8>": "0",
"<1,10,9>": "",
"<1,10,10>": "",
"<1,10,11>": "0",
"<1,10,12>": ""
},
"<1,11>": {
"<1,11,1>": "ITEM",
"<1,11,2>": "",
"<1,11,3>": "",
"<1,11,4>": "&Help\tF1",
"<1,11,5>": "0",
"<1,11,6>": "0",
"<1,11,7>": "0",
"<1,11,8>": "112",
"<1,11,9>": "",
"<1,11,10>": "",
"<1,11,11>": "0",
"<1,11,12>": ""
},
"<1,12>": {
"<1,12,1>": "ITEM",
"<1,12,2>": "",
"<1,12,3>": "",
"<1,12,4>": "&About\tCtrl+F1",
"<1,12,5>": "0",
"<1,12,6>": "0",
"<1,12,7>": "0",
"<1,12,8>": "624",
"<1,12,9>": "",
"<1,12,10>": "",
"<1,12,11>": "0",
"<1,12,12>": ""
}
},
"<2>": {
"<2,1>": "",
"<2,2>": {
"<2,2,1>": {
"<2,2,1,1>": "E",
"<2,2,1,2>": "CLOSE",
"<2,2,1,3>": "@WINDOW",
"<2,2,1,4>": "",
"<2,2,1,5>": "",
"<2,2,1,6>": ""
},
"<2,2,2>": {
"<2,2,2,1>": "R",
"<2,2,2,2>": "EXECUTE",
"<2,2,2,3>": "LSL2*OIWINEXE**COMPANY",
"<2,2,2,4>": {
"<2,2,2,4,1>": "CreateParam",
"<2,2,2,4,2>": "LSL_MAIN"
},
"<2,2,2,5>": "",
"<2,2,2,6>": ""
},
"<2,2,3>": {
"<2,2,3,1>": "R",
"<2,2,3,2>": "EXECUTE",
"<2,2,3,3>": "LSL2*OIWINEXE**P_NAMES",
"<2,2,3,4>": {
"<2,2,3,4,1>": "CreateParam",
"<2,2,3,4,2>": "LSL_MAIN"
},
"<2,2,3,5>": "",
"<2,2,3,6>": ""
},
"<2,2,4>": {
"<2,2,4,1>": "R",
"<2,2,4,2>": "EXECUTE",
"<2,2,4,3>": "LSL2*OIWINEXE**NOTES",
"<2,2,4,4>": {
"<2,2,4,4,1>": "CreateParam",
"<2,2,4,4,2>": "LSL_MAIN"
},
"<2,2,4,5>": "",
"<2,2,4,6>": ""
},
"<2,2,5>": {
"<2,2,5,1>": "R",
"<2,2,5,2>": "EXECUTE",
"<2,2,5,3>": "LSL2*OIWINEXE**NOTE_PTRS",
"<2,2,5,4>": {
"<2,2,5,4,1>": "CreateParam",
"<2,2,5,4,2>": "LSL_MAIN"
},
"<2,2,5,5>": "",
"<2,2,5,6>": ""
},
"<2,2,6>": {
"<2,2,6,1>": "E",
"<2,2,6,2>": "HELP",
"<2,2,6,3>": "@FOCUS",
"<2,2,6,4>": "",
"<2,2,6,5>": "",
"<2,2,6,6>": ""
},
"<2,2,7>": {
"<2,2,7,1>": "E",
"<2,2,7,2>": "NOTES",
"<2,2,7,3>": "@FOCUS",
"<2,2,7,4>": "",
"<2,2,7,5>": "",
"<2,2,7,6>": ""
},
"<2,2,8>": ""
},
"<2,3>": {
"<2,3,1>": "FILE.EXIT",
"<2,3,2>": "DATAWINDOWS.COMPANY",
"<2,3,3>": "DATAWINDOWS.PERSONAL_NAMES",
"<2,3,4>": "MESSAGES.NEW",
"<2,3,5>": "MESSAGES.CHECK/VIEW",
"<2,3,6>": "HELP.HELP",
"<2,3,7>": "HELP.ABOUT",
"<2,3,8>": ""
},
"<2,4>": "0"
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -572,7 +572,7 @@
"<3,8>": "28",
"<3,9>": "",
"<3,10>": {
"<3,10,1>": "0x5E000080",
"<3,10,1>": "0x5E000088",
"<3,10,2>": "0x200"
},
"<3,11>": {
@ -739,7 +739,7 @@
"<4,8>": "28",
"<4,9>": "",
"<4,10>": {
"<4,10,1>": "0x5E000080",
"<4,10,1>": "0x5E000088",
"<4,10,2>": "0x200"
},
"<4,11>": {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -78,7 +78,7 @@
"<1,31>": "",
"<1,32>": "",
"<1,33>": "",
"<1,34>": "",
"<1,34>": "LSL2*IMAGE*ICO*INFINEON",
"<1,35>": "",
"<1,36>": "",
"<1,37>": {
@ -18233,7 +18233,7 @@
"<120,33>": "",
"<120,34>": "",
"<120,35>": "",
"<120,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<120,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<120,37>": "",
"<120,38>": "",
"<120,39>": "",
@ -18430,7 +18430,7 @@
"<121,33>": "",
"<121,34>": "",
"<121,35>": "",
"<121,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<121,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<121,37>": "",
"<121,38>": "",
"<121,39>": "",
@ -18627,7 +18627,7 @@
"<122,33>": "",
"<122,34>": "",
"<122,35>": "",
"<122,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<122,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<122,37>": "",
"<122,38>": "",
"<122,39>": "",
@ -18824,7 +18824,7 @@
"<123,33>": "",
"<123,34>": "",
"<123,35>": "",
"<123,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<123,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<123,37>": "",
"<123,38>": "",
"<123,39>": "",
@ -19021,7 +19021,7 @@
"<124,33>": "",
"<124,34>": "",
"<124,35>": "",
"<124,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<124,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<124,37>": "",
"<124,38>": "",
"<124,39>": "",
@ -19218,7 +19218,7 @@
"<125,33>": "",
"<125,34>": "",
"<125,35>": "",
"<125,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<125,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<125,37>": "",
"<125,38>": "",
"<125,39>": "",
@ -19415,7 +19415,7 @@
"<126,33>": "",
"<126,34>": "",
"<126,35>": "",
"<126,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<126,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<126,37>": "",
"<126,38>": "",
"<126,39>": "",
@ -19612,7 +19612,7 @@
"<127,33>": "",
"<127,34>": "",
"<127,35>": "",
"<127,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<127,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<127,37>": "",
"<127,38>": "",
"<127,39>": "",
@ -19809,7 +19809,7 @@
"<128,33>": "",
"<128,34>": "",
"<128,35>": "",
"<128,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<128,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<128,37>": "",
"<128,38>": "",
"<128,39>": "",
@ -20006,7 +20006,7 @@
"<129,33>": "",
"<129,34>": "",
"<129,35>": "",
"<129,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<129,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<129,37>": "",
"<129,38>": "",
"<129,39>": "",
@ -20203,7 +20203,7 @@
"<130,33>": "",
"<130,34>": "",
"<130,35>": "",
"<130,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<130,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<130,37>": "",
"<130,38>": "",
"<130,39>": "",
@ -20400,7 +20400,7 @@
"<131,33>": "",
"<131,34>": "",
"<131,35>": "",
"<131,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<131,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<131,37>": "",
"<131,38>": "",
"<131,39>": "",
@ -20597,7 +20597,7 @@
"<132,33>": "",
"<132,34>": "",
"<132,35>": "",
"<132,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<132,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<132,37>": "",
"<132,38>": "",
"<132,39>": "",
@ -20794,7 +20794,7 @@
"<133,33>": "",
"<133,34>": "",
"<133,35>": "",
"<133,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<133,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<133,37>": "",
"<133,38>": "",
"<133,39>": "",
@ -20991,7 +20991,7 @@
"<134,33>": "",
"<134,34>": "",
"<134,35>": "",
"<134,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<134,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<134,37>": "",
"<134,38>": "",
"<134,39>": "",
@ -21188,7 +21188,7 @@
"<135,33>": "",
"<135,34>": "",
"<135,35>": "",
"<135,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<135,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<135,37>": "",
"<135,38>": "",
"<135,39>": "",
@ -21385,7 +21385,7 @@
"<136,33>": "",
"<136,34>": "",
"<136,35>": "",
"<136,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<136,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<136,37>": "",
"<136,38>": "",
"<136,39>": "",
@ -21582,7 +21582,7 @@
"<137,33>": "",
"<137,34>": "",
"<137,35>": "",
"<137,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<137,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<137,37>": "",
"<137,38>": "",
"<137,39>": "",
@ -21779,7 +21779,7 @@
"<138,33>": "",
"<138,34>": "",
"<138,35>": "",
"<138,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<138,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<138,37>": "",
"<138,38>": "",
"<138,39>": "",
@ -21976,7 +21976,7 @@
"<139,33>": "",
"<139,34>": "",
"<139,35>": "",
"<139,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<139,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<139,37>": "",
"<139,38>": "",
"<139,39>": "",
@ -22173,7 +22173,7 @@
"<140,33>": "",
"<140,34>": "",
"<140,35>": "",
"<140,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<140,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<140,37>": "",
"<140,38>": "",
"<140,39>": "",
@ -22370,7 +22370,7 @@
"<141,33>": "",
"<141,34>": "",
"<141,35>": "",
"<141,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<141,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<141,37>": "",
"<141,38>": "",
"<141,39>": "",
@ -22567,7 +22567,7 @@
"<142,33>": "",
"<142,34>": "",
"<142,35>": "",
"<142,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<142,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<142,37>": "",
"<142,38>": "",
"<142,39>": "",
@ -22764,7 +22764,7 @@
"<143,33>": "",
"<143,34>": "",
"<143,35>": "",
"<143,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<143,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<143,37>": "",
"<143,38>": "",
"<143,39>": "",
@ -22961,7 +22961,7 @@
"<144,33>": "",
"<144,34>": "",
"<144,35>": "",
"<144,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<144,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<144,37>": "",
"<144,38>": "",
"<144,39>": "",
@ -23158,7 +23158,7 @@
"<145,33>": "",
"<145,34>": "",
"<145,35>": "",
"<145,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<145,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<145,37>": "",
"<145,38>": "",
"<145,39>": "",
@ -23355,7 +23355,7 @@
"<146,33>": "",
"<146,34>": "",
"<146,35>": "",
"<146,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<146,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<146,37>": "",
"<146,38>": "",
"<146,39>": "",
@ -23552,7 +23552,7 @@
"<147,33>": "",
"<147,34>": "",
"<147,35>": "",
"<147,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<147,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<147,37>": "",
"<147,38>": "",
"<147,39>": "",
@ -23749,7 +23749,7 @@
"<148,33>": "",
"<148,34>": "",
"<148,35>": "",
"<148,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<148,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<148,37>": "",
"<148,38>": "",
"<148,39>": "",
@ -23946,7 +23946,7 @@
"<149,33>": "",
"<149,34>": "",
"<149,35>": "",
"<149,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<149,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<149,37>": "",
"<149,38>": "",
"<149,39>": "",
@ -24293,7 +24293,7 @@
"<151,33>": "",
"<151,34>": "",
"<151,35>": "",
"<151,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<151,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<151,37>": "",
"<151,38>": "",
"<151,39>": "",
@ -24490,7 +24490,7 @@
"<152,33>": "",
"<152,34>": "",
"<152,35>": "",
"<152,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<152,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<152,37>": "",
"<152,38>": "",
"<152,39>": "",
@ -24687,7 +24687,7 @@
"<153,33>": "",
"<153,34>": "",
"<153,35>": "",
"<153,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<153,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<153,37>": "",
"<153,38>": "",
"<153,39>": "",
@ -24884,7 +24884,7 @@
"<154,33>": "",
"<154,34>": "",
"<154,35>": "",
"<154,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<154,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<154,37>": "",
"<154,38>": "",
"<154,39>": "",
@ -25081,7 +25081,7 @@
"<155,33>": "",
"<155,34>": "",
"<155,35>": "",
"<155,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<155,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<155,37>": "",
"<155,38>": "",
"<155,39>": "",
@ -25278,7 +25278,7 @@
"<156,33>": "",
"<156,34>": "",
"<156,35>": "",
"<156,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<156,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<156,37>": "",
"<156,38>": "",
"<156,39>": "",
@ -25475,7 +25475,7 @@
"<157,33>": "",
"<157,34>": "",
"<157,35>": "",
"<157,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<157,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<157,37>": "",
"<157,38>": "",
"<157,39>": "",
@ -25672,7 +25672,7 @@
"<158,33>": "",
"<158,34>": "",
"<158,35>": "",
"<158,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<158,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<158,37>": "",
"<158,38>": "",
"<158,39>": "",
@ -25869,7 +25869,7 @@
"<159,33>": "",
"<159,34>": "",
"<159,35>": "",
"<159,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<159,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<159,37>": "",
"<159,38>": "",
"<159,39>": "",
@ -26066,7 +26066,7 @@
"<160,33>": "",
"<160,34>": "",
"<160,35>": "",
"<160,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<160,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<160,37>": "",
"<160,38>": "",
"<160,39>": "",
@ -26263,7 +26263,7 @@
"<161,33>": "",
"<161,34>": "",
"<161,35>": "",
"<161,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<161,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<161,37>": "",
"<161,38>": "",
"<161,39>": "",
@ -26460,7 +26460,7 @@
"<162,33>": "",
"<162,34>": "",
"<162,35>": "",
"<162,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<162,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<162,37>": "",
"<162,38>": "",
"<162,39>": "",
@ -26657,7 +26657,7 @@
"<163,33>": "",
"<163,34>": "",
"<163,35>": "",
"<163,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<163,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<163,37>": "",
"<163,38>": "",
"<163,39>": "",
@ -26854,7 +26854,7 @@
"<164,33>": "",
"<164,34>": "",
"<164,35>": "",
"<164,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<164,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<164,37>": "",
"<164,38>": "",
"<164,39>": "",
@ -27051,7 +27051,7 @@
"<165,33>": "",
"<165,34>": "",
"<165,35>": "",
"<165,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<165,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<165,37>": "",
"<165,38>": "",
"<165,39>": "",
@ -27248,7 +27248,7 @@
"<166,33>": "",
"<166,34>": "",
"<166,35>": "",
"<166,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<166,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<166,37>": "",
"<166,38>": "",
"<166,39>": "",
@ -27445,7 +27445,7 @@
"<167,33>": "",
"<167,34>": "",
"<167,35>": "",
"<167,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<167,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<167,37>": "",
"<167,38>": "",
"<167,39>": "",
@ -27642,7 +27642,7 @@
"<168,33>": "",
"<168,34>": "",
"<168,35>": "",
"<168,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<168,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<168,37>": "",
"<168,38>": "",
"<168,39>": "",
@ -27839,7 +27839,7 @@
"<169,33>": "",
"<169,34>": "",
"<169,35>": "",
"<169,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<169,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<169,37>": "",
"<169,38>": "",
"<169,39>": "",
@ -28036,7 +28036,7 @@
"<170,33>": "",
"<170,34>": "",
"<170,35>": "",
"<170,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<170,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<170,37>": "",
"<170,38>": "",
"<170,39>": "",
@ -28233,7 +28233,7 @@
"<171,33>": "",
"<171,34>": "",
"<171,35>": "",
"<171,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<171,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<171,37>": "",
"<171,38>": "",
"<171,39>": "",
@ -28430,7 +28430,7 @@
"<172,33>": "",
"<172,34>": "",
"<172,35>": "",
"<172,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<172,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<172,37>": "",
"<172,38>": "",
"<172,39>": "",
@ -28627,7 +28627,7 @@
"<173,33>": "",
"<173,34>": "",
"<173,35>": "",
"<173,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<173,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<173,37>": "",
"<173,38>": "",
"<173,39>": "",
@ -28824,7 +28824,7 @@
"<174,33>": "",
"<174,34>": "",
"<174,35>": "",
"<174,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<174,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<174,37>": "",
"<174,38>": "",
"<174,39>": "",
@ -29021,7 +29021,7 @@
"<175,33>": "",
"<175,34>": "",
"<175,35>": "",
"<175,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<175,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<175,37>": "",
"<175,38>": "",
"<175,39>": "",
@ -29218,7 +29218,7 @@
"<176,33>": "",
"<176,34>": "",
"<176,35>": "",
"<176,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<176,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<176,37>": "",
"<176,38>": "",
"<176,39>": "",
@ -29415,7 +29415,7 @@
"<177,33>": "",
"<177,34>": "",
"<177,35>": "",
"<177,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<177,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<177,37>": "",
"<177,38>": "",
"<177,39>": "",
@ -29612,7 +29612,7 @@
"<178,33>": "",
"<178,34>": "",
"<178,35>": "",
"<178,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<178,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<178,37>": "",
"<178,38>": "",
"<178,39>": "",
@ -29809,7 +29809,7 @@
"<179,33>": "",
"<179,34>": "",
"<179,35>": "",
"<179,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<179,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<179,37>": "",
"<179,38>": "",
"<179,39>": "",
@ -30006,7 +30006,7 @@
"<180,33>": "",
"<180,34>": "",
"<180,35>": "",
"<180,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<180,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
"<180,37>": "",
"<180,38>": "",
"<180,39>": "",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -39,6 +39,10 @@
"<8,2>": {
"<8,2,1>": "Update QA Metrology Specs",
"<8,2,2>": "QA_MET"
},
"<8,3>": {
"<8,3,1>": "Update RDS Layer Parameters",
"<8,3,2>": "UPDATE_RDS_LAYER"
}
},
"<9>": {
@ -46,29 +50,21 @@
"<9,1,1>": "1",
"<9,1,2>": "20",
"<9,1,3>": "L",
"<9,1,4>": "",
"<9,1,4>": "L",
"<9,1,5>": "",
"<9,1,6>": "Window Option"
},
"<9,2>": {
"<9,2,1>": "2",
"<9,2,2>": "0",
"<9,2,3>": "L",
"<9,2,4>": "",
"<9,2,3>": "R",
"<9,2,4>": "R",
"<9,2,5>": "",
"<9,2,6>": ""
},
"<9,3>": {
"<9,3,1>": "",
"<9,3,2>": "",
"<9,3,3>": "",
"<9,3,4>": "",
"<9,3,5>": "",
"<9,3,6>": ""
"<9,2,6>": "2"
}
},
"<10>": "L",
"<11>": "3",
"<11>": "2",
"<12>": "Engineering Options",
"<13>": "2",
"<14>": "F",
@ -91,8 +87,18 @@
"<31>": "0",
"<32>": "0",
"<33>": "0",
"<34>": "16777215",
"<35>": "16777215"
"<34>": "-2",
"<35>": "-2",
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
}
}
}

View File

@ -9,7 +9,7 @@
"<2>": "-2",
"<3>": "-1",
"<4>": "-1",
"<5>": "16777215",
"<5>": "-2",
"<6>": {
"<6,1>": {
"<6,1,1>": "Tahoma",
@ -76,11 +76,21 @@
"<28>": "",
"<29>": "0",
"<30>": "0",
"<31>": "0",
"<31>": "1",
"<32>": "0",
"<33>": "0",
"<34>": "16777215",
"<35>": "16777215"
"<34>": "-2",
"<35>": "-2",
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
}
}
}

View File

@ -9,7 +9,7 @@
"<2>": "-2",
"<3>": "-1",
"<4>": "-1",
"<5>": "16777215",
"<5>": "-2",
"<6>": {
"<6,1>": {
"<6,1,1>": "Tahoma",
@ -84,11 +84,21 @@
"<28>": "",
"<29>": "0",
"<30>": "0",
"<31>": "0",
"<31>": "1",
"<32>": "0",
"<33>": "0",
"<34>": "16777215",
"<35>": "16777215"
"<34>": "-2",
"<35>": "-2",
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
}
}
}

View File

@ -9,7 +9,7 @@
"<2>": "-1",
"<3>": "-1",
"<4>": "-1",
"<5>": "16777215",
"<5>": "-2",
"<6>": {
"<6,1>": {
"<6,1,1>": "Tahoma",
@ -53,24 +53,28 @@
"<8,5,2>": "Graphite Machining Services Inc"
},
"<8,6>": {
"<8,6,1>": "NRD",
"<8,6,2>": "Nuclecel"
"<8,6,1>": "MERSEN",
"<8,6,2>": "Mersen USA GS Corp."
},
"<8,7>": {
"<8,7,1>": "SGL",
"<8,7,2>": "SGL Group"
"<8,7,1>": "NRD",
"<8,7,2>": "Nuclecel"
},
"<8,8>": {
"<8,8,1>": "TOYO",
"<8,8,2>": "Toyo Tanso USA"
"<8,8,1>": "SGL",
"<8,8,2>": "SGL Group"
},
"<8,9>": {
"<8,9,1>": "WACOM",
"<8,9,2>": "WaCom"
"<8,9,1>": "TOYO",
"<8,9,2>": "Toyo Tanso USA"
},
"<8,10>": {
"<8,10,1>": "XYCARB",
"<8,10,2>": "Xycarb Ceramic"
"<8,10,1>": "WACOM",
"<8,10,2>": "WaCom"
},
"<8,11>": {
"<8,11,1>": "XYCARB",
"<8,11,2>": "Xycarb Ceramic"
}
},
"<9>": {
@ -89,14 +93,6 @@
"<9,2,4>": "C",
"<9,2,5>": "",
"<9,2,6>": "Description"
},
"<9,3>": {
"<9,3,1>": "",
"<9,3,2>": "",
"<9,3,3>": "",
"<9,3,4>": "",
"<9,3,5>": "",
"<9,3,6>": ""
}
},
"<10>": "L",
@ -124,7 +120,17 @@
"<32>": "0",
"<33>": "1",
"<34>": "16777215",
"<35>": "16777215"
"<35>": "16777215",
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
}
}
}

View File

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

View File

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

View File

@ -149,4 +149,3 @@ end api
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Internal GoSubs
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -67,19 +67,16 @@ END
RETURN Result
* * * * * * *
Create:
* * * * * * *
IF MemberOf(@USER4,'CALIBRATION') ELSE
ErrMsg('Only authorized personnel may update the Calibration List.')
End_Window(@WINDOW)
RETURN
END
obj_Appwindow('Create',@WINDOW)
Set_List_Box_Data( @WINDOW )
@ -141,13 +138,9 @@ FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
NEXT Line
NEXT I
RETURN
* * * * * * *
Read:
* * * * * * *
@ -158,7 +151,6 @@ IF RowExists('CALIB_LIST',CLNo) ELSE
IF Get_Property(@WINDOW:'.ENTER_DTM','DEFPROP') = '' THEN
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH')
Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',CurrDTM)
END
END
@ -187,14 +179,6 @@ RETURN
Delete:
* * * * * * *
/*
IF Security_Check('Order',Delete$) THEN
Result = 1 ;* Proceed with delete
END ELSE
Security_Err_Msg('Order',Delete$)
Result = 0 ;* Stop event chain
END
*/
RETURN
@ -210,7 +194,6 @@ IF CLNo = '' THEN
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:NextCLNo)
END
RETURN
@ -233,11 +216,9 @@ END ELSE
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:CLKeys)
END
RETURN
* * * * * * *
LUCalibItemType:
* * * * * * *
@ -268,13 +249,10 @@ END
RETURN
* * * * * *
Close:
* * * * * *
obj_Notes('Inbox',@USER4) ;* Checks for any new messages
Send_Event('MASTER_CALIB_LIST','CREATE')
@ -314,7 +292,6 @@ IF CLNo NE '' AND CalDt NE '' THEN
obj_Appwindow('ViewNewDetail', oaParms)
END
RETURN
@ -350,6 +327,7 @@ END
RETURN
*********************
PrintMostRecentLabel:
*********************
@ -369,6 +347,3 @@ end
return

View File

@ -136,4 +136,3 @@ CreateHALCollection:
end
return

258
LSL2/STPROC/CLEAN_API.txt Normal file
View File

@ -0,0 +1,258 @@
Function Clean_API(@API)
/***********************************************************************************************************************
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
permission from SRP Computer Solutions, Inc.
Name : Clean_API
Description : API logic for the Clean resource.
Notes : All web APIs should include the API_SETUP insert. This will provide several useful variables:
HTTPMethod - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.)
APIURL - The URL for the API entry point (e.g., api.mysite.com/v1).
FullEndpointURL - The URL submitted by the client, including query params.
FullEndpointURLNoQuery - The URL submitted by the client, excluding query params.
EndpointSegment - The URL endpoint segment.
ParentURL - The URL path preceeding the current endpoint.
CurrentAPI - The name of this stored procedure.
Parameters :
API [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]:
- APIPattern must follow this structure Clean[.ID.[<Property>]]
- HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc.
Examples:
- Clean.POST
- Clean.ID.PUT
- Clean.ID.firstName.GET
Response [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API
services do not rely upon anything being returned in the response. This is what the
various services like SetResponseBody and SetResponseStatus services are for. A response
value is only helpful if the developers want to use it for debug purposes.
History : (Date, Initials, Notes)
06/18/25 xxx Original programmer.
***********************************************************************************************************************/
#pragma precomp SRP_PreCompiler
Declare function OI_Wizard_Services, Lot_Operation_Services, Database_Services, Lot_Services, Clean_Services
Declare subroutine Clean_Services, Lot_Services
$insert APP_INSERTS
$insert API_SETUP
$insert HTTP_INSERTS
$insert OI_WIZARD_EQUATES
$insert LOT_OPERATION_EQUATES
GoToAPI else
// The specific resource endpoint doesn't have a API handler yet.
HTTP_Services('SetResponseStatus', 204, 'This is a valid endpoint but a web API handler has not yet been created.')
end
Return Response OR ''
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Endpoint Handlers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
API clean.ID.HEAD
API clean.ID.GET
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
CleanRecId = EndpointSegment
CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId)
If Error_Services('NoError') then
Http_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API clean.ID.markcleanrecordcomplete.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
CleanRecId = ParentSegment
LotOperationId = SRP_JSON(objBody, 'GetValue', 'LotOperationId')
CleanTool = SRP_JSON(objBody, 'GetValue', 'CleanTool')
CleanRecipe = SRP_JSON(objBody, 'GetValue', 'CleanRecipe')
SRP_JSON(objBody, 'Release')
Clean_Services('MarkCleanRecComplete', CleanRecId, CleanRecipe, CleanTool, UserId)
If Error_Services('NoError') then
CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId)
HTTP_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API clean.createcleanrecord.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
LotId = SRP_JSON(objBody, 'GetValue', 'LotId')
LotOperationId = SRP_JSON(objBody, 'GetValue', 'LotOperationId')
SRP_JSON(objBody, 'Release')
end
CleanRecId = Clean_Services('CreateNewCleanRecord', LotId, LotOperationId, UserId)
If Error_Services('NoError') then
CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId)
HTTP_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API clean.getnewcleanoperationparams.HEAD
API clean.getnewcleanoperationparams.GET
JSONCollection = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
Body = HTTP_Services('GetHTTPGetString')
If Body NE '' then
RequestJson = HTTP_Services('DecodePercentString', Body)
LotId = Http_Services('GetQueryField', 'LotId')
objJSONResponse = ''
If SRP_Json(objJSONResponse, 'New', 'Object') then
//Available Tools
If SRP_Json(objCleanTools, 'New', 'Array') then
CleanTools = Clean_Services('GetCleanToolOptions')
for each CleanTool in CleanTools using @FM
SRP_Json(objCleanTools, 'AddValue', CleanTool, 'String')
Next CleanTool
SRP_Json(objJsonResponse, 'Set', 'CleanToolOptions', objCleanTools)
SRP_Json(objCleanTools, 'Release')
end
//Available Recipes
If SRP_Json(objCleanRecipes, 'New', 'Array') then
CleanRecipes = Clean_Services('GetCleanRecipeOptions')
for each Recipe in CleanRecipes using @VM
SRP_Json(objCleanRecipes, 'AddValue', Recipe, 'String')
Next Recipe
SRP_Json(objJsonResponse, 'Set', 'CleanRecipeOptions', objCleanRecipes)
SRP_Json(objCleanRecipes, 'Release')
end
JsonResponse = SRP_Json(objJsonResponse, 'Stringify', 'Styled')
SRP_Json(objJsonResponse, 'Release')
end else
Error_Services('Add', 'Error when creating JSON response.')
end
end else
Error_Services('Add', 'No body was sent with the request.')
end
If Error_Services('NoError') then
HTTP_Services('SetResponseStatus', 201, 'Success')
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseBody', JsonResponse, False$, 'application/hal+json')
end else
HTTP_Services('SetResponseStatus', 400, Error_Services('GetMessage'))
end
end else
HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.')
end
end api

View File

@ -72,11 +72,12 @@ $insert WM_OUT_EQUATES
$insert WO_LOG_EQUATES
$insert ROTR_EQUATES
$insert WO_MAT_EQUATES
$Insert IFX_EQUATES
Equ Comma$ to ','
Declare function Error_Services, Database_Services, Environment_Services, QA_Services, RDS_Services, MemberOf
Declare subroutine Error_Services, Database_Services, Post_Metrology_Manual_Data_Entry_Log
Declare subroutine Error_Services, Database_Services, Post_Metrology_Manual_Data_Entry_Log, Service_Services
Declare subroutine Qa_Services
If KeyID then GoSub Initialize_System_Variables
@ -799,96 +800,15 @@ WRITE_RECORD:
WONo = Record<CLEAN_INSP_WO_NO$>
ReactType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X')
EpiPro = (ReactType EQ 'EPP')
GaN = (ReactType EQ 'GAN')
NonEpiPro = ( (ReactType NE 'EPP') and (ReactType NE 'GAN') )
Stage = Record<CLEAN_INSP_STAGE$>
If Stage EQ 'LWI' then
RDSNo = Record<CLEAN_INSP_RDS_NO$>
PostCIKey = Xlate('RDS', RDSNo, 'POST_CI_NO', 'X')
If PostCIKey NE '' then
FailedWafers = Record<CLEAN_INSP_FAILED_WAFERS$>
If FailedWafers NE '' then
NewPostSpecSampleQty = Sum(FailedWafers)
PostCIRec = Database_Services('ReadDataRow', 'CLEAN_INSP', PostCIKey)
PostSpecRecipes = PostCIRec<CLEAN_INSP_SPEC_SURFSCAN_RECIPE$>
NumRecipes = DCount(PostSpecRecipes, @VM)
If NumRecipes GT 0 then
For RecipeIndex = 1 to NumRecipes
CurrSpec = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex>
If ( (CurrSpec EQ '') or (CurrSpec LT NewPostSpecSampleQty) ) then
PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex> = NewPostSpecSampleQty
Service_Services('PostProcedure', 'CLEAN_INSP_SERVICES', 'UpdatePostCISampleQty':SD$:Name)
end
Next RecipeIndex
Database_Services('WriteDataRow', 'CLEAN_INSP', PostCIKey, PostCIRec, True$, False$, True$)
end
end
end
end
If NonEpiPro then
// Sync up Insp, Clean, and SurfScan signatures with WO_MAT signature profile
Stage = {STAGE}
WOMatKey = {WO_MAT_KEY}
// Update failed wafer list
QA_Services('UpdateFailedWafers', WOMatKey)
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
WOMatSigProf = WOMatRec<WO_MAT_SIG_PROFILE$>
WOMatSigs = WOMatRec<WO_MAT_SIGNATURE$>
WOMatSigDTMs = WOMatRec<WO_MAT_SIG_DTM$>
OrigInspSig = OrigRecord<CLEAN_INSP_INSP_SIG$>
OrigInspSigDTM = OrigRecord<CLEAN_INSP_INSP_SIG_DTM$>
InspSig = Record<CLEAN_INSP_INSP_SIG$>
InspSigDTM = Record<CLEAN_INSP_INSP_SIG_DTM$>
OrigCleanSig = OrigRecord<CLEAN_INSP_CLEAN_SIG$>
OrigCleanSigDTM = OrigRecord<CLEAN_INSP_CLEAN_SIG_DTM$>
CleanSig = Record<CLEAN_INSP_CLEAN_SIG$>
CleanSigDTM = Record<CLEAN_INSP_CLEAN_SIG_DTM$>
OrigScanSig = OrigRecord<CLEAN_INSP_SCAN_SIG$>
OrigScanSigDTM = OrigRecord<CLEAN_INSP_SCAN_SIG_DTM$>
ScanSig = Record<CLEAN_INSP_SCAN_SIG$>
ScanSigDTM = Record<CLEAN_INSP_SCAN_SIG_DTM$>
SigProfUpdate = False$
If ( (OrigInspSig NE InspSig) or (OrigInspSigDTM NE InspSigDTM) ) then
WOMatStage = '1':Stage:'I'
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
WOMatSigs<0, vPos> = InspSig[-1, 'B':@VM]
WOMatSigDTMs<0, vPos> = InspSigDTM[-1, 'B':@VM]
SigProfUpdate = True$
end
end
If ( (OrigCleanSig NE CleanSig) or (OrigCleanSigDTM NE CleanSigDTM) ) then
WOMatStage = '1':Stage:'C'
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
WOMatSigs<0, vPos> = CleanSig[-1, 'B':@VM]
WOMatSigDTMs<0, vPos> = CleanSigDTM[-1, 'B':@VM]
SigProfUpdate = True$
end
end
If ( (OrigScanSig NE ScanSig) or (OrigScanSigDTM NE ScanSigDTM) ) then
WOMatStage = '1':Stage:'S'
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
WOMatSigs<0, vPos> = ScanSig[-1, 'B':@VM]
WOMatSigDTMs<0, vPos> = ScanSigDTM[-1, 'B':@VM]
SigProfUpdate = True$
end
end
If SigProfUpdate then
NumSteps = DCount(WOMatSigProf, @VM)
WOMatRec<WO_MAT_SIGNATURE$> = Field(WOMatSigs, @VM, 1, NumSteps)
WOMatRec<WO_MAT_SIG_DTM$> = Field(WOMatSigDTMs, @VM, 1, NumSteps)
Database_Services('WriteDataRow', 'WO_MAT', WOMatKey, WOMatRec, True$, False$, True$)
end
Service_Services('PostProcedure', 'QA_SERVICES', 'UpdateFailedWafers':SD$:WOMatKey)
Service_Services('PostProcedure', 'CLEAN_INSP_SERVICES', 'PushSigProfileToWoMat':SD$:Name)
end
return
@ -945,4 +865,3 @@ Restore_System_Variables:
@FILE.ERROR = OrigFileError
return

View File

@ -56,7 +56,8 @@ $Insert PRS_STAGE_EQUATES
$Insert WO_MAT_EQUATES
Declare function Database_Services, SRP_JSON, Error_Services, obj_Clean_Insp
Declare subroutine Database_Services, SRP_JSON, Error_Services, obj_React_Run, Clean_Insp_Services, React_Run_Services, Btree.Extract
Declare subroutine Database_Services, SRP_JSON, Error_Services, obj_React_Run, Clean_Insp_Services, React_Run_Services
Declare subroutine Transaction_Services, Btree.Extract
GoToService
@ -439,11 +440,13 @@ Service UpdateAllCleanInsp(WOMatKey)
end service
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// This service functions as a means to get the latest CINo for a specified RDS No where the defectivity measurements took place
// This is specifically used to have the latest defectivity data
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Service GetLatestDefectCINoByRDSId(RDSNo)
LatestCINo = ''
LatestInspDtm = ''
Open 'DICT CLEAN_INSP' to @DICT then
@ -464,6 +467,136 @@ Service GetLatestDefectCINoByRDSId(RDSNo)
end
end
Response = LatestCINo
end service
Service PushSigProfileToWoMat(CleanInspKey)
ErrorMsg = ''
If (CleanInspKey NE '') then
If RowExists('CLEAN_INSP', CleanInspKey) then
Record = Database_Services('ReadDataRow', 'CLEAN_INSP', CleanInspKey)
If Error_Services('NoError') then
WONo = Record<CLEAN_INSP_WO_NO$>
ReactType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X')
NonEpiPro = ( (ReactType NE 'EPP') and (ReactType NE 'GAN') )
If NonEpiPro then
// Sync up Insp, Clean, and SurfScan signatures with WO_MAT signature profile
Stage = Record<CLEAN_INSP_STAGE$>
WOMatKey = Xlate('CLEAN_INSP', CleanInspKey, 'WO_MAT_KEY', 'X')
If WOMatKey NE '' then
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
If Error_Services('NoError') then
WOMatSigProf = WOMatRec<WO_MAT_SIG_PROFILE$>
WOMatSigs = WOMatRec<WO_MAT_SIGNATURE$>
WOMatSigDTMs = WOMatRec<WO_MAT_SIG_DTM$>
WOMatSigsOrig = WOMatSigs
WOMatSigDTMsOrig = WOMatSigDTMs
InspSig = Record<CLEAN_INSP_INSP_SIG$>
InspSigDTM = Record<CLEAN_INSP_INSP_SIG_DTM$>
CleanSig = Record<CLEAN_INSP_CLEAN_SIG$>
CleanSigDTM = Record<CLEAN_INSP_CLEAN_SIG_DTM$>
ScanSig = Record<CLEAN_INSP_SCAN_SIG$>
ScanSigDTM = Record<CLEAN_INSP_SCAN_SIG_DTM$>
WOMatStage = '1':Stage:'I'
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
WOMatSigs<0, vPos> = InspSig[-1, 'B':@VM]
WOMatSigDTMs<0, vPos> = InspSigDTM[-1, 'B':@VM]
end
WOMatStage = '1':Stage:'C'
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
WOMatSigs<0, vPos> = CleanSig[-1, 'B':@VM]
WOMatSigDTMs<0, vPos> = CleanSigDTM[-1, 'B':@VM]
end
WOMatStage = '1':Stage:'S'
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
WOMatSigs<0, vPos> = ScanSig[-1, 'B':@VM]
WOMatSigDTMs<0, vPos> = ScanSigDTM[-1, 'B':@VM]
end
NumSteps = DCount(WOMatSigProf, @VM)
WOMatSigs = Field(WOMatSigs, @VM, 1, NumSteps)
WOMatSigDTMs = Field(WOMatSigDTMs, @VM, 1, NumSteps)
If WOMatSigs NE WOMatSigsOrig then
Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIGNATURE$, WOMatSigs)
end
If WOMatSigDTMs NE WOMatSigDTMsOrig then
Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_DTM$, WOMatSigDTMs)
end
end else
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
end
end else
ErrorMsg = 'Error in ':Service:' service. Null WO_MAT_KEY returned for CLEAN_INSP ':CleanInspKey:'.'
end
end
end else
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
end
end else
ErrorMsg = 'Error in ':Service:' service. CLEAN_INSP ':CleanInspKey:' does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null CleanInspKey passed into service.'
end
If ErrorMsg NE '' then Error_Services('Add', ErrorMsg)
end service
Service UpdatePostCISampleQty(CleanInspKey)
ErrorMsg = ''
If CleanInspKey NE '' then
If RowExists('CLEAN_INSP', CleanInspKey) then
Record = Database_Services('ReadDataRow', 'CLEAN_INSP', CleanInspKey)
If Error_Services('NoError') then
Stage = Record<CLEAN_INSP_STAGE$>
If Stage EQ 'LWI' then
RDSNo = Record<CLEAN_INSP_RDS_NO$>
PostCIKey = Xlate('RDS', RDSNo, 'POST_CI_NO', 'X')
If PostCIKey NE '' then
FailedWafers = Record<CLEAN_INSP_FAILED_WAFERS$>
If FailedWafers NE '' then
NewPostSpecSampleQty = Sum(FailedWafers)
PostCIRec = Database_Services('ReadDataRow', 'CLEAN_INSP', PostCIKey)
PostSpecRecipes = PostCIRec<CLEAN_INSP_SPEC_SURFSCAN_RECIPE$>
NumRecipes = DCount(PostSpecRecipes, @VM)
If NumRecipes GT 0 then
UpdatePostRec = False$
For RecipeIndex = 1 to NumRecipes
CurrSpec = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex>
If ( (CurrSpec EQ '') or (CurrSpec LT NewPostSpecSampleQty) ) then
UpdatePostRec = True$
PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex> = NewPostSpecSampleQty
end
Next RecipeIndex
If UpdatePostRec then
PostCISpecSampQty = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$>
Transaction_Services('PostWriteFieldTransaction', 'CLEAN_INSP', PostCIKey, CLEAN_INSP_SPEC_SS_SAMP_QTY$, PostCISpecSampQty)
end
end
end
end
end
end else
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
end
end else
ErrorMsg = 'Error in ':Service:' service. CLEAN_INSP ':CleanInspKey:' does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null CleanInspKey passed into service.'
end
If ErrorMsg NE '' then Error_Services('Add', ErrorMsg)
end service
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -0,0 +1,217 @@
Compile function Clean_Services(@Service, @Params)
#pragma precomp SRP_PreCompiler
Declare Function Database_Services, Error_Services, Logging_Services, Datetime
Declare Function RTI_CreateGUID, Tool_Services, SRP_Json, Date_Services
Declare Subroutine Database_Services, Error_Services, Logging_Services, SRP_Json, Lot_Event_Services
$insert LOGICAL
$Insert CLEAN_EQUATES
$Insert LOT_EQUATES
$Insert LOT_OPERATION_EQUATES
$Insert TOOL_EQUATES
$Insert TOOL_CLASS_EQUATES
Options Stage = 'LWI',
GoToService
Return Response or ""
//-----------------------------------------------------------------------------
// SERVICES
//-----------------------------------------------------------------------------
Service CreateNewCleanRecord(LotId, LotOperationId, UserId)
ErrorMessage = ''
CleanRecId = ''
If RowExists('LOT', LotId) then
//ToDo check Lot Operation Exists
//Checks complete, create the CLEAN record
TransDtm = Datetime()
CleanRecId = RTI_CreateGUID()
CleanRec = ''
CleanRec<CLEAN_LOT_ID$> = LotId
CleanRec<CLEAN_LOT_OPERATION_ID$> = LotOperationId
CleanRec<CLEAN_CLEAN_START_DTM$> = TransDtm
CleanRec<CLEAN_CLEAN_START_USER_ID$> = UserId
Database_Services('WriteDataRow', 'CLEAN', CleanRecId, CleanRec)
If Error_Services('NoError') then
If LotOperationId NE '' then
LotOperationRec = Database_Services('ReadDataRow', 'LOT_OPERATION', LotOperationId, True$, 0, False$)
LotOperationRec<LOT_OPERATION_CLEAN_ID$> = CleanRecId
Database_Services('WriteDataRow', 'LOT_OPERATION', LotOperationId, LotOperationRec)
If Error_Services('NoError') then
Lot_Event_Services('CreateLotEvent', LotId, TransDtm, 'CLEAN_START', 'Created clean record.', '', UserId)
end else
ErrorMessage = Error_Services('GetMessage')
end
end
end else
ErrorMessage = Error_Services('GetMessage')
end
end else
//Todo add error message
end
If ErrorMessage EQ '' then
Response = CleanRecId
end else
// Todo: Add logging
ErrorMessage = 'Error Creating a new clean record: ' : ErrorMessage
Error_Services('Add', ErrorMessage)
end
End Service
Service ConvertCleanRecToJson(CleanRecId)
ErrorMessage = ''
CleanRecJson = ''
If RowExists('CLEAN', CleanRecId) then
CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$)
If Error_Services('NoError') then
objJson = ''
If SRP_Json(objJson, 'New', 'Object') then
SRP_Json(objJson, 'SetValue', 'CleanId', CleanRecId, 'String')
SRP_Json(objJson, 'SetValue', 'LotId', CleanRec<CLEAN_LOT_ID$>, 'String')
LegacyLotId = Database_Services('ReadDataColumn', 'LOT', CleanRec<CLEAN_LOT_ID$>, LOT_LEGACY_LOT_ID$)
SRP_Json(objJson, 'SetValue', 'LegacyLotId', LegacyLotId, 'String')
SRP_Json(objJson, 'SetValue', 'Recipe', CleanRec<CLEAN_RECIPE$>, 'String')
SRP_Json(objJson, 'SetValue', 'Tool', CleanRec<CLEAN_TOOL$>, 'String')
SRP_Json(objJson, 'SetValue', 'StartUser', CleanRec<CLEAN_CLEAN_START_USER_ID$>, 'String')
StartDtm = Date_Services('ConvertDateTimeToISO8601', CleanRec<CLEAN_CLEAN_START_DTM$>)
if StartDtm NE '' then
SRP_Json(objJson, 'SetValue', 'StartDtm', StartDtm)
end
SRP_Json(objJson, 'SetValue', 'StopUser', CleanRec<CLEAN_CLEAN_STOP_USER_ID$>, 'String')
StopDtm = Date_Services('ConvertDateTimeToISO8601', CleanRec<CLEAN_CLEAN_STOP_DTM$>)
if StopDtm NE '' then
SRP_Json(objJson, 'SetValue', 'StopDtm', StopDtm, 'String')
end
SRP_Json(objJson, 'SetValue', 'LotOperationId', CleanRec<CLEAN_LOT_OPERATION_ID$>, 'String')
CleanRecJson = SRP_Json(objJson, 'Stringify', 'Styled')
SRP_Json(objJson, 'Release')
end else
ErrorMessage = 'Error creating clean record json'
end
end else
ErrorMessage = Error_Services('GetMessage')
end
end else
ErrorMessage = 'Clean record not found.'
end
If ErrorMessage EQ '' then
Response = CleanRecJson
end else
Error_Services('Add', 'Error getting clean record : ' : ErrorMessage)
end
end service
Service MarkCleanRecComplete(CleanRecId, CleanRecipe, CleanTool, CleanUser)
ErrorMessage = ''
TransDtm = Datetime()
If RowExists('CLEAN', CleanRecId) then
CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$)
If CleanRec<CLEAN_CLEAN_START_DTM$> NE '' then
If CleanRec<CLEAN_TOOL$> EQ '' AND CleanRec<CLEAN_RECIPE$> EQ '' then
if RowExists('LSL_USERS', CleanUser) then
If CleanRec<CLEAN_COMPLETE_DTM$> EQ '' then
CleanRec<CLEAN_TOOL$> = CleanTool
CleanRec<CLEAN_RECIPE$> = CleanRecipe
CleanRec<CLEAN_CLEAN_STOP_USER_ID$> = CleanUser
CleanRec<CLEAN_CLEAN_STOP_DTM$> = TransDtm
Database_Services('WriteDataRow', 'CLEAN', CleanRecId, CleanRec)
If Error_Services('NoError') then
LotId = CleanRec<CLEAN_LOT_ID$>
Lot_Event_Services('CreateLotEvent', LotId, TransDtm, 'CLEAN', 'Clean completed', CleanTool, CleanUser)
end else
ErrorMessage = Error_Services('GetMessage')
end
end else
ErrorMessage = 'Clean is already signed off.'
end
end else
ErrorMessage = 'Clean tool or clean recipe is missing.'
end
end else
ErrorMessage = 'Clean has already been logged.'
end
end else
ErrorMessage = 'Clean has not been started.'
end
end else
ErrorMessage = 'Clean record not found.'
end
If ErrorMessage NE '' then
Error_Services('Add', ErrorMessage)
end
end service
Service ValidateCleanRecord(CleanRecId)
//ErrorMessage = ''
CleanRecValid = False$
* If CleanRecId NE '' then
* If RowExists('CLEAN', CleanRecId) then
* CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$)
* SpecTool = CleanRec<CLEAN_TOOL$>
* ToolUsed = CleanRec<CLEAN_RECIPE$>
* If ToolUsed EQ SpecTool AND ToolUsed NE '' then
* SpecRecipe = CleanRec<CLEAN_SPEC_RECIPE$>
* RecipeUsed = CleanRec<CLEAN_RECIPE$>
* If RecipeUsed EQ SpecRecipe AND RecipeUsed NE '' then
* CleanRecValid = True$
* end
* end
* end else
* ErrorMessage = 'Clean record not found in CLEAN database.'
* end
* end else
* ErrorMessage = 'Clean ID was null.'
* end
*
* If ErrorMessage EQ '' then
* Response = CleanRecValid
* end else
* // Todo: Add logging
* ErrorMessage = 'Error validating clean record: ' : ErrorMessage
* Error_Services('Add', ErrorMessage)
* end
Response = CleanRecValid
End Service
Service GetCleanToolOptions(CleanRecId)
If RowExists('CLEAN', CleanRecId) then
CleanTools = Database_Services('ReadDataColumn', 'CLEAN', CleanRecId, CLEAN_SPEC_CLEAN_TOOL$, True$, 0, False$)
end else
CleanTools = Tool_Services('GetTools', 'AKRION')
end
Response = CleanTools
end service
Service GetCleanRecipeOptions(CleanRecId)
If RowExists('CLEAN', CleanRecId) then
Recipes = Database_Services('ReadDataColumn', 'CLEAN', CleanRecId, CLEAN_SPEC_CLEAN_RECIPE$, True$, 0, False$)
end else
//Todo: Make this smarter, so as to block out pre-epi recipes
Recipes = XLATE('TOOL_CLASS','AKRION',TOOL_CLASS_RECIPES$,'X')
end
Response = Recipes
end service

View File

@ -6,17 +6,22 @@ COMPILE FUNCTION Comm_Dialog_Cass_Met_Export(Method, Parm1)
10/28/2005 - John C. Henry, J.C. Henry & Co., Inc.
*/
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Btree.Extract, Msg, Send_Info
$INSERT LOGICAL
$INSERT WM_OUT_EQUATES
$INSERT PS_EQUATES
$INSERT POPUP_EQUATES
$INSERT MSG_EQUATES
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg, Btree.Extract, Msg, Send_Info
DECLARE SUBROUTINE obj_Appwindow, Start_Window
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, Collect.IXVals, Msg
DECLARE FUNCTION SRP_Array
EQU CRLF$ TO \0D0A\
EQU COL$CUST_NO TO 1 ;* Customer edit table column equates
EQU COL$CUST_NAME TO 2
EQU LTGREY$ TO 229 + (229*256) + (229*65536) ;* JCH standard colors for edittable backgrounds
EQU GREY$ TO 192 + (192*256) + (192*65536)
EQU GREEN$ TO 192 + (220*256) + (192*65536)
@ -30,11 +35,6 @@ EQU PURPLE$ TO 225 + (181*256) + (255*65536)
EQU DTS_MULTIROW$ TO 512
EQU DTS_LARGEDATA$ TO 4096
$INSERT WM_OUT_EQUATES
$INSERT PS_EQUATES
$INSERT POPUP_EQUATES
$INSERT MSG_EQUATES
ErrTitle = 'Error in Comm_Dialog_Order_Find'
ErrorMsg = ''
@ -66,11 +66,8 @@ RETURN Result
Create:
* * * * * * *
obj_AppWindow('Create')
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
GOSUB Refresh
RETURN
@ -81,8 +78,7 @@ Refresh:
* * * * * * *
* Turn edit table symbolic column backgrounds to green
stat = Send_Message(@WINDOW:'.CUST_INFO','COLOR_BY_POS',COL$CUST_NAME,0,GREEN$) ;* Turn names column all rows green
stat = Send_Message(@WINDOW:'.CUST_INFO','COLOR_BY_POS',COL$CUST_NAME,0,GREEN$)
RETURN
@ -92,19 +88,13 @@ CustChar:
* * * * * * *
CtrlName = @WINDOW:'.CUST_INFO'
CustArray = Get_Property(CtrlName,'ARRAY') ;* Customer Information table
CurrPos = Get_Property(CtrlName,'SELPOS')
CurrRow = CurrPos<2>
DataIn = CustArray<COL$CUST_NO,CurrRow>
IF LEN(DataIn) > 2 THEN
ReturnToCtrl = CtrlName
ReturnToPos = CurrPos
IF NOT(NUM(DataIn)) THEN
Set_Property(CtrlName,'CELLPOS','',CurrPos) ;* Clear characters input
Start_Window('COMP_LOOKUP',@WINDOW,DataIn:@VM:'C':@FM:ReturnToCtrl:@FM:ReturnToPos,'','')
@ -119,13 +109,10 @@ CustPC:
* * * * * * *
CtrlName = @WINDOW:'.CUST_INFO'
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
CurrPos = Get_Property(CtrlName,'SELPOS')
CurrCol = CurrPos<1>
CurrRow = CurrPos<2>
CustNo = CustList<CurrRow,COL$CUST_NO>
IF CustNo NE '' THEN
Set_Property(CtrlName,'CELLPOS',XLATE('COMPANY',CustNo,4,'X'),COL$CUST_NAME:@FM:CurrRow)
@ -139,13 +126,10 @@ CustDC:
* * * * * * *
CtrlName = @WINDOW:'.CUST_INFO'
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
CurrPos = Get_Property(CtrlName,'SELPOS')
CurrCol = CurrPos<1>
CurrRow = CurrPos<2>
CustNo = CustList<CurrRow,COL$CUST_NO>
LineCnt = COUNT(CustList,@FM) + (CustList NE '')
IF CustNo = '' THEN
@ -156,7 +140,6 @@ IF CustNo = '' THEN
stat = Send_Message(CtrlName,'INSERT',-1,@VM:@FM) ; * Add blank lines
NEXT I
END
FOR I = CurrRow TO CurrRow + CustCnt
CustNo = CustNos<1,I>
CustName = XLATE('COMPANY',CustNo,4,'X')
@ -164,10 +147,10 @@ IF CustNo = '' THEN
Set_Property(CtrlName,'CELLPOS',CustName,COL$CUST_NAME:@FM:I)
Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1)
NEXT I
END ELSE
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
END
RETURN
@ -176,78 +159,51 @@ SubPNDC:
* * * * * * *
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
CustNos = CustArray<COL$CUST_NO>
LOOP
LastCustNo = CustNos[-1,'B':@VM]
UNTIL LastCustNo NE '' OR CustNos = ''
CustNos[COL1(),99] = '' ;* Trim trailing blanks
CustNos[COL1(),99] = ''
REPEAT
IF CustNos = '' THEN RETURN
* display the processing message and do the processing
Def = ""
Def<MTEXT$> = "Selecting Substrate Part Numbers..."
Def<MTYPE$> = "U"
MsgUp = Msg(@window, Def)
IF CustNos NE '' then
OPEN 'DICT.WO_LOG' TO DictVar THEN
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
SearchString := 'SUB_PART_NO':@VM:'#':@FM
SearchString := 'ORD_SUB_PART_NO':@VM:'#':@FM
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
IF Get_Status(errCode) THEN
Msg(@WINDOW,MsgUp)
ErrMsg(errCode)
RETURN
END
IF WOKeys NE '' THEN
RawPartNos = XLATE('WO_LOG',WOKeys,'SUB_PART_NO','X') ;* Calculated field
IF Get_Status(errCode) THEN DEBUG
IF Not(Get_Status(errCode)) THEN
PartNos = ''
IF WOKeys NE '' THEN
RawPartNos = XLATE('WO_LOG',WOKeys,'ORD_SUB_PART_NO','X')
IF Get_Status(errCode) THEN ErrMsg(errCode)
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
RawPartNo = RawPartNos<1,I>
LOCATE RawPartNo IN PartNos BY 'AL' USING @VM SETTING Pos ELSE
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
END
NEXT I
END ELSE
PartNos = ''
END
Msg(@WINDOW,MsgUp)
IF PartNos = '' THEN
ErrMsg('No Substrate Part Numbers on file for specified customer.')
RETURN
END
IF PartNos NE '' THEN
PartNos := @VM
CONVERT @VM TO @RM IN PartNos
CALL V119('S','','D','R',PartNos,'')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
CONVERT @RM TO @VM IN PartNos
PartNos[-1,1] = '' ;* Strip trailing delimiter
PartNos[-1,1] = ''
TypeOver = ''
TypeOver<PDISPLAY$> = PartNos
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
IF Get_Status(errCode) THEN DEBUG
IF PartNos NE '' THEN
Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos)
END
END ELSE
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
END
PartNos = Popup(@WINDow,TypeOver,'CUST_PO')
IF Get_Status(errCode) THEN ErrMsg(errCode)
IF PartNos NE '' THEN Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos)
END else
ErrMsg('No Substrate Part Numbers on file for specified customer.')
end
end else
ErrMsg(errCode)
end
end else
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_CASS_MET_EXPORT.')
end
end
RETURN
@ -256,172 +212,144 @@ RETURN
LotNoDC:
* * * * * * *
LotNos = ''
WOKeys = ''
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
LOOP
LastCustNo = CustNos[-1,'B':@VM]
UNTIL LastCustNo NE '' OR CustNos = ''
CustNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
IF CustNos = '' THEN RETURN
* display the processing message and do the processing
Def = ""
Def<MTEXT$> = "Selecting Lot Numbers..."
Def<MTYPE$> = "U"
MsgUp = Msg(@window, Def)
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
IF CustNos NE '' then
OPEN 'DICT.WO_LOG' TO DictVar THEN
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
SearchString := 'LOT_NO':@VM:'#':@FM
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
IF Get_Status(errCode) THEN
Msg(@WINDOW,MsgUp)
IF Not(Get_Status(errCode)) THEN
Query = 'LOT_NO':@VM:'#':@FM
dWoMat = ''
WOMatWONos = ''
Open 'DICT.WO_MAT' to dWoMat then
Flag = ''
WOMatKeys = ''
Btree.Extract(Query, 'WO_MAT', dWoMat, WOMatKeys, 'E', Flag)
If Not(Get_status(errCode)) then
If WOMatKeys NE '' then
WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*')
WOMatWONos = Delete(WOMatWONos, 0, 2, 0)
Convert '*' to @VM in WOMatWONos
WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM)
WOKeys = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM)
end
end else
ErrMsg('Error querying LOT_NO field of the WO_MAT table.')
end
end else
ErrMsg('Error opening DICT.WO_MAT table in order to query on LOT_NO field')
end
end else
ErrMsg(errCode)
RETURN
END
end
IF WOKeys NE '' THEN
RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X') ;* Calculated field
IF Get_Status(errCode) THEN DEBUG
LotNos = ''
RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X')
IF Get_Status(errCode) THEN ErrMsg(errCode)
FOR I = 1 TO COUNT(RawLotNos,@VM) + (RawLotNos NE '')
RawLotNo = RawLotNos<1,I>
LOCATE RawLotNo IN LotNos BY 'AL' USING @VM SETTING Pos ELSE
LotNos = INSERT(LotNos,1,Pos,0,RawLotNo)
END
NEXT I
END ELSE
LotNos = ''
END
Msg(@WINDOW,MsgUp)
IF LotNos = '' THEN
ErrMsg('No Lot Numbers on file for specified customer.')
RETURN
END
IF LotNos NE '' THEN
LotNos := @VM
CONVERT @VM TO @RM IN LotNos
CALL V119('S','','D','R',LotNos,'')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
CONVERT @RM TO @VM IN LotNos
LotNos[-1,1] = '' ;* Strip trailing delimiter
LotNos[-1,1] = ''
TypeOver = ''
TypeOver<PDISPLAY$> = LotNos
LotNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
IF Get_Status(errCode) THEN DEBUG
IF LotNos NE '' THEN
Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos)
END
LotNos = Popup(@WINDow,TypeOver,'CUST_PO')
IF Get_Status(errCode) THEN ErrMsg(errCode)
IF LotNos NE '' THEN Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos)
END else
ErrMsg('No Lot Numbers on file for specified customer.')
end
END ELSE
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_CASS_MET_EXPORT.')
END
end
RETURN
* * * * * * *
PSNoDC:
* * * * * * *
WOKeys = ''
PSNs = ''
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
CustNos = CustArray<COL$CUST_NO>
LOOP
LastCustNo = CustNos[-1,'B':@VM]
UNTIL LastCustNo NE '' OR CustNos = ''
CustNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
IF CustNos = '' THEN RETURN
* display the processing message and do the processing
Def = ""
Def<MTEXT$> = "Selecting Product Specifications..."
Def<MTYPE$> = "U"
MsgUp = Msg(@window, Def)
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
If CustNos NE '' then
OPEN 'DICT.WO_LOG' TO DictVar THEN
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
SearchString := 'PS_NO':@VM:'#':@FM
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
IF Get_Status(errCode) THEN
Msg(@WINDOW,MsgUp)
IF Not(Get_Status(errCode)) THEN
Query = 'PROD_SPEC_ID':@VM:'#':@FM
dWOStep = ''
WOStepWONos = ''
Open 'DICT.WO_STEP' to dWOStep then
Flag = ''
WOStepKeys = ''
Btree.Extract(Query, 'WO_STEP', dWOStep, WOStepKeys, 'E', Flag)
If Not(Get_Status(ErrCode)) then
If WOStepKeys NE '' then
WOStepWONos = SRP_Array('Rotate', WOStepKeys, @VM, '*')
WOStepWONos = Delete(WOStepWONos, 0, 2, 0)
Convert '*' to @VM in WOStepWONos
WOStepWONos = SRP_Array('Clean', WOStepWONos, 'TrimAndMakeUnique', @VM)
WOKeys = SRP_Array('Join', WOKeys, WOStepWONos, 'OR', @VM)
end
end else
ErrorMsg = 'Error querying PROD_SPEC_ID field in WO_STEP table.'
end
end else
ErrorMsg = 'Error opening DICT.WO_STEP table in order to query on PROD_SPEC_ID field. Error code: ':ErrCode
end
END else
ErrMsg(errCode)
RETURN
END
end
IF WOKeys NE '' THEN
PSNs = ''
FOR N = 1 TO COUNT(WOKeys,@VM) + (WOKeys NE '')
WOKey = WOKeys<1,N>
RawPSNs = XLATE('WO_LOG',WOKey,'PS_NO','X')
FOR I = 1 TO COUNT(RawPSNs,@VM) + (RawPSNs NE '')
RawPSN = RawPSNs<1,I>
LOCATE RawPSN IN PSNs BY 'AL' USING @VM SETTING Pos ELSE
PSNs = INSERT(PSNs,1,Pos,0,RawPSN)
END
NEXT I
NEXT N
END ELSE
PSNs = ''
END
Msg(@WINDOW,MsgUp)
IF PSNs = '' THEN
ErrMsg('No Product Specifications on file for specified customer.')
RETURN
END
IF PSNs NE '' THEN
PSNs := @VM
CONVERT @VM TO @RM IN PSNs
CALL V119('S','','D','R',PSNs,'')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
CONVERT @RM TO @VM IN PSNs
PSNs[-1,1] = '' ;* Strip trailing delimiter
TypeOver = ''
TypeOver<PDISPLAY$> = PSNs
PSNs = Popup(@WINDow,TypeOver,'CUST_PO')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
IF PSNs NE '' THEN
CONVERT @VM TO @FM IN PSNs
Set_Property(@WINDOW:'.PS_NO','LIST',PSNs)
END
END else
ErrMsg('No Product Specifications on file for specified customer.')
end
END ELSE
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
END
end
RETURN
@ -431,28 +359,27 @@ WONoDC:
* * * * * * *
WOKeys = Collect.IXVals('WM_OUT', 'WO_NO')
CONVERT @FM TO @VM IN WOKeys
IF Get_Status(errCode) THEN ErrMsg(ErrCode)
IF Not(Get_Status(errCode)) THEN
IF WOKeys NE '' THEN
TypeOver = ''
TypeOver<PDISPLAY$> = WOKeys
TypeOver<PMODE$> = 'K'
WOKeys = Popup(@WINDOW,TypeOver,'WO_LOG_QUERY')
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
IF Not(Get_Status(errCode)) THEN
IF WOKeys NE '' THEN
CONVERT @VM TO @FM IN WOKeys
Set_Property(@WINDOW:'.WO_NO','LIST',WOKeys)
END
END else
ErrMsg(errCode)
end
END
RETURN
end else
ErrMsg(ErrCode)
end
RETURN
* * * * * * *
@ -460,35 +387,14 @@ CustPNDC:
* * * * * * *
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
CustNos = CustArray<COL$CUST_NO>
LOOP
LastCustNo = CustNos[-1,'B':@VM]
UNTIL LastCustNo NE '' OR CustNos = ''
CustNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
IF CustNos = '' THEN RETURN
* display the processing message and do the processing
Def = ""
Def<MTEXT$> = "Selecting Part Numbers..."
Def<MTYPE$> = "U"
MsgUp = Msg(@window, Def)
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
IF CustNos NE '' then
OPEN 'DICT.WO_LOG' TO DictVar THEN
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
SearchString := 'CUST_PART_NO':@VM:'#':@FM
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
IF Get_Status(errCode) THEN
Msg(@WINDOW,MsgUp)
ErrMsg(errCode)
RETURN
END
IF Not(Get_Status(errCode)) THEN
IF WOKeys NE '' THEN
PartNos = ''
FOR N = 1 TO COUNT(WOKeys,@VM) + (WOKeys NE '')
@ -496,64 +402,49 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
RawPartNos = XLATE('WO_LOG',WOKey,'PART_NO','X')
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
RawPartNo = RawPartNos<1,I>
LOCATE RawPartNo IN PartNos BY 'AL' USING @VM SETTING Pos ELSE
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
END
NEXT I
NEXT N
END ELSE
PartNos = ''
END
Msg(@WINDOW,MsgUp)
IF PartNos = '' THEN
ErrMsg('No Customer Part Numbers on file for specified customer.')
RETURN
END
IF PartNos NE '' THEN
PartNos := @VM
CONVERT @VM TO @RM IN PartNos
CALL V119('S','','D','R',PartNos,'')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
CONVERT @RM TO @VM IN PartNos
PartNos[-1,1] = '' ;* Strip trailing delimiter
PartNos[-1,1] = ''
TypeOver = ''
TypeOver<PDISPLAY$> = PartNos
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;* Needs a popup
IF Get_Status(errCode) THEN DEBUG
IF PartNos NE '' THEN
Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos)
END
PartNos = Popup(@WINDow,TypeOver,'CUST_PO')
IF Get_Status(errCode) THEN ErrMsg(errCode)
IF PartNos NE '' THEN Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos)
END else
ErrMsg('No Customer Part Numbers on file for specified customer.')
end
END else
ErrMsg(errCode)
end
END ELSE
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
END
end
RETURN
* * * * * * *
LUDate:
* * * * * * *
ReturnCtrl = Parm1[1,@RM]
IF ReturnCtrl = '' THEN ReturnCtrl = Get_Property(@WINDOW,'FOCUS')
DateSelected = Dialog_Box('POPUP_YEAR',@WINDOW)
RetVal = OCONV(DateSelected, 'D4/')
IF RetVal NE '' THEN
obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl)
END
IF RetVal NE '' THEN obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl)
RETURN
@ -565,89 +456,36 @@ Cancel:
RETURN
* * * * * * *
PerformQuery:
* * * * * * *
* Customer numbers *
SearchString = 'MAKEUP_BOX':@VM:'0':@VM:'':@FM
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
LOOP
LastVar = CustNos[-1,'B':@VM]
UNTIL LastVar NE '' OR CustNos = ''
CustNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
IF CustNos NE '' THEN SearchString := 'CUST_NO':@VM:CustNos:@FM
* LotNumbers *
LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1>
LOOP
LastVal = LotNos[-1,'B':@VM]
UNTIL LastVal NE '' OR LotNos = ''
LotNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
LotNos = SRP_Array('Clean', LotNos, 'TrimAndMakeUnique', @VM)
IF LotNos NE '' THEN SearchString := 'LOT_NO':@VM:LotNos:@FM
* Cust Part Number *
CustPNs = Get_Property(@WINDOW:'.CUST_PART_NO','ARRAY')<1>
LOOP
LastVal = CustPNs[-1,'B':@VM]
UNTIL LastVal NE '' OR CustPNs = ''
CustPNS[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
CustPNs = SRP_Array('Clean', CustPNs, 'TrimAndMakeUnique', @VM)
IF CustPNs NE '' THEN SearchString := 'CUST_PART_NO':@VM:CustPNs:@FM
* Substrate Part Numbers *
SubPartNos = Get_Property(@WINDOW:'.SUB_PART_NO','ARRAY')<1>
LOOP
LastVal = SubPartNos[-1,'B':@VM]
UNTIL LastVal NE '' OR SubPartNos = ''
SubPartNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
SubPartNos = SRP_Array('Clean', SubPartNos, 'TrimAndMakeUnique', @VM)
IF SubPartNos NE '' THEN SearchString := 'SUB_PART_NO':@VM:SubPartNos:@FM
* PSN Nos *
PS_NOs = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1>
LOOP
LastVal = PS_NOs[-1,'B':@VM]
UNTIL LastVal NE '' OR PS_NOs = ''
PS_NOs[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
PS_NOs = SRP_Array('Clean', PS_NOs, 'TrimAndMakeUnique', @VM)
IF PS_NOs NE '' THEN SearchString := 'SHIP_PSN':@VM:PS_NOs:@FM
* WO Nos *
WO_NOs = Get_Property(@WINDOW:'.WO_NO','ARRAY')<1>
LOOP
LastVal = WO_NOs[-1,'B':@VM]
UNTIL LastVal NE '' OR WO_NOs = ''
WO_NOs[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
WO_NOs = SRP_Array('Clean', WO_NOs, 'TrimAndMakeUnique', @VM)
IF WO_NOs NE '' THEN SearchString := 'WO_NO':@VM:WO_NOs:@FM
* Entry Dates *
StartDt = ICONV(Get_Property(@WINDOW:'.START_DT','TEXT'),'D')
EndDt = ICONV(Get_Property(@WINDOW:'.END_DT','TEXT'),'D')
@ -664,36 +502,21 @@ BEGIN CASE
EndDt += 1
SearchString := 'RDS_FINAL_SIG_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM
CASE 1
CASE Otherwise$
NULL
END CASE
OPEN 'DICT.WO_MAT' TO DictVar THEN
Def = ""
Def<MTEXT$> = "Selecting WO_MAT Recrods..."
Def<MTYPE$> = "U"
* display the processing message and do the processing
MsgUp = Msg(@window, Def)
Btree.Extract(SearchString,'WO_MAT',DictVar,WMOKeys,'',flag)
IF Get_Status(errCode) THEN ErrMsg(errCode)
Msg(@window, MsgUp)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
RETURN
END
IF Not(Get_Status(errCode)) THEN
End_Dialog(@WINDOW,WMOKeys)
end else
ErrMsg(errCode)
end
END ELSE
ErrMsg('Unable to open DICT.WO_MAT in routine COMM_DIALOG_CASS_MET_EXPORT')
END
RETURN

View File

@ -556,8 +556,6 @@ UnloadProduct:
Next CassNo
end
RETURN
@ -639,3 +637,4 @@ SlotOverview:
RETURN

View File

@ -1,24 +1,30 @@
COMPILE FUNCTION Comm_Dialog_WO_Find(Method, Parm1)
/*
Commuter module for Dialog_WO_Find window.
01/14/2005 - John C. Henry, J.C. Henry & Co., Inc.
*/
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Btree.Extract, Msg, Send_Info
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg, Btree.Extract, Msg, Send_Info
DECLARE SUBROUTINE obj_Appwindow, Start_Window
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, Collect.IXVals, Msg
DECLARE FUNCTION SRP_Array
$INSERT LOGICAL
$INSERT PS_EQUATES
$INSERT POPUP_EQUATES
$INSERT MSG_EQUATES
$INSERT WO_LOG_EQUATES
$INSERT WO_STEP_EQUATES
$INSERT WO_MAT_EQUATES
EQU CRLF$ TO \0D0A\
EQU COL$CUST_NO TO 1 ;* Customer edit table column equates
EQU COL$CUST_NAME TO 2
EQU COL$REACT_TYPE TO 1
EQU LTGREY$ TO 229 + (229*256) + (229*65536) ;* JCH standard colors for edittable backgrounds
EQU GREY$ TO 192 + (192*256) + (192*65536)
EQU GREEN$ TO 192 + (220*256) + (192*65536)
@ -32,17 +38,13 @@ EQU PURPLE$ TO 225 + (181*256) + (255*65536)
EQU DTS_MULTIROW$ TO 512
EQU DTS_LARGEDATA$ TO 4096
$INSERT WO_LOG_EQU
$INSERT PS_EQUATES
$INSERT POPUP_EQUATES
$INSERT MSG_EQUATES
ErrTitle = 'Error in Comm_Dialog_Order_Find'
ErrorMsg = ''
Result = ''
BEGIN CASE
CASE Method = 'Create' ; GOSUB Create
CASE Method = 'CustChar' ; GOSUB CustChar
CASE Method = 'CustPC' ; GOSUB CustPC
@ -56,7 +58,7 @@ BEGIN CASE
CASE Method = 'Cancel' ; GOSUB Cancel
CASE Method = 'Refresh' ; GOSUB Refresh
CASE Method = 'PerformQuery' ; GOSUB PerformQuery
CASE 1
CASE Otherwise$
ErrMsg(ErrTitle:@SVM:'Unknown method ':QUOTE(Method):' passed to routine.')
END CASE
@ -68,7 +70,6 @@ RETURN Result
Create:
* * * * * * *
obj_AppWindow('Create')
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
@ -94,19 +95,14 @@ CustChar:
* * * * * * *
CtrlName = @WINDOW:'.CUST_INFO'
CustArray = Get_Property(CtrlName,'ARRAY') ;* Customer Information table
CurrPos = Get_Property(CtrlName,'SELPOS')
CurrRow = CurrPos<2>
DataIn = CustArray<COL$CUST_NO,CurrRow>
IF LEN(DataIn) > 2 THEN
ReturnToCtrl = CtrlName
ReturnToPos = CurrPos
IF NOT(NUM(DataIn)) THEN
Set_Property(CtrlName,'CELLPOS','',CurrPos) ;* Clear characters input
Start_Window('COMP_LOOKUP',@WINDOW,DataIn:@VM:'C':@FM:ReturnToCtrl:@FM:ReturnToPos,'','')
@ -121,13 +117,10 @@ CustPC:
* * * * * * *
CtrlName = @WINDOW:'.CUST_INFO'
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
CurrPos = Get_Property(CtrlName,'SELPOS')
CurrCol = CurrPos<1>
CurrRow = CurrPos<2>
CustNo = CustList<CurrRow,COL$CUST_NO>
IF CustNo NE '' THEN
Set_Property(CtrlName,'CELLPOS',XLATE('COMPANY',CustNo,4,'X'),COL$CUST_NAME:@FM:CurrRow)
@ -141,13 +134,10 @@ CustDC:
* * * * * * *
CtrlName = @WINDOW:'.CUST_INFO'
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
CurrPos = Get_Property(CtrlName,'SELPOS')
CurrCol = CurrPos<1>
CurrRow = CurrPos<2>
CustNo = CustList<CurrRow,COL$CUST_NO>
LineCnt = COUNT(CustList,@FM) + (CustList NE '')
IF CustNo = '' THEN
@ -170,6 +160,7 @@ IF CustNo = '' THEN
END ELSE
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
END
RETURN
@ -178,9 +169,7 @@ SubPNDC:
* * * * * * *
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
CustNos = CustArray<COL$CUST_NO>
LOOP
LastCustNo = CustNos[-1,'B':@VM]
UNTIL LastCustNo NE '' OR CustNos = ''
@ -190,7 +179,6 @@ REPEAT
IF CustNos = '' THEN RETURN
* display the processing message and do the processing
Def = ""
Def<MTEXT$> = "Selecting Substrate Part Numbers..."
Def<MTYPE$> = "U"
@ -209,7 +197,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
IF WOKeys NE '' THEN
RawPartNos = XLATE('WO_LOG',WOKeys,'SUB_PART_NO','X') ;* Calculated field
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
PartNos = ''
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
RawPartNo = RawPartNos<1,I>
@ -232,21 +220,19 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
PartNos := @VM
CONVERT @VM TO @RM IN PartNos
CALL V119('S','','D','R',PartNos,'')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
CONVERT @RM TO @VM IN PartNos
PartNos[-1,1] = '' ;* Strip trailing delimiter
TypeOver = ''
TypeOver<PDISPLAY$> = PartNos
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
IF PartNos NE '' THEN
Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos)
END
END ELSE
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
END
@ -258,7 +244,6 @@ RETURN
LotNoDC:
* * * * * * *
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
LOOP
@ -268,9 +253,7 @@ UNTIL LastCustNo NE '' OR CustNos = ''
REPEAT
IF CustNos = '' THEN RETURN
* display the processing message and do the processing
Def = ""
Def<MTEXT$> = "Selecting Lot Numbers..."
Def<MTYPE$> = "U"
@ -289,7 +272,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
IF WOKeys NE '' THEN
RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X') ;* Calculated field
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
LotNos = ''
FOR I = 1 TO COUNT(RawLotNos,@VM) + (RawLotNos NE '')
RawLotNo = RawLotNos<1,I>
@ -312,37 +295,30 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
LotNos := @VM
CONVERT @VM TO @RM IN LotNos
CALL V119('S','','D','R',LotNos,'')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
CONVERT @RM TO @VM IN LotNos
LotNos[-1,1] = '' ;* Strip trailing delimiter
TypeOver = ''
TypeOver<PDISPLAY$> = LotNos
LotNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
IF LotNos NE '' THEN
Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos)
END
END ELSE
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
END
RETURN
* * * * * * *
PSNoDC:
* * * * * * *
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
CustNos = CustArray<COL$CUST_NO>
@ -356,7 +332,6 @@ REPEAT
IF CustNos = '' THEN RETURN
* display the processing message and do the processing
Def = ""
Def<MTEXT$> = "Selecting Product Specifications..."
Def<MTYPE$> = "U"
@ -405,22 +380,20 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
PSNs := @VM
CONVERT @VM TO @RM IN PSNs
CALL V119('S','','D','R',PSNs,'')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
CONVERT @RM TO @VM IN PSNs
PSNs[-1,1] = '' ;* Strip trailing delimiter
TypeOver = ''
TypeOver<PDISPLAY$> = PSNs
PSNs = Popup(@WINDow,TypeOver,'CUST_PO')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
IF PSNs NE '' THEN
CONVERT @VM TO @FM IN PSNs
Set_Property(@WINDOW:'.PS_NO','LIST',PSNs)
END
END ELSE
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
END
@ -428,19 +401,15 @@ END
RETURN
* * * * * * *
ReactTypeDC:
* * * * * * *
CtrlName = @WINDOW:'.REACT_TYPE'
RTypeList = Get_Property(CtrlName,'LIST') ;* Customer Information table
CurrPos = Get_Property(CtrlName,'SELPOS')
CurrCol = CurrPos<1>
CurrRow = CurrPos<2>
RType = RTypeList<CurrRow,COL$REACT_TYPE>
LineCnt = COUNT(RTypeList,@FM) + (RTypeList NE '')
IF RType = '' THEN
@ -454,26 +423,16 @@ IF RType = '' THEN
FOR I = CurrRow TO CurrRow + rCnt
RType = RTypes<1,I>
*CustName = XLATE('COMPANY',CustNo,4,'X')
Set_Property(CtrlName,'CELLPOS',RType,COL$REACT_TYPE:@FM:I)
*Set_Property(CtrlName,'CELLPOS',CustName,COL$CUST_NAME:@FM:I)
*Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1)
NEXT I
END ELSE
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
END
RETURN
* * * * * * *
CustPNDC:
* * * * * * *
@ -520,7 +479,6 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
END
NEXT I
NEXT N
END ELSE
PartNos = ''
@ -536,7 +494,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
PartNos := @VM
CONVERT @VM TO @RM IN PartNos
CALL V119('S','','D','R',PartNos,'')
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
CONVERT @RM TO @VM IN PartNos
PartNos[-1,1] = '' ;* Strip trailing delimiter
@ -544,7 +502,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
TypeOver = ''
TypeOver<PDISPLAY$> = PartNos
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;* Needs a popup
IF Get_Status(errCode) THEN DEBUG
IF Get_Status(errCode) THEN ErrMsg(errCode)
IF PartNos NE '' THEN
Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos)
@ -557,7 +515,6 @@ END
RETURN
* * * * * * *
LUDate:
* * * * * * *
@ -570,11 +527,8 @@ DateSelected = Dialog_Box('POPUP_YEAR',@WINDOW)
RetVal = OCONV(DateSelected, 'D4/')
obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl)
RETURN
@ -585,92 +539,29 @@ Cancel:
RETURN
* * * * * * *
PerformQuery:
* * * * * * *
* Customer numbers *
SearchString = ''
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
LOOP
LastVar = CustNos[-1,'B':@VM]
UNTIL LastVar NE '' OR CustNos = ''
CustNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
IF CustNos NE '' THEN SearchString := 'CUST_NO':@VM:CustNos:@FM
* LotNumbers *
LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1>
LOOP
LastVal = LotNos[-1,'B':@VM]
UNTIL LastVal NE '' OR LotNos = ''
LotNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
IF LotNos NE '' THEN SearchString := 'LOT_NO':@VM:LotNos:@FM
* Cust Part Number *
CustPNs = Get_Property(@WINDOW:'.CUST_PART_NO','ARRAY')<1>
LOOP
LastVal = CustPNs[-1,'B':@VM]
UNTIL LastVal NE '' OR CustPNs = ''
CustPNS[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
CustPNs = SRP_Array('Clean', CustPNs, 'TrimAndMakeUnique', @VM)
IF CustPNs NE '' THEN SearchString := 'CUST_PART_NO':@VM:CustPNs:@FM
* Substrate Part Numbers *
SubPartNos = Get_Property(@WINDOW:'.SUB_PART_NO','ARRAY')<1>
LOOP
LastVal = SubPartNos[-1,'B':@VM]
UNTIL LastVal NE '' OR SubPartNos = ''
SubPartNos[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
IF SubPartNos NE '' THEN SearchString := 'SUB_PART_NO':@VM:SubPartNos:@FM
* * * * * Reactor Type * * * * *
SubPartNos = SRP_Array('Clean', SubPartNos, 'TrimAndMakeUnique', @VM)
IF SubPartNos NE '' THEN SearchString := 'ORD_SUB_PART_NO':@VM:SubPartNos:@FM
ReactTypes = Get_Property(@WINDOW:'.REACT_TYPE','ARRAY')<COL$REACT_TYPE>
LOOP
LastVal = ReactTypes[-1,'B':@VM]
UNTIL LastVal NE '' OR ReactTypes = ''
ReactTypes[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
ReactTypes = SRP_Array('Clean', ReactTypes, 'TrimAndMakeUnique', @VM)
IF ReactTypes NE '' THEN SearchString := 'REACT_TYPE':@VM:ReactTypes:@FM
* PSN Nos *
PS_NOs = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1>
LOOP
LastVal = PS_NOs[-1,'B':@VM]
UNTIL LastVal NE '' OR PS_NOs = ''
PS_NOs[COL1(),99] = '' ;* Trim trailing blanks
REPEAT
IF PS_NOs NE '' THEN SearchString := 'PS_NO':@VM:PS_NOs:@FM
* Entry Dates *
StartDt = ICONV(Get_Property(@WINDOW:'.START_DT','TEXT'),'D')
EndDt = ICONV(Get_Property(@WINDOW:'.END_DT','TEXT'),'D')
@ -682,38 +573,18 @@ BEGIN CASE
SearchString := 'ENTRY_DATE':@VM:'<=':EndDt:@FM
CASE StartDt NE '' AND EndDt NE ''
* Fudge the dates - '~' is not inclusive of the end dates
// Modify the dates by one day. The '~' operator is not inclusive of the end dates.
StartDt -= 1
EndDt += 1
SearchString := 'ENTRY_DATE':@VM:StartDt:'~':EndDt:@FM
CASE 1
CASE Otherwise$
NULL
END CASE
* RX Dates *
StartDt = ICONV(Get_Property(@WINDOW:'.MTL_RX_START_DT','TEXT'),'D')
EndDt = ICONV(Get_Property(@WINDOW:'.MTL_RX_END_DT','TEXT'),'D')
BEGIN CASE
CASE StartDt NE '' AND EndDt = ''
SearchString := 'RX_DT':@VM:'>=':OConv(StartDt, 'D4/'):@FM
CASE StartDt = '' AND EndDt NE ''
SearchString := 'RX_DT':@VM:'<=':OConv(EndDt, 'D4/'):@FM
CASE StartDt NE '' AND EndDt NE ''
* Fudge the dates - '~' is not inclusive of the end dates
StartDt -= 1
EndDt += 1
SearchString := 'RX_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM
CASE 1
NULL
END CASE
OrdStatus = Get_Property(@WINDOW:'.STATUS','VALUE')
IF OrdStatus NE 'I' THEN
@ -724,31 +595,112 @@ IF OrdStatus NE 'I' THEN
END
END
WONos = ''
If SearchString NE '' then
OPEN 'DICT.WO_LOG' TO DictVar THEN
Def = ""
Def<MTEXT$> = "Selecting Orders..."
Def<MTYPE$> = "U"
* display the processing message and do the processing
MsgUp = Msg(@window, Def)
Btree.Extract(SearchString,'WO_LOG',DictVar,WOKeys,'',flag)
IF Get_Status(errCode) THEN ErrMsg(errCode)
Msg(@window, MsgUp)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
RETURN
END
End_Dialog(@WINDOW,WOKeys)
ErrorMsg = 'Error querying WO_LOG table with supplied fields.'
end
END ELSE
ErrMsg('Unable to open DICT.WO_LOG in routine COMM_DIALOG_WO_LOG_FIND')
END
end
LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1>
LotNos = SRP_Array('Clean', LotNos, 'TrimAndMakeUnique', @VM)
If LotNos NE '' then
Query = 'LOT_NO':@VM:LotNos:@FM
dWoMat = ''
WOMatWONos = ''
Open 'DICT.WO_MAT' to dWoMat then
Flag = ''
WOMatKeys = ''
Btree.Extract(Query, 'WO_MAT', dWoMat, WOMatKeys, 'E', Flag)
If Not(Get_status(errCode)) then
If WOMatKeys NE '' then
WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*')
WOMatWONos = Delete(WOMatWONos, 0, 2, 0)
Convert '*' to @VM in WOMatWONos
WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM)
WOKeys = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM)
end
end else
ErrorMsg = 'Error querying LOT_NO field of the WO_MAT table.'
end
end else
ErrorMsg = 'Error opening DICT.WO_MAT table in order to query on LOT_NO field'
end
end
PSNos = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1>
PSNos = SRP_Array('Clean', PSNos, 'TrimAndMakeUnique', @VM)
If PSNos NE '' then
Query = 'PROD_SPEC_ID':@VM:PSNos:@FM
dWOStep = ''
WOStepWONos = ''
Open 'DICT.WO_STEP' to dWOStep then
Flag = ''
WOStepKeys = ''
Btree.Extract(Query, 'WO_STEP', dWOStep, WOStepKeys, 'E', Flag)
If Not(Get_Status(ErrCode)) then
If WOStepKeys NE '' then
WOStepWONos = SRP_Array('Rotate', WOStepKeys, @VM, '*')
WOStepWONos = Delete(WOStepWONos, 0, 2, 0)
Convert '*' to @VM in WOStepWONos
WOStepWONos = SRP_Array('Clean', WOStepWONos, 'TrimAndMakeUnique', @VM)
WOKeys = SRP_Array('Join', WOKeys, WOStepWONos, 'OR', @VM)
end
end else
ErrorMsg = 'Error querying PROD_SPEC_ID field in WO_STEP table.'
end
end else
ErrorMsg = 'Error opening DICT.WO_STEP table in order to query on PROD_SPEC_ID field. Error code: ':ErrCode
end
end
If ( (StartDt NE '') or (EndDt NE '') ) then
Begin Case
Case ( (StartDt NE '') and (EndDt EQ '') )
Query = 'RX_DT':@VM:'>=':OConv(StartDt, 'D4/'):@FM
Case ( (StartDt EQ '') and (EndDt NE '') )
Query = 'RX_DT':@VM:'<=':OConv(EndDt, 'D4/'):@FM
Case ( (StartDt NE '') and (EndDt NE '') )
// Modify the dates by one day. The '~' operator is not inclusive of the end dates.
StartDt -= 1
EndDt += 1
Query = 'RX_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM
End case
dWOMat = ''
WOMatWONos = ''
Open 'DICT.WO_MAT' to dWOMat then
Flag = ''
WOMatKeys = ''
Btree.Extract(Query, 'WO_MAT', dWOMat, WOMatKeys, 'E', Flag)
If Not(Get_Status(ErrCode)) then
If WOMatKeys NE '' then
WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*')
WOMatWONos = Delete(WOMatWONos, 0, 2, 0)
Convert '*' to @VM in WOMatWONos
WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM)
WOKeys = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM)
end
end else
ErrorMsg = 'Error querying on RX_DT field in WO_MAT table.'
end
end else
ErrorMsg = 'Error opening DICT.WO_MAT table in order to query on RX_DT field.'
end
end
If ErrorMsg EQ '' then
WOKeys = SRP_Array('SortSimpleList', WOKeys, 'DescendingNumbers', @VM)
End_Dialog(@WINDOW,WOKeys)
end else
Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg)
end
RETURN

View File

@ -10,11 +10,12 @@ COMPILE FUNCTION Comm_Dialog_WO_Scan(Method, Parm1)
DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status, ErrMsg, Extract_SI_Keys, Logging_Services
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Msg, Btree.Extract, Error_Services
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Send_Message, Set_FSError, Environment_Services
DECLARE FUNCTION obj_Vendor_Code, Msg, Error_Services, Logging_Services
DECLARE FUNCTION obj_Vendor_Code, Msg, Error_Services, Logging_Services, Error_Services, Service_Services
$INSERT LOGICAL
$INSERT MSG_EQUATES
$INSERT APPCOLORS
$INSERT IFX_EQUATES
EQU CRLF$ TO \0D0A\
@ -31,6 +32,8 @@ EQU CA$SUB_PART_NO TO 5
EQU CA$SCANNED_LOT_QTY TO 6
EQU CA$VERIFY_PART_NO TO 7
EQU CA$SUB_SUPP_BY TO 8
EQU CA$WO_NO TO 9
EQU CA$REC_DTM TO 10
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\Receiving'
LogDate = Oconv(Date(), 'D4/')
@ -48,7 +51,6 @@ Result = ''
BEGIN CASE
CASE Method = 'Create' ; GOSUB Create
CASE Method = 'OK' ; GOSUB OK
CASE Method = 'Cancel' ; GOSUB Cancel
CASE Method = 'FieldClick' ; GOSUB FieldClick
CASE Method = 'LQP' ; GOSUB LQP
CASE 1
@ -109,11 +111,15 @@ RETURN
Close:
* * * * * * *
* * * * * * *
Cancel:
* * * * * * *
ProcIds = Get_Property(@Window, '@PROC_IDS')
End_Dialog(@WINDOW,'Cancel')
If ProcIds NE '' then
Response = ProcIds
end else
Response = 'Cancel'
end
End_Dialog(@WINDOW,Response)
RETURN
@ -137,6 +143,7 @@ END
RETURN
* * * * * * *
LQP:
* * * * * * *
@ -356,7 +363,23 @@ If Error_Services('NoError') then
IF VendCode NE ExpectedCode AND ExpectedCode NE '' THEN
void = Msg(@WINDOW,'','EXPECTED_VENDOR_CODE','',ExpectedCode:@FM:VendCode)
Set_Property(CtrlEntID, 'FOCUS', True$)
END
end
ProcIds = Get_Property(@Window, '@PROC_IDS')
ListData = Get_Property(CtrlEntId, 'LIST')
WONo = CheckArray<CA$WO_NO - 1>
RecDtm = CheckArray<CA$REC_DTM - 1>
ScanLotNo = ListData<PrevRow, 1>
ScanQty = ListData<PrevRow, 2>
ScanSubPartNo = ListData<PrevRow, 3>
ScanVendor = ListData<PrevRow, 4>
ProcIds<-1> = Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'ReceiveReleaseCassette':SD$:WONo:SD$:@User4:SD$:ScanLotNo:SD$:ScanQty:SD$:ScanSubPartNo:SD$:ScanVendor:SD$:RecDtm)
If Error_Services('NoError') then
Set_Property(@Window, '@PROC_IDS', ProcIds)
end else
ErrorMsg = Error_Services('GetMessage')
Msg(@Window, '', 'OK', '', 'Process Error':@FM:'Error submitting scan data to server for processing')
end
ListArray = Get_Property(CtrlEntId,'ARRAY')
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
@ -546,8 +569,15 @@ LogData<2> = @User4
LogData<3> = ScanResult
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
End_Dialog(@WINDOW,Result)
ProcIds = Get_Property(@Window, '@PROC_IDS')
If ProcIds NE '' then
Response = ProcIds
end else
Response = 'Cancel'
end
End_Dialog(@WINDOW,Response)
RETURN

View File

@ -858,3 +858,4 @@ Result = ReturnData
RETURN

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ COMPILE FUNCTION Comm_WO_Mat(Instruction, Parm1,Parm2)
10/18/2006 - John C. Henry, J.C. Henry & Co., Inc.
*/
DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindow, Send_Message
DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindow, Send_Message, Wo_Mat_Services
DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, Start_Window
DECLARE SUBROUTINE EditCell, obj_NCR, obj_Notes, obj_WO_Mat, obj_Tables, SAP_Services, Hold_Services
@ -627,6 +627,7 @@ MakeUpClick:
LotId = Xlate('WO_MAT', WOMatKey, 'WMO_KEY', 'X')
end else
LotId = Xlate('WO_MAT', WOMatKey, 'RDS_NO', 'X')
RDSNo = LotID
end
If LotId NE '' then
@ -636,12 +637,22 @@ MakeUpClick:
Parms<3> = 'MU' ; // Wafer counter tool location
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
If Proceed EQ True$ then
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
If EpiPro EQ False$ then
IF Get_Status(errCode) THEN
ErrMsg('Unable to set makeup flag until Unload stage is signed.')
InvalidRequest = True$
END else
Set_Property(@WINDOW,'SAVEWARN', False$)
Send_Event(@WINDOW,'CLEAR')
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
If (CheckValue EQ True$) then
Wo_Mat_Services('MakeupFlagOn', RDSNo)
end
end
end else
Set_Property(@WINDOW,'SAVEWARN', False$)
Send_Event(@WINDOW,'CLEAR')
end
end else
InvalidRequest = True$
end

View File

@ -17,11 +17,11 @@ DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindo
DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, Start_Window
DECLARE SUBROUTINE EditCell, obj_NCR, obj_Notes, Post_Event, obj_WO_Mat, obj_WO_Mat_Log, obj_WO_Wfr, obj_Tables
DECLARE SUBROUTINE SRP_Stopwatch, Update_Index, Database_Services, obj_RDS, Create_Dialog, Dialog_Box
DECLARE SUBROUTINE Sleepery
DECLARE SUBROUTINE Sleepery, Wo_Mat_Services
DECLARE FUNCTION Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists
DECLARE FUNCTION Dialog_Box, obj_WO_Log, obj_NCR, Check_Notes, obj_MUWafers, obj_WO_Mat, Signature_Services
DECLARE FUNCTION MemberOf, obj_Tables, obj_RDS, Environment_Services, Logging_Services, Material_Services
DECLARE FUNCTION Database_Services, RetStack, Datetime, Error_Services
DECLARE FUNCTION Database_Services, RetStack, Datetime, Error_Services, Rds_Services
$INSERT POPUP_EQUATES
$INSERT LOGICAL
@ -434,7 +434,7 @@ RejMat:
WfrID = SlotList<SelectedRows<I>, COL$WAFER_ID>
PrevNCR = SlotList<SelectedRows<I>, COL$SLOT_NCR>
MUWfrID = SlotList<SelectedRows<I>, COL$MU_WAFER_ID>
If ( (MetNo NE '') or (WfrID EQ '') or (PrevNCR NE '' and MUWfrID EQ '') ) then
If (WfrId EQ '') then
AllSlotsPermitted = False$
IneligibleSlots<0, -1> = SlotNo
end
@ -830,9 +830,19 @@ AddMakeup:
FieldNo = WO_MAT_MAKEUP_BOX$
CheckValue = 1
EpiCheck = Rds_Services('IsEpiPro', RDSNo)
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
If EpiCheck EQ False$ then
IF Get_Status(errCode) THEN
ErrMsg('Unable to set makeup flag until Unload stage is signed.')
Return
END else
Wo_Mat_Services('MakeupFlagOn', RDSNo)
end
end
SlotWaferIDs = Xlate('WO_MAT', WOMatKey, 'SLOT_WAFER_ID', 'X')
Convert @VM to '' in SlotWaferIDs
@ -1057,6 +1067,7 @@ MakeUpLot:
If Not(InvalidRequest) then
RDSNo = Get_Property(@Window:'.RDS_NO', 'TEXT')
EpiCheck = Rds_Services('IsEpiPro', RDSNo)
If RDSNo NE '' then
Parms = ''
Parms<1> = RDSNo ; // Cassette to verify wafer count of.
@ -1064,12 +1075,22 @@ MakeUpLot:
Parms<3> = 'MU' ; // Wafer counter tool location
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
If Proceed EQ True$ then
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
If EpiCheck EQ False$ then
IF Get_Status(errCode) THEN
ErrMsg('Unable to set makeup flag until Unload stage is signed.')
InvalidRequest = True$
END else
Set_Property(@WINDOW,'SAVEWARN', False$)
Send_Event(@WINDOW,'CLEAR')
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
If (CheckValue EQ True$) then
Wo_Mat_Services('MakeupFlagOn', RDSNo)
end
end
end else
Set_Property(@WINDOW,'SAVEWARN', False$)
Send_Event(@WINDOW,'CLEAR')
end
end else
InvalidRequest = True$
end
@ -1212,5 +1233,3 @@ LogRecord:
return

View File

@ -8,10 +8,11 @@ COMPILE FUNCTION Comm_WO_Rec(Instruction, Parm1,Parm2)
DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindow, obj_Notes, Print_RX_Voucher, obj_Tables
DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, obj_WO_Log, obj_WO_Mat
DECLARE SUBROUTINE Logging_Services, Post_Event, Work_Order_Services
DECLARE SUBROUTINE Logging_Services, Post_Event, Work_Order_Services, Error_Services, Database_Services, Service_Services
DECLARE FUNCTION Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists, obj_Prod_Spec
DECLARE FUNCTION obj_Schedule, Dialog_Box, obj_WO_Log, obj_Order_Det, FindWindow,ShowWindow, obj_Tables, obj_WO_Mat, MemberOf
DECLARE FUNCTION Logging_Services, Environment_Services
DECLARE FUNCTION Logging_Services, Environment_Services, Work_Order_Services, Error_Services, Service_Services
DECLARE FUNCTION SRP_Array, GetTickCount, Datetime, Wo_Mat_Services
$INSERT POPUP_EQUATES
$INSERT LOGICAL
@ -32,7 +33,8 @@ $INSERT NOTIFICATION_EQU
$INSERT PROD_VER_EQUATES
$INSERT EPI_PART_EQUATES
$INSERT CUST_EPI_PART_EQUATES
$Insert IFX_EQUATES
$Insert PROC_QUEUE2_EQUATES
EQU CRLF$ TO \0D0A\
@ -64,6 +66,8 @@ EQU CA$SUB_PART_NO TO 5
EQU CA$SCANNED_LOT_QTY TO 6
EQU CA$VERIFY_PART_NO TO 7
EQU CA$SUB_SUPP_BY TO 8
EQU CA$WO_NO TO 9
EQU CA$REC_DTM TO 10
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
LogDate = Oconv(Date(), 'D4/')
@ -115,6 +119,10 @@ IF NOT(Security_Check('WO Log',READ$)) THEN
RETURN
END
IOOptions = Get_Property(@Window, 'IOOPTIONS')
IOOptions<2> = 2 ; // Database bound form - Do not lock the record
Set_Property(@Window, 'IOOPTIONS', IOOptions)
obj_Appwindow('Create',@WINDOW)
GOSUB Refresh
@ -165,7 +173,29 @@ IF RxBy = '' THEN
Set_Property(@WINDOW:'.RX_DTM','TEXT',CurrDTM)
END
Def = ""
Def<MTEXT$> = "Loading cassette data..."
Def<MTYPE$> = "U"
MsgUp = Msg(@window, Def)
Columns = 'CASS_NO':@VM:'LOT_NO':@VM:'WAFER_QTY':@VM:'CUST_PART_NO':@VM:'SUB_PART_NO':@VM:'SUB_VEND_CD':@VM:'RX_DTM':@VM:'RX_BY':@VM:'ORDER_ITEM'
WOMatKeys = Wo_Mat_Services('GetWOMatKeys', WONo)
If Error_Services('NoError') then
If (WOMatKeys NE '') then
CassData = WO_Mat_Services('GetWOMatData', WOMatKeys, Columns)
If Error_Services('NoError') then
Set_Property(@Window:'.CASS_NO', 'ARRAY', CassData)
Msg(@window, MsgUp)
end else
Msg(@window, MsgUp)
Msg(@Window, '', 'OK', '', 'Process Error':@FM:Error_Services('GetMessage'))
end
end else
Msg(@window, MsgUp)
end
end else
Msg(@window, MsgUp)
Msg(@Window, '', 'OK', '', 'Process Error':@FM:Error_Services('GetMessage'))
end
GOSUB Refresh
@ -296,7 +326,6 @@ FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
END
NEXT I
RETURN
@ -312,7 +341,7 @@ MsgUp = Msg(@WINDOW,'','SELECT_OPEN_WO')
WOKeys = ''
SelectStatement = 'CURR_STATUS':@VM:'ASN':@VM:'AWM':@VM:'RTP':@FM
SelectStatement = 'CURR_STATUS_STATIC':@VM:'ASN':@VM:'AWM':@VM:'RTP':@FM
Btree.Extract(SelectStatement,'WO_LOG',DictWOLogTable,WOKeys,'','')
@ -336,8 +365,6 @@ END
RETURN
* * * * * * *
LUWONo:
* * * * * * *
@ -384,22 +411,17 @@ obj_Appwindow('LoadFormKeys',@WINDOW:@RM:WONo)
Set_Property('SYSTEM','FOCUS','VSPRINTER')
RETURN
* * * * * * *
Scan:
* * * * * * *
WONo = Get_Property(@WINDOW:'.WO_NO','TEXT')
CtrlEntID = @WINDOW:'.CASS_NO'
CassList = Get_Property(CtrlEntID,'LIST')
CassArray = Get_Property(CtrlEntID,'DEFPROP')
CassListCnt = COUNT(CassList,@FM)
CassPointer = 1
@ -414,25 +436,18 @@ UNTIL CassList<CassPointer> = ''
REPEAT
ExistCassCnt = COUNT(CassList,@FM) + (CassList NE '')
WORec = XLATE('WO_LOG',WONo,'','X')
WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$> ;* List of WO_MAT Keys associated with this WO_LOG Record * * * * * * *
OpenQty = ICONV(Get_Property(@WINDOW:'.OPEN_QTY','DEFPROP'),'MD0') ;* Scan button is disabled if there isn't anything to receive
EPIPartNo = WORec<WO_LOG_EPI_PART_NO$>
EPIPartRec = XLATE('EPI_PART',EpiPartNo,'','X')
SubSuppBy = EPIPartRec<EPI_PART_SUB_SUPP_BY$> ;* L - EpiSvcs supplied, C - Customer Supplied
SAPMaterial = EPIPartRec<EPI_PART_SAP_MATERIAL$> ;* 0 =
OrderNo = Get_Property(@WINDOW:'.ORDER_NO','TEXT')
IF OrderNo = '' THEN
ProdVerNo = WORec<WO_LOG_PROD_VER_NO$>
ProdVerRec = XLATE('PROD_VER',ProdVerNo,'','X')
SubPartNo = ProdVerRec<PROD_VER_SUB_PART_NO$>
ProdVerStepPSNs = ProdVerRec<PROD_VER_PROC_STEP_PSN$> ;* Added 6/24/2016 JCH - GaN receipt
@ -440,7 +455,6 @@ IF OrderNo = '' THEN
Vendor = WORec<WO_LOG_EXP_VEND_CD$> ;* Added 4/14/2014
IF LEN(Vendor) NE 2 THEN Vendor = ''
IF SubSuppBy = 'L' THEN
VendorDef = Vendor
END ELSE
@ -477,7 +491,6 @@ END ELSE
OrderDetailList = DELETE(OrderDetailList,I,0,0) ;* Strip blank lines from control data
NEXT I
CheckArray = ''
CALine = 1
FOR I = 1 TO COUNT(OrderDetailList,@FM) + (OrderDetailList NE '')
@ -530,12 +543,9 @@ END ELSE
NEXT I
FOR I = 1 TO COUNT(CassList,@FM) + (CassList NE '')
CassLotNo = CassList<I,COL$CASS_LOT_NO>
CassQty = CassList<I,COL$CASS_QTY>
LOCATE CassLotNo IN CheckArray<CA$LOT_NO> USING @VM SETTING Pos THEN
CheckArray<CA$LOT_QTY,Pos> = CheckArray<CA$LOT_QTY,Pos> - CassQty ;* Back out lot qtys already scanned
END
@ -545,291 +555,110 @@ END ELSE
END ;* End of check for Order Number present ***********************************
ScanResults = Dialog_Box('DIALOG_WO_SCAN', @WINDOW, CheckArray) ;* Returns a line for each cassette scanned, checked, filled in or override data
IF ScanResults = 'Cancel' THEN RETURN
NewCassetteCnt = 0
CheckArray<CA$WO_NO> = WONo
CheckArray<CA$REC_DTM> = Datetime()
ProcIds = Dialog_Box('DIALOG_WO_SCAN', @WINDOW, CheckArray)
WOMatCreateStartTime = Time()
* * * * * * New 3/9/2011 * * * * * *
ProdOrderNo = WORec<WO_LOG_PROD_ORD_NO$>
Done = False$
IF ( (ProcIds NE 'Cancel') and (ProcIds NE '') ) THEN
ProdVerNo = WORec<WO_LOG_PROD_VER_NO$>
CustNo = WORec<WO_LOG_CUST_NO$>
ProdVerRec = XLATE('PROD_VER',ProdVerNo,'','X')
ProcStepPSNs = ProdVerRec<PROD_VER_PROC_STEP_PSN$>
ReactType = ProdVerRec<PROD_VER_REACT_TYPE$> ;* This is in 3 letter code version
SpecType = XLATE('PROD_SPEC',ProcStepPSNs[-1,'B':@VM],'SPEC_TYPE','X') ;* Shipping PSN Spec Type
CustEpiPartRec = XLATE('CUST_EPI_PART',CustNo:'*':EpiPartNo,'','X') ;* Added 7/31/2012 JCH
MUWaferFlag = CustEpiPartRec<CUST_EPI_PART_MAKEUP_WAFERS$> ;* Added 7/31/2012 JCH
RetRejects = CustEpiPartRec<CUST_EPI_PART_RET_REJECTS$> ;* Added 7/31/2012 JCH
IF SpecType = 'Q' THEN
CassShipQty = '' ;* If Spec is in Qual Mode then no Quantity is used
END ELSE
CassShipQty = CustEpiPartRec<CUST_EPI_PART_CASS_SHIP_QTY$>
END
MinCassShipQty = CustEpiPartRec<CUST_EPI_PART_MIN_CASS_SHIP_QTY$>
ShipShort = CustEpiPartRec<CUST_EPI_PART_EPI_PRO_SHIP_SHORT$> ;* Added 7/31/2012 JCH
Reprocessed = '' ;* Added 12/16/2009 JCH to match parms passed to obj_WO_Mat('Create
RelStamps = Get_Property(@WINDOW:'.REL_STAMP','ARRAY')
Released = ''
IF RelStamps[-1,'B*'] = '' THEN Released = 0 ELSE Released = 1
IF ReactType = 'GAN' THEN GOTO RecGaN ;* * * * * * * * * * *
IF ExistCassCnt >= 1 THEN
IF Released THEN
Resp = 1 ;* 12/13/20007 - JCH added to limit replace function to unreleased WO's
END ELSE
TypeOver = ''
TypeOver<MCAPTION$> = 'Add or Replace Work Order Cassette Information'
TypeOver<MTEXT$> = 'Do you wish to Add To or Replace the existing cassette information?'
TypeOver<MTYPE$> = 'B&Add,&Replace,&Cancel'
Resp = Msg(@WINDOW,TypeOver)
END
IF Resp = 3 THEN RETURN ;* Canceled
IF Resp = 1 THEN
* Add to Existing
NewCassetteCnt = COUNT(ScanResults<COL$CASS_NO>,@VM) + (ScanResults<COL$CASS_NO> NE '')
Timeout = 180000
NumProcIds = DCount(ProcIds, @FM)
Def = ''
Def<MCAPTION$> = 'Receiving Cassettes...'
Def<MCAPTION$> = 'Receiving and Releasing Cassettes...'
Def<MTYPE$> = 'G'
Def<MEXTENT$> = NewCassetteCnt
Def<MEXTENT$> = NumProcIds
Def<MTEXTWIDTH$> = 600
MsgUp = Msg(@WINDOW,Def)
FOR I = 1 TO NewCassetteCnt
Msg(@WINDOW, MsgUp, I, MSGINSTUPDATE$)
ScanLotNo = ScanResults<COL$CASS_LOT_NO,I>
ScanQty = ScanResults<COL$CASS_QTY,I>
ScanPartNo = ScanResults<COL$CASS_CUST_PART_NO,I>
ScanOrdItem = ScanResults<COL$CASS_ORDER_ITEM,I>
ScanVendor = ScanResults<COL$CASS_SUB_VEND_CD,I> ;* Added 7/14/2011 for SAP project JCH
IF ScanLotNo NE '' AND ScanQty NE '' AND ScanPartNo NE '' AND ScanOrdItem NE '' THEN
CassNo = ExistCassCnt + 1
Parms = WONo:@RM
Parms := CassNo:@RM
Parms := ProdVerNo:@RM
Parms := ScanResults<COL$CASS_LOT_NO,I>:@RM
Parms := ScanResults<COL$CASS_QTY,I>:@RM
Parms := ScanResults<COL$CASS_CUST_PART_NO,I>:@RM ;* This is the CUSTOMER part No
Parms := ScanResults<COL$CASS_ORDER_ITEM,I>:@RM
Parms := ReactType:@RM ;* 3 character Reactor Type Code
Parms := ScanResults<COL$CASS_SUB_PART_NO,I>:@RM
Parms := 'SR':@RM ;* Warehouse = 'SR' - Shipping/Receiving Area
Parms := 'RB':@RM ;* Location = 'RB' - Receiving Bench
Parms := ScanResults<COL$CASS_TIME_STAMP,I>:@RM
Parms := ScanResults<COL$CASS_SCAN_BY,I>:@RM
Parms := SubSuppBy:@RM
Parms := MUWaferFlag:@RM
Parms := RetRejects :@RM ;* Added 8/18/2009 JCH
Parms := Reprocessed:@RM ;* Added 12/16/2009 JCH
Parms := CassShipQty:@RM ;* Added 11/4/2009 JCH
Parms := ShipShort:@RM ;* Added 05/14/2010 JCH
Parms := ScanVendor:@RM ;* Added 07/14/2011 for SAP Project JCH
Parms := MinCassShipQty ; // Added 02/01/2018 dmb
obj_WO_Mat('Create',Parms) ;* Added 10/18/2006 JCH - New Work Order material subsystem.
ExistCassCnt += 1
WOMatKey = WONo:'*':CassNo
LOCATE WOMatKey IN WOMatKeys BY 'AR' USING @VM SETTING NewPos ELSE
WOMatKeys = INSERT(WOMatKeys,1,NewPos,0,WOMatKey)
END
END
NEXT I
Msg(@WINDOW,MsgUp)
ScanResults = CassArray
Scheduled = XLATE('WO_LOG',WONo,'SCHEDULED','X')
IF Scheduled THEN
* Message to production about change in Work Order Size
Recipients = XLATE('NOTIFICATION','MAST_SCHED_BEG',NOTIFICATION_USER_ID$,'X') ;* Added 10/03/2005 JCH - J.C. Henry & Co., Inc
OtherRecipients = XLATE('NOTIFICATION','MAST_SCHED_END',NOTIFICATION_USER_ID$,'X') ;* Added 10/03/2005 JCH - J.C. Henry & Co., Inc
FOR N = 1 TO COUNT(OtherRecipients,@VM) + (OtherRecipients NE '')
OtherRecip = OtherRecipients<1,N>
LOCATE OtherRecip IN Recipients USING @VM SETTING Pos ELSE
Recipients = INSERT(Recipients,1,Pos,0,OtherRecip)
END
NEXT N
SentFrom = @USER4
Subject = 'Cassettes Added to Work Order'
Message = NewCassetteCnt:" Cassettes have been added to Scheduled Work Order ":WONo
AttachWindow = 'WO_PROD'
AttachKey = WONo
SendToGroup = ''
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
*obj_Notes('Create',Parms)
END
END
END ELSE
* Loop through ScanResults and call obj_WO_Mat('Create')
NewCassetteCnt = COUNT(ScanResults<COL$CASS_NO>,@VM) + (ScanResults<COL$CASS_NO> NE '')
Def = ''
Def<MCAPTION$> = 'Receiving Cassettes...'
Def<MTYPE$> = 'G'
Def<MEXTENT$> = NewCassetteCnt
Def<MTEXTWIDTH$> = 600
MsgUp = Msg(@WINDOW,Def)
FOR I = 1 TO NewCassetteCnt
Msg(@WINDOW, MsgUp, I, MSGINSTUPDATE$)
CassNo = I
Parms = WONo:@RM
Parms := CassNo:@RM
Parms := ProdVerNo:@RM
Parms := ScanResults<COL$CASS_LOT_NO,I>:@RM
Parms := ScanResults<COL$CASS_QTY,I>:@RM
Parms := ScanResults<COL$CASS_CUST_PART_NO,I>:@RM
Parms := ScanResults<COL$CASS_ORDER_ITEM,I>:@RM
Parms := ReactType:@RM
Parms := ScanResults<COL$CASS_SUB_PART_NO,I>:@RM
Parms := 'SR':@RM ;* Warehouse = 'SR' - Shipping/Receiving Area
Parms := 'RB':@RM ;* Location = 'RB' - Receiving Bench
Parms := ScanResults<COL$CASS_TIME_STAMP,I>:@RM
Parms := ScanResults<COL$CASS_SCAN_BY,I>:@RM
Parms := SubSuppBy:@RM
Parms := MUWaferFlag:@RM
Parms := RetRejects:@RM ;* Added 8/18/2009 JCH
Parms := Reprocessed:@RM ;* Added 12/16/2009 JCH
Parms := CassShipQty:@RM ;* Added 11/4/2009 JCH
Parms := ShipShort:@RM ;* Added 05/14/2010 JCH
Parms := ScanResults<COL$CASS_SUB_VEND_CD,I>:@RM ;* Added 07/14/2011 for SAP project JCH
Parms := MinCassShipQty ; // Added 02/01/2018 dmb
obj_WO_Mat('Create',Parms) ;* Added 10/18/2006 JCH - New Work Order material subsystem.
ExistCassCnt += 1
WOMatKey = WONo:'*':CassNo
LOCATE WOMatKey IN WOMatKeys BY 'AR' USING @VM SETTING NewPos ELSE
WOMatKeys = INSERT(WOMatKeys,1,NewPos,0,WOMatKey)
END
NEXT I
Msg(@WINDOW,MsgUp)
END
Set_Property(CtrlEntID,'DEFPROP',ScanResults)
IF ScanResults NE '' THEN
Recipients = XLATE('NOTIFICATION','MATERIAL_RECEIPT',NOTIFICATION_USER_ID$,'X') ;* Added 10/04/2005 JCH - J.C. Henry & Co., Inc
SentFrom = @USER4
Subject = 'Cassettes Received for Work Order'
Message = "Cassettes have been received for Work Order ":WONo
NewForm = Xlate('APP_INFO', 'NEW_WO_FORM', '', 'X')
If NewForm then
AttachWindow = 'NDW_WO_LOG'
end else
AttachWindow = 'WO_LOG2'
Start = GetTickCount()
Done = False$
NumCompleteProcs = 0
Loop
RemainingProcs = DCount(ProcIds, @FM)
CompletedProcIds = ''
For ProcIndex = 1 to RemainingProcs
ProcId = ProcIds<ProcIndex>
If RowExists('PROC_QUEUE2', ProcId) then
// Proc is still processing. Check if error recorded.
ErrorMsg = Xlate('PROC_QUEUE2', ProcId, PROC_QUEUE2.ERROR$, 'X')
If ErrorMsg NE '' then
Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg)
Database_Services('DeleteDataRow', 'PROC_QUEUE2', ProcId, True$, False$)
end
AttachKey = WONo
SendToGroup = ''
end else
// Proc is done or failed
CompletedProcIds<-1> = ProcId
end
Next ProcIndex
If CompletedProcIds NE '' then
NumCompleteProcs += DCount(CompletedProcIds, @FM)
ProcIds = SRP_Array('Join', ProcIds, CompletedProcIds, 'XOR', @FM)
end
Now = GetTickCount()
Runtime = Now - Start
Msg(@WINDOW, MsgUp, NumCompleteProcs, MSGINSTUPDATE$)
Until (ProcIds EQ '') or (Runtime GT Timeout)
Repeat
// Take down gas guage
Msg(@window, MsgUp)
If (Runtime GT Timeout) then
// Notify OI_SYSADMIN group
Recipients = ''
SentFrom = 'SYSTEM'
Subject = 'Receiving and Releasing Error for Work Order ':WONo
Message = OConv(Datetime(), 'DT/^S')
Swap @FM with CRLF$ in CompletedProcIds
Swap @FM with CRLF$ in ProcIds
Message<2> = 'Completed ProcIds: ':CompletedProcIds
Message<3> = 'Incomplete ProcIds: ':ProcIds
AttachWindow = ''
AttachKey = ''
SendToGroup = 'OI_SYSADMIN'
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
obj_Notes('Create',Parms)
END
Set_Property(@WINDOW:'.RX_BY','DEFPROP',OCONV(@USER4,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')) ;* Current user
Set_Property(@WINDOW:'.RX_DTM','DEFPROP',OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS') ) ;* Current timestamp
Set_Property(@WINDOW:'.WO_MAT_KEY','DEFPROP',WOMatKeys)
Send_Event(@WINDOW,'WRITE')
ErrorMsg = 'The server is taking longer than expected to process the receive / ':CRLF$:'release requests. FI has been alerted to the issue.'
Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg)
end
WOMatCreateStopTime = Time()
FormRefreshStartTime = Time()
// Update RX_QTY_STATIC
Work_Order_Services('UpdateReceivedQty', WONo)
obj_AppWindow('LoadFormKeys','WO_REC':@RM:WONo)
FormRefreshStopTime = Time()
WOMatCreateDuration = WOMatCreateStopTime - WOMatCreateStartTime
FormRefreshDuration = FormRefreshStopTime - FormRefreshStartTime
TotalDuration = WOMatCreateDuration + FormRefreshDuration
If Unassigned(NewCassetteCnt) then
NewCassetteCnt = NewCassetteCnt = COUNT(ScanResults<COL$CASS_NO>,@VM) + (ScanResults<COL$CASS_NO> NE '')
end
NumCass = NewCassetteCnt
LogData = ''
LogData<1> = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS')
LogData<2> = WONo
LogData<3> = @User4
LogData<4> = NumCass
LogData<4> = NewCassetteCnt
LogData<5> = WOMatCreateDuration
LogData<6> = FormRefreshDuration
LogData<7> = TotalDuration
If NumCass GT 0 then
LogData<8> = TotalDuration / NumCass
If (NewCassetteCnt GT 0) then
LogData<8> = TotalDuration / NewCassetteCnt
end else
LogData<8> = 'N/A'
end
Logging_Services('AppendLog', objReceiveLog, LogData, @RM, @FM)
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateWorkOrderData':SD$:WONo)
Post_Event(@Window, 'READ')
end
RETURN
***********************************************************************************************************************************************************
* * * * * * *
RecGaN:
* * * * * * *
@ -890,6 +719,7 @@ FOR I = 1 TO WOMatReq
WOMatKeys = INSERT(WOMatKeys,1,NewPos,0,WOMatKey)
END
ErrorMsg = ''
IF ScanResults<1,I> NE '' THEN
@ -897,9 +727,7 @@ FOR I = 1 TO WOMatReq
WOMatRec = obj_Tables('ReadRec',otParms) ;* WOMat record may be an outbound on
IF Get_Status(errCode) THEN
DEBUG
END
IF Get_Status(errCode) THEN ErrorMsg = 'Error in COMM_WO_REC("RecGaN"). Error message: ':errCode
IF WOMatRec NE '' THEN WOMatExists = 1
@ -948,9 +776,7 @@ FOR I = 1 TO WOMatReq
otParms = FIELDSTORE(otParms,@RM,4,0,WOMatRec)
obj_Tables('WriteRec',otParms)
IF Get_Status(errCode) THEN
DEBUG
END
IF Get_Status(errCode) THEN ErrorMsg = 'Error in COMM_WO_REC("RecGaN"). Error message: ':errCode
END ELSE
@ -978,18 +804,12 @@ FOR I = 1 TO WOMatReq
WOMatRec<WO_MAT_PROD_VER_NO$> = ProdVerNo
WOMatRec<WO_MAT_SUB_SUPPL_BY$> = SubSuppBy
WOMatRec<WO_MAT_MU_WAFER_FLAG$> = MUWaferFlag
WOMatRec<WO_MAT_RET_REJECTS$> = RetRejects
WOMatRec<WO_MAT_CASS_SHIP_QTY$> = CassShipQty
WOMatRec<WO_MAT_MIN_CASS_SHIP_QTY$> = MinCassShipQty
WOMatRec<WO_MAT_SHIP_SHORT$> = ShipShort
WOMatRec<WO_MAT_SIG_PROFILE$> = obj_WO_Mat('CassSigProfile',WOMatKey) ;*******************
WaferCnt = WOMatRec<WO_MAT_WAFER_QTY$> ;* Changed to add slots for both EpiPRO and standard reactor types 8/13/2010 JCH
ShipCnt = WOMatRec<WO_MAT_CASS_SHIP_QTY$>
BEGIN CASE
CASE ShipCnt = '' ; SlotCnt = WaferCnt
CASE WaferCnt > ShipCnt ; SlotCnt = WaferCnt
@ -1004,9 +824,7 @@ FOR I = 1 TO WOMatReq
otParms = FIELDSTORE(otParms,@RM,4,0,WOMatRec)
obj_Tables('WriteRec',otParms)
IF Get_Status(errCode) THEN
DEBUG
END
IF Get_Status(errCode) THEN ErrorMsg = 'Error in COMM_WO_REC("RecGaN"). Error message: ':errCode
END ;* End of check for existing WO_MAT record
@ -1024,14 +842,9 @@ FOR I = 1 TO WOMatReq
WOMatRec<WO_MAT_PROD_VER_NO$> = ProdVerNo
WOMatRec<WO_MAT_SUB_SUPPL_BY$> = SubSuppBy
WOMatRec<WO_MAT_MU_WAFER_FLAG$> = MUWaferFlag
WOMatRec<WO_MAT_RET_REJECTS$> = RetRejects
WOMatRec<WO_MAT_CASS_SHIP_QTY$> = CassShipQty
WOMatRec<WO_MAT_MIN_CASS_SHIP_QTY$> = MinCassShipQty
WOMatRec<WO_MAT_SHIP_SHORT$> = ShipShort
WOMatRec<WO_MAT_SIG_PROFILE$> = obj_WO_Mat('CassSigProfile',WOMatKey)
SlotCnt = WOMatRec<WO_MAT_CASS_SHIP_QTY$>
FOR S = 1 TO SlotCnt
@ -1041,9 +854,7 @@ FOR I = 1 TO WOMatReq
otParms = 'WO_MAT':@RM:WOMatKey:@RM:@RM:WOMatRec
obj_Tables('WriteRec',otParms)
IF Get_Status(errCode) THEN
DEBUG
END
IF Get_Status(errCode) THEN ErrorMsg = 'Error in COMM_WO_REC("RecGaN"). Error message: ':errCode
NextOutCassNo += 1
@ -1051,9 +862,9 @@ FOR I = 1 TO WOMatReq
NEXT I
Msg(@WINDOW,MsgUp) ;* Take down processing message
If ErrorMsg NE '' then Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg)
IF LastInCassNo > 0 THEN
@ -1089,7 +900,6 @@ IF LastInCassNo > 0 THEN
END ;* End of check for previously received material
Set_Property(CtrlEntID,'DEFPROP',ScanResults)
IF ScanResults NE '' THEN
@ -1118,7 +928,6 @@ Send_Event(@WINDOW,'WRITE')
obj_AppWindow('LoadFormKeys','WO_REC':@RM:WONo)
RETURN

View File

@ -213,4 +213,3 @@ UpdateHALItem:
end
return

View File

@ -1,6 +1,4 @@
Compile subroutine Copy_Backlog_Records_To_SQL(VOID)
#pragma precomp SRP_PreCompiler
/*****************************************************************************\
This is a utility function. For each record found in SQL_BACKLOG, it makes
sure the identified record is copied to SQL. Then the backlog record is
@ -10,12 +8,14 @@ Compile subroutine Copy_Backlog_Records_To_SQL(VOID)
-------
08/10/2010 KRF Original Programmer
\*****************************************************************************/
#pragma precomp SRP_PreCompiler
$Insert APP_INSERTS
Declare subroutine Copy_Record_To_SQL, Delete_Record_From_SQL, SRP_TcpClient, Copy_Pending_Records_To_Sql
Declare function GetTickCount, Database_Services, SRP_TcpClient, Datetime, Environment_Services
Main:
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
Lock hSysLists, 'Copy_Backlog_Records_To_SQL' then
@ -86,8 +86,9 @@ Lock hSysLists, 'Copy_Backlog_Records_To_SQL' then
If Skip EQ False$ then
TcpClientHandle = 0
ServerIP = Environment_Services('GetApplicationRootIP')
ServerPort = Environment_Services('GetScrapeServerPort')
Convert '\' to '' in ServerIP
If SRP_TcpClient(TcpClientHandle, 'CONNECT', ServerIP, '20779') then
If SRP_TcpClient(TcpClientHandle, 'CONNECT', ServerIP, ServerPort) then
SRP_TcpClient(TcpClientHandle, 'SEND_SES', Command)
SRP_TcpClient(TcpClientHandle, 'CLOSE_SES')
end
@ -101,4 +102,3 @@ end
Return

View File

@ -0,0 +1,45 @@
Compile function Copy_LOT_EVENT_Record_To_SQL(Connection, Key, Record)
/*****************************************************************************\
Copies the given LOT_EVENT record to the MSSQL database.
History
-------
06/10/2025 DJS Original Programmer
\*****************************************************************************/
$insert LOT_EVENT_EQUATES
Declare function SQL_Write, SQL_Write_MV, SQL_Format
Ans = ""
// Parse record into a dimensioned array for speed
Dim Rec(13)
MatParse Record into Rec
// List of key names and their values
Keys = "LOT_EVENT_ID":@VM:SQL_Format(Key, "STR")
// List of data fields and their values
DataFields = "LOT_ID" :@VM:SQL_Format(Rec(LOT_EVENT_LOT_ID$), "STR"):@FM
DataFields := "LOT_EVENT_TYPE" :@VM:SQL_Format(Rec(LOT_EVENT_LOT_EVENT_TYPE$), "STR"):@FM
DataFields := "EVENT_DATETIME" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_DATETIME$), "DATETIME"):@FM
DataFields := "EVENT_NOTE" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_NOTE$), "STR"):@FM
DataFields := "EQUIPMENT_ID" :@VM:SQL_Format(Rec(LOT_EVENT_EQUIPMENT_ID$), "STR"):@FM
DataFields := "EVENT_REDUCE_WAFER_QTY" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_REDUCE_WAFER_QTY$), "INT"):@FM
DataFields := "EVENT_BONUS_WAFER_QTY" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_BONUS_WAFER_QTY$), "INT"):@FM
DataFields := "EVENT_BEGIN_WAFER_QTY" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_BEGIN_WAFER_QTY$), "INT"):@FM
DataFields := "EVENT_END_WAFER_QTY" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_END_WAFER_QTY$), "INT"):@FM
DataFields := "EVENT_OPERATION_ID" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_OPERATION_ID$), "STR"):@FM
DataFields := "EVENT_OPERATOR_ID" :@VM:SQL_Format(Rec(LOT_EVENT_EVENT_OPERATOR_ID$), "STR"):@FM
DataFields := "SEQUENCE" :@VM:SQL_Format(Rec(LOT_EVENT_SEQUENCE$), "INT")
// Symbolics
// Write the data to the SQL database
Ans = SQL_Write(Connection, "LOT_EVENT", Keys, DataFields);
//-------------------------------------------------------------------------------------------------
// Multi-valued Fields
Return Ans

View File

@ -0,0 +1,35 @@
Compile function Copy_LOT_EVENT_TYPE_Record_To_SQL(Connection, Key, Record)
/*****************************************************************************\
Copies the given OPERATION record to the MSSQL database.
History
-------
06/19/2025 DJS Original Programmer
\*****************************************************************************/
$insert LOT_EVENT_TYPE_EQUATES
Declare function SQL_Write, SQL_Write_MV, SQL_Format
Ans = ""
// Parse record into a dimensioned array for speed
Dim Rec(2)
MatParse Record into Rec
// List of key names and their values
Keys = "LOT_EVENT_TYPE_ID":@VM:SQL_Format(Key, "STR")
// List of data fields and their values
DataFields = "DESCRIPTION" :@VM:SQL_Format(Rec(LOT_EVENT_TYPE.DESCRIPTION$), "STR"):@FM
DataFields := "WIP_TRANS_TYPE" :@VM:SQL_Format(Rec(LOT_EVENT_TYPE.WIP_TRANS_TYPE$), "STR")
// Symbolics
// Write the data to the SQL database
Ans = SQL_Write(Connection, "LOT_EVENT_TYPE", Keys, DataFields);
//-------------------------------------------------------------------------------------------------
// Multi-valued Fields
Return Ans

View File

@ -0,0 +1,56 @@
Compile function Copy_LOT_OPERATION_Record_To_SQL(Connection, Key, Record)
/*****************************************************************************\
Copies the given LOT_OPERATION record to the MSSQL database.
History
-------
06/19/2025 DJS Original Programmer
\*****************************************************************************/
$insert LOT_OPERATION_EQUATES
Declare function SQL_Write, SQL_Write_MV, SQL_Format
Ans = ""
// Parse record into a dimensioned array for speed
Dim Rec(24)
MatParse Record into Rec
// List of key names and their values
Keys = "LOT_OPERATION_ID":@VM:SQL_Format(Key, "STR")
// List of data fields and their values
DataFields = "LOT_ID" :@VM:SQL_Format(Rec(LOT_OPERATION_LOT_ID$), "STR"):@FM
DataFields := "OPERATION_ID" :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATION_ID$), "STR"):@FM
DataFields := "DATETIME_IN" :@VM:SQL_Format(Rec(LOT_OPERATION_DATETIME_IN$), "DATETIME"):@FM
DataFields := "DATETIME_OUT" :@VM:SQL_Format(Rec(LOT_OPERATION_DATETIME_OUT$), "DATETIME"):@FM
DataFields := "EQUIPMENT_ID" :@VM:SQL_Format(Rec(LOT_OPERATION_EQUIPMENT_ID$), "STR"):@FM
DataFields := "WAFER_IN_QTY" :@VM:SQL_Format(Rec(LOT_OPERATION_WAFER_IN_QTY$), "INT"):@FM
DataFields := "WAFER_OUT_QTY" :@VM:SQL_Format(Rec(LOT_OPERATION_WAFER_OUT_QTY$), "INT"):@FM
DataFields := "OPERATOR_IN_ID" :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATOR_IN_ID$), "STR"):@FM
DataFields := "OPERATOR_OUT_ID" :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATOR_OUT_ID$), "STR"):@FM
DataFields := "OPERATION_SEQUENCE" :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATION_SEQUENCE$), "INT"):@FM
DataFields := "REWORK" :@VM:SQL_Format(Rec(LOT_OPERATION_REWORK$), "BIT"):@FM
DataFields := "DATETIME_START" :@VM:SQL_Format(Rec(LOT_OPERATION_DATETIME_START$), "DATETIME"):@FM
DataFields := "DATETIME_STOP" :@VM:SQL_Format(Rec(LOT_OPERATION_DATETIME_STOP$), "DATETIME"):@FM
DataFields := "CLEAN_ID" :@VM:SQL_Format(Rec(LOT_OPERATION_CLEAN_ID$), "STR"):@FM
DataFields := "PACKAGING_ID" :@VM:SQL_Format(Rec(LOT_OPERATION_PACKAGING_ID$), "STR"):@FM
DataFields := "WAFER_COUNTER_ID" :@VM:SQL_Format(Rec(LOT_OPERATION_WAFER_COUNTER_ID$), "STR"):@FM
DataFields := "OPERATION_TYPE" :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATION_TYPE$), "STR"):@FM
DataFields := "OPERATION_CLASS" :@VM:SQL_Format(Rec(LOT_OPERATION_OPERATION_CLASS$), "STR"):@FM
DataFields := "MET_TEST_TYPE_REQUIRED" :@VM:SQL_Format(Rec(LOT_OPERATION_MET_TEST_TYPE_REQUIRED$), "BIT"):@FM
DataFields := "MET_TEST_REQUIRED" :@VM:SQL_Format(Rec(LOT_OPERATION_MET_TEST_REQUIRED$), "BIT"):@FM
DataFields := "PACKAGING_REQUIRED" :@VM:SQL_Format(Rec(LOT_OPERATION_PACKAGING_REQUIRED$), "BIT"):@FM
DataFields := "CLEAN_REQUIRED" :@VM:SQL_Format(Rec(LOT_OPERATION_CLEAN_REQUIRED$), "BIT"):@FM
DataFields := "WAFER_COUNTER_REQUIRED" :@VM:SQL_Format(Rec(LOT_OPERATION_WAFER_COUNTER_REQUIRED$), "BIT")
// Symbolics
// Write the data to the SQL database
Ans = SQL_Write(Connection, "LOT_OPERATION", Keys, DataFields);
//-------------------------------------------------------------------------------------------------
// Multi-valued Fields
Return Ans

View File

@ -0,0 +1,51 @@
Compile function Copy_LOT_Record_To_SQL(Connection, Key, Record)
/*****************************************************************************\
Copies the given LOT record to the MSSQL database.
History
-------
06/10/2025 DJS Original Programmer
\*****************************************************************************/
$insert LOT_EQUATES
Declare function SQL_Write, SQL_Write_MV, SQL_Format
Ans = ""
// Parse record into a dimensioned array for speed
Dim Rec(23)
MatParse Record into Rec
// List of key names and their values
Keys = "LOT_ID":@VM:SQL_Format(Key, "STR")
// List of data fields and their values
DataFields = "TYPE" :@VM:SQL_Format(Rec(LOT_TYPE$), "STR"):@FM
DataFields := "PROD_ID" :@VM:SQL_Format(Rec(LOT_PROD_ID$), "STR"):@FM
DataFields := "ORIG_WAFER_QTY" :@VM:SQL_Format(Rec(LOT_ORIG_WAFER_QTY$), "INT"):@FM
DataFields := "WAFER_QTY" :@VM:SQL_Format(Rec(LOT_WAFER_QTY$), "INT"):@FM
DataFields := "VENDOR_PART_NO" :@VM:SQL_Format(Rec(LOT_VENDOR_PART_NO$), "STR"):@FM
DataFields := "VENDOR_LOT_NO" :@VM:SQL_Format(Rec(LOT_VENDOR_LOT_NO$), "STR"):@FM
DataFields := "VENDOR_CODE" :@VM:SQL_Format(Rec(LOT_VENDOR_CODE$), "STR"):@FM
DataFields := "[OPEN]" :@VM:SQL_Format(Rec(LOT_OPEN$), "BIT"):@FM
DataFields := "HOLD" :@VM:SQL_Format(Rec(LOT_HOLD$), "BIT"):@FM
DataFields := "HOT" :@VM:SQL_Format(Rec(LOT_HOT$), "BIT"):@FM
DataFields := "LEGACY_LOT_ID" :@VM:SQL_Format(Rec(LOT_LEGACY_LOT_ID$), "STR"):@FM
DataFields := "MOST_RECENT_LOT_EVENT_ID" :@VM:SQL_Format(Rec(LOT_MOST_RECENT_LOT_EVENT_ID$), "STR"):@FM
DataFields := "LEGACY_LOT_TYPE" :@VM:SQL_Format(Rec(LOT_LEGACY_LOT_TYPE$), "STR"):@FM
DataFields := "WO_LOG_ID" :@VM:SQL_Format(Rec(LOT_WO_LOG_ID$), "INT"):@FM
DataFields := "PROD_SPEC_ID" :@VM:SQL_Format(Rec(LOT_PROD_SPEC_ID$), "INT"):@FM
DataFields := "EPI_PART_NO" :@VM:SQL_Format(Rec(LOT_EPI_PART_NO$), "STR"):@FM
DataFields := "PROD_VER_NO" :@VM:SQL_Format(Rec(LOT_PROD_VER_NO$), "STR")
// Symbolics
// Write the data to the SQL database
Ans = SQL_Write(Connection, "LOT", Keys, DataFields);
//-------------------------------------------------------------------------------------------------
// Multi-valued Fields
Return Ans

View File

@ -0,0 +1,43 @@
Compile function Copy_OPERATION_Record_To_SQL(Connection, Key, Record)
/*****************************************************************************\
Copies the given OPERATION record to the MSSQL database.
History
-------
06/19/2025 DJS Original Programmer
\*****************************************************************************/
$insert OPERATION_EQUATES
Declare function SQL_Write, SQL_Write_MV, SQL_Format
Ans = ""
// Parse record into a dimensioned array for speed
Dim Rec(10)
MatParse Record into Rec
// List of key names and their values
Keys = "OPERATION_ID":@VM:SQL_Format(Key, "STR")
// List of data fields and their values
DataFields = "ACTIVE" :@VM:SQL_Format(Rec(OPERATION_ACTIVE$), "BIT"):@FM
DataFields := "CLASS_ID" :@VM:SQL_Format(Rec(OPERATION_CLASS_ID$), "STR"):@FM
DataFields := "OPERATION_DESCRIPTION" :@VM:SQL_Format(Rec(OPERATION_OPERATION_DESCRIPTION$), "STR"):@FM
DataFields := "TYPE" :@VM:SQL_Format(Rec(OPERATION_TYPE$), "STR"):@FM
DataFields := "REWORK" :@VM:SQL_Format(Rec(OPERATION_REWORK$), "BIT"):@FM
DataFields := "MET_TEST_TYPE_REQUIRED" :@VM:SQL_Format(Rec(OPERATION_MET_TEST_TYPE_REQUIRED$), "BIT"):@FM
DataFields := "MET_TEST_REQUIRED" :@VM:SQL_Format(Rec(OPERATION_MET_TEST_REQUIRED$), "BIT"):@FM
DataFields := "PACKAGING_REQUIRED" :@VM:SQL_Format(Rec(OPERATION_PACKAGING_REQUIRED$), "BIT"):@FM
DataFields := "CLEAN_REQUIRED" :@VM:SQL_Format(Rec(OPERATION_CLEAN_REQUIRED$), "BIT"):@FM
DataFields := "WAFER_COUNTER_REQUIRED" :@VM:SQL_Format(Rec(OPERATION_WAFER_COUNTER_REQUIRED$), "BIT")
// Symbolics
// Write the data to the SQL database
Ans = SQL_Write(Connection, "OPERATION", Keys, DataFields);
//-------------------------------------------------------------------------------------------------
// Multi-valued Fields
Return Ans

View File

@ -1,6 +1,4 @@
Compile subroutine Copy_Pending_Records_To_SQL(VOID)
#pragma precomp SRP_PreCompiler
/*****************************************************************************\
This is a utility function. For each record found in SQL_PENDING, it makes
sure the identified record is copied to SQL.
@ -9,19 +7,25 @@ Compile subroutine Copy_Pending_Records_To_SQL(VOID)
-------
02/06/2023 DJS Adapted from Copy_Backlog_Records_To_SQL
\*****************************************************************************/
#pragma precomp SRP_PreCompiler
$Insert APP_INSERTS
EQU FIVE_MINUTES$ to 0.003472
EQU SECONDS_PER_DAY$ to 86400
EQU THIRTY_MINUTES$ to 1800
Declare subroutine Copy_Record_To_SQL, Delete_Record_From_SQL, SRP_TcpClient, Database_Services
Declare function GetTickCount, Database_Services, SRP_TcpClient, Datetime, Database_Services, Environment_Services
Main:
// This only needs to be called every once in a while (e.g. 5 minutes ~ 0.003472)
Run = False$
CurrDtm = Datetime()
LastRunDtm = Database_Services('ReadDataRow', 'APP_INFO', 'SQL_PENDING_LAST_RUNTIME')
If LastRunDtm NE '' then
TimeDiff = CurrDtm - LastRunDtm
If TimeDiff GT 0.003472 then
If TimeDiff GT FIVE_MINUTES$ then
Run = True$
LastRunDtm = CurrDtm
end
@ -48,9 +52,9 @@ If Run then
Read Rec from pTable, Key then
TransDtm = Rec<1>
ElapSecs = (CurrDtm - TransDtm) * 86400
If ElapSecs LT 1800 then
// Retry recent pending transactions (1800 seconds = 30 minutes)
ElapSecs = (CurrDtm - TransDtm) * SECONDS_PER_DAY$
If ElapSecs LT THIRTY_MINUTES$ then
// Retry recent pending transactions (i.e., those submitted in the last 30 minutes)
Table = Key[1, "*"]
Locate Table in NonCriticalTables using @FM setting Dummy then
ID = Key[Col2() + 1, Len(Key)]
@ -81,9 +85,10 @@ If Run then
TcpClientHandle = 0
ServerIP = Environment_Services('GetApplicationRootIP')
ServerPort = Environment_Services('GetScrapeServerPort')
Convert '\' to '' in ServerIP
If SRP_TcpClient(TcpClientHandle, 'CONNECT', ServerIP, '20779') then
If SRP_TcpClient(TcpClientHandle, 'CONNECT', ServerIP, ServerPort) then
SRP_TcpClient(TcpClientHandle, 'SEND_SES', Command)
SRP_TcpClient(TcpClientHandle, 'CLOSE_SES')
end
@ -103,4 +108,3 @@ end
Return

View File

@ -22,20 +22,29 @@ Compile function Copy_Record_To_SQL(Table, Key, LogError, pKey)
09/23/2010 KRF Added logic to set @DICT, @ID, and @RECORD so handlers
can use symbolics
\*****************************************************************************/
$insert Microsoft_Ado_Equates
If Assigned(LogError) else LogError = 0
$Insert APP_INSERTS
$Insert MICROSOFT_ADO_EQUATES
Declare subroutine SRP_Com, Sql_Services
Declare function SRP_Com, Environment_Services, Datetime, Sql_Services, Error_Services, Database_Services
Ans = ""
Declare function SRP_Com, Environment_Services, Datetime, Sql_Services, Error_Services, Database_Services, Unassigned
Main:
If Unassigned(LogError) then LogError = False$
If Unassigned(pKey) then pKey = ''
Ans = ""
Done = False$
// Make sure table is uppercase
Convert @LOWER_CASE to @UPPER_CASE in Table
TablesToSkip = Database_Services('ReadDataRow', 'APP_INFO', 'SQL_TABLES_TO_SKIP')
Locate Table in TablesToSkip by "AL" using "," setting ListPos else
Open 'SQL_PENDING' to pTable then
If pKey NE '' then Lock pTable, pKey else Done = True$
If Not(Done) then
// The expected name of the handler
Handler = "COPY_":Table:"_RECORD_TO_SQL"
@ -53,12 +62,10 @@ Locate Table in TablesToSkip by "AL" using "," setting ListPos else
Open "DICT.":Table to @DICT then null
@ID = Key
Ans = Function(@Handler(Connection, Key, @RECORD))
If Ans EQ '' then
If (Ans EQ '') then
If Assigned(pKey) then
If pKey NE '' then
Open 'SQL_PENDING' to pTable then
Delete pTable, pKey else null
end
If (pKey NE '') then
Delete pTable, pKey else Null
end
end
end
@ -68,7 +75,8 @@ Locate Table in TablesToSkip by "AL" using "," setting ListPos else
end
end
end else
Ans = 'Unable to open connection to SQL server. SQL connection error: ':SRP_Com(Connection, "ERROR")
Ans = 'Unable to open connection to SQL server. SQL connection error: '
Ans := SRP_Com(Connection, "ERROR")
end
SRP_Com(Connection, "CALL", "Close")
SRP_Com(Connection, "RELEASE")
@ -93,6 +101,8 @@ Locate Table in TablesToSkip by "AL" using "," setting ListPos else
If Assigned(pKey) then
If (pKey NE '') then
// Call unlock here in case we ran into an error above
Unlock pTable, pKey else Null
// Always log the result
Open 'SQL_LOG' to hLog then
If Ans EQ '' then
@ -112,8 +122,8 @@ Locate Table in TablesToSkip by "AL" using "," setting ListPos else
end
end
end
end
end
Return Ans

View File

@ -14,7 +14,7 @@ Declare function SQL_Write, SQL_Write_MV, SQL_Format
Ans = ""
// Parse record into a dimensioned array for speed
Dim Rec(82)
Dim Rec(86)
MatParse Record into Rec
// List of key names and their values
@ -57,6 +57,9 @@ DataFields := "PROD_ORD_NO_TMP" :@VM:SQL_Format(Rec(WO_LOG_PROD_ORD_NO_TMP$),
DataFields := "ORIGIN" :@VM:SQL_Format(Rec(WO_LOG_ORIGIN$), "STR"):@FM
DataFields := "INCO_CODE" :@VM:SQL_Format(Rec(WO_LOG_INCO_CODE$), "STR"):@FM
DataFields := "HOT_FLAG" :@VM:SQL_Format(Rec(WO_LOG_HOT_FLAG$), "BIT"):@FM
DataFields := "CURR_STATUS_STATIC" :@VM:SQL_Format(Rec(WO_LOG_CURR_STATUS_STATIC$), "STR"):@FM
DataFields := "REL_QTY" :@VM:SQL_Format(Rec(WO_LOG_REL_QTY_STATIC$), "INT"):@FM
DataFields := "UNREL_QTY" :@VM:SQL_Format(Rec(WO_LOG_UNREL_QTY_STATIC$), "INT"):@FM
// Symbolics
DataFields := "START_DT" :@VM:SQL_Format({START_DT}, "DATE"):@FM
@ -68,9 +71,7 @@ DataFields := "CYCLE_TIME_WIP" :@VM:SQL_Format({CYCLE_TIME_WIP},
DataFields := "CYCLE_TIME_DELTA" :@VM:SQL_Format({CYCLE_TIME_DELTA}, "DEC", 1):@FM
DataFields := "CYCLE_TIME_QA_SHIP" :@VM:SQL_Format({CYCLE_TIME_QA_SHIP}, "DEC", 1):@FM
DataFields := "CYCLE_TIME_REL_FIRST_VER":@VM:SQL_Format({CYCLE_TIME_REL_FIRST_VER}, "DEC", 1):@FM
DataFields := "SAP_TOT_WFR_QTY" :@VM:SQL_Format({SAP_TOT_WFR_QTY}, "STR"):@FM
DataFields := "REL_QTY" :@VM:SQL_Format({REL_QTY}, "INT"):@FM
DataFields := "UNREL_QTY" :@VM:SQL_Format({UNREL_QTY}, "INT")
DataFields := "SAP_TOT_WFR_QTY" :@VM:SQL_Format({SAP_TOT_WFR_QTY}, "STR")
// Write the data to the SQL database
Ans = SQL_Write(Connection, "WO_LOG", Keys, DataFields)
@ -349,3 +350,4 @@ If Ans EQ "" AND CassIdSap NE "" then
end
Return Ans

View File

@ -609,7 +609,6 @@ Service ReadDataRow(TableName, KeyID, NotExpired, ExpirationDuration, IgnoreMFSR
Memory_Services('SetValue', ServiceKeyID, DataRow)
end else
Error_Services('Add', 'Error reading ' : KeyID : ' from the ' : TableName : ' table in the ' : Service : ' service. Error = ' : @File_Error<1>)
end
end
end
@ -943,11 +942,9 @@ Service WriteDataRow(TableName, KeyID, DataRow, IgnoreSelfLock, IgnoreMFSRoutine
Error_Services('Add', 'Error writing ' : KeyID : ' to the ' : TableName : ' table in the ' : Service : ' service. Error message: ':ErrorMsg)
end
end
* If Error_Services('NoError') then
If IgnoreAllLocks EQ False$ then
Database_Services('ReleaseKeyIDLock', TableName, KeyID)
end
* end
end else
Error_Services('Add', 'Unable to lock ' : KeyID : ' for the ' : TableName : ' table in the ' : Service : ' service.')
end
@ -958,6 +955,68 @@ Service WriteDataRow(TableName, KeyID, DataRow, IgnoreSelfLock, IgnoreMFSRoutine
end service
//----------------------------------------------------------------------------------------------------------------------
// WriteDataColumn
//
// TableName. The linear hash database table name. - [REQUIRED]
// KeyID. The KeyID to the database table. - [REQUIRED]
// ColumnNo. Column number of the table to write. - [REQUIRED]
//
// Writes a value to a column for the indicated Key ID and database table.
//----------------------------------------------------------------------------------------------------------------------
Service WriteDataColumn(TableName, KeyID, ColumnNo, Value, IgnoreSelfLock, IgnoreMFSRoutines, IgnoreAllLocks)
If TableName NE '' AND KeyID NE '' AND ColumnNo NE '' then
If ( Num(ColumnNo) and (ColumnNo GT 0) ) then
If Unassigned(Value) then Value = ''
If IgnoreSelfLock NE True$ then IgnoreSelfLock = False$
If IgnoreMFSRoutines NE True$ then IgnoreMFSRoutines = False$
If IgnoreAllLocks NE True$ then IgnoreAllLocks = False$
If IgnoreAllLocks then
HaveLock = True$
end else
HaveLock = Database_Services('GetKeyIDLock', TableName, KeyID, IgnoreSelfLock)
end
If HaveLock EQ True$ then
TableHandle = Database_Services('GetTableHandle', TableName)
If IgnoreMFSRoutines then
MFSList = TableHandle<1, 1> ; // MFS routines are @SVM delimited.
NumMFS = DCount(MFSList, @SVM)
For MFSCnt = NumMFS to 1 Step -1
MFSRoutine = MFSList<0, 0, MFSCnt>
If (MFSRoutine NE 'SI.MFS') AND (MFSRoutine NE 'RTP57') then
MFSList = Delete(MFSList, 0, 0, MFSCnt)
end
Next MFSCnt
TableHandle<1, 1> = MFSList
end
If Error_Services('NoError') then
WriteV Value on TableHandle, KeyID, ColumnNo then
Memory_Services('SetValue', ServiceModule : '*' : 'ReadDataColumn' : '*' : TableName : '*' : KeyID : '*' : ColumnNo, Value)
end else
ErrorMsg = 'Error writing value ' : Quote(Value) ' to column number ' : ColumnNo : ' to key ' : KeyID |
: ' of table ' : TableName : ' in the ' : Service : ' service.'
Error_Services('Add', ErrorMsg)
end
end
If IgnoreAllLocks EQ False$ then
Database_Services('ReleaseKeyIDLock', TableName, KeyID)
end
end else
Error_Services('Add', 'Unable to lock ' : KeyID : ' for the ' : TableName : ' table in the ' : Service : ' service.')
end
end else
Error_Services('Add', 'ColumnNo was not a number or was not greater than zero in the ' :Service : ' service.')
end
end else
Error_Services('Add', 'TableName, KeyID, or ColumnNo argument was missing in the ' : Service : ' service.')
end
end service
//----------------------------------------------------------------------------------------------------------------------
// UnlockKeyID
//
@ -1043,5 +1102,3 @@ end service
// Internal GoSubs
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -220,6 +220,13 @@ Service GetWeekNum(InputDate)
end service
Service ConvertDateTimeToISO8601(DatetimeToConv)
Response = OConv(DatetimeToConv, "[SRP_DATETIME,()YYYY-MM-DD hh:mm:ss.000Z]")
swap ' ' with 'T' in Response
end service
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Internal GoSubs

View File

@ -18,18 +18,26 @@ Compile function Delete_Record_From_SQL(Table, Key, LogError, pKey)
-------
09/15/2010 KRF Original Programmer
\*****************************************************************************/
$insert Microsoft_Ado_Equates
If Assigned(LogError) else LogError = 0
$Insert APP_INSERTS
$insert MICROSOFT_ADO_EQUATES
Declare subroutine Sql_Services, SRP_COM
Declare function Sql_Services, Error_Services, SRP_COM, Environment_Services
Ans = ""
Declare function Sql_Services, Error_Services, SRP_COM, Environment_Services, Unassigned
Main:
If Unassigned(LogError) then LogError = False$
If Unassigned(pKey) then pKey = ''
Ans = ""
Done = False$
// Make sure table is uppercase
Convert @LOWER_CASE to @UPPER_CASE in Table
Open 'SQL_PENDING' to pTable then
If pKey NE '' then Lock pTable, pKey else Done = True$
If Not(Done) then
// The expected name of the handler
Handler = "DELETE_":Table:"_RECORD_FROM_SQL"
@ -44,10 +52,10 @@ Open "SYSOBJ" to hSysObj then
// Read the record and call the handler
If Key NE "" then
Ans = Function(@Handler(Connection, Key))
If Ans EQ '' then
If (Ans EQ '') then
If Assigned(pKey) then
Open 'SQL_PENDING' to pTable then
Delete pTable, pKey else null
If (pKey NE '') then
Delete pTable, pKey else Null
end
end
end
@ -78,6 +86,9 @@ end
// Always log the result
If Assigned(pKey) then
If (pKey NE '') then
// Call unlock here in case an error was encountered above
Unlock pTable, pKey else Null
Open 'SQL_LOG' to hLog then
If Ans EQ '' then
Result = 'PROCESSED'
@ -93,6 +104,9 @@ If Assigned(pKey) then
Write Log to hLog, CurrDate
end
end
end
end
end
Return Ans

View File

@ -590,7 +590,9 @@ Service SetupDevServices()
BaselineServices = 'Update Material Logs':@VM:'Log Transaction Postings':@VM:'Process Wafer Image Queue':@VM
BaselineServices := 'Process UCL Requests':@VM:'Process ROTR Requests':@VM:'Process Wafer Image Requests':@VM
BaselineServices := 'Process SQL Requests':@VM:'Send Notes':@VM:'Update Notification Groups':@VM
BaselineServices := 'Update Security Groups':@VM:'Auto Scheduler'
BaselineServices := 'Update Security Groups':@VM:'Auto Scheduler':@VM:'Update NICA Orders':@VM:'Process Procedure Queue':@VM
BaselineServices := 'Process Transaction Queue':@VM:'Update Open Work Order Statuses':@VM:'Update Work Order Wafer Quantities':@VM
BaselineServices := 'Process Mona Requests'
Query = "SELECT SERVICES"

View File

@ -94,4 +94,3 @@ API engineinfo.ID.GET
end
end api

View File

@ -36,7 +36,7 @@ Function Environment_Services(@Service, @Params)
#pragma precomp SRP_PreCompiler
$insert LOGICAL
$insert APP_INSERTS
$insert SERVICE_SETUP
$insert SRPMail_Inserts
@ -553,6 +553,30 @@ Service GetEnvironmentVariable(VariableName)
end service
Service GetServiceManagerPort()
FilePath = Drive():'\SRPEngineServer.ini'
OSRead IniFile from FilePath then
CharIndex = Index(IniFile, 'Port', 1)
Line = IniFile[CharIndex, 'F':CRLF$]
Response = Trim(Line[-1, 'B='])
end
end service
Service GetScrapeServerPort()
FilePath = Drive():'\SRPEngineServerScrape.ini'
OSRead IniFile from FilePath then
CharIndex = Index(IniFile, 'Port', 1)
Line = IniFile[CharIndex, 'F':CRLF$]
Response = Trim(Line[-1, 'B='])
end
end service
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Internal GoSubs
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -1,272 +0,0 @@
COMPILE SUBROUTINE Export_WO_Log( Dummy )
DECLARE FUNCTION Msg, Dialog_Box, Utility, obj_Export, obj_WO_Log
DECLARE FUNCTION Set_Printer, Get_Printer, obj_Install, Utility, obj_MUWafers, Database_Services
DECLARE SUBROUTINE Btree.Extract, RList, END_Dialog, Make.List, Msg, ErrMsg, SetInitDirOptions
$INSERT LSL_USERS_EQU
$INSERT MSG_EQUATES
$INSERT RLIST_EQUATES
$INSERT OIPRINT_EQUATES
$INSERT WO_LOG_EQUATES
$INSERT WO_STEP_EQU
$INSERT WO_MAT_EQUATES
$INSERT COMPANY_EQU
$INSERT QUOTE_EQU
$INSERT QUOTE_SPEC_EQU
$INSERT RECIPE_EQU
$INSERT ORDER_DET_EQU
$INSERT PROD_SPEC_EQUATES
$insert PROD_VER_EQUATES
$INSERT EXCEL_EQU
CRLF$ = \0D0A\
OPEN 'WO_STEP' TO WOStepTable ELSE
ErrMsg('Unable to open "WO_STEP" table in EXPORT_WO_LOG routine.')
RETURN
END
OPEN 'DICT.WO_STEP' TO DictWOStep ELSE
ErrMsg('Unable to open "DICT.WO_STEP" table in EXPORT_WO_LOG routine.')
RETURN
END
Def = ""
Def<MTEXT$> = "Selecting Uncheduled Work Orders..."
Def<MTYPE$> = "U"
MsgUp = Msg(@window, Def)
* SelectSent = 'SELECT WO_STEP WITH SCHEDULED NE "Yes" '
Declare subroutine SRP_Stopwatch
SRP_Stopwatch('Reset')
SRP_Stopwatch('Start', 'StartDate')
StartDate = Oconv(Date() - 182, 'D4/')
SelectSent = 'SELECT WO_LOG WITH ENTRY_DATE GE ' : Quote(StartDate)
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
SRP_Stopwatch('Stop', 'StartDate')
SRP_Stopwatch('Start', 'Schedule')
SelectSent = 'SELECT WO_LOG WITH SCHEDULED NE "Yes" '
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
SRP_Stopwatch('Stop', 'Schedule')
* SRP_Stopwatch('ShowAll')
*SelectSent = 'SELECT WO_STEP WITH CURR_STATUS NE "CL" "COMP" '
*SelectSent = 'SELECT WO_STEP WITH CURR_STATUS = "NEW" "RTP" "RTS" "RX" "INPR" '
*RList(SelectSent,TARGET_ACTIVELIST$,'','','')
WOLogKeys = ''
Done = 0
LOOP
READNEXT WOLogKey ELSE Done = 1
UNTIL Done
WOLogKeys<-1> = WOLogKey
REPEAT
CONVERT @VM TO @FM IN WOLogKeys
IF WOLogKeys = '' THEN
Msg(@window, MsgUp)
ErrMsg('No Work Orders remain unscheduled.')
RETURN
END
Make.List('',WOLogKeys,'','')
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
Results = ''
Results<1,1> = 'Spec Type'
Results<1,2> = 'WO'
Results<1,3> = 'Customer'
Results<1,4> = 'Qty'
Results<1,5> = 'PSN'
Results<1,6> = 'Cust Part Numbers'
Results<1,7> = 'Reactor Type'
Results<1,8> = 'Sched Reacts'
Results<1,9> = 'Inch'
Results<1,10> = 'Tube Press Type'
Results<1,11> = 'Epi Gases'
Results<1,12> = 'Dopant L1'
Results<1,13> = 'Cap/Burst Gases'
Results<1,14> = 'Thick Target'
Results<1,15> = 'Res Target'
Results<1,16> = 'Expected Rx Dt'
Results<1,17> = 'Received Date'
Results<1,18> = 'Promised Ship'
Results<1,19> = 'Qual'
Results<1,20> = 'Blkd'
Results<1,21> = 'MU Wfrs'
Done = 0
LineCnt = 1
LOOP
READNEXT WOLogKey ELSE Done = 1
UNTIL Done
WONo = WOLogKey
WORec = XLATE('WO_LOG',WONo,'','X')
WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$>
CassCustPNs = XLATE('WO_MAT',WOMatKeys,WO_MAT_CUST_PART_NO$,'X')
CustPNs = ''
FOR I = 1 TO COUNT(CassCustPNs,@VM) + (CassCustPNs NE '')
LOCATE CassCustPNs<1,I> IN CustPNs USING @VM SETTING POS ELSE
CustPNs = INSERT(CustPNs,1,Pos,0,CassCustPNs<1,I>)
END
NEXT I
CompanyName = XLATE( 'COMPANY', WORec<WO_LOG_CUST_NO$>,COMPANY_CO_NAME$,'X')
SWAP ',' WITH '-' IN CompanyName
WaferQty = SUM(XLATE('WO_MAT',WOMatKeys,WO_MAT_WAFER_QTY$,'X'))
IF WaferQty > 0 THEN
ExpectedRxDts = ''
END ELSE
OrderNo = WORec<WO_LOG_ORDER_NO$>
OrderItems = WORec<WO_LOG_ORDER_ITEM$>
OrderDetKeys = ''
FOR N = 1 TO COUNT(OrderItems,@VM) + (OrderItems NE '')
OrderDetKeys<1,N> = OrderNo:'*':OrderItems<1,N>
NEXT N
WaferQty = SUM(XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_ITEM_QTY$,'X'))
ExpectedRxDts = XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_EXP_RX_DT$,'X')
END
MUWafers = obj_MUWafers('AvailWafers',WONo:@RM:WORec:@RM:0:@RM:1)
ShipThickTarget = XLATE('WO_LOG',WONo,'SHIP_THICK_TARGET','X')
ShipResTarget = XLATE('WO_LOG',WONo,'SHIP_RES_TARGET','X')
CustPSNs = XLATE('WO_STEP',WORec<34>,1,'X')
SWAP @VM WITH '\' IN CustPNs
* PSNo = WOStepRec<WO_STEP_PROD_SPEC_ID$>
ProdVerNo = WORec<WO_LOG_PROD_VER_NO$>
ProdVerRow = Database_Services('ReadDataRow', 'PROD_VER', ProdVerNo)
PSNo = ProdVerRow<PROD_VER_PROC_STEP_PSN$>
PSReactType = OCONV(XLATE('PROD_SPEC',PSNo,PROD_SPEC_REACTOR_TYPE$,'X'),'[REACT_TYPE_CONV]')
WaferSize = xlate( 'PROD_SPEC', PSNo, 'SUB_WAFER_SIZE', 'X' )
SWAP 75 WITH '' IN WaferSize
SWAP 100 WITH '' IN WaferSize
SWAP 125 WITH '' IN WaferSize
SWAP 150 WITH '' IN WaferSize
SWAP 200 WITH '' IN WaferSize
SWAP 'mm' WITH '' IN WaferSize
WaferSize = trim( WaferSize )
RecipeId = XLATE( 'PROD_SPEC', PSNo, 'RECIPE_NO_L1', 'X' )
EPIGases = XLATE( 'RECIPE', RecipeId, RECIPE_EPI_GASES$, 'X' )
* Reactors = WOStepRec<WO_STEP_REACTORS$>
Reactors = Xlate('PROD_SPEC', PSNo, PROD_SPEC_QUAL_REACTS$, 'X')
* BlockedReactors = WOStepRec<WO_STEP_BLOCKED_REACTORS$>
BlockedReactors = Xlate('PROD_SPEC', PSNo, PROD_SPEC_BLOCKED_REACTS$, 'X')
SchedReactors = XLATE('WO_LOG',WONo,'SCHED_REACTS','X')
CONVERT @VM TO ',' IN Reactors
CONVERT @VM TO ',' IN BlockedReactors
IF WaferQty > 0 THEN
LineCnt += 1
Results<LineCnt,1> = OCONV(XLATE( 'PROD_SPEC', PSNo, 'SPEC_TYPE', 'X' ),'[SPEC_TYPE_CONV]') ;* Spec Type
Results<LineCnt,2> = OCONV(WONo,'MD0') ;* WO
Results<LineCnt,3> = CompanyName ;* Company Name
Results<LineCnt,4> = OCONV(WaferQty,'MDO') ;* Wafer Qty
Results<LineCnt,5> = OCONV(PSNo,'MD0') ;* Prod Spec ID
Results<LineCnt,6> = CustPNs ;* Customer Part Numbers
Results<LineCnt,7> = PSReactType ;* Reactor type for Prod Spec
Results<LineCnt,8> = SchedReactors
Results<LineCnt,9> = WaferSize ;* Wafer Size
Results<LineCnt,10> = XLATE( 'PROD_SPEC', PSNo, 'TUBE_PRESSURE_TYPE', 'X' ) ;* Tube Pressure Type
Results<LineCnt,11> = EPIGases
Results<LineCnt,12> = XLATE( 'PROD_SPEC', PSNo, 'DOPANT_L1', 'X' ) ;* Dopant L1
Results<LineCnt,13> = XLATE( 'RECIPE', RecipeId, RECIPE_CAP_BURST_GASES$, 'X' ) ;* Cap Burst Gases
Results<LineCnt,14> = ShipThickTarget
Results<LineCnt,15> = ShipResTarget
Results<LineCnt,16> = OCONV(ExpectedRxDts<1,1>,'D4/')
Results<LineCnt,17> = OCONV(XLATE('WO_MAT',WONo:'*1',WO_MAT_RX_DTM$,'X')[1,'.'],'D4/')
Results<LineCnt,18> = OCONV(WORec<WO_LOG_PROMISE_SHIP_DT$>,'D4/')
Results<LineCnt,19> = Reactors
Results<LineCnt,20> = BlockedReactors
Results<LineCnt,21> = MUWafers
TempLine = Results<LineCnt>
CONVERT '"' TO '' IN TempLine
Results<LineCnt> = TempLine
END
REPEAT
PasteBlob = Results
* * * * * *
SWAP @VM WITH CHAR(9) IN PasteBlob
SWAP @FM WITH CRLF$ IN PasteBlob
CALL Set_Property('CLIPBOARD', 'TEXT', PasteBlob)
ExportColCnt = 20
* * * Paste it into a blank Excel Sheet
xlApp = OleCreateInstance("excel.Application")
IF OleStatus() THEN
Msg(@window, MsgUp)
ErrorMsg = 'Excel failed to start.':CRLF$:CRLF$
ErrorMsg := 'The data from this export is on your clipboard and can be pasted into Excel on your local machine using <Ctrl><V> .'
ErrMsg(ErrorMsg)
RETURN
END
xlWorkBooks = OleGetProperty(xlApp, "Workbooks")
xlWorkBook = OleCallMethod(xlWorkBooks,'Add')
* * * wait a second
Now = Time()
LOOP
CALL Yield()
WHILE Time() EQ Now
REPEAT
OlePutProperty(XlApp, 'Visible', xlSheetVisible)
void = OleCallMethod(xlWorkBook,'Activate')
xlActiveSheet = OleGetProperty(xlWorkBook,'ActiveSheet')
void = OleCallMethod(xlActiveSheet,'Paste')
eXcelCols = obj_Export('ExcelCol',TextColNos) ;* Returns alpha Excel columns from numeric columns
FirstLastCols = obj_Export('ExcelCol',1:@VM:ExportColCnt)
FirstColumn = FirstLastCols[1,@VM]
LastColumn = FirstLastCols[COL2()+1,@VM]
range = OleGetProperty(xlActiveSheet,'Range',FirstColumn:'1:':LastColumn:'1')
font = OleGetProperty(range,'Font')
OlePutProperty(font,'FontStyle','Bold')
OlePutProperty(font,'UnderLine',xlUnderlineStyleSingle)
column = OleGetProperty(xlActiveSheet,'Columns',FirstColumn:':':LastColumn)
void = OleCallMethod(column,'AutoFit')
Msg(@window, MsgUp)
RETURN

View File

@ -1,263 +0,0 @@
COMPILE SUBROUTINE Export_WO_Log_Orig( Dummy )
DECLARE FUNCTION Msg, Dialog_Box, Utility, obj_Export, obj_WO_Log
DECLARE FUNCTION Set_Printer, Get_Printer, obj_Install, Utility, obj_MUWafers
DECLARE SUBROUTINE Btree.Extract, RList, END_Dialog, Make.List, Msg, ErrMsg, SetInitDirOptions
$INSERT LSL_USERS_EQU
$INSERT MSG_EQUATES
$INSERT RLIST_EQUATES
$INSERT OIPRINT_EQUATES
$INSERT WO_LOG_EQU
$INSERT WO_STEP_EQU
$INSERT WO_MAT_EQUATES
$INSERT COMPANY_EQU
$INSERT QUOTE_EQU
$INSERT QUOTE_SPEC_EQU
$INSERT RECIPE_EQU
$INSERT ORDER_DET_EQU
$INSERT PROD_SPEC_EQUATES
$INSERT EXCEL_EQU
CRLF$ = \0D0A\
OPEN 'WO_STEP' TO WOStepTable ELSE
ErrMsg('Unable to open "WO_STEP" table in EXPORT_WO_LOG routine.')
RETURN
END
OPEN 'DICT.WO_STEP' TO DictWOStep ELSE
ErrMsg('Unable to open "DICT.WO_STEP" table in EXPORT_WO_LOG routine.')
RETURN
END
Def = ""
Def<MTEXT$> = "Selecting Uncheduled Work Orders..."
Def<MTYPE$> = "U"
MsgUp = Msg(@window, Def)
SelectSent = 'SELECT WO_STEP WITH SCHEDULED NE "Yes" '
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
*SelectSent = 'SELECT WO_STEP WITH CURR_STATUS NE "CL" "COMP" '
*SelectSent = 'SELECT WO_STEP WITH CURR_STATUS = "NEW" "RTP" "RTS" "RX" "INPR" '
*RList(SelectSent,TARGET_ACTIVELIST$,'','','')
WOStepKeys = ''
Done = 0
LOOP
READNEXT WOStepKey ELSE Done = 1
UNTIL Done
WOStepKeys<-1> = WOStepKey
REPEAT
CONVERT @VM TO @FM IN WOStepKeys
IF WOStepKeys = '' THEN
Msg(@window, MsgUp)
ErrMsg('No Work Orders remain unscheduled.')
RETURN
END
Make.List('',WOStepKeys,WOStepTable,DictWOStep)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
Results = ''
Results<1,1> = 'Spec Type'
Results<1,2> = 'WO'
Results<1,3> = 'Customer'
Results<1,4> = 'Qty'
Results<1,5> = 'PSN'
Results<1,6> = 'Cust Part Numbers'
Results<1,7> = 'Reactor Type'
Results<1,8> = 'Sched Reacts'
Results<1,9> = 'Inch'
Results<1,10> = 'Tube Press Type'
Results<1,11> = 'Epi Gases'
Results<1,12> = 'Dopant L1'
Results<1,13> = 'Cap/Burst Gases'
Results<1,14> = 'Thick Target'
Results<1,15> = 'Res Target'
Results<1,16> = 'Expected Rx Dt'
Results<1,17> = 'Received Date'
Results<1,18> = 'Promised Ship'
Results<1,19> = 'Qual'
Results<1,20> = 'Blkd'
Results<1,21> = 'MU Wfrs'
Done = 0
LineCnt = 1
LOOP
READNEXT WOStepKey ELSE Done = 1
UNTIL Done
READ WOStepRec FROM WOStepTable,WOStepKey THEN
IF WOStepRec<WO_STEP_SCHEDULED$> NE '1' THEN
WONo = WOStepKey[1,'*']
WORec = XLATE('WO_LOG',WONo,'','X')
WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$>
CassCustPNs = XLATE('WO_MAT',WOMatKeys,WO_MAT_CUST_PART_NO$,'X')
CustPNs = ''
FOR I = 1 TO COUNT(CassCustPNs,@VM) + (CassCustPNs NE '')
LOCATE CassCustPNs<1,I> IN CustPNs USING @VM SETTING POS ELSE
CustPNs = INSERT(CustPNs,1,Pos,0,CassCustPNs<1,I>)
END
NEXT I
CompanyName = XLATE( 'COMPANY', WORec<WO_LOG_CUST_NO$>,COMPANY_CO_NAME$,'X')
SWAP ',' WITH '-' IN CompanyName
WaferQty = SUM(XLATE('WO_MAT',WOMatKeys,WO_MAT_WAFER_QTY$,'X'))
IF WaferQty > 0 THEN
ExpectedRxDts = ''
END ELSE
OrderNo = WORec<WO_LOG_ORDER_NO$>
OrderItems = WORec<WO_LOG_ORDER_ITEM$>
OrderDetKeys = ''
FOR N = 1 TO COUNT(OrderItems,@VM) + (OrderItems NE '')
OrderDetKeys<1,N> = OrderNo:'*':OrderItems<1,N>
NEXT N
WaferQty = SUM(XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_ITEM_QTY$,'X'))
ExpectedRxDts = XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_EXP_RX_DT$,'X')
END
MUWafers = obj_MUWafers('AvailWafers',WONo:@RM:WORec:@RM:0:@RM:1)
ShipThickTarget = XLATE('WO_LOG',WONo,'SHIP_THICK_TARGET','X')
ShipResTarget = XLATE('WO_LOG',WONo,'SHIP_RES_TARGET','X')
CustPSNs = XLATE('WO_STEP',@RECORD<34>,1,'X')
SWAP @VM WITH '\' IN CustPNs
PSNo = WOStepRec<WO_STEP_PROD_SPEC_ID$>
PSReactType = OCONV(XLATE('PROD_SPEC',PSNo,PROD_SPEC_REACTOR_TYPE$,'X'),'[REACT_TYPE_CONV]')
WaferSize = xlate( 'PROD_SPEC', PSNo, 'SUB_WAFER_SIZE', 'X' )
SWAP 75 WITH '' IN WaferSize
SWAP 100 WITH '' IN WaferSize
SWAP 125 WITH '' IN WaferSize
SWAP 150 WITH '' IN WaferSize
SWAP 200 WITH '' IN WaferSize
SWAP 'mm' WITH '' IN WaferSize
WaferSize = trim( WaferSize )
RecipeId = XLATE( 'PROD_SPEC', PSNo, 'RECIPE_NO_L1', 'X' )
EPIGases = XLATE( 'RECIPE', RecipeId, RECIPE_EPI_GASES$, 'X' )
Reactors = WOStepRec<WO_STEP_REACTORS$>
BlockedReactors = WOStepRec<WO_STEP_BLOCKED_REACTORS$>
SchedReactors = XLATE('WO_LOG',WONo,'SCHED_REACTS','X')
CONVERT @VM TO ',' IN Reactors
CONVERT @VM TO ',' IN BlockedReactors
IF WaferQty > 0 THEN
LineCnt += 1
Results<LineCnt,1> = OCONV(XLATE( 'PROD_SPEC', PSNo, 'SPEC_TYPE', 'X' ),'[SPEC_TYPE_CONV]') ;* Spec Type
Results<LineCnt,2> = OCONV(WONo,'MD0') ;* WO
Results<LineCnt,3> = CompanyName ;* Company Name
Results<LineCnt,4> = OCONV(WaferQty,'MDO') ;* Wafer Qty
Results<LineCnt,5> = OCONV(PSNo,'MD0') ;* Prod Spec ID
Results<LineCnt,6> = CustPNs ;* Customer Part Numbers
Results<LineCnt,7> = PSReactType ;* Reactor type for Prod Spec
Results<LineCnt,8> = SchedReactors
Results<LineCnt,9> = WaferSize ;* Wafer Size
Results<LineCnt,10> = XLATE( 'PROD_SPEC', PSNo, 'TUBE_PRESSURE_TYPE', 'X' ) ;* Tube Pressure Type
Results<LineCnt,11> = EPIGases
Results<LineCnt,12> = XLATE( 'PROD_SPEC', PSNo, 'DOPANT_L1', 'X' ) ;* Dopant L1
Results<LineCnt,13> = XLATE( 'RECIPE', RecipeId, RECIPE_CAP_BURST_GASES$, 'X' ) ;* Cap Burst Gases
Results<LineCnt,14> = ShipThickTarget
Results<LineCnt,15> = ShipResTarget
Results<LineCnt,16> = OCONV(ExpectedRxDts<1,1>,'D4/')
Results<LineCnt,17> = OCONV(XLATE('WO_MAT',WONo:'*1',WO_MAT_RX_DTM$,'X')[1,'.'],'D4/')
Results<LineCnt,18> = OCONV(WORec<WO_LOG_PROMISE_SHIP_DT$>,'D4/')
Results<LineCnt,19> = Reactors
Results<LineCnt,20> = BlockedReactors
Results<LineCnt,21> = MUWafers
TempLine = Results<LineCnt>
CONVERT '"' TO '' IN TempLine
Results<LineCnt> = TempLine
END
END
END
REPEAT
PasteBlob = Results
* * * * * *
SWAP @VM WITH CHAR(9) IN PasteBlob
SWAP @FM WITH CRLF$ IN PasteBlob
CALL Set_Property('CLIPBOARD', 'TEXT', PasteBlob)
ExportColCnt = 20
* * * Paste it into a blank Excel Sheet
xlApp = OleCreateInstance("excel.Application")
IF OleStatus() THEN
Msg(@window, MsgUp)
ErrorMsg = 'Excel failed to start.':CRLF$:CRLF$
ErrorMsg := 'The data from this export is on your clipboard and can be pasted into Excel on your local machine using <Ctrl><V> .'
ErrMsg(ErrorMsg)
RETURN
END
xlWorkBooks = OleGetProperty(xlApp, "Workbooks")
xlWorkBook = OleCallMethod(xlWorkBooks,'Add')
* * * wait a second
Now = Time()
LOOP
CALL Yield()
WHILE Time() EQ Now
REPEAT
OlePutProperty(XlApp, 'Visible', xlSheetVisible)
void = OleCallMethod(xlWorkBook,'Activate')
xlActiveSheet = OleGetProperty(xlWorkBook,'ActiveSheet')
void = OleCallMethod(xlActiveSheet,'Paste')
eXcelCols = obj_Export('ExcelCol',TextColNos) ;* Returns alpha Excel columns from numeric columns
FirstLastCols = obj_Export('ExcelCol',1:@VM:ExportColCnt)
FirstColumn = FirstLastCols[1,@VM]
LastColumn = FirstLastCols[COL2()+1,@VM]
range = OleGetProperty(xlActiveSheet,'Range',FirstColumn:'1:':LastColumn:'1')
font = OleGetProperty(range,'Font')
OlePutProperty(font,'FontStyle','Bold')
OlePutProperty(font,'UnderLine',xlUnderlineStyleSingle)
column = OleGetProperty(xlActiveSheet,'Columns',FirstColumn:':':LastColumn)
void = OleCallMethod(column,'AutoFit')
Msg(@window, MsgUp)
RETURN

View File

@ -593,15 +593,9 @@ Service RemoveRunID(RunID)
LogData<2> = @USER4
LogData<3> = EtchID
Machine = Environment_Services('GetServer')
If Machine NE 'MESSA01EC' then
EmailAddr = 'dstieber@srpcs.com,Dan.Crisp@infineon.com,4805890050@vtext.com,6613649828@txt.att.net'
EmailMsg = 'Error removing Run ID: ':RunID:' from APP_INFO*PRERUN_GAN_RUN_IDS'
Logging_Services('AppendLog', ObjLog, LogData, @RM, @FM, False$, EmailAddr, EmailMsg)
end else
Logging_Services('AppendLog', ObjLog, LogData, @RM, @FM, False$)
end
end
end
end service
@ -1763,15 +1757,8 @@ Service RemoveCassFromWIP(WOMatKey)
end else
LogData<6> = 'Error removing Cass ID ':WOMatKey:' from queue ':CassQueue:'. Number of attempts: ':NumAttempts:'.'
end
Machine = Environment_Services('GetServer')
If Machine NE 'MESSA01EC' then
EmailAddr = 'dstieber@srpcs.com,6613649828@txt.att.net'
EmailMsg = 'Error removing Cass ID ':WOMatKey:' from queue ':CassQueue:'.'
Logging_Services('AppendLog', objWIPLog, LogData, @RM, @FM, False$, EmailAddr, EmailMsg)
end else
Logging_Services('AppendLog', objWIPLog, LogData, @RM, @FM, False$)
end
end
end else
// Cass not in queue that was passed in. Log this information.
LogData = ''
@ -1781,15 +1768,8 @@ Service RemoveCassFromWIP(WOMatKey)
LogData<4> = CassQueue
LogData<5> = CassQueue
LogData<6> = 'Error in ':Service:' service. Cass not in QueueID ':CassQueue:'.'
Machine = Environment_Services('GetServer')
If Machine NE 'MESSA01EC' then
EmailAddr = 'dstieber@srpcs.com,6613649828@txt.att.net'
EmailMsg = 'Error in ':Service:' service. Cass not in QueueID ':CassQueue:'.'
Logging_Services('AppendLog', objWIPLog, LogData, @RM, @FM, False$, EmailAddr, EmailMsg)
end else
Logging_Services('AppendLog', objWIPLog, LogData, @RM, @FM, False$)
end
end
end else
// WOMatKey is null
LogData = ''

File diff suppressed because it is too large Load Diff

View File

@ -69,4 +69,3 @@ API healthinfo.GET
HTTP_Resource_Services('LoremIpsum')
end api

View File

@ -382,7 +382,7 @@ Service GetAllZebraPrinters()
ZebraPrinterList<6> = 'MESZBRPRT007' : @VM : '10.95.1.13' : @VM : 9100
ZebraPrinterList<7> = 'MESZBRPRT008' : @VM : '10.95.164.24' : @VM : 9100
ZebraPrinterList<8> = 'MESZBRPRT0011' : @VM : '10.95.15.33' : @VM : 6101
ZebraPrinterList<9> = 'FI_ZEBRA_PRINTER' : @VM : '10.95.164.55' : @VM : 9100
ZebraPrinterList<9> = 'FI_ZEBRA_PRINTER' : @VM : '10.95.164.68' : @VM : 9100
If Server EQ 'MESTSA01EC' OR Server EQ 'MESSA01EC' or Server EQ 'MESTSA09EC' |
or Server EQ 'MESTSA010EC' or Server EQ 'MESTSA011EC' or Server EQ 'MESTSA012EC' then
ZebraPrinterList<10> = 'JONATHAN_HOME_TEST' : @VM : '192.168.0.123' : @VM : 9100

View File

@ -161,7 +161,3 @@ API Lock.HEAD
end
end api

View File

@ -0,0 +1,460 @@
Function Lotoperation_API(@API)
/***********************************************************************************************************************
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
permission from SRP Computer Solutions, Inc.
Name : Lotoperation_API
Description : API logic for the Lotoperation resource.
Notes : All web APIs should include the API_SETUP insert. This will provide several useful variables:
HTTPMethod - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.)
APIURL - The URL for the API entry point (e.g., api.mysite.com/v1).
FullEndpointURL - The URL submitted by the client, including query params.
FullEndpointURLNoQuery - The URL submitted by the client, excluding query params.
EndpointSegment - The URL endpoint segment.
ParentURL - The URL path preceeding the current endpoint.
CurrentAPI - The name of this stored procedure.
Parameters :
API [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]:
- APIPattern must follow this structure Lotoperation[.ID.[<Property>]]
- HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc.
Examples:
- Lotoperation.POST
- Lotoperation.ID.PUT
- Lotoperation.ID.firstName.GET
Response [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API
services do not rely upon anything being returned in the response. This is what the
various services like SetResponseBody and SetResponseStatus services are for. A response
value is only helpful if the developers want to use it for debug purposes.
History : (Date, Initials, Notes)
05/20/25 xxx Original programmer.
***********************************************************************************************************************/
#pragma precomp SRP_PreCompiler
Declare function OI_Wizard_Services, Lot_Operation_Services, Database_Services, Lot_Services, Clean_Services
Declare function Met_Test_Services
Declare subroutine Lot_Services, Met_Test_Services, Wafer_Counter_Services
$insert APP_INSERTS
$insert API_SETUP
$insert HTTP_INSERTS
$insert OI_WIZARD_EQUATES
$insert LOT_OPERATION_EQUATES
GoToAPI else
// The specific resource endpoint doesn't have a API handler yet.
HTTP_Services('SetResponseStatus', 204, 'This is a valid endpoint but a web API handler has not yet been created.')
end
Return Response OR ''
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Endpoint Handlers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
API lotoperation.HEAD
API lotoperation.GET
HTTP_Resource_Services('LoremIpsum')
end api
API lotoperation.addoperation.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
LotId = SRP_JSON(objBody, 'GetValue', 'NewLotOperationData.LotId')
OperationId = SRP_JSON(objBody, 'GetValue', 'NewLotOperationData.OperationId')
Sequence = SRP_JSON(objBody, 'GetValue', 'NewLotOperationData.Sequence')
SRP_JSON(objBody, 'Release')
end
If RowExists('LOT', LotId) then
If RowExists('OPERATION', OperationId) then
If Sequence NE '' then
NewOperationId = Lot_Operation_Services('AddOperationToLot', LotId, OperationId, Sequence, UserId)
If Error_Services('NoError') then
LotJsonString = Lot_Services('ConvertLotRecordToJson', LotId, '', UserId)
HTTP_Services('SetResponseBody', LotJsonString, False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid Sequence.'
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid Operation.'
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid Lot.'
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API lotoperation.removeoperation.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
LotOperationId = SRP_JSON(objBody, 'GetValue', 'LotOperationIdToRemove')
SRP_JSON(objBody, 'Release')
end
If RowExists('LOT_OPERATION', LotOperationId) then
LotId = Database_Services('ReadDataColumn', 'LOT_OPERATION', LotOperationId, LOT_OPERATION_LOT_ID$, True$, 0, False$)
Removed = Lot_Operation_Services('RemoveLotOperation', LotOperationId, UserId)
If Error_Services('NoError') then
LotJsonString = Lot_Services('ConvertLotRecordToJson', LotId, '', UserId)
HTTP_Services('SetResponseBody', LotJsonString, False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid Operation.'
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API lotoperation.startlotoperation.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
LotOperationId = SRP_JSON(objBody, 'GetValue', 'lotOperationId')
SRP_JSON(objBody, 'Release')
end
LotProcessStarted = Lot_Operation_Services('StartLotOperation', LotOperationId, UserId)
If Error_Services('NoError') then
LotOperationJson = Lot_Operation_Services('ConvertRecordToJson', LotOperationId)
HTTP_Services('SetResponseBody', LotOperationJson,False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = 'Error while moving lot in. ' : Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API lotoperation.completelotoperation.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
LotOperationId = SRP_JSON(objBody, 'GetValue', 'lotOperationId')
SRP_JSON(objBody, 'Release')
end
LotProcessCompleted = Lot_Operation_Services('CompleteLotOperation', LotOperationId, UserId)
If Error_Services('NoError') then
LotOperationJson = Lot_Operation_Services('ConvertRecordToJson', LotOperationId)
HTTP_Services('SetResponseBody', LotOperationJson)
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API lotoperation.ID.HEAD
API lotoperation.ID.GET
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
LotOperationId = EndpointSegment
If RowExists('LOT_OPERATION', LotOperationId) then
LotOperationJson = Lot_Operation_Services('ConvertRecordToJson', LotOperationId)
HTTP_Services('SetResponseBody', LotOperationJson, False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = 'Lot Operation not found in database.'
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API lotoperation.associatemettest.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
LotOperationId = SRP_JSON(objBody, 'GetValue', 'LotOperationId')
MetTestId = SRP_JSON(objBody, 'GetValue', 'MetTestId')
SRP_JSON(objBody, 'Release')
end
Met_Test_Services('AttachMetTestToLotOperation', MetTestId, LotOperationId, UserId)
If Error_Services('NoError') then
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API lotoperation.removemettest.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
LotOperationId = SRP_JSON(objBody, 'GetValue', 'LotOperationId')
MetTestId = SRP_JSON(objBody, 'GetValue', 'MetTestId')
SRP_JSON(objBody, 'Release')
end
Met_Test_Services('RemoveMetTestFromLotOperation', MetTestId, LotOperationId, UserId)
If Error_Services('NoError') then
HTTP_Services('SetResponseBody', LotJsonString, False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API lotoperation.associatewafercounter.POST
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPPostString', True$)
// The POST string will have been encoded so use percent (URL) decoding.
DecodedJSON = HTTP_Services('DecodePercentString', Body)
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
LotOperationId = SRP_JSON(objBody, 'GetValue', 'LotOperationId')
WaferCounterId = SRP_JSON(objBody, 'GetValue', 'WaferCounterId')
SRP_JSON(objBody, 'Release')
end
Wafer_Counter_Services('AssociateWaferCounter', LotOperationId, WaferCounterId, UserId)
If Error_Services('NoError') then
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api

View File

@ -38,9 +38,12 @@ Function Lot_API(@API)
#pragma precomp SRP_PreCompiler
Declare function OI_Wizard_Services, Lot_Services, Database_Services, PSN_Services, Clean_Services
$insert APP_INSERTS
$insert API_SETUP
$insert HTTP_INSERTS
$Insert OI_WIZARD_EQUATES
GoToAPI else
// The specific resource endpoint doesn't have a API handler yet.
@ -55,3 +58,159 @@ Return Response OR ''
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
API lot.ID.HEAD
API lot.ID.GET
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
UserId = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
LotId = EndpointSegment
If RowExists('LOT', LotId) then
LotJson = Lot_Services('ConvertLotRecordToJson', LotId, '', UserId)
HTTP_Services('SetResponseBody', LotJson, False$, 'application/hal+json')
ResponseCode = 200
end else
ResponseCode = 500
ErrorMessage = 'Lot not found in database.'
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
API lot.getlotbylegacylotid.HEAD
API lot.getlotbylegacylotid.GET
ErrorMessage = ''
ResponseCode = ''
ResponseMessage = ''
Body = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
StatusCode = ''
Body = HTTP_Services('GetHTTPGetString')
LegacyLotId = Http_Services('GetQueryField', 'LegacyLotId')
LegacyLotType = Http_Services('GetQueryField', 'LegacyLotType')
LotId = Lot_Services('GetLotIdByLegacyLotIdAndType', LegacyLotId, LegacyLotType)
LotJson = Lot_Services('ConvertLotRecordToJson', LotId, '', UserId)
If Error_Services('NoError') then
HTTP_Services('SetResponseBody', LotJson, False$, 'application/hal+json')
ResponseCode = 200
end else
ErrorMessage = Error_Services('GetMessage')
ResponseCode = 500
end
end else
ErrorMessage = 'Invalid session. Reauthentication required.'
ResponseCode = 401
end
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
end api
end api
API lot.ID.getrecipeoptions.HEAD
API lot.ID.getrecipeoptions.GET
JSONCollection = ''
OIWizardID = ''
Cookies = HTTP_Services('GetHTTPCookie')
For each Cookie in Cookies using ';'
Key = Field(Cookie, '=', 1)
If Key EQ 'sessionID' then
OIWizardID = Field(Cookie, '=', 2)
end
Next Cookie
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
If ValidSession then
LotId = EndpointSegment
PSN = Database_Services('ReadDataColumn', 'LOT', LotId, LOT_PROD_SPEC_ID$, True$, 0, False$)
RecipeParameters = PSN_Services('GetAllMetrologyRecipes', PSN, True$, True$, True$, True$)
If Error_Services('NoError') then
If Body NE '' then
RequestJson = HTTP_Services('DecodePercentString', Body)
objJSONResponse = ''
If SRP_Json(objJSONResponse, 'New', 'Object') then
//Available Tools
If SRP_Json(objCleanTools, 'New', 'Array') then
CleanTools = Clean_Services('GetCleanToolOptions')
for each CleanTool in CleanTools using @FM
SRP_Json(objCleanTools, 'AddValue', CleanTool, 'String')
Next CleanTool
SRP_Json(objJsonResponse, 'Set', 'CleanToolOptions', objCleanTools)
SRP_Json(objCleanTools, 'Release')
end
//Available Recipes
If SRP_Json(objCleanRecipes, 'New', 'Array') then
CleanRecipes = Clean_Services('GetCleanRecipeOptions')
for each Recipe in CleanRecipes using @VM
SRP_Json(objCleanRecipes, 'AddValue', Recipe, 'String')
Next Recipe
SRP_Json(objJsonResponse, 'Set', 'CleanRecipeOptions', objCleanRecipes)
SRP_Json(objCleanRecipes, 'Release')
end
JsonResponse = SRP_Json(objJsonResponse, 'Stringify', 'Styled')
SRP_Json(objJsonResponse, 'Release')
end else
Error_Services('Add', 'Error when creating JSON response.')
end
end else
Error_Services('Add', 'No body was sent with the request.')
end
end else
ErrorMessage = Error_Services('GetMessage')
end
If Error_Services('NoError') then
HTTP_Services('SetResponseStatus', 201, 'Success')
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
HTTP_Services('SetResponseBody', JsonResponse, False$, 'application/hal+json')
end else
HTTP_Services('SetResponseStatus', 400, Error_Services('GetMessage'))
end
end else
HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.')
end
end api

Some files were not shown because too many files have changed in this diff Show More