Initial addition for Test Wafer Tracking Phase 2
Includes services and functions to create new test wafer lot. Tables included outside of git push New Tables: 1. LOT 2. LOT_EVENT 3. LOT_OPERATION 4. PRODUCT_OPERATION 5. OPERATION 6. Added PRODUCT_OPERATIONS field in TEST_WAFER_PROD table. All relational indexes and btree indexes.
This commit is contained in:
committed by
Ouellette Jonathan (CSC FI SPS MESLEO)
parent
f2a8ce4116
commit
9651c48539
102
LSL2/STPROC/NDW_VIEW_LOT_EVENTS.txt
Normal file
102
LSL2/STPROC/NDW_VIEW_LOT_EVENTS.txt
Normal file
@ -0,0 +1,102 @@
|
||||
Compile function NDW_VIEW_LOT_EVENTS(CtrlEntId, Event, @PARAMS)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
#window NDW_VIEW_LOT
|
||||
|
||||
Declare function Get_Property, Lot_Services, Database_Services
|
||||
Declare subroutine Set_Property
|
||||
|
||||
$Insert LOT_EQUATES
|
||||
$Insert LOT_OPERATION_EQUATES
|
||||
$Insert LOT_EVENT_EQUATES
|
||||
|
||||
GoToEvent Event for CtrlEntId else
|
||||
// Event not implemented
|
||||
end
|
||||
|
||||
Return EventFlow or 1
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// EVENT HANDLERS
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Event WINDOW.CREATE(CreateParam)
|
||||
GoSub SetupFormControls
|
||||
|
||||
End Event
|
||||
|
||||
Event EDL_LOT_ID.LOSTFOCUS(Flag, FocusID)
|
||||
GoSub GetLot
|
||||
end event
|
||||
|
||||
Event PUB_SEARCH_LOT.CLICK()
|
||||
GoSub GetLot
|
||||
end event
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// INTERNAL GO-SUBS
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
SetupFormControls:
|
||||
LabelFont = Get_Property(@Window : '.LBL_LOT_ID', 'FONT')
|
||||
LabelFont<1,1,2> = -20
|
||||
LabelFont<1,1,6> = 10
|
||||
Set_Property(@Window : '.LBL_LOT_ID', 'FONT', LabelFont)
|
||||
Set_Property(@Window : '.LBL_CURR_OPERATION', 'FONT', LabelFont)
|
||||
EditLineFont = Get_Property(@Window : '.EDL_LOT_ID', 'FONT')
|
||||
EditLineFont<1,1,2> = -20
|
||||
EditLineFont<1,1,6> = 10
|
||||
Set_Property(@Window : '.EDL_LOT_ID', 'FONT', EditLineFont)
|
||||
Set_Property(@Window : '.EDL_LOT_ID', 'FONT', EditLineFont)
|
||||
Set_Property(@Window : '.EDL_CURR_OPERATION', 'FONT', EditLineFont)
|
||||
return
|
||||
|
||||
GetLot:
|
||||
//Get Lot
|
||||
LotIdText = Get_Property(@Window : '.EDL_LOT_ID', 'TEXT')
|
||||
If LotIdText[1, 2] EQ '1T' then
|
||||
LotIdText[1,2] = ''
|
||||
end
|
||||
Set_Property(@Window : '.EDL_LOT_ID', 'TEXT', LotIdText)
|
||||
If RowExists('LOT', LotIdText) then
|
||||
ThisLotId = LotIdText
|
||||
ThisLotRec = Database_Services('ReadDataRow', 'LOT', ThisLotId)
|
||||
ThisLotCurrOperationID = Lot_Services('GetLotCurrOperation', ThisLotId)
|
||||
ThisLotCurrOperationName = Xlate('LOT_OPERATION', ThisLotCurrOperationId, LOT_OPERATION_OPERATION_ID$, 'X')
|
||||
|
||||
//Lot Operation Status'
|
||||
LotOperationsInSequence = Lot_Services('GetLotOperationSequence', ThisLotId)
|
||||
LotOperationTableData = ''
|
||||
For each LotOperation in LotOperationsInSequence using @FM setting dPos
|
||||
LotOperationRec = Database_Services('ReadDataRow', 'LOT_OPERATION', LotOperation)
|
||||
LotOperationTableData<1, -1> = LotOperationRec<LOT_OPERATION_OPERATION_ID$>
|
||||
LotOperationTableData<2, -1> = LotOperationRec<LOT_OPERATION_OPERATOR_IN_ID$>
|
||||
LotOperationTableData<3, -1> = Oconv(LotOperationRec<LOT_OPERATION_DATETIME_IN$>, 'DT')
|
||||
LotOperationTableData<4, -1> = LotOperationRec<LOT_OPERATION_WAFER_IN_QTY$>
|
||||
LotOperationTableData<5, -1> = LotOperationRec<LOT_OPERATION_OPERATOR_OUT_ID$>
|
||||
LotOperationTableData<6, -1> = Oconv(LotOperationRec<LOT_OPERATION_DATETIME_OUT$>, 'DT')
|
||||
LotOperationTableData<7, -1> = LotOperationRec<LOT_OPERATION_WAFER_OUT_QTY$>
|
||||
Next LotOperation
|
||||
|
||||
//Lot Event Status'
|
||||
LotEventsInSequence = Lot_Services('GetLotEventsInSequence', ThisLotId)
|
||||
LotEventTableData = ''
|
||||
For each LotEvent in LotEventsInSequence using @FM
|
||||
LotEventRec = Database_Services('ReadDataRow', 'LOT_EVENT', LotEvent)
|
||||
ThisEventSequence = LotEventRec<LOT_EVENT_SEQUENCE$>
|
||||
LotEventTableData<1, ThisEventSequence> = OConv(LotEventRec<LOT_EVENT_EVENT_DATETIME$>, 'DT')
|
||||
LotEventTableData<2, ThisEventSequence> = LotEventRec<LOT_EVENT_LOT_EVENT_TYPE$>
|
||||
LotEventTableData<3, ThisEventSequence> = LotEventRec<LOT_EVENT_EVENT_OPERATOR_ID$>
|
||||
LotEventTableData<4, ThisEventSequence> = LotEventRec<LOT_EVENT_EVENT_OPERATION_ID$>
|
||||
LotEventTableData<5, ThisEventSequence> = LotEventRec<LOT_EVENT_EVENT_NOTE$>
|
||||
Next LotEvent
|
||||
|
||||
//Fill form
|
||||
Set_Property(@Window : '.EDL_CURR_OPERATION', 'TEXT', ThisLotCurrOperationName)
|
||||
Set_Property(@Window : '.EDT_LOT_OPERATIONS', 'ARRAY', LotOperationTableData)
|
||||
Set_Property(@Window : '.EDT_LOT_EVENTS', 'ARRAY', LotEventTableData)
|
||||
end else
|
||||
//Error: Lot did not exist
|
||||
end
|
||||
return
|
||||
|
Reference in New Issue
Block a user