Add logging for signatures and activations.

This commit is contained in:
Infineon\Mitchem 2024-10-22 10:08:34 -07:00 committed by Mitchem Dakota (CSC FI SPS MESLEO External)
parent d90a685b44
commit aff7a9efd3

View File

@ -16,10 +16,10 @@ COMPILE FUNCTION Comm_Prod_Spec(Instruction, Parm1,Parm2)
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, Center_Window, Post_Event, obj_Tables
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, Send_Event, Btree.Extract, obj_AppWindow, Make.List
DECLARE SUBROUTINE Database_Services, Error_Services, Dialog_Box, Start_Window, Unlock, Utility
DECLARE SUBROUTINE Psn_Services
DECLARE SUBROUTINE Psn_Services, Logging_Services
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Center_Window, Popup, Collect.Ixvals, Error_Services
DECLARE FUNCTION Send_Message, obj_PR_Spec, Msg, Security_Check, obj_Tables, obj_Popup, MemberOf, Database_Services
DECLARE FUNCTION RowExists, Repository
DECLARE FUNCTION RowExists, Repository, Logging_Services, Environment_Services
$INSERT POPUP_EQUATES
$INSERT LOGICAL
@ -140,8 +140,16 @@ ErrCode = ''
ErrorMsg = ''
ErrTitle = 'Error in Comm_Prod_Spec'
Result = ''
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\PROD_SPEC'
LogDate = Oconv(Date(), 'D4/')
LogTime = Oconv(Time(), 'MTS')
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ProdSpecLog.csv'
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'PSN Key' : @FM : 'Action'
objPSNLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$)
BEGIN CASE
CASE Instruction = 'Create' ; GOSUB Create
@ -205,7 +213,7 @@ RETURN
* * * * * *
Refresh:
* * * * * *
PSNo = Get_Property(@Window:'.PROD_SPEC_ID', 'TEXT')
If RowExists('PROD_SPEC', PSNo) then
@ -235,21 +243,21 @@ Refresh:
END CASE
IF NextMode = '' THEN
Set_Property(@WINDOW:'.SIGN_MODE','ENABLED',0)
Set_Property(@WINDOW:'.SIGN_MODE','TEXT','Signed')
END ELSE
Set_Property(@WINDOW:'.SIGN_MODE','ENABLED',1)
Set_Property(@WINDOW:'.SIGN_MODE','TEXT','Sign ':NextMode)
END
IF UnsignMode = '' THEN
Set_Property(@WINDOW:'.UNSIGN_MODE','ENABLED',0)
Set_Property(@WINDOW:'.UNSIGN_MODE','TEXT','None Signed')
END ELSE
Set_Property(@WINDOW:'.UNSIGN_MODE','ENABLED',1)
Set_Property(@WINDOW:'.UNSIGN_MODE','TEXT','Unsign ':UnsignMode)
END
* IF NextMode = '' THEN
* Set_Property(@WINDOW:'.SIGN_MODE','ENABLED',0)
* Set_Property(@WINDOW:'.SIGN_MODE','TEXT','Signed')
* END ELSE
* Set_Property(@WINDOW:'.SIGN_MODE','ENABLED',1)
* Set_Property(@WINDOW:'.SIGN_MODE','TEXT','Sign ':NextMode)
* END
*
* IF UnsignMode = '' THEN
* Set_Property(@WINDOW:'.UNSIGN_MODE','ENABLED',0)
* Set_Property(@WINDOW:'.UNSIGN_MODE','TEXT','None Signed')
* END ELSE
* Set_Property(@WINDOW:'.UNSIGN_MODE','ENABLED',1)
* Set_Property(@WINDOW:'.UNSIGN_MODE','TEXT','Unsign ':UnsignMode)
* END
CurrStatus = Get_Property(@WINDOW:'.STATUS','DEFPROP')
@ -826,7 +834,6 @@ StatusClick:
Error_Services('Add', 'Both the Pre Qual and the Qual signatures must be signed in order for the PSN to be activated.')
END CASE
IF PSNo = '' THEN RETURN
If NewStatus NE OldStatus then
IF NewStatus = 'I' THEN
@ -867,7 +874,17 @@ StatusClick:
Error = Error_Services('GetMessage')
ErrMsg(ErrorMessage : PSNo : @SVM : 'Please notify OpenInsight administrator. Error message:':Error)
end
CurrDate = OCONV(Date(),'D4/')
CurrTime = OCONV(Time(),'MTHS')
CurrDTM = CurrDate:' ':CurrTime
LogData = ''
LogData<1> = CurrDTM
LogData<2> = @USER4
LogData<3> = PSNo
LogData<4> = 'Inactivate PSN ' : PSNo
Logging_Services('AppendLog', objPSNLog, LogData, @RM, @FM, False$)
END ELSE
If OldStatus EQ 'A' then
Set_Property(@WINDOW:'.STATUS','VALUE','A')
@ -948,6 +965,17 @@ StatusClick:
end
If Error_Services('NoError') then
GoSub StageVerification
CurrDate = OCONV(Date(),'D4/')
CurrTime = OCONV(Time(),'MTHS')
CurrDTM = CurrDate:' ':CurrTime
LogData = ''
LogData<1> = CurrDTM
LogData<2> = @USER4
LogData<3> = PSNo
LogData<4> = 'Activate PSN ' : PSNo
Logging_Services('AppendLog', objPSNLog, LogData, @RM, @FM, False$)
end
end else
Set_Property(@WINDOW:'.STATUS','DEFPROP', OldStatus)
@ -1217,9 +1245,9 @@ BEGIN CASE
CASE MetTest = 'LW_RHO'
Units = 'ê/Ü' ;* Resistivity units for 'ohms square' (see Metrology_Units popup)
Units = 'ê/Ü' ;* Resistivity units for 'ohms square' (see Metrology_Units popup)
EpiProps = XLATE('PRS_PROP',PSNo:'*':LayerNo:'*RES','','X')
IF EpiProps<PRS_PROP_UNITS_ORG$> = 'ê/Ü' THEN
IF EpiProps<PRS_PROP_UNITS_ORG$> = 'ê/Ü' THEN
DefProp = EpiProps<PRS_PROP_RAW_MIN$>
END
@ -1238,9 +1266,9 @@ BEGIN CASE
DefProp = XLATE('PRS_PROP',PSNo:'*':LayerNo:'*THICK',PRS_PROP_RAW_MAX$,'X')
CASE MetTest = 'LW_RHO'
Units = 'ê/Ü' ;* Resistivity units for 'ohms square' (see Metrology_Units popup)
Units = 'ê/Ü' ;* Resistivity units for 'ohms square' (see Metrology_Units popup)
EpiProps = XLATE('PRS_PROP',PSNo:'*':LayerNo:'*RES','','X')
IF EpiProps<PRS_PROP_UNITS_ORG$> = 'ê/Ü' THEN
IF EpiProps<PRS_PROP_UNITS_ORG$> = 'ê/Ü' THEN
DefProp = EpiProps<PRS_PROP_RAW_MAX$>
END
@ -1457,12 +1485,19 @@ SignNextMode:
CASE 1 ; NextSigPos = 1 ; NextMode = ModeArray<COL$MODE_CODE,1>
END CASE
BEGIN CASE
CASE NextSigPos = 4 ; Qualified = (MemberOf(@USER4,'PSN_PROD'))
CASE NextSigPos = 3 ; Qualified = (MemberOf(@USER4,'PSN_PRE_PROD'))
CASE NextSigPos = 2 ; Qualified = (MemberOf(@USER4,'PSN_QUAL'))
CASE NextSigPos = 1 ; Qualified = (MemberOf(@USER4,'PSN_PRE_QUAL'))
CASE NextSigPos = 4
SigStage = 'PSN_PROD'
Qualified = (MemberOf(@USER4,SigStage))
CASE NextSigPos = 3
SigStage = 'PSN_PRE_PROD'
Qualified = (MemberOf(@USER4,SigStage))
CASE NextSigPos = 2
SigStage = 'PSN_QUAL'
Qualified = (MemberOf(@USER4,SigStage))
CASE NextSigPos = 1
SigStage = 'PSN_PRE_QUAL'
Qualified = (MemberOf(@USER4,SigStage))
CASE 1 ; Qualified = FALSE$
END CASE
@ -1482,14 +1517,20 @@ SignNextMode:
Set_Property(CtrlID,'CELLPOS',@USER4,COL$MODE_SIG:@FM:NextSigPos)
Set_Property(CtrlID,'CELLPOS',CurrDTM,COL$MODE_SIG_DTM:@FM:NextSigPos)
END
PSNo = Get_Property(@WINDOW:'.PROD_SPEC_ID','DEFPROP')
Send_Event(@WINDOW,'WRITE')
obj_Appwindow('LUValReturn',PSNo:@RM:@WINDOW:'.PROD_SPEC_ID')
PSNo = Get_Property(@WINDOW:'.PROD_SPEC_ID','DEFPROP')
Send_Event(@WINDOW,'WRITE')
obj_Appwindow('LUValReturn',PSNo:@RM:@WINDOW:'.PROD_SPEC_ID')
LogData = ''
LogData<1> = CurrDTM
LogData<2> = @USER4
LogData<3> = PSNo
LogData<4> = 'Sign ' : SigStage
Logging_Services('AppendLog', objPSNLog, LogData, @RM, @FM, False$)
End
RETURN
@ -1512,12 +1553,19 @@ UnsignCurrMode:
CASE 1 ; UnsigPos = ''
END CASE
BEGIN CASE
CASE UnsigPos = 4 ; Qualified = (MemberOf(@USER4,'PSN_PROD'))
CASE UnsigPos = 3 ; Qualified = (MemberOf(@USER4,'PSN_PRE_PROD'))
CASE UnsigPos = 2 ; Qualified = (MemberOf(@USER4,'PSN_QUAL'))
CASE UnsigPos = 1 ; Qualified = (MemberOf(@USER4,'PSN_PRE_QUAL'))
CASE UnSigPos = 4
SigStage = 'PSN_PROD'
Qualified = (MemberOf(@USER4,SigStage))
CASE UnSigPos = 3
SigStage = 'PSN_PRE_PROD'
Qualified = (MemberOf(@USER4,SigStage))
CASE UnSigPos = 2
SigStage = 'PSN_QUAL'
Qualified = (MemberOf(@USER4,SigStage))
CASE UnSigPos = 1
SigStage = 'PSN_PRE_QUAL'
Qualified = (MemberOf(@USER4,SigStage))
CASE 1 ; Qualified = FALSE$
END CASE
@ -1531,12 +1579,20 @@ UnsignCurrMode:
IF Valid = 1 THEN
PSNo = Get_Property(@WINDOW:'.PROD_SPEC_ID','DEFPROP')
CurrDate = OCONV(Date(),'D4/')
CurrTime = OCONV(Time(),'MTHS')
CurrDTM = CurrDate:' ':CurrTime
Set_Property(CtrlID,'CELLPOS','',COL$MODE_SIG:@FM:UnsigPos)
Set_Property(CtrlID,'CELLPOS','',COL$MODE_SIG_DTM:@FM:UnsigPos)
LogData = ''
LogData<1> = CurrDTM
LogData<2> = @USER4
LogData<3> = PSNo
LogData<4> = 'UnSign ' : SigStage
Logging_Services('AppendLog', objPSNLog, LogData, @RM, @FM, False$)
END
PSNo = Get_Property(@WINDOW:'.PROD_SPEC_ID','DEFPROP')
@ -1545,6 +1601,7 @@ UnsignCurrMode:
obj_Appwindow('LUValReturn',PSNo:@RM:@WINDOW:'.PROD_SPEC_ID')
RETURN
@ -2615,5 +2672,3 @@ ReactorVerification:
return