open-insight/LSL2/STPROC/NDW_TW_LOT_CREATE_EVENTS.txt
Infineon\Ouellette 9651c48539 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.
2024-10-24 20:23:15 +02:00

91 lines
2.8 KiB
Plaintext

Compile function NDW_TW_LOT_CREATE_EVENTS(CtrlEntId, Event, @PARAMS)
#pragma precomp SRP_PreCompiler
#window NDW_TW_LOT_CREATE
Declare function Get_Property, Lot_Services, Error_Services
Declare subroutine Set_Property, Msg
$Insert LOGICAL
GoToEvent Event for CtrlEntId else
// Event not implemented
end
Return EventFlow or 1
//-----------------------------------------------------------------------------
// EVENT HANDLERS
//-----------------------------------------------------------------------------
Event WINDOW.CREATE(CreateParam)
EventFlow = 1
End Event
Event EDL_PROD_NAME.LOSTFOCUS(Flag, FocusID)
ProdNameVal = Get_Property(@Window : '.EDL_PROD_NAME', 'TEXT')
If ProdNameVal[1, 1] EQ 'P' then
ProdNameVal[1,1] = ''
end
Set_Property(@Window : '.EDL_PROD_NAME', 'TEXT', ProdNameVal)
Set_Property(@Window:'.EDL_WAFER_QTY', 'FOCUS', True$)
end event
Event EDL_WAFER_QTY.LOSTFOCUS(Flag, FocusID)
QtyVal = Get_Property(@Window : '.EDL_WAFER_QTY', 'TEXT')
If QtyVal[1, 1] EQ 'Q' then
QtyVal[1,1] = ''
end
If Num(QtyVal) then
Set_Property(@Window : '.EDL_WAFER_QTY', 'TEXT', QtyVal)
Set_Property(@Window:'.EDL_VENDOR_LOT_NO', 'FOCUS', True$)
end else
Msg(@Window, 'Quantity must be a number.')
Set_Property(@Window:'.EDL_WAFER_QTY', 'TEXT', '')
Set_Property(@Window:'.EDL_WAFER_QTY', 'FOCUS', True$)
end
end event
Event PUB_SUBMIT.CLICK()
debug
ThisProdName = Get_Property(@Window : '.EDL_PROD_NAME', 'TEXT')
ThisQuantity = Get_Property(@Window : '.EDL_WAFER_QTY', 'TEXT')
If ThisProdName NE '' then
If ThisQuantity NE '' then
CreatedLotID = Lot_Services('CreateNewTestWaferLot', 'TW', ThisProdName, ThisQuantity, '', '', '', @USER4)
If CreatedLotID NE '' then
Msg(@Window, CreatedLotID : ' successfully created')
GoSub ResetForm
end else
If Error_Services('HasError') then
//Known error, get the message
end else
Msg(@Window, 'Unspecified error created new test wafer lot.')
end
end
end else
//Error: Qty was empty
end
end else
//Error: Prod Name was empty
end
end event
* * * * * * * * * * *
* Internal Go-Subs *
* * * * * * * * * * *
ResetForm:
Set_Property(@Window: '.EDL_PROD_NAME', 'TEXT', '')
Set_Property(@Window: '.EDL_WAFER_QTY', 'TEXT', '')
Set_Property(@Window: '.EDL_VENDOR_LOT_NO', 'TEXT', '')
Set_Property(@Window: '.EDL_VENDOR_PROD_ORDER_NO', 'TEXT', '')
Set_Property(@Window: '.EDL_VENDOR_CODE', 'TEXT', '')
Set_Property(@Window: '.EDL_PROD_NAME', 'FOCUS', True$)
return