moved procedure call from WO_MAT_ACTIONS to a standalone service to avoid posting too many transactions
This commit is contained in:
@ -62,11 +62,10 @@ Main:
|
|||||||
Open "DICT.":Table to @DICT then null
|
Open "DICT.":Table to @DICT then null
|
||||||
@ID = Key
|
@ID = Key
|
||||||
Ans = Function(@Handler(Connection, Key, @RECORD))
|
Ans = Function(@Handler(Connection, Key, @RECORD))
|
||||||
If Ans EQ '' then
|
If (Ans EQ '') then
|
||||||
If Assigned(pKey) then
|
If Assigned(pKey) then
|
||||||
If pKey NE '' then
|
If (pKey NE '') then
|
||||||
Delete pTable, pKey else Null
|
Delete pTable, pKey else Null
|
||||||
Unlock pTable, pKey else Null
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -102,6 +101,8 @@ Main:
|
|||||||
|
|
||||||
If Assigned(pKey) then
|
If Assigned(pKey) then
|
||||||
If (pKey NE '') then
|
If (pKey NE '') then
|
||||||
|
// Call unlock here in case we ran into an error above
|
||||||
|
Unlock pTable, pKey else Null
|
||||||
// Always log the result
|
// Always log the result
|
||||||
Open 'SQL_LOG' to hLog then
|
Open 'SQL_LOG' to hLog then
|
||||||
If Ans EQ '' then
|
If Ans EQ '' then
|
||||||
|
@ -52,10 +52,11 @@ Main:
|
|||||||
// Read the record and call the handler
|
// Read the record and call the handler
|
||||||
If Key NE "" then
|
If Key NE "" then
|
||||||
Ans = Function(@Handler(Connection, Key))
|
Ans = Function(@Handler(Connection, Key))
|
||||||
If Ans EQ '' then
|
If (Ans EQ '') then
|
||||||
If Assigned(pKey) then
|
If Assigned(pKey) then
|
||||||
|
If (pKey NE '') then
|
||||||
Delete pTable, pKey else Null
|
Delete pTable, pKey else Null
|
||||||
Unlock pTable, pKey else Null
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -86,6 +87,8 @@ Main:
|
|||||||
|
|
||||||
If Assigned(pKey) then
|
If Assigned(pKey) then
|
||||||
If (pKey NE '') then
|
If (pKey NE '') then
|
||||||
|
// Call unlock here in case an error was encountered above
|
||||||
|
Unlock pTable, pKey else Null
|
||||||
Open 'SQL_LOG' to hLog then
|
Open 'SQL_LOG' to hLog then
|
||||||
If Ans EQ '' then
|
If Ans EQ '' then
|
||||||
Result = 'PROCESSED'
|
Result = 'PROCESSED'
|
||||||
|
@ -590,7 +590,9 @@ Service SetupDevServices()
|
|||||||
BaselineServices = 'Update Material Logs':@VM:'Log Transaction Postings':@VM:'Process Wafer Image Queue':@VM
|
BaselineServices = 'Update Material Logs':@VM:'Log Transaction Postings':@VM:'Process Wafer Image Queue':@VM
|
||||||
BaselineServices := 'Process UCL Requests':@VM:'Process ROTR Requests':@VM:'Process Wafer Image Requests':@VM
|
BaselineServices := 'Process UCL Requests':@VM:'Process ROTR Requests':@VM:'Process Wafer Image Requests':@VM
|
||||||
BaselineServices := 'Process SQL Requests':@VM:'Send Notes':@VM:'Update Notification Groups':@VM
|
BaselineServices := 'Process SQL Requests':@VM:'Send Notes':@VM:'Update Notification Groups':@VM
|
||||||
BaselineServices := 'Update Security Groups':@VM:'Auto Scheduler'
|
BaselineServices := 'Update Security Groups':@VM:'Auto Scheduler':@VM:'Update NICA Orders':@VM:'Process Procedure Queue':@VM
|
||||||
|
BaselineServices := 'Process Transaction Queue':@VM:'Update Open Work Order Statuses':@VM:'Update Work Order Wafer Quantities':@VM
|
||||||
|
BaselineServices := 'Process Mona Requests'
|
||||||
|
|
||||||
Query = "SELECT SERVICES"
|
Query = "SELECT SERVICES"
|
||||||
|
|
||||||
|
@ -50,6 +50,8 @@ $Insert VOIDED_LOT_EQUATES
|
|||||||
$Insert IFX_EQUATES
|
$Insert IFX_EQUATES
|
||||||
$Insert CUST_EPI_PART_EQUATES
|
$Insert CUST_EPI_PART_EQUATES
|
||||||
|
|
||||||
|
Equ MAX_NUM_CASS$ to 96
|
||||||
|
|
||||||
Declare subroutine Error_Services, Work_Order_Services, Memory_Services, RList, Database_Services, SRP_JSON
|
Declare subroutine Error_Services, Work_Order_Services, Memory_Services, RList, Database_Services, SRP_JSON
|
||||||
Declare subroutine Btree.Extract, Set_Status, obj_WO_Log, obj_Notes, Print_Wo_Mat_In_Labels, Print_Wo_Mat_Out_Labels
|
Declare subroutine Btree.Extract, Set_Status, obj_WO_Log, obj_Notes, Print_Wo_Mat_In_Labels, Print_Wo_Mat_Out_Labels
|
||||||
Declare subroutine Print_Wmi_Labels, Print_Wmo_Labels, ErrMsg, Print_Cass_Labels, Logging_Services, Service_Services
|
Declare subroutine Print_Wmi_Labels, Print_Wmo_Labels, ErrMsg, Print_Cass_Labels, Logging_Services, Service_Services
|
||||||
@ -2062,6 +2064,160 @@ Service UpdateWorkOrderStatus(WOLogId)
|
|||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
Service UpdateOpenWorkOrderData()
|
||||||
|
|
||||||
|
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
|
||||||
|
Lock hSysLists, ServiceKeyID then
|
||||||
|
|
||||||
|
StatusName = Service
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SERVICE_MANAGER'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SERVICE_MANAGER'
|
||||||
|
end
|
||||||
|
MonaStatus = 'ok'
|
||||||
|
|
||||||
|
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_MAT'
|
||||||
|
LogDate = Oconv(Date(), 'D4/')
|
||||||
|
LogTime = Oconv(Time(), 'MTS')
|
||||||
|
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' WO_MAT WO_LOG{WO_MAT_KEY} Log.csv'
|
||||||
|
Headers = 'Logging DTM':@FM:'Server':@FM:'WONo':@FM:'Result'
|
||||||
|
objVerifyWOMatKeysLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
||||||
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
Server = Environment_Services('GetServer')
|
||||||
|
|
||||||
|
LogData = ''
|
||||||
|
LogData<1> = LoggingDtm
|
||||||
|
LogData<2> = Server
|
||||||
|
LogData<4> = 'Begin ':Service
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
|
||||||
|
ErrorMsg = ''
|
||||||
|
OpenWoLogKeys = ''
|
||||||
|
ErrCode = ''
|
||||||
|
Extract_Si_Keys('WO_LOG', 'CLOSE_DATE', '', OpenWoLogKeys)
|
||||||
|
If Not(Get_Status(ErrCode)) then
|
||||||
|
If OpenWoLogKeys NE '' then
|
||||||
|
For each OpenWoLogKey in OpenWoLogKeys using @VM
|
||||||
|
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateWorkOrderData':SD$:OpenWOLogKey)
|
||||||
|
If Error_Services('HasError') then
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
ErrorMsg = Error_Services('GetMessage')
|
||||||
|
LogData<4> = ErrorMsg
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
MonaStatus = 'critical'
|
||||||
|
end
|
||||||
|
Next OpenWoLogKey
|
||||||
|
end else
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
LogData<4> = 'No open work orders to update.'
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
MonaStatus = 'critical'
|
||||||
|
ErrorMsg = 'Error calling Extract_Si_Keys. Error code: ':ErrCode:'.'
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
LogData<4> = ErrorMsg
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
end
|
||||||
|
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
LogData<4> = 'End ':Service
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
|
||||||
|
Mona_Services('PostStatus', MonaResource, StatusName, MonaStatus)
|
||||||
|
|
||||||
|
Unlock hSysLists, ServiceKeyID else Null
|
||||||
|
end
|
||||||
|
|
||||||
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
Service UpdateWorkOrderData(WONo)
|
||||||
|
|
||||||
|
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
|
||||||
|
Lock hSysLists, ServiceKeyID:'*':WONo then
|
||||||
|
|
||||||
|
StatusName = Service
|
||||||
|
IsProd = Environment_Services('IsProd')
|
||||||
|
If IsProd then
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SERVICE_MANAGER'
|
||||||
|
end else
|
||||||
|
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SERVICE_MANAGER'
|
||||||
|
end
|
||||||
|
MonaStatus = 'ok'
|
||||||
|
|
||||||
|
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_MAT'
|
||||||
|
LogDate = Oconv(Date(), 'D4/')
|
||||||
|
LogTime = Oconv(Time(), 'MTS')
|
||||||
|
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : '-' : WONo : ' WO_MAT WO_LOG{WO_MAT_KEY} Log.csv'
|
||||||
|
Headers = 'Logging DTM':@FM:'Server':@FM:'WONo':@FM:'Result'
|
||||||
|
objVerifyWOMatKeysLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
||||||
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
Server = Environment_Services('GetServer')
|
||||||
|
|
||||||
|
LogData = ''
|
||||||
|
LogData<1> = LoggingDtm
|
||||||
|
LogData<2> = Server
|
||||||
|
LogData<3> = WONo
|
||||||
|
LogData<4> = 'Begin ':Service
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
|
||||||
|
ErrorMsg = ''
|
||||||
|
OpenWoLogKeys = ''
|
||||||
|
ErrCode = ''
|
||||||
|
|
||||||
|
OrigWOLogWOMatKeys = Database_Services('ReadDataColumn', 'WO_LOG', WONo, WO_LOG_WO_MAT_KEY$, True$, 0)
|
||||||
|
If Error_Services('NoError') then
|
||||||
|
NewWOLogWOMatKeys = OrigWOLogWOMatKeys
|
||||||
|
For CassNo = 1 to MAX_NUM_CASS$
|
||||||
|
WOMatKey = WONo:'*':CassNo
|
||||||
|
If RowExists('WO_MAT', WOMatKey) then
|
||||||
|
Locate WOMatKey in OrigWOLogWOMatKeys using @VM setting vPos then
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
LogData<4> = 'WOMatKey ':WOMatKey:' found in WO_LOG record. Nothing to update.'
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
end else
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
LogData<4> = 'WOMatKey ':WOMatKey:' not found in WO_LOG record. Adding WOMatKey to column.'
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
NewWOLogWOMatKeys<0, -1> = WOMatKey
|
||||||
|
end
|
||||||
|
end
|
||||||
|
Next CassNo
|
||||||
|
If OrigWOLogWOMatKeys NE NewWOLogWOMatKeys then
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
LogData<4> = 'WOMatKeys missing from work order. Posting transaction to update WO_MAT_KEY column.'
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
NewWOLogWOMatKeys = SRP_Array('SortRows', NewWOLogWOMatKeys, 'AR2', 'LIST', @VM, '*')
|
||||||
|
Transaction_Services('PostWriteFieldTransaction', 'WO_LOG', WONo, WO_LOG_WO_MAT_KEY$, NewWOLogWOMatKeys)
|
||||||
|
If Error_Services('HasError') then ErrorMsg = Error_Services('GetMessage')
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error in ':Service:' service. ':Error_Services('GetMessage')
|
||||||
|
end
|
||||||
|
|
||||||
|
If ErrorMsg NE '' then
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
LogData<4> = ErrorMsg
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
MonaStatus = 'critical'
|
||||||
|
end
|
||||||
|
|
||||||
|
LogData<1> = OConv(Datetime(), 'DT/^S')
|
||||||
|
LogData<2> = Server
|
||||||
|
LogData<4> = 'End ':Service
|
||||||
|
Logging_Services('AppendLog', objVerifyWOMatKeysLog, LogData, @RM, @FM)
|
||||||
|
|
||||||
|
Mona_Services('PostStatus', MonaResource, StatusName, MonaStatus)
|
||||||
|
|
||||||
|
Unlock hSysLists, ServiceKeyID:'*':WONo else Null
|
||||||
|
end
|
||||||
|
|
||||||
|
end service
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Internal GoSubs
|
// Internal GoSubs
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -2074,4 +2230,3 @@ ClearCursors:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@ -869,8 +869,6 @@ WRITE_RECORD:
|
|||||||
Service_Services('PostProcedure', 'SCHEDULE_SERVICES', 'MarkCassProcessed':SD$:WONo:SD$:CassNo:SD$:Datetime())
|
Service_Services('PostProcedure', 'SCHEDULE_SERVICES', 'MarkCassProcessed':SD$:WONo:SD$:CassNo:SD$:Datetime())
|
||||||
end
|
end
|
||||||
|
|
||||||
Service_Services('PostProcedure', 'WO_MAT_SERVICES', 'VerifyWOLogWOMatKeyColumn':SD$:Name)
|
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user