pre cutover push
This commit is contained in:
@ -6,6 +6,8 @@ COMPILE FUNCTION Comm_RDS(Method, Parm1, Parm2)
|
||||
Used for added functionality in the RDS Mess.
|
||||
|
||||
09/17/2004 - John C. Henry, J.C. Henry & Co., Inc.
|
||||
|
||||
06/13/2024 djm Add new stage-specific supplement system.
|
||||
*/
|
||||
|
||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg, Security_Err_Msg, Popup, Print_Cass_Labels
|
||||
@ -18,7 +20,7 @@ DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Po
|
||||
DECLARE FUNCTION obj_Tables, obj_Clean_Insp, obj_WO_Mat_QA, obj_RDS_Test, obj_WO_Mat, Signature_Services
|
||||
DECLARE FUNCTION obj_WO_Step, Security_Check, obj_RDS_Audit, obj_WM_In, Create_Dialog, obj_NCR, obj_WO_Mat, MemberOf
|
||||
DECLARE FUNCTION Start_Window, Database_Services, Development_Services, RDS_Services, RTI_Lock_Owner, Logging_Services
|
||||
DECLARE FUNCTION Environment_Services
|
||||
DECLARE FUNCTION Environment_Services, Wafer_Counter_Services, Error_Services
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
|
||||
@ -44,6 +46,7 @@ $INSERT QUOTE_SIGS_EQU
|
||||
$INSERT COMPANY_EQUATES
|
||||
$INSERT PRS_STAGE_EQUATES
|
||||
$INSERT WO_MAT_QA_EQUATES
|
||||
$INSERT WAFER_COUNTER_EQUATES
|
||||
|
||||
EQU COL$LOG_FILE TO 1 ;* obj_WO_Mat_Log method parameter equates
|
||||
EQU COL$LOG_DTM TO 2
|
||||
@ -169,7 +172,6 @@ BEGIN CASE
|
||||
CASE Method = 'Update' ; GOSUB Update
|
||||
CASE Method = 'FirstRead' ; GOSUB FirstRead
|
||||
CASE Method = 'FirstRefresh' ; GOSUB FirstRefresh
|
||||
CASE Method = 'SupVerSigLF' ; GOSUB SupVerSigLF
|
||||
CASE Method = 'NewNCR' ; GOSUB NewNCR
|
||||
CASE Method = 'NCRKeysDC' ; GOSUB NCRKeysDC
|
||||
CASE Method = 'PrintLabels' ; GOSUB PrintLabels
|
||||
@ -212,6 +214,7 @@ RETURN Result
|
||||
* * * * * * *
|
||||
RdsLF:
|
||||
* * * * * * *
|
||||
|
||||
RDSNo = Get_Property(@WINDOW:'.RDS_NO','DEFPROP')
|
||||
IF RDSNo NE '' THEN
|
||||
IF RowExists('RDS',RDSNo) ELSE
|
||||
@ -769,53 +772,8 @@ Refresh:
|
||||
END CASE
|
||||
Set_Property(@WINDOW:'.ROTR_ACTION','BACKCOLOR',BackColor)
|
||||
|
||||
****************************************
|
||||
* Refreshing Wafer Counter Information *
|
||||
****************************************
|
||||
|
||||
WCCheckEnabled = Xlate('APP_INFO', 'WAFER_COUNTER_CHECK', '', 'X')
|
||||
If WCCheckEnabled then
|
||||
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
|
||||
EpiPartNo = Get_Property(@Window : '.EPI_PART_NO', 'TEXT')
|
||||
WaferSize = Xlate('EPI_PART', EpiPartNo, 'SUB_WAFER_SIZE', 'X')
|
||||
WaferSizeInch = Field(WaferSize, ' ', 3, 1)
|
||||
|
||||
WCToolID = 'WC':WaferSizeInch:'INCH'
|
||||
WCCurrMode = ''
|
||||
If RowExists('TOOL', WCToolID) then
|
||||
WCCurrModeKey = Xlate('TOOL', WCToolID, 'CURR_MODE_KEY', 'X')
|
||||
WCCurrMode = Xlate('TOOL_LOG', WCCurrModeKey, 'TOOL_MODE', 'X')
|
||||
end
|
||||
|
||||
If WCCurrMode EQ 'PROD' then
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'ENABLED', False$)
|
||||
end else
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'ENABLED', True$)
|
||||
end
|
||||
GoSub RefreshWaferCounterData
|
||||
|
||||
RDSNo = Get_Property(@Window : '.RDS_NO','DEFPROP')
|
||||
WafersOut = Get_Property(@WINDOW:'.WAFERS_OUT','TEXT')
|
||||
QtyBackColor = GREEN$
|
||||
|
||||
WaferCounterQty = Get_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','DEFPROP')
|
||||
|
||||
*****************************************
|
||||
* WaferCounter - Wafers Quantity Section *
|
||||
*****************************************
|
||||
If (WaferCounterQty NE '') then
|
||||
If (WaferCounterQty NE WafersOut) then QtyBackColor = RED$
|
||||
end else
|
||||
If (RDSNo NE '') then QtyBackColor = ORANGE$
|
||||
end
|
||||
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','BACKCOLOR', QtyBackColor)
|
||||
end else
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', False$)
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', False$)
|
||||
end
|
||||
end
|
||||
|
||||
* * * * * Layer Set edit table control in Load and Post Epi windows
|
||||
@ -993,14 +951,7 @@ Refresh:
|
||||
Reactor = Get_Property(@WINDOW:'.REACTOR','DEFPROP') ;* Changed to PickPlaceFlag on 12/6/2011 JCH
|
||||
|
||||
PickPlaceFlag = XLATE('REACTOR',Reactor,REACTOR_PICK_PLACE$,'X')
|
||||
|
||||
* IF PickPlaceFlag THEN
|
||||
* Set_Property(@WINDOW:'.ASM_LOAD_LOCK','ENABLED',1)
|
||||
* END ELSE
|
||||
* Set_Property(@WINDOW:'.ASM_LOAD_LOCK','ENABLED',0)
|
||||
* END
|
||||
|
||||
|
||||
|
||||
WafersIn = Get_Property(@WINDOW:'.WAFERS_IN','DEFPROP')
|
||||
IF WafersIn = '' THEN
|
||||
Set_Property(@WINDOW:'.BUTTON_11','ENABLED',0) ;* Load button disabled
|
||||
@ -1175,11 +1126,11 @@ Refresh:
|
||||
RDSNo = Get_Property(@Window:'.RDS_NO', 'TEXT')
|
||||
ReactorType = Xlate('RDS', RDSNo, 'REACTOR_TYPE', 'X')
|
||||
|
||||
If ( (ReactorType EQ 'EPP') or (ReactorType EQ 'P') ) then
|
||||
Set_Property(@Window:'.SIG_PROFILE', 'VISIBLE', False$)
|
||||
end else
|
||||
Set_Property(@Window:'.SIG_PROFILE', 'VISIBLE', True$)
|
||||
end
|
||||
* If ( (ReactorType EQ 'EPP') or (ReactorType EQ 'P') ) then
|
||||
* Set_Property(@Window:'.SIG_PROFILE', 'VISIBLE', False$)
|
||||
* end else
|
||||
* Set_Property(@Window:'.SIG_PROFILE', 'VISIBLE', True$)
|
||||
* end
|
||||
|
||||
QBFList = Get_Property(@Window, "QBFLIST")
|
||||
|
||||
@ -1357,23 +1308,6 @@ FirstRefresh:
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
SupVerSigLF:
|
||||
* * * * * * *
|
||||
|
||||
RDSNo = Get_Property(@WINDOW,'ID')
|
||||
SupVerSig = Get_Property(@WINDOW:'.POST_EPI_SUP_SIG','TEXT')
|
||||
PostEpiSig = Get_Property(@WINDOW:'.POST_EPI_SIG','TEXT')
|
||||
|
||||
IF SupVerSig = PostEpiSig THEN
|
||||
ErrorMesg = 'User ':QUOTE(PostEpiSig):' has signed this RDS as Operator Out.':CRLF$:CRLF$
|
||||
ErrorMesg := 'Another qualified user must sign verification'
|
||||
Set_Property(@WINDOW:'.POST_EPI_SUP_SIG','TEXT','')
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
NewNCR:
|
||||
* * * * * * *
|
||||
@ -1660,22 +1594,9 @@ LSIdDC:
|
||||
Send_Event(@Window, 'WRITE')
|
||||
Set_Property(@Window, 'IOOPTIONS', PrevIOOptions)
|
||||
|
||||
|
||||
|
||||
RdsLSID = RDSNo:'*':LSId
|
||||
Dialog_Box('RDS_LAYER', @Window, RdsLSID)
|
||||
|
||||
* DetWindow = 'RDS_LAYER'
|
||||
* DetKeys = RdsLSID
|
||||
* DefaultRec = ''
|
||||
* RetKey = RDSNo
|
||||
* RetWin = @WINDOW
|
||||
* RetPage = 1
|
||||
* RetCtrl = CtrlEntID
|
||||
* RetPos = CurrPos
|
||||
*
|
||||
* obj_Appwindow('ViewNewDetail',DetWindow:@RM:DetKeys:@RM:DefaultRec:@RM:RetKey:@RM:RetPage:@RM:RetCtrl:@RM:RetPos)
|
||||
|
||||
|
||||
END
|
||||
END
|
||||
|
||||
@ -2492,9 +2413,7 @@ SAPSign:
|
||||
IF Get_Status(errCode) THEN
|
||||
obj_Tables('UnlockRec',otParms)
|
||||
END
|
||||
|
||||
* obj_WO_Mat('SetSignature',WONo:@RM:CassNo:@RM:WOStepNo:@RM:SigProfKeys:@RM:Sigs:@RM:SigDTMs) ;* Clears the WO_MAT signature
|
||||
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
@ -2785,8 +2704,8 @@ SigProfile:
|
||||
RDSNo = Get_Property(@WINDOW:'.RDS_NO','TEXT')
|
||||
WOMatKey = Xlate('RDS', RDSNo, 'WO_MAT_KEY', 'X')
|
||||
|
||||
If WOMatKey NE '' then
|
||||
SigData = Signature_Services('GetSigProfile', WOMatKey)
|
||||
If WOMatKey NE '' or RDSNo NE '' then
|
||||
SigData = Signature_Services('GetSigProfile', WOMatKey, False$, RDSNo)
|
||||
Display = ''
|
||||
RowCnt = COUNT(SigData<1>,@VM) + (SigData<1> NE '')
|
||||
|
||||
@ -2905,15 +2824,59 @@ Close:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RefreshWaferCounterData:
|
||||
|
||||
WCCheckEnabled = Xlate('APP_INFO', 'WAFER_COUNTER_CHECK', '', 'X')
|
||||
If WCCheckEnabled then
|
||||
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
QtyBackColor = GREEN$
|
||||
RDSNo = Get_Property(@Window : '.RDS_NO','DEFPROP')
|
||||
If RDSNo NE '' then
|
||||
FqaWcRec = Wafer_Counter_Services('GetLastScan', RDSNo, 'QA')
|
||||
WaferCounterQty = FqaWcRec<WAFER_COUNTER.SCAN_QTY$>
|
||||
Set_Property(@Window, '@ORIG_WFR_CTR_QTY', WaferCounterQty)
|
||||
WafersOut = Get_Property(@WINDOW:'.WAFERS_OUT','TEXT')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','DEFPROP', WaferCounterQty)
|
||||
|
||||
*****************************************
|
||||
* WaferCounter - Wafers Quantity Section *
|
||||
*****************************************
|
||||
If (WaferCounterQty NE '') then
|
||||
If (WaferCounterQty NE WafersOut) then QtyBackColor = RED$
|
||||
end else
|
||||
QtyBackColor = ORANGE$
|
||||
end
|
||||
|
||||
WaferSize = Xlate('RDS', RDSNo, 'WAFER_SIZE', 'X')
|
||||
WaferSize = Field(WaferSize, ' ', 3, 1)
|
||||
If ( (WaferSize EQ 6) or (WaferSize EQ 8) ) then
|
||||
WCToolId = Wafer_Counter_Services('GetWaferCounterToolID', WaferSize:'INCH', 'QA')
|
||||
If Error_Services('NoError') then
|
||||
WCCurrMode = ''
|
||||
If RowExists('TOOL', WCToolID) then
|
||||
WCCurrModeKey = Xlate('TOOL', WCToolID, 'CURR_MODE_KEY', 'X')
|
||||
WCCurrMode = Xlate('TOOL_LOG', WCCurrModeKey, 'TOOL_MODE', 'X')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY', 'ENABLED', (WCCurrMode NE 'PROD'))
|
||||
end else
|
||||
ErrMsg('Verify wafer count error. Invalid wafer counter tool ID "':WCToolID:'".')
|
||||
end
|
||||
end else
|
||||
ErrMsg(Error_Services('GetMessage'))
|
||||
end
|
||||
end else
|
||||
ErrMsg('Verify wafer count error. Invalid wafer size "':WaferSize:'" returned for RDS "':RDSNo:'".')
|
||||
end
|
||||
end
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','BACKCOLOR', QtyBackColor)
|
||||
|
||||
end else
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', False$)
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', False$)
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user