COMPILE ROUTINE LOAD_NCR_IN_WO_MAT(Dummy) ROWDEF(CHARSTR) DECLARE SUBROUTINE obj_Schedule,Send_Dyn,Send_Info, obj_WO_Log, Set_Status, obj_WO_Step DECLARE FUNCTION Get_Status, Set_Printer, obj_WO_Step $INSERT NCR_EQU $INSERT WO_MAT_EQUATES OPEN 'NCR' TO FileIn ELSE DEBUG GOTO Bail END OPEN 'WO_MAT' TO WOMatFile ELSE DEBUG GOTO Bail END debug SELECT FileIn Done = 0 RecCnt = 0 FixCnt = 0 LOOP READNEXT NCRNo ELSE Done = 1 UNTIL Done READ NCRRec FROM FileIn,NCRNo THEN RecCnt += 1 WONo = NCRRec StepNo = NCRRec IF WONo NE '' AND StepNo NE '' THEN PSNo = XLATE('WO_STEP',WONo:'*':StepNo,1,'X') ReactorType = XLATE('PROD_SPEC',PSNo,80,'X') IF ReactorType NE 'P' AND NCRRec = '' THEN RejCnt = SUM(XLATE('NCR',NCRNo,'REJ_CNT','X')) IF RecCnt > 0 THEN FOR I = 1 TO RejCnt NCRRec = 1 NEXT I END * Skip EpiPRO stuff RejWaferIDs = NCRRec WONo = NCRRec CassNo = NCRRec IF RejWaferIDs = '' THEN SlotFlags = NCRRec SlotNos = '' FOR I = 1 TO COUNT(SlotFlags,@VM) + (SlotFlags NE '') IF SlotFlags<1,I> = 1 THEN SlotNos<1,-1> = I END NEXT I IF SlotNos NE '' THEN READ WOMatRec FROM WOMatFile,WONo:'*':CassNo THEN NCRRec = SlotNos FOR I = 1 TO COUNT(SlotNos,@VM ) + (SlotNos NE '') SlotNo = SlotNos<1,I> WOMatRec = NCRNo NCRRec = WONo:'.':CassNo:'.':SlotNo NEXT I WRITE WOMatRec ON WOMatFile,WONo:'*':CassNo THEN FixCnt += 1 Send_Info(RecCnt:' ':FixCnt:' -> ':WONo:'*':CassNo) END *WRITE NCRRec ON FileIn,NCRNo THEN * Save this till we're live *END END END ;* End of Check for empty SlotNos END END ;* End of check for WONo and StepNo END ;* End of check for END ;* End of NCR Record Read REPEAT * * * * * * * Bail: * * * * * * * END