Added critical flag to PostProcedure service. Refactored other work order quantity calls to use PostProcedure.
This commit is contained in:
parent
5c69abbbde
commit
e5bfa43b09
@ -1,4 +1,4 @@
|
||||
COMPILE FUNCTION obj_WM_Out(Method,Parms)
|
||||
Compile Function obj_WM_Out(Method,Parms)
|
||||
|
||||
/*
|
||||
Methods for WM_OUT table
|
||||
@ -17,27 +17,28 @@ COMPILE FUNCTION obj_WM_Out(Method,Parms)
|
||||
*/
|
||||
|
||||
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, obj_WO_Verify, obj_Prod_Spec, Send_Dyn, obj_RDS_Makeup
|
||||
DECLARE FUNCTION obj_RDS2, obj_WM_Out, Delete, Signature_Services, Environment_Services, Logging_Services
|
||||
DECLARE FUNCTION Database_Services
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, obj_WO_Step, obj_RDS_Layer, obj_RDS_Test, Btree.Extract
|
||||
DECLARE SUBROUTINE Extract_SI_Keys, obj_WM_Out, obj_WO_Mat, obj_Post_Log, obj_WO_Mat_Log, ErrMsg, obj_WO_Wfr
|
||||
DECLARE SUBROUTINE Logging_Services, Material_Services, Database_Services, Update_Index, Work_Order_Services
|
||||
Declare Function Get_Status, Msg, Utility, obj_Tables, NextKey, obj_WO_Verify, obj_Prod_Spec, Send_Dyn, obj_RDS_Makeup
|
||||
Declare Function obj_RDS2, obj_WM_Out, Delete, Signature_Services, Environment_Services, Logging_Services
|
||||
Declare Function Database_Services
|
||||
Declare Subroutine Set_Status, Msg, obj_Tables, Send_Dyn, obj_WO_Step, obj_RDS_Layer, obj_RDS_Test, Btree.Extract
|
||||
Declare Subroutine Extract_SI_Keys, obj_WM_Out, obj_WO_Mat, obj_Post_Log, obj_WO_Mat_Log, ErrMsg, obj_WO_Wfr
|
||||
Declare Subroutine Logging_Services, Material_Services, Database_Services, Update_Index, Work_Order_Services
|
||||
Declare Subroutine Service_Services
|
||||
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT APP_INSERTS
|
||||
$INSERT WO_LOG_EQU
|
||||
$INSERT WO_STEP_EQU
|
||||
$INSERT WO_MAT_EQUATES
|
||||
$INSERT EPI_SUSCEPTOR_EQUATES
|
||||
$INSERT RDS_EQUATES
|
||||
$INSERT WM_OUT_EQUATES
|
||||
$INSERT PROD_SPEC_EQUATES
|
||||
$INSERT QUOTE_SPEC_EQU
|
||||
$INSERT SURFACE_SCAN_EQUATES
|
||||
$INSERT CLEAN_INSP_EQUATES
|
||||
$INSERT WMO_WFRS_EQUATES
|
||||
$INSERT REACT_RUN_EQUATES
|
||||
$Insert MSG_EQUATES
|
||||
$Insert APP_INSERTS
|
||||
$Insert WO_LOG_EQU
|
||||
$Insert WO_STEP_EQU
|
||||
$Insert WO_MAT_EQUATES
|
||||
$Insert EPI_SUSCEPTOR_EQUATES
|
||||
$Insert RDS_EQUATES
|
||||
$Insert WM_OUT_EQUATES
|
||||
$Insert PROD_SPEC_EQUATES
|
||||
$Insert QUOTE_SPEC_EQU
|
||||
$Insert SURFACE_SCAN_EQUATES
|
||||
$Insert CLEAN_INSP_EQUATES
|
||||
$Insert WMO_WFRS_EQUATES
|
||||
$Insert REACT_RUN_EQUATES
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_WM_Out"'
|
||||
ErrorMsg = ''
|
||||
@ -131,8 +132,6 @@ Create:
|
||||
|
||||
SubPostClean = SubstrateSpec<1,QSSubPostClean$> ;***************************************************************************************
|
||||
|
||||
*PSType = SubstrateSpec<1,QSSubSpecType$> ;* Deprecated 8/22/2012 JCH
|
||||
|
||||
PSType = XLATE('PROD_SPEC',PSNo,'SPEC_TYPE','X') ;* Added 8/22/2012 JCH
|
||||
|
||||
IF CassLoadQty = '' THEN
|
||||
@ -157,7 +156,6 @@ Create:
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
WORec = XLATE('WO_LOG',WONo,'','X')
|
||||
|
||||
InboundWaferQty = 0
|
||||
@ -385,8 +383,6 @@ CurrStatus:
|
||||
NEXT I
|
||||
|
||||
IF NCRCount = SlotCount AND FillCount = 0 AND WMOutRec<WM_OUT_MAKEUP_BOX$> NE 1 THEN
|
||||
*Result = 'REJ'
|
||||
*RETURN
|
||||
RejectFlag = 1
|
||||
END ELSE
|
||||
RejectFlag = 0
|
||||
@ -399,10 +395,6 @@ CurrStatus:
|
||||
Signatures = SigArray<2>
|
||||
SigDtms = SigArray<3>
|
||||
|
||||
* SigProfile = WOMatRec<WO_MAT_SIG_PROFILE$>
|
||||
* Signatures = WOMatRec<WO_MAT_SIGNATURE$>
|
||||
* SigDtms = WOMatRec<WO_MAT_SIG_DTM$>
|
||||
|
||||
ProfCnt = COUNT(SigProfile,@VM) + (SigProfile NE '')
|
||||
|
||||
* Section new on 12/8/2011 JCH
|
||||
@ -513,21 +505,6 @@ CurrStatus:
|
||||
RETURN
|
||||
END
|
||||
|
||||
* StaticCurrStatus = WMOutRec<WM_OUT_CURR_STATUS_STATIC$>
|
||||
*
|
||||
* If Result NE StaticCurrStatus then
|
||||
* // Log the discrepancy
|
||||
* LogData = ''
|
||||
* LogData<1> = LoggingDTM
|
||||
* LogData<2> = @User4
|
||||
* LogData<3> = WMOutKey
|
||||
* LogData<4> = Result
|
||||
* LogData<5> = StaticCurrStatus
|
||||
* Logging_Services('AppendLog', objCurrStatusLog, LogData, @RM, @FM)
|
||||
* Material_Services('PostWMOutUpdateRequest', WMOutKey)
|
||||
* end
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@ -652,7 +629,6 @@ NextOpenSlots:
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
SlotStatus:
|
||||
* * * * * * *
|
||||
@ -744,7 +720,6 @@ AddWafer:
|
||||
MUCassIDs = Parms[COL2()+1,@RM]
|
||||
MUSlots = Parms[COL2()+1,@RM]
|
||||
|
||||
|
||||
IF WONo = '' THEN ErrorMsg = 'Null Parameter "WONo" passed to routine. (':Method:')'
|
||||
IF WOStep = '' THEN ErrorMsg = 'Null Parameter "WOStep" passed to routine. (':Method:')'
|
||||
IF CassNo = '' THEN ErrorMsg = 'Null Parameter "CassNo" passed to routine. (':Method:')'
|
||||
@ -758,7 +733,6 @@ AddWafer:
|
||||
IF ErrorMsg NE '' THEN RETURN
|
||||
|
||||
otParms = 'WM_OUT':@RM:WONo:'*':WOStep:'*':CassNo
|
||||
* WMOutRec = obj_Tables('ReadRec',otParms)
|
||||
WMOutRec = Database_Services('ReadDataRow', 'WM_OUT', WONo:'*':WOStep:'*':CassNo)
|
||||
|
||||
IF Get_Status(errCode) THEN RETURN
|
||||
@ -780,17 +754,14 @@ AddWafer:
|
||||
obj_Post_Log('Create','WO_MAT':@RM:WONo:'*':CassNo:@RM:WO_MAT_WMO_LOAD_DTM$:@RM:ICONV(CurrDTM,'DT'))
|
||||
END
|
||||
|
||||
|
||||
LastSlotNo = WMOutRec<WM_OUT_SLOT_NO$>[-1,'B':@VM]
|
||||
LastSlot = 0
|
||||
LastRDSNo = ''
|
||||
LastReactNo = ''
|
||||
|
||||
|
||||
WfrIDs = ''
|
||||
NewSlotIDs = ''
|
||||
|
||||
|
||||
FOR I = 1 TO SlotCnt
|
||||
SlotNo = SlotNos<1,I>
|
||||
|
||||
@ -835,42 +806,13 @@ AddWafer:
|
||||
Parms := '':@RM ;* CurrInvLoc
|
||||
Parms := 'O' ;* Wfr Side
|
||||
|
||||
|
||||
obj_WO_Wfr('AddEvent',Parms)
|
||||
|
||||
END
|
||||
|
||||
NEXT I
|
||||
|
||||
/*
|
||||
|
||||
IF NewSlotIDs NE '' THEN
|
||||
|
||||
* * * * Added 9/7/2016 JCH - wafer history * * * *
|
||||
|
||||
Parms = WfrIDs:@RM ;* WfrID
|
||||
Parms := CurrDTM:@RM ;* EventDtm
|
||||
Parms := @USER4:@RM ;* EventBy
|
||||
Parms := 'UNLOAD':@RM ;* Event
|
||||
Parms := NewSlotIDs:@RM ;* NewSlotID
|
||||
Parms := '':@RM ;* RunLoc
|
||||
Parms := '':@RM ;* NCRNo
|
||||
Parms := '':@RM ;* TWUse
|
||||
Parms := '':@RM ;* CurrSlotID
|
||||
Parms := '':@RM ;* NewToolID (Load Tool)
|
||||
Parms := 'R':ReactNo:@RM ;* CurrToolID (Unload Tool)
|
||||
Parms := '':@RM ;* NewInvLoc
|
||||
Parms := '':@RM ;* CurrInvLoc
|
||||
Parms := 'O' ;* Wfr Side
|
||||
|
||||
obj_WO_Wfr('AddEvent',Parms)
|
||||
|
||||
END
|
||||
|
||||
*/
|
||||
|
||||
otParms = FieldStore(otParms,@RM,4,0,WMOutRec) ;* Put record in 4th field of OtParms
|
||||
* obj_Tables('WriteRec',otParms)
|
||||
Database_Services('WriteDataRow', 'WM_OUT', WONo:'*':WOStep:'*':CassNo, WMOutRec, True$, False$, True$)
|
||||
If Error_Services('NoError') then
|
||||
|
||||
@ -929,8 +871,6 @@ RemoveWafer:
|
||||
|
||||
WMOKey = WONo:'*':WOStep:'*':CassNo
|
||||
|
||||
* otParms = 'WM_OUT':@RM:WONo:'*':WOStep:'*':CassNo
|
||||
* WMOutRec = obj_Tables('ReadRec',otParms)
|
||||
WMOutRec = Database_Services('ReadDataRow', 'WM_OUT', WMOKey)
|
||||
|
||||
IF Get_Status(errCode) THEN RETURN ;* Added 2/24/2009 JCH
|
||||
@ -946,8 +886,6 @@ RemoveWafer:
|
||||
END
|
||||
NEXT I
|
||||
|
||||
* otParms = FieldStore(otParms,@RM,4,0,WMOutRec) ;* Put record in 4th field of OtParms
|
||||
* obj_Tables('WriteRec',otParms)
|
||||
Database_Services('WriteDataRow', 'WM_OUT', WMOkey, WMOutRec, True$, False$, True$)
|
||||
|
||||
RETURN
|
||||
@ -995,7 +933,7 @@ AddShip:
|
||||
|
||||
// Update work order SHIP_QTY_STATIC
|
||||
WONo = Field(WMOutKey, '*', 1)
|
||||
Work_Order_Services('UpdateShippedQty', WONo)
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateShippedQty':@VM:WONo, False$)
|
||||
|
||||
RETURN
|
||||
|
||||
@ -1230,6 +1168,7 @@ AddMakeupWafers:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
SubMakeupWafers:
|
||||
* * * * * * *
|
||||
@ -1325,6 +1264,7 @@ SubMakeupWafers:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
RemMakeupWafers:
|
||||
* * * * * * *
|
||||
@ -1585,6 +1525,7 @@ CassRDSWfrCnts:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
GetPartNoQtys:
|
||||
* * * * * * *
|
||||
@ -1914,6 +1855,7 @@ EpiReactNo:
|
||||
|
||||
RETURN Result
|
||||
|
||||
|
||||
* * * * * * *
|
||||
ConvertCleanInsp:
|
||||
* * * * * * *
|
||||
@ -2010,6 +1952,3 @@ ConvertCleanInsp:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -39,7 +39,7 @@ Common /ServiceServices/ Unused1@, Unused2@, Unused3@, Unused4@, Unused5@, Unuse
|
||||
Declare function Service_Services, Memory_Services, SRP_List, SRP_FastArray, SRP_Array, Database_Services, Datetime
|
||||
Declare Function GetTickCount, SRP_Decode, RTI_CREATEGUID
|
||||
Declare subroutine Service_Services, Memory_Services, SRP_List, SRP_FastArray, RList, Set_Status, Database_Services
|
||||
Declare Subroutine Yield, WinYield, Sleepery
|
||||
Declare Subroutine Yield, WinYield, Sleepery, Btree.Extract
|
||||
|
||||
GoToService else
|
||||
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||
@ -212,16 +212,41 @@ Service ProcessProcedureQueue()
|
||||
end service
|
||||
|
||||
|
||||
Service PostProcedure(ProcedureName, Params)
|
||||
Service PostProcedure(ProcedureName, Params, Critical=BOOLEAN)
|
||||
|
||||
Response = ''
|
||||
If Critical EQ '' then Critical = True$
|
||||
PostToQueue = True$
|
||||
If (ProcedureName NE '') then
|
||||
If (Params NE '') then
|
||||
If Not(Critical) then
|
||||
// Check if there is already a matching request in the queue before posting another one.
|
||||
Query = 'PROC_NAME':@VM:ProcedureName:@FM
|
||||
Query := 'PARAMS':@VM:Params:@FM
|
||||
Open 'DICT.PROC_QUEUE' to hDict then
|
||||
Keys = ''
|
||||
Option = 'E'
|
||||
Flag = ''
|
||||
Btree.Extract(Query, 'PROC_QUEUE', hDict, Keys, Option, Flag)
|
||||
If Flag EQ 0 then
|
||||
If Keys NE '' then PostToQueue = False$
|
||||
end else
|
||||
Error_Services('Add', 'Error in ':Service:' service. Error calling Btree.Extract.')
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', 'Error in ':Service:' service. Error opening DICT.PROC_QUEUE.')
|
||||
end
|
||||
end
|
||||
If PostToQueue then
|
||||
RequestKeyID = RTI_CreateGUID()
|
||||
RequestRow = ''
|
||||
RequestRow<PROC_QUEUE.PROC_NAME$> = ProcedureName
|
||||
RequestRow<PROC_QUEUE.PARAMS$> = Params
|
||||
RequestRow<PROC_QUEUE.ENTRY_DTM$> = Datetime()
|
||||
Database_Services('WriteDataRow', 'PROC_QUEUE', RequestKeyID, RequestRow, True$, False$, False$)
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', 'Error in ':Service:' service. Null Params passed in.')
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', 'Error in ':Service:' service. Null ProcedureName passed in.')
|
||||
end
|
||||
@ -233,4 +258,3 @@ return
|
||||
/// Internal GoSubs
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
@ -703,7 +703,7 @@ Service ReleaseCassettes(WONo)
|
||||
end
|
||||
end
|
||||
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReleasedQty':@VM:WONo)
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReleasedQty':@VM:WONo, False$)
|
||||
|
||||
If ErrorMsg NE '' then Error_Services('Add', ErrorMsg)
|
||||
Response = DCount(UnReleasedCassNos, @VM)
|
||||
@ -1461,3 +1461,4 @@ ClearCursors:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -817,8 +817,8 @@ WRITE_RECORD:
|
||||
end
|
||||
|
||||
If OrigRecord<WO_MAT_WAFER_QTY$> NE Record<WO_MAT_WAFER_QTY$> then
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReceivedQty':@VM:WONo)
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReleasedQty':@VM:WONo)
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReceivedQty':@VM:WONo, False$)
|
||||
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReleasedQty':@VM:WONo, False$)
|
||||
end
|
||||
|
||||
CurrWaferCount = obj_WO_Mat('CurrWaferCnt', WOMatKeyID)
|
||||
@ -841,6 +841,7 @@ return
|
||||
// ----- Internal Methods ----------------------------------------------------------------------------------------------
|
||||
|
||||
Initialize_System_Variables:
|
||||
|
||||
// Save these for restoration later
|
||||
SaveDict = @DICT
|
||||
SaveID = @ID
|
||||
@ -874,13 +875,16 @@ Initialize_System_Variables:
|
||||
end
|
||||
end
|
||||
@RECORD = Record
|
||||
|
||||
return
|
||||
|
||||
|
||||
Restore_System_Variables:
|
||||
|
||||
Transfer SaveDict to @DICT
|
||||
Transfer SaveID to @ID
|
||||
Transfer SaveRecord to @RECORD
|
||||
@FILE.ERROR = OrigFileError
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user