Merged PR 13813: Lot void routines enhancement

Lot void routines enhancement

Related work items: #110807
This commit is contained in:
Ouellette Jonathan (CSC FI SPS MESLEO)
2025-03-27 18:51:25 +01:00
parent 507c6bffba
commit b76db6bc72
22 changed files with 3950 additions and 2447 deletions

View File

@ -69,10 +69,10 @@ $Insert QUOTE_DET_EQU
$Insert QUOTE_SIGS_EQU
$Insert REACT_RUN_EQUATES
$Insert WM_OUT_EQUATES
$Insert WO_STEP_EQU
$Insert ORDER_EQU
$Insert ORDER_DET_EQU
$Insert RLIST_EQUATES
$Insert WO_STEP_EQUATES
EQU COL$QUOTE_DESC TO 1
EQU COL$SETUP_CHG TO 4
@ -116,10 +116,10 @@ EQU COL$STEP_SCHED_DTM TO 11
EQU COMMA$ to ','
Declare subroutine Errmsg, Btree.Extract, Set_Status, Logging_Services, Work_Order_Services, Start_Window, obj_WO_Log
Declare subroutine obj_Notes, Comm_Customer_Epi, Print_WO, obj_WO_Mat, obj_WM_In, obj_WO_Mat, obj_RDS
Declare subroutine Security_Err_Msg, obj_WM_Out, Database_Services, End_Window, Print_Shelf_Label
Declare subroutine obj_Notes, Comm_Customer_Epi, Print_WO, obj_WO_Mat, obj_WM_In, obj_WO_Mat, obj_RDS, Msg
Declare subroutine Security_Err_Msg, obj_WM_Out, Database_Services, End_Window, Print_Shelf_Label, Signature_Services
Declare function obj_WO_Log, Work_Order_Services, Environment_Services, Logging_Services, Memberof, NextKey
Declare function Database_Services, Unassigned, obj_WO_Mat, obj_RDS, Security_Check, obj_WM_Out
Declare function Database_Services, Unassigned, obj_WO_Mat, obj_RDS, Security_Check, obj_WM_Out, Error_Services
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
LogDate = Oconv(Date(), 'D4/')
@ -1187,15 +1187,13 @@ end event
Event PUB_REM_CASS.CLICK()
WONo = Get_Property(@WINDOW:'.EDL_WO_NO','TEXT')
WOStepKey = XLATE('WO_LOG', WONo, WO_LOG_WO_STEP_KEY$, 'X')
IF WONo NE '' then
WORec = XLATE('WO_LOG',WONo,'','X')
WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$>
WMInKeys = XLATE('WO_MAT',WOMatKeys,WO_MAT_WMI_KEY$,'X')
WMInKeys = XLATE('WO_MAT',WOMatKeys,WO_MAT_WMI_KEY$,'X')
WMInKeys = XLATE('WO_STEP', WOStepKey, WO_STEP_WM_IN_KEYS$, 'X')
WMInTestSTring = WMInKeys
CONVERT @VM TO '' IN WMInTestString
@ -1212,7 +1210,7 @@ Event PUB_REM_CASS.CLICK()
DispLine = 1
IF WMInTestString NE '' THEN
//EPP Case for WMI
FOR I = WMInCnt TO 1 STEP -1
WMIRec = XLATE('WM_IN',WMInKeys<1,I>,'','X')
WMIRdsNos = WMIRec<WM_IN_RDS_NO$>
@ -1256,26 +1254,15 @@ Event PUB_REM_CASS.CLICK()
NEXT I
TestWMInKeys = DelWMInKeys
CONVERT @VM TO '' IN TestWMInKeys
IF TestWMInKeys NE '' THEN
Set_Status(0)
obj_WM_In('Delete',DelWMInKeys) ;* Removes WMI records from system
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
END
Set_Status(0)
obj_WO_Log('RemoveCassettes',WONo:@RM:CassNos)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
for each DelWMInKey in DelWMInKeys using @VM
Work_Order_Services('SignVoidWMI', DelWMInKey, @USER4)
Next DelWMInKey
END
END ELSE
//Non-EPP Case for RDS
CassCnt = COUNT(WOMatKeys,@VM) + (WOMatKeys NE '')
FOR I = CassCnt TO 1 STEP -1
@ -1289,14 +1276,15 @@ Event PUB_REM_CASS.CLICK()
CONVERT @VM TO '' IN WOMatSigs
UNTIL WOMatSigs NE ''
Display<1,DispLine,1> = WOMatKeys<1,I>[-1,'B*']
Display<1,DispLine,2> = WOMatRec<WO_MAT_LOT_NO$>
Display<1,DispLine,3> = WOMatRec<WO_MAT_WAFER_QTY$>
Display<1,DispLine,4> = WOMatRec<WO_MAT_RDS_NO$>
Display<1,DispLine,5> = OCONV(WOMatCurrStatus,'[WO_MAT_CURR_STATUS_CONV]')
DispLine += 1
If WoMatCurrStatus NE 'VOID' then
Display<1,DispLine,1> = WOMatKeys<1,I>[-1,'B*']
Display<1,DispLine,2> = WOMatRec<WO_MAT_LOT_NO$>
Display<1,DispLine,3> = WOMatRec<WO_MAT_WAFER_QTY$>
Display<1,DispLine,4> = WOMatRec<WO_MAT_RDS_NO$>
Display<1,DispLine,5> = OCONV(WOMatCurrStatus,'[WO_MAT_CURR_STATUS_CONV]')
DispLine += 1
end
NEXT I
IF Display NE '' THEN
TypeOver = ''
TypeOver<PDISPLAY$> = Display
@ -1322,23 +1310,18 @@ Event PUB_REM_CASS.CLICK()
END
NEXT I
TestRDSNos = RDSNos
CONVERT @VM TO '' IN TestRDSNos
IF TestRDSNos NE '' THEN
Set_Status(0)
InProcessRDSNos = obj_RDS('Delete',RDSNos) ;* Removes RDS records from system
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
END
Set_Status(0)
obj_WO_Log('RemoveCassettes',WONo:@RM:CassNos)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
VoidStatusMessage = ''
for each CassNo in CassNos using @VM
WoMatKey = WONo : '*' : CassNo
Work_Order_Services('SignVoidNonEpp', WoMatKey, @USER4)
If Error_Services('HasError') then
VoidStatusMessage = Error_Services('GetMessage')
end
Next CassNo
If VoidStatusMessage EQ '' then
VoidStatusMessage = 'All cassettes have been queued for void.'
end
Msg(@Window, VoidStatusMessage)
END
IF Display = '' THEN
@ -1374,14 +1357,13 @@ end event
Event PUB_REM_WM_OUT.CLICK()
WONo = Get_Property(@WINDOW:'.EDL_WO_NO','TEXT')
WOStepKey = XLATE('WO_LOG', WONo, WO_LOG_WO_STEP_KEY$, 'X')
IF WONo NE '' then
WORec = XLATE('WO_LOG',WONo,'','X')
WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$>
WMOutKeys = XLATE('WO_MAT',WOMatKeys,WO_MAT_WMO_KEY$,'X')
WMOutKeys = Database_Services('ReadDataColumn', 'WO_STEP', WOStepKey, WO_STEP_WM_OUT_KEYS$, True$, 0, False$)
WMOutCnt = COUNT(WMOutKeys,@VM) + (WMOutKeys NE '')
Display = ''
@ -1422,21 +1404,15 @@ Event PUB_REM_WM_OUT.CLICK()
NEXT I
TestWMOutKeys = DelWMOutKeys
CONVERT @VM TO '' IN TestWMOutKeys
IF TestWMOutKeys NE '' THEN
Set_Status(0)
obj_WM_Out('Delete',DelWMOutKeys) ;* Removes WMO records from system
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
for each WMOutKey in TestWMOutKeys using @VM
Work_Order_Services('SignVoidWMO', WMOutKey, @USER4)
Next WMOutKey
If Error_Services('HasError') then
Msg(@Window, Error_Services('GetMessage'))
end
END
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
END
IF Display = '' THEN
@ -2163,3 +2139,6 @@ StartStopDate:
return