Modified ship label printing routine to use the epi part number instead of the customer part number. Modified UpdateFailedWafers service to use the transaction queue to avoid clobbering WO_MAT records.
This commit is contained in:
committed by
Ouellette Jonathan (CSC FI SPS MESLEO)
parent
2aaed8944e
commit
490bfe21d4
@ -41,6 +41,8 @@ EQU PI$WIDTH TO 5
|
|||||||
EQU PI$HEIGHT TO 6
|
EQU PI$HEIGHT TO 6
|
||||||
EQU PI$SIZE TO 7
|
EQU PI$SIZE TO 7
|
||||||
|
|
||||||
|
Main:
|
||||||
|
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
|
|
||||||
IF NOT(ASSIGNED(WONo)) THEN ErrorMsg = 'Unassigned parameter "WONo" passed to PRINT_CASS_SHIP_LABEL routine.'
|
IF NOT(ASSIGNED(WONo)) THEN ErrorMsg = 'Unassigned parameter "WONo" passed to PRINT_CASS_SHIP_LABEL routine.'
|
||||||
@ -72,7 +74,6 @@ IF ErrorMsg NE '' THEN
|
|||||||
END
|
END
|
||||||
|
|
||||||
PrinterID = ''
|
PrinterID = ''
|
||||||
* PrinterID = 'MESZBRPRT004' ;*default to the shipping printer, which is the only printer with 4x4 label stock
|
|
||||||
|
|
||||||
* Initialize the printer
|
* Initialize the printer
|
||||||
FileName = "Printing Label"
|
FileName = "Printing Label"
|
||||||
@ -197,7 +198,7 @@ FOR I = 1 TO CassCnt
|
|||||||
END ELSE
|
END ELSE
|
||||||
PONo = CustPONo
|
PONo = CustPONo
|
||||||
END
|
END
|
||||||
ReShipCustPartNo = WOMatRec<WO_MAT_RESHIP_CUST_PART_NO$>
|
ReShipEpiPartNo = WOMatRec<WO_MAT_RESHIP_CUST_EPI_PART_NO$>
|
||||||
SAPBatchNo = WOMatRec<WO_MAT_SAP_BATCH_NO$>
|
SAPBatchNo = WOMatRec<WO_MAT_SAP_BATCH_NO$>
|
||||||
|
|
||||||
SubSupplier = obj_Vendor_Code('SemiToEpi',WOMatRec<WO_MAT_SUB_VEND_CD$>)
|
SubSupplier = obj_Vendor_Code('SemiToEpi',WOMatRec<WO_MAT_SUB_VEND_CD$>)
|
||||||
@ -212,9 +213,9 @@ FOR I = 1 TO CassCnt
|
|||||||
ReactType = ReactTypes<1,I>
|
ReactType = ReactTypes<1,I>
|
||||||
|
|
||||||
MakeupBox = WOMatRec<WO_MAT_MAKEUP_BOX$>
|
MakeupBox = WOMatRec<WO_MAT_MAKEUP_BOX$>
|
||||||
PartNo = XLATE('WO_LOG',WONo,WO_LOG_CUST_PART_NO$,'X')
|
PartNo = XLATE('WO_LOG',WONo,WO_LOG_EPI_PART_NO$,'X')
|
||||||
If ReShipCustPartNo NE '' then
|
If ReShipEpiPartNo NE '' then
|
||||||
PartNo = ReShipCustPartNo
|
PartNo = ReShipEpiPartNo
|
||||||
end
|
end
|
||||||
LotNo = WOMatRec<WO_MAT_LOT_NO$>
|
LotNo = WOMatRec<WO_MAT_LOT_NO$>
|
||||||
SubstrPartNo = WOMatRec<WO_MAT_SUB_PART_NO$>
|
SubstrPartNo = WOMatRec<WO_MAT_SUB_PART_NO$>
|
||||||
@ -358,8 +359,8 @@ FOR I = 1 TO CassCnt
|
|||||||
|
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
If ReShipCustPartNo NE '' then
|
If ReShipEpiPartNo NE '' then
|
||||||
PartNo = ReShipCustPartNo
|
PartNo = ReShipEpiPartNo
|
||||||
end
|
end
|
||||||
WfrsOut = XLATE('WM_OUT',WMOutKey,'WFRS_OUT','X')
|
WfrsOut = XLATE('WM_OUT',WMOutKey,'WFRS_OUT','X')
|
||||||
MUWfrsRemQty = ''
|
MUWfrsRemQty = ''
|
||||||
@ -435,21 +436,21 @@ FOR I = 1 TO CassCnt
|
|||||||
|
|
||||||
IF InCassNo1 NE '' THEN
|
IF InCassNo1 NE '' THEN
|
||||||
WOMatRec = XLATE('WO_MAT',WONo:'*':InCassNo1,'','X')
|
WOMatRec = XLATE('WO_MAT',WONo:'*':InCassNo1,'','X')
|
||||||
PartNo = XLATE('WO_LOG',WONo,WO_LOG_CUST_PART_NO$,'X')
|
PartNo = XLATE('WO_LOG',WONo,WO_LOG_EPI_PART_NO$,'X')
|
||||||
LotNo = WOMatRec<WO_MAT_LOT_NO$>
|
LotNo = WOMatRec<WO_MAT_LOT_NO$>
|
||||||
SubstrPartNo = WOMatRec<WO_MAT_SUB_PART_NO$>
|
SubstrPartNo = WOMatRec<WO_MAT_SUB_PART_NO$>
|
||||||
|
|
||||||
END ELSE
|
END ELSE
|
||||||
IF MUWoNo1 NE '' AND MUCassNo1 NE '' THEN
|
IF MUWoNo1 NE '' AND MUCassNo1 NE '' THEN
|
||||||
MUWOMatRec = XLATE('WO_MAT',MUWoNo1:'*':MUCassNo1,'','X')
|
MUWOMatRec = XLATE('WO_MAT',MUWoNo1:'*':MUCassNo1,'','X')
|
||||||
PartNo = XLATE('WO_LOG',MUWoNo1,WO_LOG_CUST_PART_NO$,'X')
|
PartNo = XLATE('WO_LOG',MUWoNo1,WO_LOG_EPI_PART_NO$,'X')
|
||||||
LotNo = MUWOMatRec<WO_MAT_LOT_NO$>
|
LotNo = MUWOMatRec<WO_MAT_LOT_NO$>
|
||||||
SubstrPartNo = MUWOMatRec<WO_MAT_SUB_PART_NO$>
|
SubstrPartNo = MUWOMatRec<WO_MAT_SUB_PART_NO$>
|
||||||
|
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
If ReShipCustPartNo NE '' then
|
If ReShipEpiPartNo NE '' then
|
||||||
PartNo = ReShipCustPartNo
|
PartNo = ReShipEpiPartNo
|
||||||
end
|
end
|
||||||
|
|
||||||
//WfrsOut = Count(Xlate('WO_MAT_WFR', WOMatKey, 'OUT_WFR_ID', 'X'), @VM)
|
//WfrsOut = Count(Xlate('WO_MAT_WFR', WOMatKey, 'OUT_WFR_ID', 'X'), @VM)
|
||||||
@ -539,6 +540,7 @@ FOR I = 1 TO CassCnt
|
|||||||
Logging_Services('AppendLog', objSpectrumLog, LogData, @FM, @VM)
|
Logging_Services('AppendLog', objSpectrumLog, LogData, @FM, @VM)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
|
|
||||||
@ -547,16 +549,12 @@ OIPrint_Err:
|
|||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
* Local method to kill the OIPI engine
|
* Local method to kill the OIPI engine
|
||||||
|
|
||||||
*IF stat < 0 THEN DEBUG ;*********
|
|
||||||
|
|
||||||
If Environment_Services('GetLabelPrintMethod') _EQC 'OIPI' then
|
If Environment_Services('GetLabelPrintMethod') _EQC 'OIPI' then
|
||||||
stat = Set_Printer("TERM")
|
stat = Set_Printer("TERM")
|
||||||
end else
|
end else
|
||||||
stat = Direct_Print('STOP')
|
stat = Direct_Print('STOP')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
@ -735,10 +733,5 @@ END ELSE
|
|||||||
end
|
end
|
||||||
END ;* End of Check for good label data
|
END ;* End of Check for good label data
|
||||||
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -146,13 +146,14 @@ Declare subroutine Set_Status, Sleepery, Winyield, Yield, SRP_COM, QA_Services,
|
|||||||
Declare subroutine Validate, obj_WO_Mat, obj_WO_Mat_Log, obj_React_Status, Record_Lock, obj_React_State, obj_Post_Log
|
Declare subroutine Validate, obj_WO_Mat, obj_WO_Mat_Log, obj_React_Status, Record_Lock, obj_React_State, obj_Post_Log
|
||||||
Declare subroutine RDS_Services, obj_WO_React, RDS_React_Run, Signature_Services, SQL_Services, SRP_Stopwatch
|
Declare subroutine RDS_Services, obj_WO_React, RDS_React_Run, Signature_Services, SQL_Services, SRP_Stopwatch
|
||||||
Declare subroutine Override_Services, Reactor_Services, Lot_Services, Obj_Notes, Mona_Services, Service_Services
|
Declare subroutine Override_Services, Reactor_Services, Lot_Services, Obj_Notes, Mona_Services, Service_Services
|
||||||
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services, Wafer_Counter_Services
|
Declare subroutine Transaction_Services
|
||||||
|
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services
|
||||||
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
|
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
|
||||||
Declare function Min, Max, SRPSendMail, Btree.Extract, GetTickCount, HTTPClient_Services, Obj_RDS, SQL_Services
|
Declare function Min, Max, SRPSendMail, Btree.Extract, GetTickCount, HTTPClient_Services, Obj_RDS, SQL_Services
|
||||||
Declare function SRP_Encode, SRP_Decode, SRP_COM, QA_Services, RDS_Services, Obj_NCR, Logging_Services, Obj_Reactor
|
Declare function SRP_Encode, SRP_Decode, SRP_COM, QA_Services, RDS_Services, Obj_NCR, Logging_Services, Obj_Reactor
|
||||||
Declare function Get_Status, Set_Status, obj_WO_Mat, NextKey, MemberOf, FieldCount, obj_React_Status, Obj_Clean_Insp
|
Declare function Get_Status, Set_Status, obj_WO_Mat, NextKey, MemberOf, FieldCount, obj_React_Status, Obj_Clean_Insp
|
||||||
Declare function Schedule_Services, Signature_Services, Date, Time, Datetime, Date_Services, SRP_Array, Math_Services
|
Declare function Schedule_Services, Signature_Services, Date, Time, Datetime, Date_Services, SRP_Array, Math_Services
|
||||||
Declare function Supplement_Services, Reactor_Services, Lot_Services
|
Declare function Supplement_Services, Reactor_Services, Lot_Services, Wafer_Counter_Services
|
||||||
|
|
||||||
LogDate = Oconv(Date(), 'D4/')
|
LogDate = Oconv(Date(), 'D4/')
|
||||||
LogTime = Oconv(Time(), 'MTS')
|
LogTime = Oconv(Time(), 'MTS')
|
||||||
@ -3169,12 +3170,10 @@ Service UpdateFailedWafers(WOMatKey)
|
|||||||
AllFailedWafers<0, WfrIndex> = (PreFailedWafers<0, WfrIndex> OR FWIFailedWafers<0, WfrIndex> OR LWIFailedWafers<0, WfrIndex> OR PostFailedWafers<0, WfrIndex>)
|
AllFailedWafers<0, WfrIndex> = (PreFailedWafers<0, WfrIndex> OR FWIFailedWafers<0, WfrIndex> OR LWIFailedWafers<0, WfrIndex> OR PostFailedWafers<0, WfrIndex>)
|
||||||
Next WfrIndex
|
Next WfrIndex
|
||||||
end
|
end
|
||||||
WOMatRec<WO_MAT_FAILED_WAFERS$> = AllFailedWafers
|
Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_FAILED_WAFERS$, AllFailedWafers)
|
||||||
Database_Services('WriteDataRow', 'WO_MAT', WOMatKey, WOMatRec, True$, False$, True$)
|
|
||||||
end else
|
end else
|
||||||
Error_Services('Add', 'Error in ':Service:' service. RDSNo is null')
|
Error_Services('Add', 'Error in ':Service:' service. RDSNo is null')
|
||||||
end
|
end
|
||||||
|
|
||||||
End Case
|
End Case
|
||||||
end else
|
end else
|
||||||
Error_Services('Add', 'Error in ':Service:' service. ReactorType is null')
|
Error_Services('Add', 'Error in ':Service:' service. ReactorType is null')
|
||||||
@ -3183,7 +3182,6 @@ Service UpdateFailedWafers(WOMatKey)
|
|||||||
Error_Services('Add', 'Error in ':Service:' service. PSNo is null')
|
Error_Services('Add', 'Error in ':Service:' service. PSNo is null')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user