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:
Infineon\StieberD
2025-06-26 14:34:22 -07:00
parent c6910c14c2
commit 2180ba3fb4
11 changed files with 618 additions and 51 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -4355,4 +4355,3 @@ ClearCursors:
return

View File

@ -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

View 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

View 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