Added in functionality for TW WIP Reporting

Refactored error logging and catching.
This commit is contained in:
Infineon\Ouellette
2024-10-31 08:13:46 -07:00
committed by Ouellette Jonathan (CSC FI SPS MESLEO)
parent 0ec0428f19
commit 508707f0f2
6 changed files with 478 additions and 104 deletions

View File

@ -8,9 +8,9 @@ $Insert TEST_RUN_EQUATES
$Insert TEST_RUN_WAFER_EQUATES
$Insert TEST_RUN_OBJ_EQUATES
Declare function Nextkey, Error_Services, Environment_Services, OConv, Logging_Services, SRP_Hashtable
Declare function SRP_Datetime, Database_Services, Test_Run_Services, File_Services, Status, delete, Insert
Declare subroutine Database_Services, Btree.Extract, Error_Services, Logging_Services, Rlist, Test_Run_Services,
Declare function Nextkey, Error_Services, Environment_Services, OConv, Logging_Services, SRP_Hashtable, Lot_Services
Declare function SRP_Datetime, Database_Services, Test_Run_Services, File_Services, Status, delete, Insert, Datetime, SRP_Json
Declare subroutine Database_Services, Btree.Extract, Error_Services, Logging_Services, Rlist, Test_Run_Services, Lot_Services, SRP_Json
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\TEST_RUN_SERVICES\TestWaferProduct'
LogDate = Oconv(Date(), 'D4/')
@ -297,6 +297,24 @@ Service GetAllTestRunTypes()
Response = rtList
end service
Service GetTestWaferLots(ShowOnlyOpenLots)
ErrorMessage = ''
TestWaferLotKeys = ''
SearchString = 'TYPE':@VM:'TW':@FM
If ShowOnlyOpenLots then
SearchString := 'OPEN':@VM:True$:@FM
end
Open 'DICT.LOT' to @DICT then
Btree.Extract(SearchString, 'LOT', @DICT, TestWaferLotKeys, '', '')
end else
ErrorMessage = 'Error opening LOT dictionary.'
end
If ErrorMessage NE '' then
Error_Services('Add', ErrorMessage)
end
Response = TestWaferLotKeys
end service
Service CreateTestRunRecord(RunTypeID, EqpType, EqpID, PSNo, RDSNo, UserID)
Response = ''
ErrorMessage = ''
@ -326,7 +344,7 @@ Service CreateTestRunRecord(RunTypeID, EqpType, EqpID, PSNo, RDSNo, UserID)
If RunTypeID EQ '' then
ErrorMessage := 'Run Type ID Missing. '
end
If EqpTypeID EQ '' then
If EqpType EQ '' then
ErrorMessage := 'Equipment Type ID Missing. '
end
If EqpID EQ '' then
@ -346,7 +364,7 @@ Service CreateTestRunRecord(RunTypeID, EqpType, EqpID, PSNo, RDSNo, UserID)
end
end service
Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotID)
Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotID, Username)
ErrorMessage = ''
If TestRunID NE '' AND TWPartID NE '' then
If RowExists('TEST_RUN', TestRunID) then
@ -366,6 +384,9 @@ Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotID
Logging_Services('AppendLog', objLogTR, LogData, @FM, @VM)
//Increment Usage in TEST_WAFER_PROD Record
Test_Run_Services('IncrementTWProdUsage', TWPartID)
If SourceLotID NE '' then
Test_Run_Services('UseTWFromLot', SourceLotId, 1, Username)
end
Response = TRWaferKey
end else
ErrorMessage := 'Error writing TEST_RUN_WAFER record with key of ' : TRWaferKey '. '
@ -389,6 +410,19 @@ Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotID
Logging_Services('AppendLog', objLogTR, LogData, @FM, @VM)
end
end service
Service UseTWFromLot(LotId, UsageQty, Username)
ErrorMessage = ''
If RowExists('LOT', LotId) then
Lot_Services('CreateLotEvent', LotId, 'TW', Datetime(), 'REDUCE_WAFER_QTY', 'Consumed test wafer.', '', UsageQty, 0, '', Username)
end else
ErrorMessage = 'Error logging wafer consumption from Lot # ' : LotId : '. Lot does not exist in LOT table.'
end
If ErrorMessage EQ '' then
end else
//Log Error
end
end service
Service GetTestRunById(TestRunID)
If TestRunID NE '' then
@ -603,3 +637,4 @@ end service