Merged PR 24620: WO Hierarchy Record Gathering
Created methods to get all record found in the hierarchy of WO's Related work items: #313450
This commit is contained in:
parent
a196bffd41
commit
c30bb96972
@ -2,10 +2,19 @@ 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
|
||||
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/')
|
||||
@ -51,7 +60,174 @@ Service ArchiveRecords()
|
||||
|
||||
End Service
|
||||
|
||||
Service DearchiveRecord(Table, ID)
|
||||
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
|
||||
|
||||
|
@ -54,7 +54,7 @@ $Insert DICT_EQUATES
|
||||
$Insert WM_IN_EQUATES
|
||||
|
||||
Declare function PSN_Services, SRP_Rotate_Array, Datetime, Database_Services, Environment_Services, Logging_Services
|
||||
Declare subroutine Database_Services, Set_Status, obj_Wo_Mat_Log, Logging_Services, Extract_Si_Keys
|
||||
Declare subroutine Database_Services, Set_Status, obj_Wo_Mat_Log, Logging_Services, Extract_Si_Keys, Btree.Extract
|
||||
|
||||
GoToService
|
||||
|
||||
@ -368,3 +368,28 @@ Service VerifyWOMatWMIKeyIndex(WMIKey)
|
||||
|
||||
end service
|
||||
|
||||
Service GetWMInKeys(WOLogId)
|
||||
|
||||
ErrorMsg = ''
|
||||
WMInKeys = ''
|
||||
|
||||
If WOLogId NE '' then
|
||||
Open 'DICT.WM_IN' to hWmInDict then
|
||||
SearchString = ''
|
||||
SearchString := 'WO_NO':@VM:WOLogId:@FM
|
||||
Btree.Extract(SearchString, 'WM_IN', hWmInDict, WMInKeys, 0, 0)
|
||||
end else
|
||||
ErrorMsg = 'Error opening WM_IN dictionary.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'WOLogId was null'
|
||||
end
|
||||
|
||||
If ErrorMsg NE '' then
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
Response = WMInKeys
|
||||
|
||||
end service
|
||||
|
||||
|
@ -62,7 +62,7 @@ Declare function Database_Services, SRP_JSON, Error_Services, Clean_Insp_Servi
|
||||
Declare function PSN_Services, SRP_Rotate_Array, Datetime, Return_To_Fab_Services, Environment_Services
|
||||
Declare function Logging_Services
|
||||
Declare subroutine Database_Services, SRP_JSON, Error_Services, Extract_Si_Keys, Set_Status, obj_wo_mat_log
|
||||
Declare subroutine Logging_Services
|
||||
Declare subroutine Logging_Services, Btree.Extract
|
||||
|
||||
GoToService
|
||||
|
||||
@ -645,3 +645,29 @@ Service VerifyWOMatWMOKeyIndex(WMOKey)
|
||||
|
||||
end service
|
||||
|
||||
Service GetWMOutKeys(WOLogId)
|
||||
|
||||
ErrorMsg = ''
|
||||
WMOutKeys = ''
|
||||
|
||||
If WOLogId NE '' then
|
||||
Open 'DICT.WM_OUT' to hWmOutDict then
|
||||
SearchString = ''
|
||||
SearchString := 'WO_NO':@VM:WOLogId:@FM
|
||||
Btree.Extract(SearchString, 'WM_OUT', hWmOutDict, WMOutKeys, 0, 0)
|
||||
end else
|
||||
ErrorMsg = 'Error opening WM_OUT dictionary.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'WOLogId was null'
|
||||
end
|
||||
|
||||
If ErrorMsg NE '' then
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
Response = WMOutKeys
|
||||
|
||||
end service
|
||||
|
||||
|
||||
|
19
LSL2/STPROCINS/ARCHIVE_EQUATES.txt
Normal file
19
LSL2/STPROCINS/ARCHIVE_EQUATES.txt
Normal file
@ -0,0 +1,19 @@
|
||||
compile insert ARCHIVE_EQUATES
|
||||
/*----------------------------------------
|
||||
Author : Table Create Insert Routine
|
||||
Written : 28/08/2025
|
||||
Description : Insert for Table ARCHIVE
|
||||
----------------------------------------*/
|
||||
#ifndef __ARCHIVE_EQUATES__
|
||||
#define __ARCHIVE_EQUATES__
|
||||
|
||||
equ ARCHIVE_ARCHIVE_DTM$ to 1
|
||||
equ ARCHIVE_COMPLETE$ to 2
|
||||
equ ARCHIVE_CHILD_RECORD$ to 3
|
||||
equ ARCHIVE_CHILD_TABLE$ to 4
|
||||
equ ARCHIVE_CHILD_RECORD_ARCHIVED$ to 5
|
||||
equ ARCHIVE_CHILD_RECORD_DELETED$ to 6
|
||||
equ ARCHIVE_CHILD_RECORD_ARCHIVE_DTM$ to 7
|
||||
equ ARCHIVE_CHILD_RECORD_DELETE_DTM$ to 8
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user