Created methods to get all record found in the hierarchy of WO's Related work items: #313450
262 lines
15 KiB
Plaintext
262 lines
15 KiB
Plaintext
Compile function Archive_Services(@Service, @Params)
|
|
#pragma precomp SRP_PreCompiler
|
|
$insert LOGICAL
|
|
$insert APP_INSERTS
|
|
$Insert WO_LOG_EQUATES
|
|
$Insert RDS_EQUATES
|
|
$Insert REACT_RUN_EQUATES
|
|
$Insert RDS_LAYER_EQUATES
|
|
$Insert RDS_TEST_EQUATES
|
|
$Insert ARCHIVE_EQUATES
|
|
|
|
EQU COMMA$ To ','
|
|
|
|
Declare subroutine Change_Log_Services, Logging_Services, Error_Services, Database_Services
|
|
Declare function SRP_Datetime, Logging_Services, Environment_Services, Datetime
|
|
Declare function Database_Services, Wo_Mat_Services, Error_Services, RDS_Services
|
|
Declare function WM_In_Services, WM_Out_Services
|
|
|
|
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\Archive'
|
|
LogDate = Oconv(Date(), 'D4/')
|
|
LogTime = Oconv(Time(), 'MTS')
|
|
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ArchiveService.csv'
|
|
Headers = 'Logging DTM' : @FM : 'Message' : @FM : 'Cutoff Date'
|
|
objLogArchiveService = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
|
|
|
GoToService
|
|
|
|
Return Response or ""
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// SERVICES
|
|
//-----------------------------------------------------------------------------
|
|
|
|
Service ArchiveRecords()
|
|
Errors = ''
|
|
StatusMessage = 'Starting Archive Script.'
|
|
LogData = ''
|
|
LogData<1> = LoggingDTM
|
|
LogData<2> = StatusMessage
|
|
Logging_Services('AppendLog', objLogArchiveService, LogData, @RM, @FM)
|
|
|
|
//Archive Change Log Records
|
|
GoSub ChangeLogArchive
|
|
|
|
//Finish
|
|
Locate True$ in Errors using @FM setting ePos then
|
|
StatusMessage = 'Archive script complete. Errors detected. Check individual archive logs for more info.'
|
|
LogData = ''
|
|
LogData<1> = LoggingDTM
|
|
LogData<2> = StatusMessage
|
|
Logging_Services('AppendLog', objLogArchiveService, LogData, @RM, @FM)
|
|
end else
|
|
StatusMessage = 'Archive script complete. No errors detected.'
|
|
LogData = ''
|
|
LogData<1> = LoggingDTM
|
|
LogData<2> = StatusMessage
|
|
Logging_Services('AppendLog', objLogArchiveService, LogData, @RM, @FM)
|
|
end
|
|
|
|
End Service
|
|
|
|
Service GetWORelatedRecord(WOLogId)
|
|
|
|
ErrorMsg = ''
|
|
If WOLogId NE '' then
|
|
If RowExists('WO_LOG', WOLogId) then
|
|
WOLogRec = Database_Services('ReadDataRow', 'WO_LOG', WOLogId, True$, 0, False$)
|
|
If Error_Services('NoError') then
|
|
ArchiveRecordId = 'WO_LOG*' : WOLogId
|
|
ArchiveRecord = ''
|
|
WOMatKeys = Wo_Mat_Services('GetWOMatKeys', WOLogId)
|
|
If Error_Services('NoError') then
|
|
WOMatQAKeys = WOMatKeys
|
|
WOStepKey = WOLogRec<WO_LOG_WO_STEP_KEY$>
|
|
WMInKeys = Wm_In_Services('GetWMInKeys', WOLogId)
|
|
if Error_Services('NoError') then
|
|
WMOutKeys = Wm_Out_Services('GetWMOutKeys', WOLogId)
|
|
if Error_Services('NoError') then
|
|
RDSKeys = RDS_Services('GetRDSKeys', WOLogId)
|
|
if Error_Services('NoError') then
|
|
ReactRunKeys = RDSKeys
|
|
RDSLayerKeys = ''
|
|
CleanInspKeys = ''
|
|
for each ReactRunKey in ReactRunKeys using @VM setting iPos
|
|
ReactRunRec = Database_Services('ReadDataRow', 'REACT_RUN', ReactRunKey, True$, 0, False$)
|
|
If Error_Services('NoError') then
|
|
CleanInspKeys<1, -1> = ReactRunRec<REACT_RUN_CI_NO$>
|
|
RDSLayerKeys<1, -1> = ReactRunRec<REACT_RUN_RDS_LAYER_KEYS$>
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
Next ReactRunKey
|
|
RDSTestKeys = ''
|
|
If ErrorMsg EQ '' then
|
|
For each RDSLayerKey in RDSLayerKeys using @VM
|
|
RDSLayerRec = Database_Services('ReadDataRow', 'RDS_LAYER', RDSLayerKey, True$, 0, False$)
|
|
If Error_Services('NoError') then
|
|
RDSTestKeys<1, -1> = RDSLayerRec<RDS_LAYER_RDS_TEST_KEYS$>
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
Next RDSLayerKey
|
|
TWUseKeys = ''
|
|
end
|
|
TWUseKeys = ''
|
|
If ErrorMsg EQ '' then
|
|
for each RDSTestKey in RDSTestKeys using @VM
|
|
RDSTestRec = Database_Services('ReadDataRow', 'RDS_TEST', RDSTestKey, True$, 0, False$)
|
|
If Error_Services('NoError') then
|
|
TWUseKeys<1,-1> = RDSTestRec<RDS_TEST_TW_USE_ID$>
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
Next RDSTestKey
|
|
end
|
|
If ErrorMsg EQ '' then
|
|
//ArchiveRecord
|
|
//WOLogId
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = WOLogId
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'WO_LOG'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
//WOStepKey
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = WOStepKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'WO_STEP'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
//WOMatKeys
|
|
for each WOMatKey in WOMatKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = WOMatKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'WO_MAT'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next WOMatKey
|
|
//WOMatQAKeys
|
|
for each WOMatQAKey in WOMatQAKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = WOMatQAKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'WO_MAT_QA'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next WOMatQAKey
|
|
//WMInKeys (EpiPro Specific)
|
|
for each WMInKey in WMInKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = WMInKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'WM_IN'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next WMInKey
|
|
//WMOutKeys (EpiPro Specific)
|
|
for each WMOutKey in WMOutKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = WMOutKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'WM_OUT'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next WMOutKey
|
|
//RDSKeys
|
|
for each RDSKey in RDSKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = RDSKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'RDS'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next RDSKey
|
|
//ReactRunKeys
|
|
for each ReactRunKey in ReactRunKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = ReactRunKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'REACT_RUN'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next ReactRunKey
|
|
//RDSLayerKeys
|
|
for each RDSLayerKey in RDSLayerKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = RDSLayerKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'RDS_LAYER'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next RDSLayerKey
|
|
//CleanInspKeys
|
|
for each CleanInspKey in CleanInspKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = CleanInspKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'CLEAN_INSP'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next CleanInspKey
|
|
//RDSTestKeys
|
|
for each RDSTestKey in RDSTestKeys using @VM
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = RDSTestKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'RDS_TEST'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
Next RDSTestKey
|
|
//TWUseKeys
|
|
for each TWUseKey in TWUseKeys using @VM
|
|
if TWUseKey NE '' then
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD$, -1> = TWUseKey
|
|
ArchiveRecord<ARCHIVE_CHILD_TABLE$, -1> = 'TW_USE'
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_ARCHIVED$, -1> = False$
|
|
ArchiveRecord<ARCHIVE_CHILD_RECORD_DELETED$, -1> = False$
|
|
end
|
|
Next TWUseKey
|
|
Database_Services('WriteDataRow', 'ARCHIVE', ArchiveRecordId, ArchiveRecord)
|
|
If Error_Services('HasError') then
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = Error_Services('GetMessage')
|
|
end
|
|
end else
|
|
ErrorMsg = 'WO_LOG record not found in WO_LOG table.'
|
|
end
|
|
end else
|
|
ErrorMsg = 'WO_LOG ID was null.'
|
|
end
|
|
|
|
If ErrorMsg NE '' then
|
|
Error_Services('Add', ErrorMsg)
|
|
end
|
|
|
|
end service
|
|
|
|
ChangeLogArchive:
|
|
StatusMessage = 'Starting Change_Log Archive Script.'
|
|
LogData = ''
|
|
LogData<1> = LoggingDTM
|
|
LogData<2> = StatusMessage
|
|
Logging_Services('AppendLog', objLogArchiveService, LogData, @RM, @FM)
|
|
ChangeLogArchiveDate = SRP_Datetime('AddYears', Datetime(), -1)
|
|
Change_Log_Services('ArchiveChangeLogRecByDate', ChangeLogArchiveDate)
|
|
If Error_Services('NoError') then
|
|
StatusMessage = 'Starting Change_Log Archive Script.'
|
|
LogData = ''
|
|
LogData<1> = LoggingDTM
|
|
LogData<2> = StatusMessage
|
|
Logging_Services('AppendLog', objLogArchiveService, LogData, @RM, @FM)
|
|
end else
|
|
StatusMessage = 'Error in Change_Log Archive Script.'
|
|
LogData = ''
|
|
LogData<1> = LoggingDTM
|
|
LogData<2> = StatusMessage
|
|
Logging_Services('AppendLog', objLogArchiveService, LogData, @RM, @FM)
|
|
Errors<-1> = True$
|
|
end
|
|
return
|
|
|
|
|
|
|
|
|
|
|