smart scanner metrics
This commit is contained in:
parent
803f946c7e
commit
ebd8b36d13
@ -2,9 +2,9 @@ Compile function Lot_Services(@Service, @Params)
|
|||||||
#pragma precomp SRP_PreCompiler
|
#pragma precomp SRP_PreCompiler
|
||||||
|
|
||||||
Declare function TEST_WAFER_PROD_SERVICES, SRP_Datetime, Datetime, Database_Services, Lot_Services, Error_Services, RTI_CREATEGUID
|
Declare function TEST_WAFER_PROD_SERVICES, SRP_Datetime, Datetime, Database_Services, Lot_Services, Error_Services, RTI_CREATEGUID
|
||||||
Declare function SRP_Array, SRP_Json, Environment_Services, Logging_Services, MemberOf, Lot_Event_Services
|
Declare function SRP_Array, SRP_Json, Environment_Services, Logging_Services, MemberOf, Lot_Event_Services, GetTickCount
|
||||||
Declare subroutine Database_Services, Btree.Extract, Lot_Services, Error_Services, Labeling_Services, SRP_Json, Logging_Services
|
Declare subroutine Database_Services, Btree.Extract, Lot_Services, Error_Services, Labeling_Services, SRP_Json, Logging_Services
|
||||||
Declare subroutine SRP_Run_Command, Service_Services, obj_notes, Lot_Event_Services
|
Declare subroutine SRP_Run_Command, Service_Services, obj_notes, Lot_Event_Services, Mona_Services
|
||||||
$insert APP_INSERTS
|
$insert APP_INSERTS
|
||||||
$Insert LOT_EQUATES
|
$Insert LOT_EQUATES
|
||||||
$Insert TEST_WAFER_PROD_EQUATES
|
$Insert TEST_WAFER_PROD_EQUATES
|
||||||
@ -38,6 +38,13 @@ objLotClosureLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',',
|
|||||||
Options EVENT_TYPES = 'MOVE_IN', 'MOVE_OUT', 'HOLD_ON', 'HOLD_OFF', 'REDUCE_WAFER_QTY', 'BONUS_WAFER_QTY', 'COMMENT', 'LOCATION', 'LOAD', 'UNSIGN_LOAD', 'TW_USE', 'CLOSE'
|
Options EVENT_TYPES = 'MOVE_IN', 'MOVE_OUT', 'HOLD_ON', 'HOLD_OFF', 'REDUCE_WAFER_QTY', 'BONUS_WAFER_QTY', 'COMMENT', 'LOCATION', 'LOAD', 'UNSIGN_LOAD', 'TW_USE', 'CLOSE'
|
||||||
Options LOT_TYPES = 'TW', 'RDS', 'WM_OUT', 'WM_IN', 'WO_MAT', 'LOT'
|
Options LOT_TYPES = 'TW', 'RDS', 'WM_OUT', 'WM_IN', 'WO_MAT', 'LOT'
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_LOTSERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_LOTSERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService
|
GoToService
|
||||||
|
|
||||||
Return Response or ""
|
Return Response or ""
|
||||||
@ -113,6 +120,9 @@ Service GenerateNewLotId(LotType)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetLotIdByLegacyLotIdAndType(LegacyLotId, LegacyLotType)
|
Service GetLotIdByLegacyLotIdAndType(LegacyLotId, LegacyLotType)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetLotIdByLegacyLotIdAndType'
|
||||||
|
|
||||||
Open 'DICT.LOT' to DictLot then
|
Open 'DICT.LOT' to DictLot then
|
||||||
|
|
||||||
SearchString = ''
|
SearchString = ''
|
||||||
@ -130,10 +140,16 @@ Service GetLotIdByLegacyLotIdAndType(LegacyLotId, LegacyLotType)
|
|||||||
end else
|
end else
|
||||||
ErrorMsg = 'Error in ':Service:' service. Error opening LOT dictionary.'
|
ErrorMsg = 'Error in ':Service:' service. Error opening LOT dictionary.'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
Service CreateNewLot(LotType, ProdName, LotQty, VendorPartNo, VendorLotNo, VendorCode, Username, PrinterID, LotId)
|
Service CreateNewLot(LotType, ProdName, LotQty, VendorPartNo, VendorLotNo, VendorCode, Username, PrinterID, LotId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CreateNewLot'
|
||||||
|
|
||||||
CreatedLotNumber = ''
|
CreatedLotNumber = ''
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
Begin Case
|
Begin Case
|
||||||
@ -279,6 +295,8 @@ Service CreateNewLot(LotType, ProdName, LotQty, VendorPartNo, VendorLotNo, Vendo
|
|||||||
end
|
end
|
||||||
Response = CreatedLotNumber
|
Response = CreatedLotNumber
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
End Service
|
End Service
|
||||||
|
|
||||||
|
|
||||||
@ -484,6 +502,9 @@ end service
|
|||||||
|
|
||||||
//Returns a @FM delimited list of operations in sequence
|
//Returns a @FM delimited list of operations in sequence
|
||||||
Service GetLotOperationSequence(LotId)
|
Service GetLotOperationSequence(LotId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetLotOperationSequence'
|
||||||
|
|
||||||
LotOperationsInSequence = ''
|
LotOperationsInSequence = ''
|
||||||
If LotID NE '' then
|
If LotID NE '' then
|
||||||
//Get Operations
|
//Get Operations
|
||||||
@ -496,9 +517,15 @@ Service GetLotOperationSequence(LotId)
|
|||||||
//error: lot id was null
|
//error: lot id was null
|
||||||
end
|
end
|
||||||
Response = LotOperationsInSequence
|
Response = LotOperationsInSequence
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetLotCurrOperationId(LotId)
|
Service GetLotCurrOperationId(LotId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetLotCurrOperationId'
|
||||||
|
|
||||||
CurrOperation = ''
|
CurrOperation = ''
|
||||||
If LotID NE '' then
|
If LotID NE '' then
|
||||||
//Get them in sequence first
|
//Get them in sequence first
|
||||||
@ -515,9 +542,15 @@ Service GetLotCurrOperationId(LotId)
|
|||||||
//error: lot id was null
|
//error: lot id was null
|
||||||
end
|
end
|
||||||
Response = CurrOperation
|
Response = CurrOperation
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetLotCurrOperationName(LotId)
|
Service GetLotCurrOperationName(LotId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetLotCurrOperationName'
|
||||||
|
|
||||||
CurrOperationId = ''
|
CurrOperationId = ''
|
||||||
CurrOperationName = ''
|
CurrOperationName = ''
|
||||||
If LotID NE '' then
|
If LotID NE '' then
|
||||||
@ -536,6 +569,9 @@ Service GetLotCurrOperationName(LotId)
|
|||||||
//error: lot id was null
|
//error: lot id was null
|
||||||
end
|
end
|
||||||
Response = CurrOperationName
|
Response = CurrOperationName
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service AddLotOperationIntoSequence(LotId, NewOperationId, NewSequence, Rework)
|
Service AddLotOperationIntoSequence(LotId, NewOperationId, NewSequence, Rework)
|
||||||
@ -591,6 +627,9 @@ Service AddLotOperationIntoSequence(LotId, NewOperationId, NewSequence, Rework)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service IsLotMovedIn(LotId)
|
Service IsLotMovedIn(LotId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'IsLotMovedIn'
|
||||||
|
|
||||||
Response = ''
|
Response = ''
|
||||||
If RowExists('LOT', LotId) then
|
If RowExists('LOT', LotId) then
|
||||||
CurrOperId = Lot_Services('GetLotCurrOperationId', LotId)
|
CurrOperId = Lot_Services('GetLotCurrOperationId', LotId)
|
||||||
@ -601,6 +640,9 @@ Service IsLotMovedIn(LotId)
|
|||||||
Response = False$
|
Response = False$
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service IsOperationCompleted(LotOperationId)
|
Service IsOperationCompleted(LotOperationId)
|
||||||
@ -619,6 +661,8 @@ Service IsOperationCompleted(LotOperationId)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service MoveInLot(LotID, Operator)
|
Service MoveInLot(LotID, Operator)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'MoveInLot'
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
ThisLotCurrOperationID = ''
|
ThisLotCurrOperationID = ''
|
||||||
@ -667,9 +711,15 @@ Service MoveInLot(LotID, Operator)
|
|||||||
Logging_Services('AppendLog', objLotMoveLog, LogData, @RM, @FM, False$)
|
Logging_Services('AppendLog', objLotMoveLog, LogData, @RM, @FM, False$)
|
||||||
Error_Services('Add', ErrorMessage)
|
Error_Services('Add', ErrorMessage)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service MoveOutLot(LotID, Operator)
|
Service MoveOutLot(LotID, Operator)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'MoveOutLot'
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
ThisLotCurrOperationID = ''
|
ThisLotCurrOperationID = ''
|
||||||
If LotId NE '' then
|
If LotId NE '' then
|
||||||
@ -729,6 +779,9 @@ Service MoveOutLot(LotID, Operator)
|
|||||||
Logging_Services('AppendLog', objLotMoveLog, LogData, @RM, @FM, False$)
|
Logging_Services('AppendLog', objLotMoveLog, LogData, @RM, @FM, False$)
|
||||||
Error_Services('Add', ErrorMessage)
|
Error_Services('Add', ErrorMessage)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service ConvertLotRecordToJson(LotId, ItemURL, CurrUser, FullObject=BOOLEAN)
|
Service ConvertLotRecordToJson(LotId, ItemURL, CurrUser, FullObject=BOOLEAN)
|
||||||
@ -855,6 +908,9 @@ Service ConvertLotRecordToJson(LotId, ItemURL, CurrUser, FullObject=BOOLEAN)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service OpenLot(LotId)
|
Service OpenLot(LotId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'OpenLot'
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
If RowExists('LOT', LotId) then
|
If RowExists('LOT', LotId) then
|
||||||
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
||||||
@ -871,9 +927,15 @@ Service OpenLot(LotId)
|
|||||||
If ErrorMessage NE '' then
|
If ErrorMessage NE '' then
|
||||||
Error_Services('Add', ErrorMessage)
|
Error_Services('Add', ErrorMessage)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service CloseLot(LotId)
|
Service CloseLot(LotId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CloseLot'
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
If RowExists('LOT', LotId) then
|
If RowExists('LOT', LotId) then
|
||||||
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
||||||
@ -890,6 +952,9 @@ Service CloseLot(LotId)
|
|||||||
If ErrorMessage NE '' then
|
If ErrorMessage NE '' then
|
||||||
Error_Services('Add', ErrorMessage)
|
Error_Services('Add', ErrorMessage)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service AutoCloseTestWaferLot(LotId, CloseUserId)
|
Service AutoCloseTestWaferLot(LotId, CloseUserId)
|
||||||
@ -989,15 +1054,26 @@ Service AutoCloseTestWaferLot(LotId, CloseUserId)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service HoldLot(LotId, OperatorId)
|
Service HoldLot(LotId, OperatorId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'HoldLot'
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service UnholdLot(LotId, OperatorId)
|
Service UnholdLot(LotId, OperatorId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'UnholdLot'
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
Service ReduceLotWaferCount(LotId, ReductionQty, OperatorId)
|
Service ReduceLotWaferCount(LotId, ReductionQty, OperatorId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'ReduceLotWaferCount'
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
If RowExists('LOT', LotId) then
|
If RowExists('LOT', LotId) then
|
||||||
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
||||||
@ -1043,9 +1119,15 @@ Service ReduceLotWaferCount(LotId, ReductionQty, OperatorId)
|
|||||||
if ErrorMessage NE '' then
|
if ErrorMessage NE '' then
|
||||||
Error_Services('Add', ErrorMessage)
|
Error_Services('Add', ErrorMessage)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service IncreaseLotWaferCount(LotId, IncreaseQty, OperatorId)
|
Service IncreaseLotWaferCount(LotId, IncreaseQty, OperatorId)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'IncreaseLotWaferCount'
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
If RowExists('LOT', LotId) then
|
If RowExists('LOT', LotId) then
|
||||||
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
||||||
@ -1087,6 +1169,8 @@ Service IncreaseLotWaferCount(LotId, IncreaseQty, OperatorId)
|
|||||||
Error_Services('Add', ErrorMessage)
|
Error_Services('Add', ErrorMessage)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service OpenOIWizardCreateTWLotInBrowser()
|
Service OpenOIWizardCreateTWLotInBrowser()
|
||||||
@ -1095,6 +1179,9 @@ Service OpenOIWizardCreateTWLotInBrowser()
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service CreateNewVoidedLotRecord(LotId, LegacyLotId, LotType=LOT_TYPES, Username)
|
Service CreateNewVoidedLotRecord(LotId, LegacyLotId, LotType=LOT_TYPES, Username)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CreateNewVoidedLotRecord'
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
If RowExists('LSL_USERS', Username) then
|
If RowExists('LSL_USERS', Username) then
|
||||||
If LotType NE '' then
|
If LotType NE '' then
|
||||||
@ -1165,16 +1252,8 @@ Service CreateNewVoidedLotRecord(LotId, LegacyLotId, LotType=LOT_TYPES, Username
|
|||||||
If ErrorMessage NE '' then
|
If ErrorMessage NE '' then
|
||||||
//Todo Log Error Message
|
//Todo Log Error Message
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -178,6 +178,11 @@ Service SendBufferedAverageMetric(MonaResource, MetricName, MetricValue)
|
|||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
Service QueueLatencyAndCountMetrics(MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
Diff = EndTick - StartTick
|
||||||
|
Mona_Services('SendMetric', MonaResource, MetricName:'_LATENCY', Diff)
|
||||||
|
Mona_Services('SendMetric', MonaResource, MetricName:'_COUNT', 1)
|
||||||
|
end service
|
||||||
|
|
||||||
SwapResourceNames:
|
SwapResourceNames:
|
||||||
|
|
||||||
@ -201,4 +206,3 @@ SwapResourceNames:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ COMPILE FUNCTION obj_Post_Log(Method,Parms)
|
|||||||
|
|
||||||
|
|
||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Get_Property, obj_RDS, Database_Services, Environment_Services
|
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Get_Property, obj_RDS, Database_Services, Environment_Services
|
||||||
DECLARE FUNCTION Logging_Services, Datetime, SRP_DateTime
|
DECLARE FUNCTION Logging_Services, Datetime, SRP_DateTime, GetTickCount
|
||||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Send_Dyn, RList, obj_WO_Log, Send_Event, obj_RDS
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Send_Dyn, RList, obj_WO_Log, Send_Event, obj_RDS
|
||||||
DECLARE SUBROUTINE obj_WO_Mat, Send_Info, obj_Notes, ErrMsg, Logging_Services, Mona_Services
|
DECLARE SUBROUTINE obj_WO_Mat, Send_Info, obj_Notes, ErrMsg, Logging_Services, Mona_Services
|
||||||
|
|
||||||
@ -42,6 +42,13 @@ Headers = 'Logging DTM' : @FM : 'WOMatKey' : @FM : ' SAPBatchNo' : @FM : 'Fa
|
|||||||
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJPOSTLOG'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJPOSTLOG'
|
||||||
|
end
|
||||||
|
|
||||||
ErrTitle = 'Error in Stored Procedure "obj_Post_Log"'
|
ErrTitle = 'Error in Stored Procedure "obj_Post_Log"'
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
|
|
||||||
@ -115,7 +122,10 @@ RETURN
|
|||||||
* * * * * * *
|
* * * * * * *
|
||||||
Post:
|
Post:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'Post'
|
||||||
|
|
||||||
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
|
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
|
||||||
ServiceKeyID = 'Obj_Post_Log*Post'
|
ServiceKeyID = 'Obj_Post_Log*Post'
|
||||||
Lock hSysLists, ServiceKeyID then
|
Lock hSysLists, ServiceKeyID then
|
||||||
@ -228,6 +238,10 @@ Post:
|
|||||||
|
|
||||||
Unlock hSysLists, ServiceKeyID else Null
|
Unlock hSysLists, ServiceKeyID else Null
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,8 +18,8 @@ COMPILE FUNCTION obj_Reactor(Method,Parms)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Mona_Services
|
||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables
|
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Environment_Services, GetTickCount
|
||||||
|
|
||||||
|
|
||||||
$INSERT REACTOR_EQUATES
|
$INSERT REACTOR_EQUATES
|
||||||
@ -28,6 +28,14 @@ $INSERT REACT_STATE_EQUATES
|
|||||||
$INSERT REACT_ITEM_EQUATES
|
$INSERT REACT_ITEM_EQUATES
|
||||||
$INSERT MSG_EQUATES
|
$INSERT MSG_EQUATES
|
||||||
$insert REACTOR_CHILD_KEY_IDS_EQUATES
|
$insert REACTOR_CHILD_KEY_IDS_EQUATES
|
||||||
|
$Insert LOGICAL
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJREACTOR'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJREACTOR'
|
||||||
|
end
|
||||||
|
|
||||||
ErrTitle = 'Error in Stored Procedure "obj_Reactor"'
|
ErrTitle = 'Error in Stored Procedure "obj_Reactor"'
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
@ -66,6 +74,9 @@ RETURN Result
|
|||||||
CurrItem:
|
CurrItem:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CurrItem'
|
||||||
|
|
||||||
ReactNo = Parms[1,@RM]
|
ReactNo = Parms[1,@RM]
|
||||||
ItemType = Parms[COL2()+1,@RM]
|
ItemType = Parms[COL2()+1,@RM]
|
||||||
ReactRec = Parms[COL2()+1,@RM]
|
ReactRec = Parms[COL2()+1,@RM]
|
||||||
@ -96,6 +107,9 @@ LOCATE ItemType IN CurrInstTypes USING @VM SETTING Pos THEN
|
|||||||
Result = FIELD(CurrInstItems<1,Pos>,'*',2)
|
Result = FIELD(CurrInstItems<1,Pos>,'*',2)
|
||||||
END
|
END
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
@ -103,6 +117,9 @@ RETURN
|
|||||||
CurrGraphite:
|
CurrGraphite:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CurrGraphite'
|
||||||
|
|
||||||
ReactNo = Parms[1,@RM]
|
ReactNo = Parms[1,@RM]
|
||||||
ReactRec = Parms[COL2()+1,@RM]
|
ReactRec = Parms[COL2()+1,@RM]
|
||||||
|
|
||||||
@ -135,6 +152,9 @@ FOR I = 1 TO ciCnt
|
|||||||
END
|
END
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,10 +15,10 @@ COMPILE FUNCTION obj_React_State(Method,Parms)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Database_Services
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Database_Services, Mona_Services
|
||||||
|
|
||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, Send_Dyn, Database_Services, Error_Services
|
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, Send_Dyn, Database_Services, Error_Services
|
||||||
|
Declare function Environment_Services, GetTickCount
|
||||||
|
|
||||||
$INSERT REACT_STATE_EQUATES
|
$INSERT REACT_STATE_EQUATES
|
||||||
$INSERT PROD_SPEC_EQUATES
|
$INSERT PROD_SPEC_EQUATES
|
||||||
@ -28,6 +28,12 @@ $INSERT LOGICAL
|
|||||||
EQU CRLF$ TO \0D0A\
|
EQU CRLF$ TO \0D0A\
|
||||||
EQU TAB$ TO \09\
|
EQU TAB$ TO \09\
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJREACTSTATE'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJREACTSTATE'
|
||||||
|
end
|
||||||
|
|
||||||
ErrTitle = 'Error in Stored Procedure "obj_React_State"'
|
ErrTitle = 'Error in Stored Procedure "obj_React_State"'
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
@ -62,6 +68,9 @@ RETURN Result
|
|||||||
ReactRunUnload:
|
ReactRunUnload:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'ReactRunUnload'
|
||||||
|
|
||||||
* Upadate all parameters set at Reactor Unload signature *
|
* Upadate all parameters set at Reactor Unload signature *
|
||||||
|
|
||||||
ReactNo = Parms[1,@RM]
|
ReactNo = Parms[1,@RM]
|
||||||
@ -115,6 +124,9 @@ end
|
|||||||
* otParms = FieldStore(otParms,@RM,4,0,RSRec)
|
* otParms = FieldStore(otParms,@RM,4,0,RSRec)
|
||||||
* obj_Tables('WriteRec',otParms)
|
* obj_Tables('WriteRec',otParms)
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,9 +20,9 @@ COMPILE FUNCTION obj_React_Status(Method,Parms)
|
|||||||
#pragma precomp SRP_PreCompiler
|
#pragma precomp SRP_PreCompiler
|
||||||
|
|
||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box,NextKey, Popup, Get_Property, Database_Services
|
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box,NextKey, Popup, Get_Property, Database_Services
|
||||||
DECLARE FUNCTION Error_Services, Environment_Services, Logging_Services, Override_Log_Services
|
DECLARE FUNCTION Error_Services, Environment_Services, Logging_Services, Override_Log_Services, GetTickCount
|
||||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Database_Services, Rlist
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Database_Services, Rlist
|
||||||
DECLARE SUBROUTINE Logging_Services
|
DECLARE SUBROUTINE Logging_Services, Mona_Services
|
||||||
|
|
||||||
$INSERT LOGICAL
|
$INSERT LOGICAL
|
||||||
$INSERT MSG_EQUATES
|
$INSERT MSG_EQUATES
|
||||||
@ -43,6 +43,13 @@ LogFilename = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] :
|
|||||||
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'CassNo' : @FM : 'RDSNo' : @FM : 'Load DTM' : @FM : 'Service' : @FM : 'Notes'
|
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'CassNo' : @FM : 'RDSNo' : @FM : 'Load DTM' : @FM : 'Service' : @FM : 'Notes'
|
||||||
objReactStatusLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
objReactStatusLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJREACTSTATUS'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJREACTSTATUS'
|
||||||
|
end
|
||||||
|
|
||||||
ErrTitle = 'Error in Stored Procedure "obj_React_Status"'
|
ErrTitle = 'Error in Stored Procedure "obj_React_Status"'
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
|
|
||||||
@ -125,6 +132,9 @@ RETURN
|
|||||||
CassLoad:
|
CassLoad:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CassLoad'
|
||||||
|
|
||||||
ReactNo = Parms[1,@RM]
|
ReactNo = Parms[1,@RM]
|
||||||
WONo = Parms[COL2()+1,@RM]
|
WONo = Parms[COL2()+1,@RM]
|
||||||
CassNo = Parms[COL2()+1,@RM]
|
CassNo = Parms[COL2()+1,@RM]
|
||||||
@ -202,6 +212,9 @@ CassLoad:
|
|||||||
IdleTime = OCONV(ICONV(IdleTime*24,'MD2'),'MD2,')
|
IdleTime = OCONV(ICONV(IdleTime*24,'MD2'),'MD2,')
|
||||||
|
|
||||||
Result = IdleTime
|
Result = IdleTime
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -209,7 +222,9 @@ RETURN
|
|||||||
* * * * * * *
|
* * * * * * *
|
||||||
CassUnload:
|
CassUnload:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CassUnload'
|
||||||
|
|
||||||
ReactNo = Parms[1,@RM]
|
ReactNo = Parms[1,@RM]
|
||||||
WONo = Parms[COL2()+1,@RM]
|
WONo = Parms[COL2()+1,@RM]
|
||||||
CassNo = Parms[COL2()+1,@RM]
|
CassNo = Parms[COL2()+1,@RM]
|
||||||
@ -270,6 +285,9 @@ CassUnload:
|
|||||||
If Error_Services('HasError') then
|
If Error_Services('HasError') then
|
||||||
ErrorMsg = Error_Services('GetMessage')
|
ErrorMsg = Error_Services('GetMessage')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -277,7 +295,9 @@ RETURN
|
|||||||
* * * * * * *
|
* * * * * * *
|
||||||
ReactorLoad:
|
ReactorLoad:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'ReactorLoad'
|
||||||
|
|
||||||
* EpiPro Reactor Load
|
* EpiPro Reactor Load
|
||||||
|
|
||||||
ReactNo = Parms[1,@RM]
|
ReactNo = Parms[1,@RM]
|
||||||
@ -361,13 +381,18 @@ ReactorLoad:
|
|||||||
end else
|
end else
|
||||||
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
|
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
ReactorUnload:
|
ReactorUnload:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'ReactorUnload'
|
||||||
|
|
||||||
* EpiPro Reactor Unload
|
* EpiPro Reactor Unload
|
||||||
|
|
||||||
ReactNo = Parms[1,@RM]
|
ReactNo = Parms[1,@RM]
|
||||||
@ -431,6 +456,9 @@ ReactorUnload:
|
|||||||
end else
|
end else
|
||||||
ErrorMsg = Error_Services('GetMessage')
|
ErrorMsg = Error_Services('GetMessage')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
@ -28,11 +28,12 @@ Compile Function obj_WO_Mat(Method,Parms)
|
|||||||
Declare Function Get_Status, Msg, Utility, obj_Tables, Dialog_Box,NextKey, Popup, Get_Property, obj_RDS, RetStack
|
Declare Function Get_Status, Msg, Utility, obj_Tables, Dialog_Box,NextKey, Popup, Get_Property, obj_RDS, RetStack
|
||||||
Declare Function Database_Services, GaN_Services, Logging_Services, Environment_Services, Signature_Services
|
Declare Function Database_Services, GaN_Services, Logging_Services, Environment_Services, Signature_Services
|
||||||
Declare Function obj_WO_Mat, obj_WM_In, obj_WM_Out, obj_Prod_Spec, obj_Clean_Insp, obj_Calendar, obj_Popup
|
Declare Function obj_WO_Mat, obj_WM_In, obj_WM_Out, obj_Prod_Spec, obj_Clean_Insp, obj_Calendar, obj_Popup
|
||||||
Declare Function Error_Services, Memberof, Datetime
|
Declare Function Error_Services, Memberof, Datetime, GetTickCount
|
||||||
Declare Subroutine Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Send_Dyn, RList, obj_WO_Log, Send_Event
|
Declare Subroutine Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Send_Dyn, RList, obj_WO_Log, Send_Event
|
||||||
Declare Subroutine obj_RDS, Extract_SI_Keys, obj_Pend_Ship_Labels, obj_WO_Mat_QA, Work_Order_Services, Service_Services
|
Declare Subroutine obj_RDS, Extract_SI_Keys, obj_Pend_Ship_Labels, obj_WO_Mat_QA, Work_Order_Services, Service_Services
|
||||||
Declare Subroutine obj_notes, obj_Clean_Insp, obj_Post_Log, Send_Info, obj_WO_Mat_Log, obj_SAP, obj_WO_Mat, obj_WO_Wfr
|
Declare Subroutine obj_notes, obj_Clean_Insp, obj_Post_Log, Send_Info, obj_WO_Mat_Log, obj_SAP, obj_WO_Mat, obj_WO_Wfr
|
||||||
Declare Subroutine Logging_Services, Set_Property, Delete, Database_Services, SRP_Stopwatch, Material_Services
|
Declare Subroutine Logging_Services, Set_Property, Delete, Database_Services, SRP_Stopwatch, Material_Services
|
||||||
|
Declare subroutine Mona_Services
|
||||||
|
|
||||||
$Insert MSG_EQUATES
|
$Insert MSG_EQUATES
|
||||||
$Insert WO_MAT_EQUATES
|
$Insert WO_MAT_EQUATES
|
||||||
@ -120,6 +121,13 @@ SAPFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' SetS
|
|||||||
SAPHeaders = 'Logging DTM' : @FM : 'WOMatKey' : @FM : 'SAPBatchNo'
|
SAPHeaders = 'Logging DTM' : @FM : 'WOMatKey' : @FM : 'SAPBatchNo'
|
||||||
objSAPLog = Logging_Services('NewLog', SAPLogPath, SAPFileName, CRLF$, Comma$, SAPHeaders, '', False$, False$)
|
objSAPLog = Logging_Services('NewLog', SAPLogPath, SAPFileName, CRLF$, Comma$, SAPHeaders, '', False$, False$)
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJWOMAT'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJWOMAT'
|
||||||
|
end
|
||||||
|
|
||||||
IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine'
|
IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine'
|
||||||
IF NOT(ASSIGNED(Parms)) THEN Parms = ''
|
IF NOT(ASSIGNED(Parms)) THEN Parms = ''
|
||||||
|
|
||||||
@ -633,6 +641,9 @@ RETURN
|
|||||||
* * * * * * *
|
* * * * * * *
|
||||||
CurrStatus:
|
CurrStatus:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CurrStatus'
|
||||||
|
|
||||||
IF NOT(ASSIGNED(WOMatKey)) THEN WOMatKey = Parms[1,@RM]
|
IF NOT(ASSIGNED(WOMatKey)) THEN WOMatKey = Parms[1,@RM]
|
||||||
IF NOT(ASSIGNED(WOMatRec)) THEN WOMatRec = Parms[COL2()+1,@RM]
|
IF NOT(ASSIGNED(WOMatRec)) THEN WOMatRec = Parms[COL2()+1,@RM]
|
||||||
@ -894,6 +905,9 @@ CurrStatus:
|
|||||||
|
|
||||||
IF Result = 'RTS' AND WOMatRec<WO_MAT_SHIP_HOLD$> = 1 THEN Result = 'SHOLD'
|
IF Result = 'RTS' AND WOMatRec<WO_MAT_SHIP_HOLD$> = 1 THEN Result = 'SHOLD'
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
@ -5566,3 +5580,4 @@ ExpCOA:
|
|||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,9 +17,9 @@ COMPILE FUNCTION obj_WO_Mat_Log(Method,Parms)
|
|||||||
|
|
||||||
|
|
||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box, NextKey, Popup, Get_Property, obj_RDS, Database_Services
|
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box, NextKey, Popup, Get_Property, obj_RDS, Database_Services
|
||||||
Declare function Logging_Services, Environment_Services, RTI_CreateGUID, Error_Services, Datetime
|
Declare function Logging_Services, Environment_Services, RTI_CreateGUID, Error_Services, Datetime, GetTickCount
|
||||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Send_Dyn, RList, obj_WO_Log, Send_Event, obj_RDS
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Send_Dyn, RList, obj_WO_Log, Send_Event, obj_RDS
|
||||||
DECLARE SUBROUTINE obj_WO_Mat, Send_Info, obj_Notes, Logging_Services, Database_Services, Lot_Event_Services
|
DECLARE SUBROUTINE obj_WO_Mat, Send_Info, obj_Notes, Logging_Services, Database_Services, Lot_Event_Services, Mona_Services
|
||||||
|
|
||||||
$INSERT MSG_EQUATES
|
$INSERT MSG_EQUATES
|
||||||
$INSERT WO_MAT_LOG_EQUATES
|
$INSERT WO_MAT_LOG_EQUATES
|
||||||
@ -49,6 +49,13 @@ Headers = 'Logging DTM'
|
|||||||
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJWOMATLOG'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJWOMATLOG'
|
||||||
|
end
|
||||||
|
|
||||||
ErrTitle = 'Error in Stored Procedure "obj_WO_Mat_Log"'
|
ErrTitle = 'Error in Stored Procedure "obj_WO_Mat_Log"'
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
|
|
||||||
@ -77,7 +84,9 @@ RETURN Result
|
|||||||
* * * * * * *
|
* * * * * * *
|
||||||
Create:
|
Create:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'Create'
|
||||||
|
|
||||||
LogFile = Parms[1,@RM]
|
LogFile = Parms[1,@RM]
|
||||||
TransDTM = Parms[COL2()+1,@RM]
|
TransDTM = Parms[COL2()+1,@RM]
|
||||||
Action = Parms[COL2()+1,@RM]
|
Action = Parms[COL2()+1,@RM]
|
||||||
@ -233,6 +242,8 @@ Create:
|
|||||||
ErrorMsg = Error_Services('GetMessage')
|
ErrorMsg = Error_Services('GetMessage')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
@ -364,3 +375,4 @@ Post:
|
|||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,8 +15,9 @@ COMPILE FUNCTION obj_WO_React(Method,Parms)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, obj_Prod_Spec, obj_WO_Mat_QA
|
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, obj_Prod_Spec, obj_WO_Mat_QA, GetTickCount
|
||||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, RList, ErrMsg, Btree.Extract, obj_WO_Mat_QA
|
Declare function Environment_Services
|
||||||
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, RList, ErrMsg, Btree.Extract, obj_WO_Mat_QA, Mona_Services
|
||||||
|
|
||||||
$INSERT MSG_EQUATES
|
$INSERT MSG_EQUATES
|
||||||
$INSERT WO_REACT_EQUATES
|
$INSERT WO_REACT_EQUATES
|
||||||
@ -24,6 +25,7 @@ $INSERT PRS_STAGE_EQUATES
|
|||||||
$INSERT WO_MAT_EQUATES
|
$INSERT WO_MAT_EQUATES
|
||||||
$INSERT RDS_EQUATES
|
$INSERT RDS_EQUATES
|
||||||
$INSERT QA_MET_EQUATES ;* Used in GetQAMet data structure return variable
|
$INSERT QA_MET_EQUATES ;* Used in GetQAMet data structure return variable
|
||||||
|
$Insert LOGICAL
|
||||||
|
|
||||||
|
|
||||||
ErrTitle = 'Error in Stored Procedure "obj_PRS_Prop"'
|
ErrTitle = 'Error in Stored Procedure "obj_PRS_Prop"'
|
||||||
@ -40,6 +42,13 @@ END
|
|||||||
Result = ''
|
Result = ''
|
||||||
Log = ''
|
Log = ''
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJWOREACT'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJWOREACT'
|
||||||
|
end
|
||||||
|
|
||||||
BEGIN CASE
|
BEGIN CASE
|
||||||
CASE Method = 'AddRdsNo' ; GOSUB AddRdsNo
|
CASE Method = 'AddRdsNo' ; GOSUB AddRdsNo
|
||||||
CASE Method = 'RemRdsNo' ; GOSUB RemRdsNo
|
CASE Method = 'RemRdsNo' ; GOSUB RemRdsNo
|
||||||
@ -59,7 +68,10 @@ RETURN Result
|
|||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
AddRdsNo:
|
AddRdsNo:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'AddRdsNo'
|
||||||
|
|
||||||
WONo = Parms[1,@RM]
|
WONo = Parms[1,@RM]
|
||||||
StepNo = Parms[COL2()+1,@RM]
|
StepNo = Parms[COL2()+1,@RM]
|
||||||
@ -135,13 +147,19 @@ obj_Tables('WriteOnlyRec',otParms) ;* Done with updates to the WO_REA
|
|||||||
|
|
||||||
Result = Log
|
Result = Log
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
RemRDSNo:
|
RemRDSNo:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'RemRDSNo'
|
||||||
|
|
||||||
WONo = Parms[1,@RM]
|
WONo = Parms[1,@RM]
|
||||||
StepNo = Parms[COL2()+1,@RM]
|
StepNo = Parms[COL2()+1,@RM]
|
||||||
@ -218,6 +236,9 @@ obj_Tables('WriteOnlyRec',otParms) ;* Done with updates to the WO_REA
|
|||||||
|
|
||||||
Result = Log
|
Result = Log
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ Declare subroutine RTI_Set_Debugger, Database_Services, Btree.Extract, Extract_
|
|||||||
Declare subroutine Set_Status, Sleepery, Winyield, Yield, SRP_COM, QA_Services, Logging_Services, Obj_RDS
|
Declare subroutine Set_Status, Sleepery, Winyield, Yield, SRP_COM, QA_Services, Logging_Services, Obj_RDS
|
||||||
Declare subroutine Validate, obj_WO_Mat, obj_WO_Mat_Log, obj_React_Status, Record_Lock, obj_React_State, obj_Post_Log
|
Declare subroutine Validate, obj_WO_Mat, obj_WO_Mat_Log, obj_React_Status, Record_Lock, obj_React_State, obj_Post_Log
|
||||||
Declare subroutine RDS_Services, obj_WO_React, RDS_React_Run, Signature_Services, SQL_Services, SRP_Stopwatch
|
Declare subroutine RDS_Services, obj_WO_React, RDS_React_Run, Signature_Services, SQL_Services, SRP_Stopwatch
|
||||||
Declare subroutine Override_Services, Reactor_Services, Lot_Services
|
Declare subroutine Override_Services, Reactor_Services, Lot_Services, Mona_Services
|
||||||
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services
|
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services
|
||||||
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
|
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
|
||||||
Declare function Min, Max, SRPSendMail, Btree.Extract, GetTickCount, HTTPClient_Services, Obj_RDS, SQL_Services
|
Declare function Min, Max, SRPSendMail, Btree.Extract, GetTickCount, HTTPClient_Services, Obj_RDS, SQL_Services
|
||||||
@ -177,6 +177,13 @@ LogFilename = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] :
|
|||||||
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'CassNo' : @FM : 'RDSNo' : @FM : 'Load DTM' : @FM : 'Service' : @FM : 'Notes'
|
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'CassNo' : @FM : 'RDSNo' : @FM : 'Load DTM' : @FM : 'Service' : @FM : 'Notes'
|
||||||
objReactStatusLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
objReactStatusLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_QASERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_QASERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService else
|
GoToService else
|
||||||
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||||
end
|
end
|
||||||
@ -1671,6 +1678,8 @@ end service
|
|||||||
// False$ otherwise.
|
// False$ otherwise.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service PreEpiSignatureReady(RDSNo, Username, WaferQty, Reactor)
|
Service PreEpiSignatureReady(RDSNo, Username, WaferQty, Reactor)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'PreEpiSignatureReady'
|
||||||
|
|
||||||
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') or (Reactor EQ '') then
|
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') or (Reactor EQ '') then
|
||||||
ErrorMessage = 'RDSNo, Username, WaferQty, or Reactor not supplied in the ':Service:' service.'
|
ErrorMessage = 'RDSNo, Username, WaferQty, or Reactor not supplied in the ':Service:' service.'
|
||||||
@ -1769,6 +1778,8 @@ Service PreEpiSignatureReady(RDSNo, Username, WaferQty, Reactor)
|
|||||||
Response = False$
|
Response = False$
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -1785,6 +1796,8 @@ end service
|
|||||||
// Reponse - True$ if PRE stage was successfully signed, False$ otherwise.
|
// Reponse - True$ if PRE stage was successfully signed, False$ otherwise.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service SignPreEpiStage(RDSNo, Username, WaferQty, Reactor, ScanEntry)
|
Service SignPreEpiStage(RDSNo, Username, WaferQty, Reactor, ScanEntry)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SignPreEpiStage'
|
||||||
|
|
||||||
Error_Services('Clear')
|
Error_Services('Clear')
|
||||||
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') or (Reactor EQ '') then
|
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') or (Reactor EQ '') then
|
||||||
@ -1962,6 +1975,8 @@ Service SignPreEpiStage(RDSNo, Username, WaferQty, Reactor, ScanEntry)
|
|||||||
Response = False$
|
Response = False$
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -1981,6 +1996,8 @@ end service
|
|||||||
// False$ otherwise.
|
// False$ otherwise.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOpt)
|
Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOpt)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'LoadSignatureReady'
|
||||||
|
|
||||||
Error_Services('Clear')
|
Error_Services('Clear')
|
||||||
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') then
|
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') then
|
||||||
@ -2227,6 +2244,8 @@ Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOp
|
|||||||
Response = False$
|
Response = False$
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -2315,6 +2334,8 @@ end service
|
|||||||
// False$ otherwise.
|
// False$ otherwise.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service SignLoadStage(RDSNo, Username, WaferQty, LLSide, ScanEntry)
|
Service SignLoadStage(RDSNo, Username, WaferQty, LLSide, ScanEntry)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SignLoadStage'
|
||||||
|
|
||||||
Error_Services('Clear')
|
Error_Services('Clear')
|
||||||
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') then
|
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') then
|
||||||
@ -2522,6 +2543,8 @@ Service SignLoadStage(RDSNo, Username, WaferQty, LLSide, ScanEntry)
|
|||||||
Response = False$
|
Response = False$
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -2537,6 +2560,8 @@ end service
|
|||||||
// False$ otherwise.
|
// False$ otherwise.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service UnloadSignatureReady(RDSNo, Username, Reactor)
|
Service UnloadSignatureReady(RDSNo, Username, Reactor)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'UnloadSignatureReady'
|
||||||
|
|
||||||
If (RDSNo EQ '') or (Username EQ '') or (Reactor EQ '') then
|
If (RDSNo EQ '') or (Username EQ '') or (Reactor EQ '') then
|
||||||
ErrorMsg = 'RDSNo or Username or Reactor not supplied in the ':Service:' service.'
|
ErrorMsg = 'RDSNo or Username or Reactor not supplied in the ':Service:' service.'
|
||||||
@ -2683,6 +2708,8 @@ Service UnloadSignatureReady(RDSNo, Username, Reactor)
|
|||||||
Response = False$
|
Response = False$
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -2769,6 +2796,9 @@ end service
|
|||||||
// Response - True$ if UNLOAD stage was successfully signed , False$ otherwise.
|
// Response - True$ if UNLOAD stage was successfully signed , False$ otherwise.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service SignUnloadStage(RDSNo, Username, ScanEntry)
|
Service SignUnloadStage(RDSNo, Username, ScanEntry)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SignUnloadStage'
|
||||||
|
|
||||||
If (RDSNo EQ '') or (Username EQ '') then
|
If (RDSNo EQ '') or (Username EQ '') then
|
||||||
ErrorMsg = 'RDSNo or Username not supplied in the ':Service:' service.'
|
ErrorMsg = 'RDSNo or Username not supplied in the ':Service:' service.'
|
||||||
Error_Services('Add', ErrorMsg)
|
Error_Services('Add', ErrorMsg)
|
||||||
@ -2961,6 +2991,8 @@ Service SignUnloadStage(RDSNo, Username, ScanEntry)
|
|||||||
Response = False$
|
Response = False$
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -3611,3 +3643,4 @@ ClearCursors:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ AutoDisplayErrors = FALSE$ ; // Set this to True$ when debugging so all erro
|
|||||||
Declare subroutine SRP_Stopwatch, Error_Services, obj_Tables, Metrology_Services, obj_RDS_Test, SRP_JSON, Logging_Services
|
Declare subroutine SRP_Stopwatch, Error_Services, obj_Tables, Metrology_Services, obj_RDS_Test, SRP_JSON, Logging_Services
|
||||||
Declare subroutine RTI_Set_Debugger, Database_Services, Btree.Extract, Extract_SI_Keys, Obj_WO_Mat, Obj_WO_Mat_Log
|
Declare subroutine RTI_Set_Debugger, Database_Services, Btree.Extract, Extract_SI_Keys, Obj_WO_Mat, Obj_WO_Mat_Log
|
||||||
Declare subroutine Dialog_Box, Obj_Notes, RList, Set_Status, Errmsg, Obj_React_Status , Reactor_Services
|
Declare subroutine Dialog_Box, Obj_Notes, RList, Set_Status, Errmsg, Obj_React_Status , Reactor_Services
|
||||||
Declare subroutine Rds_Services, Obj_Post_Log
|
Declare subroutine Rds_Services, Obj_Post_Log, Mona_Services
|
||||||
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services
|
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services
|
||||||
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
|
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
|
||||||
Declare function Memberof, Obj_WO_Mat, Obj_WO_Mat_Log, SRP_Array, DateTime, Dialog_Box, obj_Prod_Spec
|
Declare function Memberof, Obj_WO_Mat, Obj_WO_Mat_Log, SRP_Array, DateTime, Dialog_Box, obj_Prod_Spec
|
||||||
@ -131,6 +131,13 @@ Headers = 'Logging DTM':@FM:'Ctrl':@FM:'Load/Calculate Time'
|
|||||||
objCtrlLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
objCtrlLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
||||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_RDSSERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_RDSSERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService else
|
GoToService else
|
||||||
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||||
end
|
end
|
||||||
@ -226,6 +233,8 @@ End Service
|
|||||||
// to an RDS record.
|
// to an RDS record.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service AddComment(RDSNo, Comment, UsernameOpt)
|
Service AddComment(RDSNo, Comment, UsernameOpt)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'AddComment'
|
||||||
|
|
||||||
RDSRow = Database_Services('ReadDataRow', 'RDS', RDSNo)
|
RDSRow = Database_Services('ReadDataRow', 'RDS', RDSNo)
|
||||||
Username = @USER4
|
Username = @USER4
|
||||||
@ -247,7 +256,9 @@ Service AddComment(RDSNo, Comment, UsernameOpt)
|
|||||||
oblParms := Values:@RM
|
oblParms := Values:@RM
|
||||||
oblParms := "TOP" :@VM: "TOP" :@VM: "TOP"
|
oblParms := "TOP" :@VM: "TOP" :@VM: "TOP"
|
||||||
obj_Post_Log('Create',oblParms)
|
obj_Post_Log('Create',oblParms)
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
End Service
|
End Service
|
||||||
|
|
||||||
|
|
||||||
@ -750,6 +761,9 @@ Service IsValidSubLot(RDSNo, RDSType, SupplierLot)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetRDSRunHistoryByReactorAndWO(ReactorNo, WO)
|
Service GetRDSRunHistoryByReactorAndWO(ReactorNo, WO)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetRDSRunHistoryByReactorAndWO'
|
||||||
|
|
||||||
table = "RDS"
|
table = "RDS"
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
RDSRecords = ''
|
RDSRecords = ''
|
||||||
@ -783,10 +797,16 @@ Service GetRDSRunHistoryByReactorAndWO(ReactorNo, WO)
|
|||||||
end
|
end
|
||||||
Next RDS
|
Next RDS
|
||||||
Response = FinalRDSSortedByAssignmentDTM<1>
|
Response = FinalRDSSortedByAssignmentDTM<1>
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
Service IsTWLoggingReqd(RDSNo)
|
Service IsTWLoggingReqd(RDSNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'IsTWLoggingReqd'
|
||||||
|
|
||||||
IsTWReqd = False$
|
IsTWReqd = False$
|
||||||
ExistingTWRuns = Test_Run_Services('GetTestRunKeysByRDS', RDSNo)
|
ExistingTWRuns = Test_Run_Services('GetTestRunKeysByRDS', RDSNo)
|
||||||
If ExistingTWRuns EQ '' then
|
If ExistingTWRuns EQ '' then
|
||||||
@ -847,6 +867,9 @@ Service IsTWLoggingReqd(RDSNo)
|
|||||||
IsTWReqd = False$
|
IsTWReqd = False$
|
||||||
end
|
end
|
||||||
Response = IsTWReqd
|
Response = IsTWReqd
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service TestWaferRanAfterLoad(RDSNo)
|
Service TestWaferRanAfterLoad(RDSNo)
|
||||||
@ -1099,6 +1122,8 @@ end service
|
|||||||
|
|
||||||
|
|
||||||
Service CopyRDSLayerParameters(RDSNo)
|
Service CopyRDSLayerParameters(RDSNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CopyRDSLayerParameters'
|
||||||
|
|
||||||
If (RDSNo NE '') then
|
If (RDSNo NE '') then
|
||||||
RunOrderNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
|
RunOrderNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
|
||||||
@ -1151,6 +1176,8 @@ Service CopyRDSLayerParameters(RDSNo)
|
|||||||
Error_Services('Add', 'RDSNo not supplied in ':Service:' service.')
|
Error_Services('Add', 'RDSNo not supplied in ':Service:' service.')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -1829,3 +1856,4 @@ return
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ Declare function SRP_Math, SRP_Hash, SRP_JSON, Epi_Part_Services, Schedule_Se
|
|||||||
Declare function Logging_Services, GetCommandLine, NextKey, Reactor_Log_Services, SRP_DateTime, ole_getwebpage
|
Declare function Logging_Services, GetCommandLine, NextKey, Reactor_Log_Services, SRP_DateTime, ole_getwebpage
|
||||||
Declare function Datetime, Reactor_Modes_Services, Work_Order_Services, React_Mode_NG_Services, Lsl_Users_Services
|
Declare function Datetime, Reactor_Modes_Services, Work_Order_Services, React_Mode_NG_Services, Lsl_Users_Services
|
||||||
Declare function SRP_Time, Rds_Services, SRP_Fastarray, Httpclient_Services, SRP_List, Utility, Memberof, Error_Services
|
Declare function SRP_Time, Rds_Services, SRP_Fastarray, Httpclient_Services, SRP_List, Utility, Memberof, Error_Services
|
||||||
Declare function Nica_Orders_Services, Max, RTI_CreateGUID
|
Declare function Nica_Orders_Services, Max, RTI_CreateGUID, GetTickCount
|
||||||
|
|
||||||
// Report paths for various performance report services.
|
// Report paths for various performance report services.
|
||||||
TemplatesFolder = Environment_Services('GetApplicationRootPath') : '\Reports\Scheduler\Templates\'
|
TemplatesFolder = Environment_Services('GetApplicationRootPath') : '\Reports\Scheduler\Templates\'
|
||||||
@ -91,6 +91,13 @@ LogDate = Oconv(Date(), 'D4/')
|
|||||||
LogTime = Oconv(Time(), 'MTS')
|
LogTime = Oconv(Time(), 'MTS')
|
||||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_REACTORSERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_REACTORSERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService else
|
GoToService else
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -116,6 +123,8 @@ Options REACTORMETRIC = 'TUBE_BELL_JAR_THK', 'TUBE_BELL_JAR_WFR_CNT', 'SUSC_THK'
|
|||||||
//
|
//
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service IncrementWfrMetrics(RDSNo)
|
Service IncrementWfrMetrics(RDSNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'IncrementWfrMetrics'
|
||||||
|
|
||||||
// Get Reactor and run count details
|
// Get Reactor and run count details
|
||||||
RDSRec = Xlate('RDS', RDSNo, '', 'X', '')
|
RDSRec = Xlate('RDS', RDSNo, '', 'X', '')
|
||||||
@ -217,6 +226,8 @@ Service IncrementWfrMetrics(RDSNo)
|
|||||||
|
|
||||||
Database_Services('WriteDataRow', 'REACTOR', ReactorNo, NewReactorRec, 1, 0, 0)
|
Database_Services('WriteDataRow', 'REACTOR', ReactorNo, NewReactorRec, 1, 0, 0)
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -3603,6 +3614,8 @@ end service
|
|||||||
|
|
||||||
|
|
||||||
Service GetReactorAvailChamberCount(ReactNo)
|
Service GetReactorAvailChamberCount(ReactNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetReactorAvailChamberCount'
|
||||||
|
|
||||||
ErrMsg = 'Error in ReactorServices -> GetReactorAvailChamberCount: '
|
ErrMsg = 'Error in ReactorServices -> GetReactorAvailChamberCount: '
|
||||||
AvailableChamberCount = 0
|
AvailableChamberCount = 0
|
||||||
@ -3622,6 +3635,8 @@ Service GetReactorAvailChamberCount(ReactNo)
|
|||||||
end
|
end
|
||||||
Response = AvailableChamberCount
|
Response = AvailableChamberCount
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -4340,3 +4355,4 @@ ClearCursors:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,9 +45,9 @@ $insert RDS_EQUATES
|
|||||||
$insert SCAN_SETUP
|
$insert SCAN_SETUP
|
||||||
|
|
||||||
Declare Function Scan_Services, Database_Services, QA_Services, Datetime, RDS_Services, SRP_Array, SRP_Stopwatch
|
Declare Function Scan_Services, Database_Services, QA_Services, Datetime, RDS_Services, SRP_Array, SRP_Stopwatch
|
||||||
Declare function Logging_Services, Environment_Services
|
Declare function Logging_Services, Environment_Services, GetTickCount
|
||||||
Declare Subroutine Scan_Services, Database_Services, QA_Services, obj_WO_Mat_Log, SRP_Stopwatch
|
Declare Subroutine Scan_Services, Database_Services, QA_Services, obj_WO_Mat_Log, SRP_Stopwatch
|
||||||
Declare Subroutine Logging_Services
|
Declare Subroutine Logging_Services, Mona_Services
|
||||||
|
|
||||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\ScanAPI\APIResponseTime'; //Define the directory where the log will be saved to. This happens the first time of the day that the log is written to.
|
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\ScanAPI\APIResponseTime'; //Define the directory where the log will be saved to. This happens the first time of the day that the log is written to.
|
||||||
LogDate = Oconv(Date(), 'D4/')
|
LogDate = Oconv(Date(), 'D4/')
|
||||||
@ -57,6 +57,13 @@ LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
|||||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ScanAPIResponseTimes.csv'; //Define the file name that will get created.
|
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ScanAPIResponseTimes.csv'; //Define the file name that will get created.
|
||||||
Headers = 'Logging DTM' : @FM : 'API' : @FM : 'ResponseTime' : @FM : 'ScanID' : @FM : 'ScanData' : @VM : 'StatusCode' ; //Define the column names in the log file, delimited by a Field Mark.
|
Headers = 'Logging DTM' : @FM : 'API' : @FM : 'ResponseTime' : @FM : 'ScanID' : @FM : 'ScanData' : @VM : 'StatusCode' ; //Define the column names in the log file, delimited by a Field Mark.
|
||||||
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$); //Actually creates the log.
|
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$); //Actually creates the log.
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SCANAPI'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SCANAPI'
|
||||||
|
end
|
||||||
|
|
||||||
GoToAPI else
|
GoToAPI else
|
||||||
// The specific resource endpoint doesn't have a API handler yet.
|
// The specific resource endpoint doesn't have a API handler yet.
|
||||||
@ -72,16 +79,25 @@ Return Response OR ''
|
|||||||
|
|
||||||
|
|
||||||
API scan.POST
|
API scan.POST
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SCAN_POST'
|
||||||
|
|
||||||
SRP_Stopwatch('Reset')
|
SRP_Stopwatch('Reset')
|
||||||
SRP_Stopwatch('Start', 'SCAN_POST_RESPONSE_TIME')
|
SRP_Stopwatch('Start', 'SCAN_POST_RESPONSE_TIME')
|
||||||
ScanID = Scan_Services('CreateScansRow')
|
ScanID = Scan_Services('CreateScansRow')
|
||||||
If Error_Services('NoError') then
|
If Error_Services('NoError') then
|
||||||
StatusCode = 201
|
StatusCode = 201
|
||||||
GoSub CreateHALItem
|
GoSub CreateHALItem
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||||
end else
|
end else
|
||||||
Message = Error_Services('GetMessage')
|
Message = Error_Services('GetMessage')
|
||||||
HTTP_Services('SetResponseStatus', 500, Message)
|
HTTP_Services('SetResponseStatus', 500, Message)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
SRP_Stopwatch('Stop', 'SCAN_POST_RESPONSE_TIME')
|
SRP_Stopwatch('Stop', 'SCAN_POST_RESPONSE_TIME')
|
||||||
TotalPostResponseTime = SRP_Stopwatch('GetData', 'SCAN_POST_RESPONSE_TIME')
|
TotalPostResponseTime = SRP_Stopwatch('GetData', 'SCAN_POST_RESPONSE_TIME')
|
||||||
LogData = ''
|
LogData = ''
|
||||||
@ -100,6 +116,9 @@ end api
|
|||||||
|
|
||||||
|
|
||||||
API scan.ID.POST
|
API scan.ID.POST
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SCAN_ID_POST'
|
||||||
|
|
||||||
SRP_Stopwatch('Reset')
|
SRP_Stopwatch('Reset')
|
||||||
SRP_Stopwatch('Start', 'SCAN_ID_POST_RESPONSE_TIME')
|
SRP_Stopwatch('Start', 'SCAN_ID_POST_RESPONSE_TIME')
|
||||||
ScanID = EndpointSegment
|
ScanID = EndpointSegment
|
||||||
@ -112,13 +131,20 @@ API scan.ID.POST
|
|||||||
If Error_Services('NoError') then
|
If Error_Services('NoError') then
|
||||||
StatusCode = 200
|
StatusCode = 200
|
||||||
GoSub CreateHALItem
|
GoSub CreateHALItem
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||||
end else
|
end else
|
||||||
Message = Error_Services('GetMessage')
|
Message = Error_Services('GetMessage')
|
||||||
HTTP_Services('SetResponseStatus', 400, Message)
|
HTTP_Services('SetResponseStatus', 400, Message)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
||||||
end
|
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||||
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
SRP_Stopwatch('Stop', 'SCAN_ID_POST_RESPONSE_TIME')
|
SRP_Stopwatch('Stop', 'SCAN_ID_POST_RESPONSE_TIME')
|
||||||
TotalPostResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_POST_RESPONSE_TIME')
|
TotalPostResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_POST_RESPONSE_TIME')
|
||||||
LogData = ''
|
LogData = ''
|
||||||
@ -143,11 +169,19 @@ end api
|
|||||||
|
|
||||||
API scan.ID.HEAD
|
API scan.ID.HEAD
|
||||||
API scan.ID.GET
|
API scan.ID.GET
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SCAN_ID_GET'
|
||||||
|
|
||||||
SRP_Stopwatch('Reset')
|
SRP_Stopwatch('Reset')
|
||||||
SRP_Stopwatch('Start', 'SCAN_ID_GET_RESPONSE_TIME')
|
SRP_Stopwatch('Start', 'SCAN_ID_GET_RESPONSE_TIME')
|
||||||
ScanID = EndpointSegment
|
ScanID = EndpointSegment
|
||||||
StatusCode = 200
|
StatusCode = 200
|
||||||
GoSub CreateHALItem
|
GoSub CreateHALItem
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
SRP_Stopwatch('Stop', 'SCAN_ID_POST_RESPONSE_TIME')
|
SRP_Stopwatch('Stop', 'SCAN_ID_POST_RESPONSE_TIME')
|
||||||
TotalGetResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_GET_RESPONSE_TIME')
|
TotalGetResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_GET_RESPONSE_TIME')
|
||||||
LogData = ''
|
LogData = ''
|
||||||
@ -166,6 +200,9 @@ end api
|
|||||||
|
|
||||||
|
|
||||||
API scan.ID.DELETE
|
API scan.ID.DELETE
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SCAN_ID_DELETE'
|
||||||
|
|
||||||
SRP_Stopwatch('Reset')
|
SRP_Stopwatch('Reset')
|
||||||
SRP_Stopwatch('Start', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
SRP_Stopwatch('Start', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
||||||
ScanID = EndpointSegment
|
ScanID = EndpointSegment
|
||||||
@ -176,17 +213,25 @@ API scan.ID.DELETE
|
|||||||
Database_Services('DeleteDataRow', 'SCANS', ScanID, True$, False$)
|
Database_Services('DeleteDataRow', 'SCANS', ScanID, True$, False$)
|
||||||
If Error_Services('NoError') then
|
If Error_Services('NoError') then
|
||||||
HTTP_Services('SetResponseStatus', 200)
|
HTTP_Services('SetResponseStatus', 200)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||||
end else
|
end else
|
||||||
Message = Error_Services('GetMessage')
|
Message = Error_Services('GetMessage')
|
||||||
HTTP_Services('SetResponseStatus', 500, Message)
|
HTTP_Services('SetResponseStatus', 500, Message)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
HTTP_Services('SetResponseStatus', 403, 'This scan is already accepted and cannot be deleted.')
|
HTTP_Services('SetResponseStatus', 403, 'This scan is already accepted and cannot be deleted.')
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
Message = Error_Services('GetMessage')
|
Message = Error_Services('GetMessage')
|
||||||
HTTP_Services('SetResponseStatus', 404, Message)
|
HTTP_Services('SetResponseStatus', 404, Message)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
SRP_Stopwatch('Stop', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
SRP_Stopwatch('Stop', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
||||||
TotalDeleteResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
TotalDeleteResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
||||||
LogData = ''
|
LogData = ''
|
||||||
@ -205,7 +250,9 @@ end api
|
|||||||
|
|
||||||
|
|
||||||
API scan.ID.PATCH
|
API scan.ID.PATCH
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SCAN_ID_PATCH'
|
||||||
|
|
||||||
// This is where scans are ultimately accepted for final processing. We will need to determine which type
|
// This is where scans are ultimately accepted for final processing. We will need to determine which type
|
||||||
// of scan this is (i.e. Location, Pre-Epi + Load, or Unload). This will be determined by the data coming in and the
|
// of scan this is (i.e. Location, Pre-Epi + Load, or Unload). This will be determined by the data coming in and the
|
||||||
// current status of the lot. For example a Location scan would only have an RDS, location code, and username.
|
// current status of the lot. For example a Location scan would only have an RDS, location code, and username.
|
||||||
@ -232,14 +279,17 @@ API scan.ID.PATCH
|
|||||||
If Error_Services('NoError') then
|
If Error_Services('NoError') then
|
||||||
StatusCode = 200
|
StatusCode = 200
|
||||||
GoSub CreateHALItem
|
GoSub CreateHALItem
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||||
end else
|
end else
|
||||||
Message = Error_Services('GetMessage')
|
Message = Error_Services('GetMessage')
|
||||||
HTTP_Services('SetResponseStatus', 500, Message)
|
HTTP_Services('SetResponseStatus', 500, Message)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||||
end
|
end
|
||||||
|
|
||||||
SRP_JSON(hBody, 'Release')
|
SRP_JSON(hBody, 'Release')
|
||||||
end else
|
end else
|
||||||
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
ScanNotAcceptableReason = SRP_JSON(objResource, 'GetValue', 'scan.notAcceptableReason')
|
ScanNotAcceptableReason = SRP_JSON(objResource, 'GetValue', 'scan.notAcceptableReason')
|
||||||
@ -249,11 +299,17 @@ API scan.ID.PATCH
|
|||||||
end else
|
end else
|
||||||
Message = 'Unable to parse the JSON scan resource.'
|
Message = 'Unable to parse the JSON scan resource.'
|
||||||
HTTP_Services('SetResponseStatus', 400, Message)
|
HTTP_Services('SetResponseStatus', 400, Message)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
Message = Error_Services('GetMessage')
|
Message = Error_Services('GetMessage')
|
||||||
HTTP_Services('SetResponseStatus', 404, Message)
|
HTTP_Services('SetResponseStatus', 404, Message)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
SRP_Stopwatch('Stop', 'SCAN_ID_PATCH_RESPONSE_TIME')
|
SRP_Stopwatch('Stop', 'SCAN_ID_PATCH_RESPONSE_TIME')
|
||||||
TotalPatchResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_PATCH_RESPONSE_TIME')
|
TotalPatchResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_PATCH_RESPONSE_TIME')
|
||||||
LogData = ''
|
LogData = ''
|
||||||
@ -272,6 +328,8 @@ end api
|
|||||||
|
|
||||||
|
|
||||||
API scan.ID.PUT
|
API scan.ID.PUT
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SCAN_ID_PUT'
|
||||||
|
|
||||||
SRP_Stopwatch('Reset')
|
SRP_Stopwatch('Reset')
|
||||||
SRP_Stopwatch('Start', 'SCAN_ID_PUT_RESPONSE_TIME')
|
SRP_Stopwatch('Start', 'SCAN_ID_PUT_RESPONSE_TIME')
|
||||||
@ -314,17 +372,25 @@ API scan.ID.PUT
|
|||||||
Database_Services('WriteDataRow', 'SCANS', ScanID, ScanRow, True$, False$, True$)
|
Database_Services('WriteDataRow', 'SCANS', ScanID, ScanRow, True$, False$, True$)
|
||||||
If Error_Services('NoError') then
|
If Error_Services('NoError') then
|
||||||
GoSub CreateHALItem
|
GoSub CreateHALItem
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||||
end else
|
end else
|
||||||
Message = Error_Services('GetMessage')
|
Message = Error_Services('GetMessage')
|
||||||
HTTP_Services('SetResponseStatus', 500, Message)
|
HTTP_Services('SetResponseStatus', 500, Message)
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||||
end
|
end
|
||||||
SRP_JSON(hBody, 'Release')
|
SRP_JSON(hBody, 'Release')
|
||||||
end else
|
end else
|
||||||
HTTP_Services('SetResponseStatus', 400, 'Unable to parse the scanData JSON.')
|
HTTP_Services('SetResponseStatus', 400, 'Unable to parse the scanData JSON.')
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||||
end
|
end
|
||||||
end else
|
end else
|
||||||
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
||||||
|
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
|
|
||||||
SRP_Stopwatch('Stop', 'SCAN_ID_PUT_RESPONSE_TIME')
|
SRP_Stopwatch('Stop', 'SCAN_ID_PUT_RESPONSE_TIME')
|
||||||
TotalPutResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_PUT_RESPONSE_TIME')
|
TotalPutResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_PUT_RESPONSE_TIME')
|
||||||
LogData = ''
|
LogData = ''
|
||||||
@ -339,7 +405,6 @@ API scan.ID.PUT
|
|||||||
end
|
end
|
||||||
LogData<6> = ResponseStatusCode
|
LogData<6> = ResponseStatusCode
|
||||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM, False$)
|
Logging_Services('AppendLog', objLog, LogData, @RM, @FM, False$)
|
||||||
|
|
||||||
end api
|
end api
|
||||||
|
|
||||||
|
|
||||||
@ -378,3 +443,4 @@ CreateHALItem:
|
|||||||
end
|
end
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -47,9 +47,10 @@ Declare Function Scan_Services, Memory_Services, Database_Services, SRP_JSON,
|
|||||||
Declare Function QA_Services, Error_Services, Security_Services, SRP_Array, obj_WO_Mat, Memberof, Override_Log_Services
|
Declare Function QA_Services, Error_Services, Security_Services, SRP_Array, obj_WO_Mat, Memberof, Override_Log_Services
|
||||||
Declare Function Keyboard_Sim_Services, Environment_Services, Logging_Services, Reactor_Services, Supplement_Services
|
Declare Function Keyboard_Sim_Services, Environment_Services, Logging_Services, Reactor_Services, Supplement_Services
|
||||||
Declare function Test_Run_Services, Lot_Services, WO_MAT_Services, Reactor_Log_Services, Schedule_Services
|
Declare function Test_Run_Services, Lot_Services, WO_MAT_Services, Reactor_Log_Services, Schedule_Services
|
||||||
|
Declare function GetTickCount
|
||||||
Declare Subroutine Scan_Services, Memory_Services, Database_Services, SRP_JSON, QA_Services, Error_Services
|
Declare Subroutine Scan_Services, Memory_Services, Database_Services, SRP_JSON, QA_Services, Error_Services
|
||||||
Declare Subroutine obj_WO_Mat_Log, Tool_Parms_Services, RDS_Services, Logging_Services, Supplement_Services
|
Declare Subroutine obj_WO_Mat_Log, Tool_Parms_Services, RDS_Services, Logging_Services, Supplement_Services
|
||||||
Declare Subroutine Test_Run_Services, WO_MAT_Services, Reactor_Log_Services, Schedule_Services
|
Declare Subroutine Test_Run_Services, WO_MAT_Services, Reactor_Log_Services, Schedule_Services, Mona_Services
|
||||||
|
|
||||||
Equ CRLF$ to \0D0A\
|
Equ CRLF$ to \0D0A\
|
||||||
|
|
||||||
@ -61,6 +62,13 @@ Headers = 'Logging DTM' : @FM : 'RDS Key ID' : @FM : 'User' : @FM : 'CurrSta
|
|||||||
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SCANSERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SCANSERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService else
|
GoToService else
|
||||||
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' module.')
|
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' module.')
|
||||||
end
|
end
|
||||||
@ -200,6 +208,8 @@ end service
|
|||||||
// Returns the database row from the SCANS table for the indicated Scan ID. The default format is MultiValue.
|
// Returns the database row from the SCANS table for the indicated Scan ID. The default format is MultiValue.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service GetScansRow(ScanID, ReturnJSON)
|
Service GetScansRow(ScanID, ReturnJSON)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetScansRow'
|
||||||
|
|
||||||
ScansRow = ''
|
ScansRow = ''
|
||||||
|
|
||||||
@ -214,6 +224,8 @@ Service GetScansRow(ScanID, ReturnJSON)
|
|||||||
|
|
||||||
Response = ScansRow
|
Response = ScansRow
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -223,6 +235,8 @@ end service
|
|||||||
// Returns the database row from the SCANS table for the indicated Scan ID. The default format is MultiValue.
|
// Returns the database row from the SCANS table for the indicated Scan ID. The default format is MultiValue.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service SetScansRow(ScanID, ScansRow)
|
Service SetScansRow(ScanID, ScansRow)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'SetScansRow'
|
||||||
|
|
||||||
If (ScanID NE '') AND (ScansRow NE '') then
|
If (ScanID NE '') AND (ScansRow NE '') then
|
||||||
Database_Services('WriteDataRow', 'SCANS', ScanID, ScansRow)
|
Database_Services('WriteDataRow', 'SCANS', ScanID, ScansRow)
|
||||||
@ -230,6 +244,8 @@ Service SetScansRow(ScanID, ScansRow)
|
|||||||
Error_Services('Add', 'ScanID or ScansRow argument was missing in the ' : Service : ' service.')
|
Error_Services('Add', 'ScanID or ScansRow argument was missing in the ' : Service : ' service.')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -242,6 +258,8 @@ end service
|
|||||||
// evaluated on a case by case basis.
|
// evaluated on a case by case basis.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service ProcessScanData(ScanID, ScanJSON)
|
Service ProcessScanData(ScanID, ScanJSON)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'ProcessScanData'
|
||||||
|
|
||||||
If ( (ScanID NE '') AND (ScanJSON NE '') ) then
|
If ( (ScanID NE '') AND (ScanJSON NE '') ) then
|
||||||
hScanJSON = ''
|
hScanJSON = ''
|
||||||
@ -1285,8 +1303,10 @@ Service ProcessScanData(ScanID, ScanJSON)
|
|||||||
SRP_JSON(hScanJSON, 'Release')
|
SRP_JSON(hScanJSON, 'Release')
|
||||||
end else
|
end else
|
||||||
Error_Services('Add', 'ScanID or ScanJSON argument was missing in the ' : Service : ' service.')
|
Error_Services('Add', 'ScanID or ScanJSON argument was missing in the ' : Service : ' service.')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -1295,6 +1315,9 @@ end service
|
|||||||
//
|
//
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service AcceptScan(ScanID, ScanJSON)
|
Service AcceptScan(ScanID, ScanJSON)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'AcceptScan'
|
||||||
|
|
||||||
If ( (ScanID NE '') and (ScanJSON NE '') ) then
|
If ( (ScanID NE '') and (ScanJSON NE '') ) then
|
||||||
hBody = ''
|
hBody = ''
|
||||||
ParseResponse = SRP_JSON(hBody, 'PARSE', ScanJSON)
|
ParseResponse = SRP_JSON(hBody, 'PARSE', ScanJSON)
|
||||||
@ -1649,6 +1672,8 @@ Service AcceptScan(ScanID, ScanJSON)
|
|||||||
Error_Services('Add', 'ScanID or ScanJSON argument was missing in the ' : Service : ' service.')
|
Error_Services('Add', 'ScanID or ScanJSON argument was missing in the ' : Service : ' service.')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
@ -1659,6 +1684,8 @@ end service
|
|||||||
// HAL+JSON properties will be added to the JSON object.
|
// HAL+JSON properties will be added to the JSON object.
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'ConvertMVScanToJSON'
|
||||||
|
|
||||||
jsonScan = ''
|
jsonScan = ''
|
||||||
|
|
||||||
@ -2160,6 +2187,8 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
|||||||
|
|
||||||
Response = jsonScan
|
Response = jsonScan
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
@ -2396,9 +2425,3 @@ ClearCursors:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -55,15 +55,23 @@ EQU NOTIFICATION_PERIOD$ TO 12
|
|||||||
|
|
||||||
Declare subroutine Error_Services, Schedule_Services, Memory_Services, RList, Database_Services, Logging_Services
|
Declare subroutine Error_Services, Schedule_Services, Memory_Services, RList, Database_Services, Logging_Services
|
||||||
Declare subroutine Btree.Extract, Set_Status, Reduce, FSMsg, Messaging_Services, obj_Notes, Make.List
|
Declare subroutine Btree.Extract, Set_Status, Reduce, FSMsg, Messaging_Services, obj_Notes, Make.List
|
||||||
|
Declare subroutine Mona_Services
|
||||||
Declare function SRP_Array, Schedule_Services, Memory_Services, Database_Services, SRP_Sort_Array, Datetime
|
Declare function SRP_Array, Schedule_Services, Memory_Services, Database_Services, SRP_Sort_Array, Datetime
|
||||||
Declare function Epi_Part_Services, SRP_Math, SRP_Hash, obj_Prod_Spec, Logging_Services, Environment_Services
|
Declare function Epi_Part_Services, SRP_Math, SRP_Hash, obj_Prod_Spec, Logging_Services, Environment_Services
|
||||||
Declare function Work_Order_Services, RTI_CreateGUID, Reactor_Services, Schedule_Services, NextKey, SRP_Datetime
|
Declare function Work_Order_Services, RTI_CreateGUID, Reactor_Services, Schedule_Services, NextKey, SRP_Datetime
|
||||||
Declare function SRP_Time, Lsl_Users_Services
|
Declare function SRP_Time, Lsl_Users_Services, GetTickCount
|
||||||
|
|
||||||
Date = Oconv(Date(), 'D4/')
|
Date = Oconv(Date(), 'D4/')
|
||||||
LogFileName = Date[7, 4] : '-' : Date[1, 2] : '-' : Date[4, 2] : ' Scheduler Log.csv'
|
LogFileName = Date[7, 4] : '-' : Date[1, 2] : '-' : Date[4, 2] : ' Scheduler Log.csv'
|
||||||
Headers = 'Logging DTM' : @FM : 'Service Step' : @FM : 'Service Notes'
|
Headers = 'Logging DTM' : @FM : 'Service Step' : @FM : 'Service Notes'
|
||||||
ColumnWidths = 20 : @FM : 30 : @FM : 150
|
ColumnWidths = 20 : @FM : 30 : @FM : 150
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SCHEDULESERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SCHEDULESERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService else
|
GoToService else
|
||||||
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||||
@ -795,6 +803,8 @@ end service
|
|||||||
|
|
||||||
|
|
||||||
Service GetCurrentEvent(ReactNo)
|
Service GetCurrentEvent(ReactNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetCurrentEvent'
|
||||||
|
|
||||||
SchedDetKey = ''
|
SchedDetKey = ''
|
||||||
If ReactNo NE '' then
|
If ReactNo NE '' then
|
||||||
@ -814,9 +824,14 @@ Service GetCurrentEvent(ReactNo)
|
|||||||
GoSub ClearCursors
|
GoSub ClearCursors
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service CurrentEventIsBlock(ReactNo)
|
Service CurrentEventIsBlock(ReactNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CurrentEventIsBlock'
|
||||||
|
|
||||||
If ReactNo NE '' then
|
If ReactNo NE '' then
|
||||||
CurrentSchedDetKey = Schedule_Services('GetCurrentEvent', ReactNo)
|
CurrentSchedDetKey = Schedule_Services('GetCurrentEvent', ReactNo)
|
||||||
|
|
||||||
@ -838,9 +853,15 @@ Service CurrentEventIsBlock(ReactNo)
|
|||||||
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
||||||
Error_Services('Add', ErrorMsg)
|
Error_Services('Add', ErrorMsg)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetNextEvent(ReactNo)
|
Service GetNextEvent(ReactNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetNextEvent'
|
||||||
|
|
||||||
SchedDetKey = ''
|
SchedDetKey = ''
|
||||||
If ReactNo NE '' then
|
If ReactNo NE '' then
|
||||||
CurrDTM = Datetime()
|
CurrDTM = Datetime()
|
||||||
@ -870,6 +891,9 @@ Service GetNextEvent(ReactNo)
|
|||||||
end
|
end
|
||||||
GoSub ClearCursors
|
GoSub ClearCursors
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetEngagedEvent(ReactNo)
|
Service GetEngagedEvent(ReactNo)
|
||||||
@ -919,6 +943,9 @@ Service GetLastEngagedEvent(ReactNo)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service NextEventIsSamePsn(ReactNo)
|
Service NextEventIsSamePsn(ReactNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'NextEventIsSamePsn'
|
||||||
|
|
||||||
Response = False$
|
Response = False$
|
||||||
If ReactNo NE '' then
|
If ReactNo NE '' then
|
||||||
CurrentSchedDetKey = Schedule_Services('GetCurrentEvent', ReactNo)
|
CurrentSchedDetKey = Schedule_Services('GetCurrentEvent', ReactNo)
|
||||||
@ -962,9 +989,15 @@ Service NextEventIsSamePsn(ReactNo)
|
|||||||
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
||||||
Error_Services('Add', ErrorMsg)
|
Error_Services('Add', ErrorMsg)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service NextEventIsBlock(ReactNo)
|
Service NextEventIsBlock(ReactNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'NextEventIsBlock'
|
||||||
|
|
||||||
If ReactNo NE '' then
|
If ReactNo NE '' then
|
||||||
NextSchedDetKey = Schedule_Services('GetNextEvent', ReactNo)
|
NextSchedDetKey = Schedule_Services('GetNextEvent', ReactNo)
|
||||||
|
|
||||||
@ -986,6 +1019,9 @@ Service NextEventIsBlock(ReactNo)
|
|||||||
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
||||||
Error_Services('Add', ErrorMsg)
|
Error_Services('Add', ErrorMsg)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
@ -3561,3 +3597,4 @@ CreateScheduleChangeNotification:
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,12 +63,20 @@ Equ COL$TOOL_ID to 10
|
|||||||
|
|
||||||
Declare function obj_Prod_Spec, RDS_Services, Error_Services, Signature_Services, Memory_Services, obj_RDS_Test
|
Declare function obj_Prod_Spec, RDS_Services, Error_Services, Signature_Services, Memory_Services, obj_RDS_Test
|
||||||
Declare function Database_Services, obj_WO_Mat, Dialog_Box, MemberOf, Msg, QA_Services, Datetime, Supplement_Services
|
Declare function Database_Services, obj_WO_Mat, Dialog_Box, MemberOf, Msg, QA_Services, Datetime, Supplement_Services
|
||||||
|
Declare function Environment_Services, GetTickCount
|
||||||
Declare subroutine Error_Services, Popup, Memory_Services, SRP_Stopwatch, Set_Status, Database_Services, obj_WO_Mat
|
Declare subroutine Error_Services, Popup, Memory_Services, SRP_Stopwatch, Set_Status, Database_Services, obj_WO_Mat
|
||||||
Declare subroutine Obj_Notes, Signature_Services, Obj_WO_Mat_Log, ErrMsg
|
Declare subroutine Obj_Notes, Signature_Services, Obj_WO_Mat_Log, ErrMsg, Mona_Services
|
||||||
|
|
||||||
PSNKey = ServiceKeyID
|
PSNKey = ServiceKeyID
|
||||||
ReactorKey = ServiceKeyID
|
ReactorKey = ServiceKeyID
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SIGNATURESERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SIGNATURESERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService
|
GoToService
|
||||||
|
|
||||||
Return Response or ""
|
Return Response or ""
|
||||||
@ -135,6 +143,8 @@ end service
|
|||||||
|
|
||||||
|
|
||||||
Service GetSigProfile(WOMatKey, UseCaching, RDSNo)
|
Service GetSigProfile(WOMatKey, UseCaching, RDSNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetSigProfile'
|
||||||
|
|
||||||
If UseCaching EQ '' then UseCaching = True$
|
If UseCaching EQ '' then UseCaching = True$
|
||||||
|
|
||||||
@ -175,6 +185,8 @@ Service GetSigProfile(WOMatKey, UseCaching, RDSNo)
|
|||||||
SigDTMs = OCONV(SigDTMs,'DT4/^S')
|
SigDTMs = OCONV(SigDTMs,'DT4/^S')
|
||||||
Response = SigProfile:@FM:Signatures:@FM:SigDTMs
|
Response = SigProfile:@FM:Signatures:@FM:SigDTMs
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -211,6 +223,9 @@ end service
|
|||||||
|
|
||||||
|
|
||||||
Service CheckSigOrder(WOMatKey, CurrStage, UseCaching, RDSNo)
|
Service CheckSigOrder(WOMatKey, CurrStage, UseCaching, RDSNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CheckSigOrder'
|
||||||
|
|
||||||
If UseCaching EQ '' then UseCachine = True$
|
If UseCaching EQ '' then UseCachine = True$
|
||||||
Response = False$
|
Response = False$
|
||||||
If RDSNo NE '' then
|
If RDSNo NE '' then
|
||||||
@ -264,6 +279,8 @@ Service CheckSigOrder(WOMatKey, CurrStage, UseCaching, RDSNo)
|
|||||||
Response = True$
|
Response = True$
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
End Service
|
End Service
|
||||||
|
|
||||||
|
|
||||||
|
@ -56,9 +56,16 @@ $Insert NOTIFICATION_EQUATES
|
|||||||
Equ COMMA$ to ','
|
Equ COMMA$ to ','
|
||||||
|
|
||||||
Declare function Database_Services, Supplement_Services, Rti_Createguid, SRP_Array, Datetime, Signature_Services
|
Declare function Database_Services, Supplement_Services, Rti_Createguid, SRP_Array, Datetime, Signature_Services
|
||||||
Declare function Environment_Services, Logging_Services, Select_Into
|
Declare function Environment_Services, Logging_Services, Select_Into, GetTickCount
|
||||||
Declare subroutine Database_Services, Rds_Services, Supplement_Services, Logging_Services, Set_Status, SRP_Stopwatch
|
Declare subroutine Database_Services, Rds_Services, Supplement_Services, Logging_Services, Set_Status, SRP_Stopwatch
|
||||||
Declare subroutine Btree.Extract, obj_Notes
|
Declare subroutine Btree.Extract, obj_Notes, Mona_Services
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SUPPLEMENTSERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SUPPLEMENTSERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService else
|
GoToService else
|
||||||
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' module.')
|
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' module.')
|
||||||
@ -408,6 +415,8 @@ end service
|
|||||||
//
|
//
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service AcknowledgeSupplement(SupplID, EntryUser)
|
Service AcknowledgeSupplement(SupplID, EntryUser)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'AcknowledgeSupplement'
|
||||||
|
|
||||||
If ( (SupplID NE '') and (EntryUser NE '') ) then
|
If ( (SupplID NE '') and (EntryUser NE '') ) then
|
||||||
OldRec = Xlate('SUPPLEMENTS', SupplID, '', 'X', '')
|
OldRec = Xlate('SUPPLEMENTS', SupplID, '', 'X', '')
|
||||||
@ -433,6 +442,8 @@ Service AcknowledgeSupplement(SupplID, EntryUser)
|
|||||||
Error_Services('Add', 'SupplID or EntryUser was missing in the ' : Service : ' service.')
|
Error_Services('Add', 'SupplID or EntryUser was missing in the ' : Service : ' service.')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -447,6 +458,8 @@ end service
|
|||||||
//
|
//
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service UnacknowledgedSupplementCheck(LotType=LOTTYPES, LotID, Stage=STAGES)
|
Service UnacknowledgedSupplementCheck(LotType=LOTTYPES, LotID, Stage=STAGES)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'UnacknowledgedSupplementCheck'
|
||||||
|
|
||||||
UnackList = ''
|
UnackList = ''
|
||||||
Response = False$
|
Response = False$
|
||||||
@ -482,6 +495,8 @@ Service UnacknowledgedSupplementCheck(LotType=LOTTYPES, LotID, Stage=STAGES)
|
|||||||
|
|
||||||
If UnackList NE '' then Response = UnackList
|
If UnackList NE '' then Response = UnackList
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -496,6 +511,8 @@ end service
|
|||||||
//
|
//
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
Service LogSupplementChange(SupplementRec, EditEvent, EntryUser)
|
Service LogSupplementChange(SupplementRec, EditEvent, EntryUser)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'LogSupplementChange'
|
||||||
|
|
||||||
If ( (SupplementRec NE '') and (EditEvent NE '') and (EntryUser NE '') ) then
|
If ( (SupplementRec NE '') and (EditEvent NE '') and (EntryUser NE '') ) then
|
||||||
SupplementText = SupplementRec<SUPPLEMENTS_SUPPL_TEXT$>
|
SupplementText = SupplementRec<SUPPLEMENTS_SUPPL_TEXT$>
|
||||||
@ -513,6 +530,8 @@ Service LogSupplementChange(SupplementRec, EditEvent, EntryUser)
|
|||||||
Error_Services('Add', 'LotType, LotID, or Stage was missing in the ' : Service : ' service.')
|
Error_Services('Add', 'LotType, LotID, or Stage was missing in the ' : Service : ' service.')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
@ -613,3 +632,4 @@ Service SendNotifications(RDSList, EditEvent, Instructions, EntryUser)
|
|||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,9 +10,10 @@ $Insert TEST_RUN_OBJ_EQUATES
|
|||||||
$Insert LOT_EQUATES
|
$Insert LOT_EQUATES
|
||||||
$Insert LOT_OPERATION_EQUATES
|
$Insert LOT_OPERATION_EQUATES
|
||||||
|
|
||||||
Declare function Nextkey, Error_Services, Environment_Services, OConv, Logging_Services, SRP_Hashtable, Lot_Services
|
Declare function Nextkey, Error_Services, Environment_Services, OConv, Logging_Services, SRP_Hashtable, Lot_Services, GetTickCount
|
||||||
Declare function SRP_Datetime, Database_Services, Test_Run_Services, File_Services, Status, delete, Insert, Datetime, SRP_Json, MemberOf
|
Declare function SRP_Datetime, Database_Services, Test_Run_Services, File_Services, Status, delete, Insert, Datetime, SRP_Json, MemberOf
|
||||||
Declare subroutine Database_Services, Btree.Extract, Error_Services, Logging_Services, Rlist, Test_Run_Services, Lot_Services, SRP_Json
|
Declare subroutine Database_Services, Btree.Extract, Error_Services, Logging_Services, Rlist, Test_Run_Services, Lot_Services, SRP_Json
|
||||||
|
Declare subroutine Mona_Services
|
||||||
|
|
||||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\TEST_RUN_SERVICES\TestWaferProduct'
|
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\TEST_RUN_SERVICES\TestWaferProduct'
|
||||||
LogDate = Oconv(Date(), 'D4/')
|
LogDate = Oconv(Date(), 'D4/')
|
||||||
@ -30,6 +31,13 @@ objLogTR = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, He
|
|||||||
|
|
||||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_TESTRUNSERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_TESTRUNSERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService
|
GoToService
|
||||||
|
|
||||||
Return Response or ""
|
Return Response or ""
|
||||||
@ -280,6 +288,9 @@ Service UpdateTWProdSortOrder(TWProdKey, NewOrder)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetAllTestRunTypes()
|
Service GetAllTestRunTypes()
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetAllTestRunTypes'
|
||||||
|
|
||||||
keylist = ''
|
keylist = ''
|
||||||
rtList = ''
|
rtList = ''
|
||||||
RList('SELECT TEST_RUN_TYPE BY RUN_TYPE', 5, '', '', '')
|
RList('SELECT TEST_RUN_TYPE BY RUN_TYPE', 5, '', '', '')
|
||||||
@ -297,6 +308,9 @@ Service GetAllTestRunTypes()
|
|||||||
end
|
end
|
||||||
Next ProdKey
|
Next ProdKey
|
||||||
Response = rtList
|
Response = rtList
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetTestWaferLots(ShowOnlyOpenLots)
|
Service GetTestWaferLots(ShowOnlyOpenLots)
|
||||||
@ -318,6 +332,9 @@ Service GetTestWaferLots(ShowOnlyOpenLots)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service CreateTestRunRecord(RunTypeID, EqpType, EqpID, PSNo, RDSNo, UserID, TWLotIds, TWLotQtys)
|
Service CreateTestRunRecord(RunTypeID, EqpType, EqpID, PSNo, RDSNo, UserID, TWLotIds, TWLotQtys)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CreateTestRunRecord'
|
||||||
|
|
||||||
TWRunKey = ''
|
TWRunKey = ''
|
||||||
Response = ''
|
Response = ''
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
@ -490,9 +507,15 @@ Service CreateTestRunRecord(RunTypeID, EqpType, EqpID, PSNo, RDSNo, UserID, TWLo
|
|||||||
Error_Services('Add', ErrorMessage)
|
Error_Services('Add', ErrorMessage)
|
||||||
Response = ''
|
Response = ''
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotId, Username)
|
Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotId, Username)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CreateTestRunWaferRecord'
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
If TestRunID NE '' AND TWPartID NE '' then
|
If TestRunID NE '' AND TWPartID NE '' then
|
||||||
If RowExists('TEST_RUN', TestRunID) then
|
If RowExists('TEST_RUN', TestRunID) then
|
||||||
@ -537,6 +560,9 @@ Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotId
|
|||||||
Logging_Services('AppendLog', objLogTR, LogData, @FM, @VM)
|
Logging_Services('AppendLog', objLogTR, LogData, @FM, @VM)
|
||||||
Error_Services('Add', 'Error creating new test run record: ' : ErrorMessage)
|
Error_Services('Add', 'Error creating new test run record: ' : ErrorMessage)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service UseTWFromLot(LotId, UsageQty, Username)
|
Service UseTWFromLot(LotId, UsageQty, Username)
|
||||||
@ -706,6 +732,9 @@ Service GetTestRunKeysByPSN(PSNo)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetTestRunKeysByRDS(RDSNo)
|
Service GetTestRunKeysByRDS(RDSNo)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'GetTestRunKeysByRDS'
|
||||||
|
|
||||||
table = "TEST_RUN"
|
table = "TEST_RUN"
|
||||||
Open "DICT ":table To @DICT Else
|
Open "DICT ":table To @DICT Else
|
||||||
Error_Services('Add', 'Error opening TEST_RUN dictionary')
|
Error_Services('Add', 'Error opening TEST_RUN dictionary')
|
||||||
@ -718,6 +747,9 @@ Service GetTestRunKeysByRDS(RDSNo)
|
|||||||
Btree.Extract(srch_strng, table, @DICT, keylist, option, flag)
|
Btree.Extract(srch_strng, table, @DICT, keylist, option, flag)
|
||||||
Response = keylist
|
Response = keylist
|
||||||
end
|
end
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service GetTestRunWaferByID(TRWaferID)
|
Service GetTestRunWaferByID(TRWaferID)
|
||||||
@ -799,3 +831,4 @@ end service
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,9 +2,9 @@ Compile function WO_MAT_Services(@Service, @Params)
|
|||||||
#pragma precomp SRP_PreCompiler
|
#pragma precomp SRP_PreCompiler
|
||||||
|
|
||||||
Declare function Database_Services, Error_Services, SRP_Json, SRP_Com, Environment_Services, Logging_Services
|
Declare function Database_Services, Error_Services, SRP_Json, SRP_Com, Environment_Services, Logging_Services
|
||||||
Declare function Datetime
|
Declare function Datetime, GetTickCount
|
||||||
Declare subroutine Error_Services, SRP_Json, SRP_Com, Wo_Mat_Services, Database_Services, Logging_Services
|
Declare subroutine Error_Services, SRP_Json, SRP_Com, Wo_Mat_Services, Database_Services, Logging_Services
|
||||||
Declare subroutine obj_wo_mat_log, Set_Status
|
Declare subroutine obj_wo_mat_log, Set_Status, Mona_Services
|
||||||
|
|
||||||
$insert LOGICAL
|
$insert LOGICAL
|
||||||
$Insert APP_INSERTS
|
$Insert APP_INSERTS
|
||||||
@ -20,6 +20,13 @@ Headers = 'Logging DTM' : @FM : 'WOMatKey' : @FM : 'Missing Signature' : @FM :
|
|||||||
objSyncLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$)
|
objSyncLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$)
|
||||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd EQ True$ then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_WOMATSERVICES'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_WOMATSERVICES'
|
||||||
|
end
|
||||||
|
|
||||||
GoToService else
|
GoToService else
|
||||||
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||||
end
|
end
|
||||||
@ -379,6 +386,9 @@ Service SyncWOMatInvActionsAndSigProfile(WOMatKey)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
Service CassetteIsLastInWo(WoMatKey)
|
Service CassetteIsLastInWo(WoMatKey)
|
||||||
|
StartTick = GetTickCount()
|
||||||
|
MetricName = 'CassetteIsLastInWo'
|
||||||
|
|
||||||
IsLastInWo = False$
|
IsLastInWo = False$
|
||||||
|
|
||||||
If Unassigned(WoMatKey) or WoMatKey EQ '' or RowExists('WO_MAT', WoMatKey) NE True$ then
|
If Unassigned(WoMatKey) or WoMatKey EQ '' or RowExists('WO_MAT', WoMatKey) NE True$ then
|
||||||
@ -424,6 +434,9 @@ Service CassetteIsLastInWo(WoMatKey)
|
|||||||
end
|
end
|
||||||
|
|
||||||
Response = IsLastInWo
|
Response = IsLastInWo
|
||||||
|
|
||||||
|
EndTick = GetTickCount()
|
||||||
|
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||||
end service
|
end service
|
||||||
|
|
||||||
Service SetWoMatVoidFlag(WoMatKey, Username)
|
Service SetWoMatVoidFlag(WoMatKey, Username)
|
||||||
@ -473,3 +486,4 @@ Service SetWoMatVoidFlag(WoMatKey, Username)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user