COMPILE FUNCTION obj_WO_Mat_GAN(Method,Parms) /* Methods for WO_MAT and related tables used for GaN processes material 07/13/2016 JCH - Initial Coding Properties: Methods: GetManifestWfrs() ;* nothing historical just Returns all shippable wafers on GaN wfrs not yet placed into a shipping cassette */ DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, DECLARE SUBROUTINE obj_WO_Wfr, ErrMsg, Btree.Extract DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, obj_Prod_Spec, Send_Dyn, obj_Clean_Insp $INSERT WO_LOG_EQUATES $INSERT WO_MAT_EQUATES $INSERT WO_WFR_EQUATES $INSERT REACT_RUN_EQUATES $INSERT RUN_STAGE_WFR_EQUATES $INSERT RLIST_EQUATES EQU COL$IN_WFR_ID TO 1 ;* Equates used in return data structure for Manifest Wafers EQU COL$CARR_SLOT_ID TO 2 EQU COL$GAN_WFR_ID TO 3 EQU COL$SCRIBE TO 4 EQU COL$WFR_GRADE TO 5 EQU COL$WFR_SHIP TO 6 EQU COL$OUT_SLOT_ID TO 7 ErrTitle = 'Error in Stored Procedure "obj_WO_Mat_GAN"' ErrorMsg = '' IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine' IF NOT(ASSIGNED(Parms)) THEN Parms = '' IF ErrorMsg NE '' THEN Set_Status(-1,ErrTitle:@SVM:ErrorMsg) RETURN '' END Result = '' BEGIN CASE CASE Method = 'GetManifestWfrs' GOSUB GetManifestWfrs CASE 1 ErrorMsg = 'Unknown Method ':QUOTE(Method):' passed to routine' END CASE IF ErrorMsg NE '' THEN Set_Status(-1,ErrTitle:@SVM:ErrorMsg) END RETURN Result * * * * * * * GetManifestWfrs: * * * * * * * WONo = Parms[1,@RM] WORec = XLATE('WO_LOG',WONo,'','X') WOMatKeys = WORec ReactType = WORec IF ReactType NE 'GAN' THEN RETURN Open 'REACT_RUN' To RRunTable Else ErrMsg(ErrorMsg) Return End SelectSent = 'SELECT REACT_RUN WITH WO_NO = ':QUOTE(WONo):' BY RDS_NO' Set_Status(0) RList(SelectSent,TARGET_ACTIVELIST$,'','','') IF Get_Status(errCode) THEN ErrMsg(errCode) Return END Line = 0 Done = 0 LOOP READNEXT RRunKey ELSE Done = 1 UNTIL Done READ RRunRec FROM RRunTable,RRunKey THEN sCnt = COUNT(RRunRec,@VM) + (RRunRec NE '') FOR I = 1 TO sCnt OutSlotID = RRunRec ShipWfr = RRunRec IF RRunRec = '' AND RRunRec = 1 THEN Line += 1 WfrID = RRunRec Result = WfrID Result = RRunRec Pocket = Xlate('WO_WFR', WfrID, 'POCKET', 'X') Result = RRunRec:Pocket * Result = RRunRec:FMT(RRunRec,'R(0)#2') Result = XLATE('WO_WFR',RRunRec,WO_WFR_SCRIBE$,'X') Result = RRunRec Result = RRunRec Result = RRunRec END NEXT I END ;* End of RRunRec read REPEAT RETURN