refactored Mona_Services to queue requests and send them in bulk via the Service Manager
Added queue count to mona monitors. Added email notification on ProcessMonaQueue. Added hard limit of 2000 requests to be sent to MonInBufferedWorker at one time. Fixed outdated Shipment_Services in SharedTest environment.
This commit is contained in:
@ -2734,9 +2734,9 @@ Service GetIQSViolations()
|
||||
Database_Services('WriteDataRow', 'CONFIG', 'IQS_VIOL_DATA', ParsedIQSData, True$, False$, True$)
|
||||
//Send status of last write time
|
||||
If SRP_Datetime('MinuteSpan', LastWriteTime, SRP_Datetime('Now')) GT 10 then
|
||||
Mona_Services('SendBufferedStatus', 'IQS_VIOLATION_DATA', 'LastDataTimestamp', 'CRITICAL')
|
||||
Mona_Services('PostStatus', 'IQS_VIOLATION_DATA', 'LastDataTimestamp', 'CRITICAL')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'IQS_VIOLATION_DATA', 'LastDataTimestamp', 'OK')
|
||||
Mona_Services('PostStatus', 'IQS_VIOLATION_DATA', 'LastDataTimestamp', 'OK')
|
||||
end
|
||||
|
||||
Reactor_Services('UpdateReactorIQSViolations')
|
||||
@ -3272,4 +3272,3 @@ LoadRunDataToDatabase:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -58,6 +58,12 @@ Service RunMonitors()
|
||||
GoSub ClearCursors
|
||||
Mona_Services('SendMetric', 'GRP_OPENINSIGHT_MES_OP_FE_SERVICE_MANANGER', 'TRANSACTION_QUEUE', QueueCount)
|
||||
|
||||
Query = 'SELECT MONA_QUEUE'
|
||||
RList(Query, TARGET_ACTIVELIST$, '', '', '')
|
||||
QueueCount = @RecCount
|
||||
GoSub ClearCursors
|
||||
Mona_Services('SendMetric', 'GRP_OPENINSIGHT_MES_OP_FE_SERVICE_MANANGER', 'MONA_QUEUE', QueueCount)
|
||||
|
||||
GoSub SAPHeartbeat
|
||||
GoSub MonitorMetrologyDirs
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
Compile subroutine MONA_SERVICES(@Service, @Params)
|
||||
/***************************************************************
|
||||
/***********************************************************************************************************************
|
||||
This subroutine is used to send messages to MonA directly from
|
||||
within OpenInsight. It utilizes a C# DotNet DLL MonAOIApi.dll
|
||||
which contains two classes, one for sending status updates, and
|
||||
@ -16,27 +16,34 @@ Parm2:
|
||||
Parm3:
|
||||
-For status updates this represents the state of the object you are sending(Ok, Warning, Critical)
|
||||
-For Metric updates this represents the numeric data that you wish to send.
|
||||
***************************************************************/
|
||||
|
||||
Declare Subroutine Errmsg, Error_Services, Delay, Mona_Services, Service_Services
|
||||
Declare function Get_Status, SRP_Datetime, Environment_Services, Httpclient_Services
|
||||
***********************************************************************************************************************/
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
$Insert LOGICAL
|
||||
$Insert APP_INSERTS
|
||||
$Insert SERVICE_SETUP
|
||||
$Insert REVDOTNETEQUATES
|
||||
$Insert MONA_QUEUE_EQUATES
|
||||
|
||||
Equ MAX_REQUESTS$ to 2000
|
||||
Equ COMMA$ to ','
|
||||
|
||||
Declare Subroutine Errmsg, Error_Services, Delay, Mona_Services, Service_Services, Database_Services, Logging_Services
|
||||
Declare subroutine SRP_Json, obj_Notes
|
||||
Declare function Get_Status, SRP_Datetime, Environment_Services, Httpclient_Services, Datetime, RTI_CreateGuid
|
||||
Declare function Database_Services, Logging_Services, SRP_Json, Mona_Services
|
||||
|
||||
GoToService else
|
||||
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||
end
|
||||
|
||||
return
|
||||
return Response else ''
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Service Parameter Options
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
Options MONITORS = 'SQL_BACKLOG', 'SQL_BACKLOG_WO_MAT', 'SQL_BACKLOG_WO_LOG'
|
||||
Options STATES = 'OK', 'WARNING', 'CRITICAL'
|
||||
Options REQUEST_TYPE = 'status', 'average', 'count', 'status/bulk', 'average/bulk', 'count/bulk'
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Services
|
||||
@ -48,28 +55,62 @@ Service SendStatus(MonitorName=MONITORS, StatusName, CurrentState=STATES)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service PostStatus(MonitorName, StatusName, CurrentState=STATES)
|
||||
Service_Services('PostProcedure', 'MONA_SERVICES', 'SendBufferedStatus':@VM:MonitorName:@VM:StatusName:@VM:CurrentState)
|
||||
|
||||
MonaQId = RTI_CreateGuid()
|
||||
MonaQRec = ''
|
||||
MonaQRec<MONA_QUEUE.REQUEST_DTM$> = Datetime()
|
||||
MonaQRec<MONA_QUEUE.MONITOR_NAME$> = MonitorName
|
||||
MonaQRec<MONA_QUEUE.STATUS_NAME$> = StatusName
|
||||
MonaQRec<MONA_QUEUE.STATUS_STATE$> = CurrentState
|
||||
Database_Services('WriteDataRow', 'MONA_QUEUE', MonaQId, MonaQRec)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service SendMetric(MonitorName=MONITORS, MetricName, Number)
|
||||
|
||||
Mona_Services("PostAverageMetric", MonitorName, MetricName, Number)
|
||||
|
||||
end Service
|
||||
|
||||
|
||||
Service PostAverageMetric(MonitorName, MetricName, Number)
|
||||
Service_Services('PostProcedure', 'MONA_SERVICES', 'SendBufferedAverageMetric':@VM:MonitorName:@VM:MetricName:@VM:Number)
|
||||
|
||||
MonaQId = RTI_CreateGuid()
|
||||
MonaQRec = ''
|
||||
MonaQRec<MONA_QUEUE.REQUEST_DTM$> = Datetime()
|
||||
MonaQRec<MONA_QUEUE.MONITOR_NAME$> = MonitorName
|
||||
MonaQRec<MONA_QUEUE.METRIC_NAME$> = MetricName
|
||||
MonaQRec<MONA_QUEUE.METRIC_NUMBER$> = Number
|
||||
MonaQRec<MONA_QUEUE.METRIC_TYPE$> = 'AVERAGE'
|
||||
Database_Services('WriteDataRow', 'MONA_QUEUE', MonaQId, MonaQRec)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service SendCountMetric(MonitorName=MONITORS, MetricName, Number)
|
||||
|
||||
Mona_Services("PostCountMetric", MonitorName, MetricName, Number)
|
||||
|
||||
end Service
|
||||
|
||||
|
||||
Service PostCountMetric(MonitorName, MetricName, Number)
|
||||
Service_Services('PostProcedure', 'MONA_SERVICES', 'SendBufferedCountMetric':@VM:MonitorName:@VM:MetricName:@VM:Number)
|
||||
|
||||
MonaQId = RTI_CreateGuid()
|
||||
MonaQRec = ''
|
||||
MonaQRec<MONA_QUEUE.REQUEST_DTM$> = Datetime()
|
||||
MonaQRec<MONA_QUEUE.MONITOR_NAME$> = MonitorName
|
||||
MonaQRec<MONA_QUEUE.METRIC_NAME$> = MetricName
|
||||
MonaQRec<MONA_QUEUE.METRIC_NUMBER$> = Number
|
||||
MonaQRec<MONA_QUEUE.METRIC_TYPE$> = 'COUNT'
|
||||
Database_Services('WriteDataRow', 'MONA_QUEUE', MonaQId, MonaQRec)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service SendBufferedStatus(MonaResource, StatusName, StatusValue)
|
||||
|
||||
If MonaResource EQ '' then
|
||||
@ -186,6 +227,7 @@ Service SendBufferedAverageMetric(MonaResource, MetricName, MetricValue)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service SendBufferedCountMetric(MonaResource, MetricName, MetricValue)
|
||||
|
||||
If MonaResource EQ '' then
|
||||
@ -242,12 +284,493 @@ Service SendBufferedCountMetric(MonaResource, MetricName, MetricValue)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service QueueLatencyAndCountMetrics(MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
Diff = EndTick - StartTick
|
||||
Mona_Services('SendMetric', MonaResource, MetricName:'_LATENCY', Diff)
|
||||
Mona_Services('SendCountMetric', MonaResource, MetricName:'_COUNT', 1)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service ProcessMonaQueue(NumRequests)
|
||||
|
||||
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
|
||||
Lock hSysLists, ServiceKeyID then
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\MonA'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
LogTime = Oconv(Time(), 'MTS')
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' MonA Queue Log.csv'
|
||||
Headers = 'Logging DTM':@FM:'Log Data'
|
||||
objMonaQueueLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
LogData = ''
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Begin ProcessMonaQueue'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
|
||||
ErrorMsg = ''
|
||||
If NumRequests NE '' then
|
||||
If Num(NumRequests) then
|
||||
NumRequests = Abs(Int(NumRequests))
|
||||
If NumRequests GT MAX_REQUESTS$ then
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Requested NumRequests ':NumRequests:' is above predefined limit. Overriding NumRequests and setting to ':MAX_REQUESTS$:'.'
|
||||
NumRequests = MAX_REQUESTS$
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Attempting to process up to ':NumRequests:' MONA_QUEUE requests.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
|
||||
Open 'MONA_QUEUE' to hMonaQueue then
|
||||
objMonaStatusJsonArray = ''
|
||||
MonaStatusJson = ''
|
||||
objMonaMetricAvgJsonArray = ''
|
||||
MonaMetricAvgJson = ''
|
||||
objMonaMetricCountJsonArray = ''
|
||||
MonaMetricCountJson = ''
|
||||
If SRP_Json(objMonaStatusJsonArray, 'New', 'Array') then
|
||||
If SRP_Json(objMonaMetricAvgJsonArray, 'New', 'Array') then
|
||||
If SRP_Json(objMonaMetricCountJsonArray, 'New', 'Array') then
|
||||
DefaultMonitorName = Environment_Services("GetMonaResource")
|
||||
EOF = False$
|
||||
RequestCount = 0
|
||||
InvalidRequests = ''
|
||||
StatusRequests = ''
|
||||
AverageRequests = ''
|
||||
CountRequests = ''
|
||||
GoSub ClearCursors
|
||||
Select hMonaQueue
|
||||
Loop
|
||||
Readnext MonaQueueId else EOF = True$
|
||||
Until (EOF or (RequestCount GE NumRequests) or (ErrorMsg NE '') )
|
||||
RequestCount += 1
|
||||
Read MonaQueueRec from hMonaQueue, MonaQueueId then
|
||||
Begin Case
|
||||
Case ( (MonaQueueRec<MONA_QUEUE.STATUS_NAME$> NE '') and (MonaQueueRec<MONA_QUEUE.STATUS_STATE$> NE '') )
|
||||
// Add status object
|
||||
objStatus = ''
|
||||
StatusJson = Mona_Services('ConvertRecordToJson', MonaQueueId)
|
||||
If Error_Services('NoError') then
|
||||
If (SRP_Json(objStatus, 'Parse', StatusJson) EQ '') then
|
||||
SRP_Json(objMonaStatusJsonArray, 'Add', objStatus)
|
||||
SRP_Json(objStatus, 'Release')
|
||||
StatusRequests<-1> = MonaQueueId
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully added MONA_QUEUE ':MonaQueueId:' to objMonaStatusJsonArray.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error parsing StatusJson json.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
Case ( (MonaQueueRec<MONA_QUEUE.METRIC_NAME$> NE '') and (MonaQueueRec<MONA_QUEUE.METRIC_NUMBER$> NE '') and (MonaQueueRec<MONA_QUEUE.METRIC_TYPE$> EQ 'AVERAGE') )
|
||||
// Add average metric object
|
||||
objAverage = ''
|
||||
AverageJson = Mona_Services('ConvertRecordToJson', MonaQueueId)
|
||||
If Error_Services('NoError') then
|
||||
If (SRP_Json(objAverage, 'Parse', AverageJson) EQ '') then
|
||||
SRP_Json(objMonaMetricAvgJsonArray, 'Add', objAverage)
|
||||
SRP_Json(objAverage, 'Release')
|
||||
AverageRequests<-1> = MonaQueueId
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully added MONA_QUEUE ':MonaQueueId:' to objMonaMetricAvgJsonArray.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error parsing AverageJson json.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
Case ( (MonaQueueRec<MONA_QUEUE.METRIC_NAME$> NE '') and (MonaQueueRec<MONA_QUEUE.METRIC_NUMBER$> NE '') and (MonaQueueRec<MONA_QUEUE.METRIC_TYPE$> EQ 'COUNT') )
|
||||
// Add count metric object
|
||||
objCount = ''
|
||||
CountJson = Mona_Services('ConvertRecordToJson', MonaQueueId)
|
||||
If Error_Services('NoError') then
|
||||
If (SRP_Json(objCount, 'Parse', CountJson) EQ '') then
|
||||
SRP_Json(objMonaMetricCountJsonArray, 'Add', objCount)
|
||||
SRP_Json(objCount, 'Release')
|
||||
CountRequests<-1> = MonaQueueId
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully added MONA_QUEUE ':MonaQueueId:' to objMonaMetricCountJsonArray.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error parsing CountJson json.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
Case Otherwise$
|
||||
// Invalid request
|
||||
InvalidRequests<-1> = MonaQueueId
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Encountered invalid MONA_QUEUE ':MonaQueueId:' request. Marking request for deletion.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
End Case
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error reading MONA_QUEUE ':MonaQueueId:'.'
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Error reading MONA_QUEUE ':MonaQueueId:' request.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
Repeat
|
||||
|
||||
GoSub ClearCursors
|
||||
|
||||
// Send requests and remove them from the queue
|
||||
If ErrorMsg EQ '' then
|
||||
StatusArraySize = SRP_Json(objMonaStatusJsonArray, "GetCount")
|
||||
If StatusArraySize GT 0 then
|
||||
// Send bulk status request
|
||||
MonaStatusJson = SRP_Json(objMonaStatusJsonArray, 'Stringify', 'Fast')
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Attempting to send bulk status request to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
Mona_Services('SendMonaHttpRequest', 'status/bulk', MonaStatusJson)
|
||||
If Error_Services('NoError') then
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully sent bulk status request to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
// Delete status requests from queue
|
||||
For each MonaStatusQueueId in StatusRequests using @FM
|
||||
Delete hMonaQueue, MonaStatusQueueId then
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully deleted MONA_QUEUE ':MonaStatusQueueId:' request.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end else
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Error in ':Service:' service. Error deleting MONA_QUEUE ':MonaStatusQueueId:'.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
Next MonaStatusQueueId
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Failed to send bulk status request to MonInBufferedWorker API. Error message: ':ErrorMsg
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
end else
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'No status requests to send to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
|
||||
AverageArraySize = SRP_Json(objMonaMetricAvgJsonArray, "GetCount")
|
||||
If AverageArraySize GT 0 then
|
||||
// Send bulk average request
|
||||
MonaMetricAvgJson = SRP_Json(objMonaMetricAvgJsonArray, 'Stringify', 'Fast')
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Attempting to send bulk average request to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
Mona_Services('SendMonaHttpRequest', 'average/bulk', MonaMetricAvgJson)
|
||||
If Error_Services('NoError') then
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully sent bulk average request to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
// Delete average requests from queue
|
||||
For each MonaAverageQueueId in AverageRequests using @FM
|
||||
Delete hMonaQueue, MonaAverageQueueId then
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully deleted MONA_QUEUE ':MonaAverageQueueId:' request.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end else
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Error in ':Service:' service. Error deleting MONA_QUEUE ':MonaAverageQueueId:'.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
Next MonaAverageQueueId
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Failed to send bulk average request to MonInBufferedWorker API. Error message: ':ErrorMsg
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
end else
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'No average requests to send to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
|
||||
CountArraySize = SRP_Json(objMonaMetricCountJsonArray, "GetCount")
|
||||
If CountArraySize GT 0 then
|
||||
// Send bulk count request
|
||||
MonaMetricCountJson = SRP_Json(objMonaMetricCountJsonArray, 'Stringify', 'Fast')
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Attempting to send bulk count request to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
Mona_Services('SendMonaHttpRequest', 'count/bulk', MonaMetricCountJson)
|
||||
If Error_Services('NoError') then
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully sent bulk count request to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
// Delete count requests from queue
|
||||
For each MonaCountQueueId in CountRequests using @FM
|
||||
Delete hMonaQueue, MonaCountQueueId then
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully deleted MONA_QUEUE ':MonaCountQueueId:' request.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end else
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Error in ':Service:' service. Error deleting MONA_QUEUE ':MonaCountQueueId:'.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
Next MonaCountQueueId
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Failed to send bulk count request to MonInBufferedWorker API. Error message: ':ErrorMsg
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
end else
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'No count requests to send to MonInBufferedWorker API.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
|
||||
If InvalidRequests NE '' then
|
||||
For each InvalidRequestQueueId in InvalidRequests using @FM
|
||||
Delete hMonaQueue, InvalidRequestQueueId then
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Successfully deleted invalid MONA_QUEUE ':InvalidRequestQueueId:' request.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end else
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = 'Error in ':Service:' service. Error deleting invalid MONA_QUEUE ':InvalidRequestQueueId:' request.'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
end
|
||||
Next InvalidRequestQueueId
|
||||
end
|
||||
|
||||
LogData = ''
|
||||
LogData<1> = Datetime()
|
||||
LogData<2> = 'Successfully processed ':DCount(StatusRequests, @FM): ' status requests'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
LogData = ''
|
||||
LogData<1> = Datetime()
|
||||
LogData<2> = 'Successfully processed ':DCount(AverageRequests, @FM): ' average requests'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
LogData = ''
|
||||
LogData<1> = Datetime()
|
||||
LogData<2> = 'Successfully processed ':DCount(CountRequests, @FM): ' count requests'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error initializing objMonaMetricCountJsonArray'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error intializing objMonaMetricAvgJsonArray.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error initializing objMonaStatusJsonArray'
|
||||
end
|
||||
If (objMonaStatusJsonArray NE '') then SRP_Json(objMonaStatusJsonArray, 'Release')
|
||||
If (objMonaMetricAvgJsonArray NE '') then SRP_Json(objMonaMetricAvgJsonArray, 'Release')
|
||||
If (objMonaMetricCountJsonArray NE '') then SRP_Json(objMonaMetricCountJsonArray, 'Release')
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error opening MONA_QUEUE table.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. NumRequests ':NumRequests:' is not a number.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null NumRequests passed into service.'
|
||||
end
|
||||
|
||||
If ErrorMsg NE '' then
|
||||
// Notify OI_SYSADMIN group
|
||||
Recipients = ''
|
||||
SentFrom = 'SYSTEM'
|
||||
Subject = Service:' Error'
|
||||
Message = OConv(Datetime(), 'DT2/^H')
|
||||
Server = Environment_Services('GetServer')
|
||||
Message<2> = 'Error on server ':Server
|
||||
Message<3> = 'Error message: ':ErrorMsg
|
||||
AttachWindow = ''
|
||||
AttachKey = ''
|
||||
SendToGroup = 'OI_SYSADMIN'
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
LogData = ''
|
||||
LogData<1> = Datetime()
|
||||
LogData<2> = 'End ProcessMonaQueue'
|
||||
Logging_Services('AppendLog', objMonaQueueLog, LogData, @RM, @FM)
|
||||
|
||||
Unlock hSysLists, ServiceKeyID else Null
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service GetMonaDatetimeFormat(InternalDtm)
|
||||
|
||||
ErrorMsg = ''
|
||||
MonaDtm = ''
|
||||
If (InternalDtm NE '') then
|
||||
If Num(InternalDtm) then
|
||||
Year = SRP_Datetime("Year", InternalDtm)
|
||||
Month = Fmt(SRP_Datetime("Month", InternalDtm), 'R(0)#2')
|
||||
Day = Fmt(SRP_Datetime("Day", InternalDtm), 'R(0)#2')
|
||||
Hour = Fmt(SRP_Datetime("Hour", InternalDtm), 'R(0)#2')
|
||||
Minute = Fmt(SRP_Datetime("Minute", InternalDtm), 'R(0)#2')
|
||||
Second = Fmt(SRP_Datetime("Second", InternalDtm), 'R(0)#2')
|
||||
MonaDtm = Year:'-':Month:'-':Day:'T':Hour:':':Minute:':':Second:'Z'
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. InternalDtm is not a number.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null InternalDtm passed into service.'
|
||||
end
|
||||
|
||||
If ErrorMsg EQ '' then
|
||||
Response = MonaDtm
|
||||
end else
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service SendMonaHttpRequest(RequestType=REQUEST_TYPES, RequestBodyJson)
|
||||
|
||||
ErrorMsg = ''
|
||||
If RequestType NE '' then
|
||||
If RequestBodyJson NE '' then
|
||||
ApiUrl = Environment_Services("GetMonInBufferedWorkerApiUrl"):'/':RequestType
|
||||
Retries = 3
|
||||
BackoffSeconds = 1
|
||||
IsSuccessful = False$
|
||||
Loop
|
||||
While (IsSuccessful EQ False$ and Retries GT 0)
|
||||
WaitSeconds = (3 - Retries) * BackoffSeconds
|
||||
Delay(WaitSeconds)
|
||||
Retries = Retries - 1
|
||||
Response = Httpclient_Services('SendHTTPRequest', 'POST', ApiUrl, 'Content-Type':@VM:'application/json':@FM:'Accept':@VM:'*/*', RequestBodyJson, '', '', False$, False$, '')
|
||||
If ( (Response EQ '"Request queued for processing"') or (Response EQ '"Requests queued for processing"' ) ) then IsSuccessful = True$
|
||||
Repeat
|
||||
If (IsSuccessful EQ False$) then ErrorMsg = 'Error in ':Service:' service. Error sending HTTP request.'
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null RequestBodyJson passed into service'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null RequestType passed into service'
|
||||
end
|
||||
If ErrorMsg NE '' then Error_Services('Add', ErrorMsg)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service ConvertRecordToJson(MonaQueueId)
|
||||
|
||||
ErrorMsg = ''
|
||||
MonaQueueJson = ''
|
||||
If MonaQueueId NE '' then
|
||||
If RowExists('MONA_QUEUE', MonaQueueId) then
|
||||
MonaQueueRec = Database_Services('ReadDataRow', 'MONA_QUEUE', MonaQueueId)
|
||||
If Error_Services('NoError') then
|
||||
Begin Case
|
||||
Case ( (MonaQueueRec<MONA_QUEUE.STATUS_NAME$> NE '') and (MonaQueueRec<MONA_QUEUE.STATUS_STATE$> NE '') )
|
||||
objStatus = ''
|
||||
If SRP_Json(objStatus, 'New', 'Object') then
|
||||
RequestDtm = MonaQueueRec<MONA_QUEUE.REQUEST_DTM$>
|
||||
RequestDtmMonaFmt = Mona_Services('GetMonaDatetimeFormat', RequestDtm)
|
||||
If Error_Services('NoError') then
|
||||
If MonaQueueRec<MONA_QUEUE.MONITOR_NAME$> NE '' then
|
||||
MonitorName = MonaQueueRec<MONA_QUEUE.MONITOR_NAME$>
|
||||
end else
|
||||
MonitorName = DefaultMonitorName
|
||||
end
|
||||
StatusName = MonaQueueRec<MONA_QUEUE.STATUS_NAME$>
|
||||
StatusState = MonaQueueRec<MONA_QUEUE.STATUS_STATE$>
|
||||
SRP_Json(objStatus, 'SetValue', 'resource', MonitorName)
|
||||
SRP_Json(objStatus, 'SetValue', 'dateTime', RequestDtmMonaFmt)
|
||||
SRP_Json(objStatus, 'SetValue', 'statusName', StatusName)
|
||||
SRP_Json(objStatus, 'SetValue', 'statusValue', StatusState)
|
||||
MonaQueueJson = SRP_Json(objStatus, 'Stringify', 'Fast')
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
end
|
||||
SRP_Json(objStatus, 'Release')
|
||||
end
|
||||
Case ( (MonaQueueRec<MONA_QUEUE.METRIC_NAME$> NE '') and (MonaQueueRec<MONA_QUEUE.METRIC_NUMBER$> NE '') and (MonaQueueRec<MONA_QUEUE.METRIC_TYPE$> EQ 'AVERAGE') )
|
||||
objAverage = ''
|
||||
If SRP_Json(objAverage, 'New', 'Object') then
|
||||
RequestDtm = MonaQueueRec<MONA_QUEUE.REQUEST_DTM$>
|
||||
RequestDtmMonaFmt = Mona_Services('GetMonaDatetimeFormat', RequestDtm)
|
||||
If Error_Services('NoError') then
|
||||
If MonaQueueRec<MONA_QUEUE.MONITOR_NAME$> NE '' then
|
||||
MonitorName = MonaQueueRec<MONA_QUEUE.MONITOR_NAME$>
|
||||
end else
|
||||
MonitorName = DefaultMonitorName
|
||||
end
|
||||
MetricName = MonaQueueRec<MONA_QUEUE.METRIC_NAME$>
|
||||
MetricValue = MonaQueueRec<MONA_QUEUE.METRIC_NUMBER$>
|
||||
SRP_Json(objAverage, 'SetValue', 'resource', MonitorName)
|
||||
SRP_Json(objAverage, 'SetValue', 'dateTime', RequestDtmMonaFmt)
|
||||
SRP_Json(objAverage, 'SetValue', 'metricName', MetricName)
|
||||
SRP_Json(objAverage, 'SetValue', 'metricValue', MetricValue)
|
||||
MonaQueueJson = SRP_Json(objAverage, 'Stringify', 'Fast')
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
end
|
||||
SRP_Json(objAverage, 'Release')
|
||||
end
|
||||
Case ( (MonaQueueRec<MONA_QUEUE.METRIC_NAME$> NE '') and (MonaQueueRec<MONA_QUEUE.METRIC_NUMBER$> NE '') and (MonaQueueRec<MONA_QUEUE.METRIC_TYPE$> EQ 'COUNT') )
|
||||
objCount = ''
|
||||
If SRP_Json(objCount, 'New', 'Object') then
|
||||
RequestDtm = MonaQueueRec<MONA_QUEUE.REQUEST_DTM$>
|
||||
RequestDtmMonaFmt = Mona_Services('GetMonaDatetimeFormat', RequestDtm)
|
||||
If Error_Services('NoError') then
|
||||
If MonaQueueRec<MONA_QUEUE.MONITOR_NAME$> NE '' then
|
||||
MonitorName = MonaQueueRec<MONA_QUEUE.MONITOR_NAME$>
|
||||
end else
|
||||
MonitorName = DefaultMonitorName
|
||||
end
|
||||
MetricName = MonaQueueRec<MONA_QUEUE.METRIC_NAME$>
|
||||
MetricValue = MonaQueueRec<MONA_QUEUE.METRIC_NUMBER$>
|
||||
SRP_Json(objCount, 'SetValue', 'resource', MonitorName)
|
||||
SRP_Json(objCount, 'SetValue', 'dateTime', RequestDtmMonaFmt)
|
||||
SRP_Json(objCount, 'SetValue', 'metricName', MetricName)
|
||||
SRP_Json(objCount, 'SetValue', 'metricValue', MetricValue)
|
||||
MonaQueueJson = SRP_Json(objCount, 'Stringify', 'Fast')
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
end
|
||||
SRP_Json(objCount, 'Release')
|
||||
end
|
||||
Case Otherwise$
|
||||
ErrorMsg = 'Error in ':Service:' service. MONA_QUEUE ':MonaQueueId:' is not a valid request.'
|
||||
End Case
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. MONA_QUEUE ':MonaQueueId:' does not exist.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null MonaQueueId passed into service.'
|
||||
end
|
||||
|
||||
If ErrorMsg EQ '' then
|
||||
Response = MonaQueueJson
|
||||
end else
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Internal GoSubs
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
SwapResourceNames:
|
||||
|
||||
// Swap out prod resource name with dev resource name
|
||||
@ -271,3 +794,11 @@ SwapResourceNames:
|
||||
return
|
||||
|
||||
|
||||
ClearCursors:
|
||||
|
||||
For counter = 0 to 8
|
||||
ClearSelect counter
|
||||
Next counter
|
||||
|
||||
return
|
||||
|
||||
|
@ -540,10 +540,10 @@ Service CreateNewOrder(EntityType=ENTITY_TYPES, EntityID, OrderType=ORDER_TYPES,
|
||||
LogData<2> = Machine
|
||||
LogData<3> = 'Successfully created Nica order for entity ':EntityType:' ':EntityID:' of type ':OrderType
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM, False$)
|
||||
Mona_Services('SendBufferedStatus', MonAResource, StatusName, 'Ok')
|
||||
Mona_Services('PostStatus', MonAResource, StatusName, 'Ok')
|
||||
end else
|
||||
ErrorMsg = 'Error encountered when attempting to create Nica in order for reactor ':ReactNo:' of type ':OrderType
|
||||
Mona_Services('SendBufferedStatus', MonAResource, StatusName, 'Critical')
|
||||
Mona_Services('PostStatus', MonAResource, StatusName, 'Critical')
|
||||
end
|
||||
end
|
||||
end else
|
||||
@ -695,10 +695,10 @@ Service CancelOrder(OrderId)
|
||||
LogData<2> = Machine
|
||||
LogData<3> = 'Successfully cancelled Nica order ' : OrderId : ' for reactor ' : ReactNo
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM, False$)
|
||||
Mona_Services('SendBufferedStatus', MonAResource, StatusName, 'Ok')
|
||||
Mona_Services('PostStatus', MonAResource, StatusName, 'Ok')
|
||||
end else
|
||||
ErrorMsg = 'Error encountered cancelling Nica order ' : OrderId : ' for reactor ' : ReactNo
|
||||
Mona_Services('SendBufferedStatus', MonAResource, StatusName, 'Critical')
|
||||
Mona_Services('PostStatus', MonAResource, StatusName, 'Critical')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
@ -912,12 +912,12 @@ Service GetOrderStatusUpdate(OrderId)
|
||||
LogData<1> = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS') ; // Logging DTM
|
||||
LogData<2> = Machine
|
||||
LogData<3> = 'Successfully updated Nica order ':OrderId:' for reactor ':ReactNo:'.'
|
||||
Mona_Services('SendBufferedStatus', MonAResource, StatusName, 'Ok')
|
||||
Mona_Services('PostStatus', MonAResource, StatusName, 'Ok')
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM, False$)
|
||||
end else
|
||||
Database_Services('ReleaseKeyIDLock', 'NICA_ORDERS', OrderId)
|
||||
ErrorMsg = 'Error encountered updating Nica order ':OrderId:' for reactor ':ReactNo:'.'
|
||||
Mona_Services('SendBufferedStatus', MonAResource, StatusName, 'Critical')
|
||||
Mona_Services('PostStatus', MonAResource, StatusName, 'Critical')
|
||||
end
|
||||
end
|
||||
end else
|
||||
|
@ -381,13 +381,13 @@ ForwardEMail:
|
||||
LogData<1> = LoggingDtm
|
||||
LogData<2> = 'Successfully sent email From: ':SentFrom:' To: ':SendTo:' Header: ':eMailHeader:' Body: ':eMailText
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
Mona_Services('SendBufferedStatus', 'OPENINSIGHT_MES_OP_FE', 'Email-Service', 'ok')
|
||||
Mona_Services('PostStatus', 'OPENINSIGHT_MES_OP_FE', 'Email-Service', 'ok')
|
||||
end else
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDtm
|
||||
LogData<2> = 'Failed to send email From: ':SentFrom:' To: ':SendTo:' Header: ':eMailHeader:' Body: ':eMailText:' Error message: ':Error_Services('GetMessage')
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
Mona_Services('SendBufferedStatus', 'OPENINSIGHT_MES_OP_FE', 'Email-Service', 'critical')
|
||||
Mona_Services('PostStatus', 'OPENINSIGHT_MES_OP_FE', 'Email-Service', 'critical')
|
||||
end
|
||||
obj_Tables('DeleteRec',mbParms)
|
||||
end
|
||||
@ -397,7 +397,7 @@ ForwardEMail:
|
||||
LogData<1> = LoggingDtm
|
||||
LogData<2> = 'No emails to send...'
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
Mona_Services('SendBufferedStatus', 'OPENINSIGHT_MES_OP_FE', 'Email-Service', 'ok')
|
||||
Mona_Services('PostStatus', 'OPENINSIGHT_MES_OP_FE', 'Email-Service', 'ok')
|
||||
end
|
||||
Unlock hSysLists, ServiceKeyID else Null
|
||||
end
|
||||
|
@ -145,7 +145,7 @@ Post:
|
||||
RETURN
|
||||
END
|
||||
|
||||
If @RecCount EQ 0 then Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SetSAPBatchQueue', 'ok')
|
||||
If @RecCount EQ 0 then Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SetSAPBatchQueue', 'ok')
|
||||
Done = 0
|
||||
LOOP
|
||||
READNEXT PostLogKey USING CursorVar ELSE Done = 1
|
||||
@ -170,9 +170,9 @@ Post:
|
||||
If (Field(PostLogKey, '*', 2)) LT AllowedTime then
|
||||
Resp = Database_Services('UnlockKeyID', 'WO_MAT', PostLogRec<POST_LOG_REC_KEY1$>)
|
||||
If Resp NE False$ then
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SetSAPBatchQueue', 'ok')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SetSAPBatchQueue', 'ok')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SetSAPBatchQueue', 'critical')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SetSAPBatchQueue', 'critical')
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = TableKey
|
||||
@ -244,4 +244,3 @@ Post:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -377,9 +377,9 @@ SendReconcile:
|
||||
SendToGroup = 'FI_SUPPORT'
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'critical')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'critical')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'ok')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'ok')
|
||||
end
|
||||
|
||||
StopTime = Time()
|
||||
@ -1108,9 +1108,9 @@ SendRecord:
|
||||
SendToGroup = 'FI_SUPPORT'
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'critical')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'critical')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'ok')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'ok')
|
||||
end
|
||||
|
||||
StopTime = Time()
|
||||
@ -1162,9 +1162,9 @@ ReadInbound:
|
||||
SendToGroup = 'FI_SUPPORT'
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'critical')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'critical')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'ok')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'ok')
|
||||
end
|
||||
|
||||
StopTime = Time()
|
||||
@ -1211,9 +1211,9 @@ ReadInbound:
|
||||
SendToGroup = 'FI_SUPPORT'
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'critical')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'critical')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'ok')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'ok')
|
||||
end
|
||||
|
||||
StopTime = Time()
|
||||
@ -1258,9 +1258,9 @@ ReadInbound:
|
||||
SendToGroup = 'FI_SUPPORT'
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'critical')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'critical')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'ok')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'ok')
|
||||
end
|
||||
|
||||
StopTime = Time()
|
||||
@ -1312,9 +1312,9 @@ ClearInbound:
|
||||
SendToGroup = 'FI_SUPPORT'
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'critical')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'critical')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'ok')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_INBOUND', 'SFTP-Interface-Inbound', 'ok')
|
||||
end
|
||||
|
||||
StopTime = Time()
|
||||
@ -1367,9 +1367,9 @@ DirNextSeq:
|
||||
SendToGroup = 'FI_SUPPORT'
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'critical')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'critical')
|
||||
end else
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'ok')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_SAP_OUTBOUND', 'SFTP-Interface-Outbound', 'ok')
|
||||
end
|
||||
|
||||
StopTime = Time()
|
||||
@ -1493,4 +1493,3 @@ CheckForErrors:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -4355,4 +4355,3 @@ ClearCursors:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -248,7 +248,7 @@ End Service
|
||||
Service SetMONACritical(MONAResource=MONAResources, ErrorMessage)
|
||||
|
||||
IF MONAResource = 'FILE_GENERATION' OR MONAResource = 'FILE_TRANSMISSION' OR MONAResource = 'FILE_AVAILABILITY' OR MONAResource = 'FTP_SERVER_REACHABLE' then
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', MONAResource, 'CRITICAL')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', MONAResource, 'CRITICAL')
|
||||
If ErrorMessage NE '' then
|
||||
// Log error
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -283,7 +283,7 @@ End Service
|
||||
Service SetMONAWarning(MONAResource=MONAResources, ErrorMessage)
|
||||
|
||||
IF MONAResource = 'FILE_GENERATION' OR MONAResource = 'FILE_TRANSMISSION' OR MONAResource = 'FILE_AVAILABILITY' OR MONAResource = 'FTP_SERVER_REACHABLE' then
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', MONAResource, 'WARNING')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', MONAResource, 'WARNING')
|
||||
If ErrorMessage NE '' then
|
||||
// Log error
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -315,7 +315,7 @@ End Service
|
||||
Service ClearMONACritical(MONAResource=MONAResources)
|
||||
|
||||
IF MONAResource = 'FILE_GENERATION' OR MONAResource = 'FILE_TRANSMISSION' OR MONAResource = 'FILE_AVAILABILITY' OR MONAResource = 'FTP_SERVER_REACHABLE' then
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', MONAResource, 'OK')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', MONAResource, 'OK')
|
||||
end else
|
||||
Error_Services('Add', 'Invalid COC MONA resource.')
|
||||
end
|
||||
@ -333,9 +333,9 @@ End Service
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service ResetAllCOCMonaStatus()
|
||||
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', 'FILE_GENERATION', 'OK')
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', 'FILE_TRANSMISSION', 'OK')
|
||||
Mona_Services('SendBufferedStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', 'FILE_AVAILABILITY', 'OK')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', 'FILE_GENERATION', 'OK')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', 'FILE_TRANSMISSION', 'OK')
|
||||
Mona_Services('PostStatus', 'GRP_OPENINSIGHT_MES_OP_FE_COC', 'FILE_AVAILABILITY', 'OK')
|
||||
|
||||
End Service
|
||||
|
||||
@ -445,5 +445,3 @@ CompanyExceptionCheck:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
18
LSL2/STPROCINS/MONA_QUEUE_EQUATES.txt
Normal file
18
LSL2/STPROCINS/MONA_QUEUE_EQUATES.txt
Normal file
@ -0,0 +1,18 @@
|
||||
compile insert MONA_QUEUE_EQUATES
|
||||
/*----------------------------------------
|
||||
Author : Table Create Insert Routine
|
||||
Written : 26/06/2025
|
||||
Description : Insert for Table MONA_QUEUE
|
||||
----------------------------------------*/
|
||||
#ifndef __MONA_QUEUE_EQUATES__
|
||||
#define __MONA_QUEUE_EQUATES__
|
||||
|
||||
equ MONA_QUEUE.REQUEST_DTM$ to 1
|
||||
equ MONA_QUEUE.MONITOR_NAME$ to 2
|
||||
equ MONA_QUEUE.STATUS_NAME$ to 3
|
||||
equ MONA_QUEUE.STATUS_STATE$ to 4
|
||||
equ MONA_QUEUE.METRIC_NAME$ to 5
|
||||
equ MONA_QUEUE.METRIC_NUMBER$ to 6
|
||||
equ MONA_QUEUE.METRIC_TYPE$ to 7
|
||||
|
||||
#endif
|
18
LSL2/STPROCINS/TRANSACTION_QUEUE_EQUATES.txt
Normal file
18
LSL2/STPROCINS/TRANSACTION_QUEUE_EQUATES.txt
Normal file
@ -0,0 +1,18 @@
|
||||
compile insert TRANSACTION_QUEUE_EQUATES
|
||||
/*----------------------------------------
|
||||
Author : Table Create Insert Routine
|
||||
Written : 26/06/2025
|
||||
Description : Insert for Table TRANSACTION_QUEUE
|
||||
----------------------------------------*/
|
||||
#ifndef __TRANSACTION_QUEUE_EQUATES__
|
||||
#define __TRANSACTION_QUEUE_EQUATES__
|
||||
|
||||
equ TRANSACTION_QUEUE.TRANSACTION_DTM$ to 1
|
||||
equ TRANSACTION_QUEUE.ACTION$ to 2
|
||||
equ TRANSACTION_QUEUE.TABLE$ to 3
|
||||
equ TRANSACTION_QUEUE.KEY$ to 4
|
||||
equ TRANSACTION_QUEUE.RECORD$ to 5
|
||||
equ TRANSACTION_QUEUE.COLUMN$ to 6
|
||||
equ TRANSACTION_QUEUE.VALUE$ to 7
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user