added LSL2 stored procedures
This commit is contained in:
287
LSL2/STPROC/WO_MAT_IN.txt
Normal file
287
LSL2/STPROC/WO_MAT_IN.txt
Normal file
@ -0,0 +1,287 @@
|
||||
COMPILE FUNCTION WO_MAT_IN(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
||||
|
||||
/*
|
||||
Commuter module for WO_MAT_IN (EpiPRO Inbound material) window
|
||||
|
||||
08/12/2010 - John C. Henry, J.C. Henry & Co., Inc.
|
||||
*/
|
||||
|
||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status, Center_Window
|
||||
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, obj_AppWindow
|
||||
DECLARE SUBROUTINE Security_Err_Msg, Send_Event
|
||||
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.Ixvals
|
||||
DECLARE FUNCTION Send_Message, Msg, Security_Check, obj_React_Run_CI, NextKey, MemberOf
|
||||
|
||||
|
||||
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT APPCOLORS
|
||||
$INSERT LSL_USERS_EQU
|
||||
$INSERT SECURITY_RIGHTS_EQU
|
||||
$INSERT POPUP_EQUATES
|
||||
$INSERT LOGICAL
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
EQU TAB$ TO \09\
|
||||
|
||||
|
||||
EQU COL$SLOT TO 1
|
||||
EQU COL$WAFER_ID TO 2
|
||||
EQU COL$RUN_ID TO 3
|
||||
EQU COL$SLOT_NCR TO 4
|
||||
EQU COL$MET_NO$ TO 5
|
||||
EQU COL$MOVED_TO_SLOT TO 6
|
||||
EQU COL$REPLACED_BY TO 7
|
||||
|
||||
EQU COL$NCR_NO TO 1
|
||||
EQU COL$NCR_STATUS TO 2
|
||||
EQU COL$NCR_REJ_QTY TO 3
|
||||
EQU COL$NCR_RESP TO 4
|
||||
EQU COL$NCR_STAGE TO 5
|
||||
EQU COL$NCR_LOSS_DESC TO 6
|
||||
EQU COL$NCR_LOSS_COMM TO 7
|
||||
EQU COL$NCR_FIN_SIG TO 8
|
||||
EQU COL$NCR_FIN_SIG_DTM TO 9
|
||||
|
||||
ErrTitle = 'Error in WO_Mat_In routine'
|
||||
ErrorMsg = ''
|
||||
|
||||
Result = ''
|
||||
|
||||
BEGIN CASE
|
||||
CASE EntID = @WINDOW
|
||||
BEGIN CASE
|
||||
CASE Event = 'CLEAR' ; GOSUB Clear
|
||||
CASE Event = 'CREATE' ; GOSUB Create
|
||||
CASE Event = 'READ' ; GOSUB Read
|
||||
CASE Event[1,3] = 'QBF' ; GOSUB Refresh
|
||||
END CASE
|
||||
|
||||
|
||||
CASE 1
|
||||
ErrorMsg = 'Unknown Parameters ':EntID:' - ':Event:' passed to commuter'
|
||||
ErrMsg(ErrorMsg)
|
||||
|
||||
END CASE
|
||||
|
||||
IF ErrorMsg NE '' THEN
|
||||
ErrMsg(ErrTitle:@SVM:ErrorMsg)
|
||||
END
|
||||
|
||||
RETURN Result
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Create:
|
||||
* * * * * * *
|
||||
|
||||
obj_Appwindow('Create','WO_MAT_IN')
|
||||
|
||||
* get the current style
|
||||
|
||||
EQU MULTILINE_STYLE$ TO 512 ;* MultiLine Select
|
||||
|
||||
Style = Get_Property(@WINDOW:'.SLOT_NO', 'STYLE')
|
||||
|
||||
IF Style [1,2] _EQC "0x" THEN
|
||||
CONVERT @LOWER.CASE TO @UPPER.CASE IN STYLE
|
||||
Style = ICONV(Style [3,99], "MX")
|
||||
END
|
||||
|
||||
Style = BitOr(Style, MULTILINE_STYLE$)
|
||||
Set_Property('WO_MAT_IN.SLOT_NO', "STYLE", Style)
|
||||
|
||||
* Provides compatibility with the existing messaging attachment system
|
||||
|
||||
IF Parm1 NE '' THEN
|
||||
PassedKeys = FIELD(Parm1,'*',1)
|
||||
obj_Appwindow('ViewRelated','WO_MAT_IN':@RM:PassedKeys)
|
||||
END
|
||||
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Read:
|
||||
* * * * * * *
|
||||
|
||||
WONo = Get_Property(@WINDOW:'.WO_NO','DEFPROP')
|
||||
CassNo = Get_Property(@WINDOW:'.CASS_NO','DEFPROP')
|
||||
|
||||
DEBUG
|
||||
|
||||
IF RowExists('WO_MAT',WONo:'*':CassNo) THEN
|
||||
IF NOT(Security_Check('RDS',READ$)) THEN
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
Security_Err_Msg('Work Order Mat',READ$)
|
||||
RETURN
|
||||
END
|
||||
|
||||
IF NOT(Security_Check('RDS',EDIT$)) THEN
|
||||
obj_Appwindow('ReadOnly',@WINDOW) ;*Set to Read Only
|
||||
END
|
||||
|
||||
END ELSE
|
||||
ErrMsg('Work Order Mat entries are only created by the program.')
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Write:
|
||||
* * * * * * *
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Clear:
|
||||
* * * * * * *
|
||||
|
||||
GOTO Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Delete:
|
||||
* * * * * * *
|
||||
|
||||
ErrMsg('Records may not be modified or deleted.')
|
||||
|
||||
Result = 0 ;* No Deletes
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Close:
|
||||
* * * * * * *
|
||||
|
||||
obj_Appwindow('DetailReturn')
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Refresh:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
Ctrls = @WINDOW:'.HOLD':@RM:@WINDOW:'.HOTLOT'
|
||||
Props = 'CHECK':@RM:'CHECK'
|
||||
|
||||
Vals = Get_Property(Ctrls,Props)
|
||||
|
||||
Hold = Vals[1,@RM]
|
||||
HotLot = Vals[COL2()+1,@RM]
|
||||
|
||||
IF HotLot THEN
|
||||
Set_Property(@WINDOW:'.HOT_LOT_LABEL','VISIBLE',1)
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.HOT_LOT_LABEL','VISIBLE',0)
|
||||
END
|
||||
|
||||
CtrlEntID = @WINDOW:'.SLOT_NO'
|
||||
|
||||
SlotList = Get_Property(CtrlEntID,'LIST')
|
||||
SlotListCnt = COUNT(SlotList,@FM) + (SlotList NE '')
|
||||
|
||||
|
||||
|
||||
FOR Line = 1 TO SlotListCnt
|
||||
BEGIN CASE
|
||||
CASE SlotList<Line,COL$SLOT> = '' ; LineColor = GREY$
|
||||
CASE SlotList<Line,COL$WAFER_ID> NE '' AND SlotList<Line,COL$REPLACED_BY> NE '' ; LineColor = GREEN$
|
||||
CASE SlotList<Line,COL$WAFER_ID> NE '' AND SlotList<Line,COL$REPLACED_BY> = '' ; LineColor = WHITE$
|
||||
|
||||
CASE 1 ; LineColor = WHITE$
|
||||
END CASE
|
||||
|
||||
FOR Col = 1 TO 7
|
||||
stat = Send_Message(CtrlEntID,'COLOR_BY_POS',Col,Line,LineColor)
|
||||
NEXT COL
|
||||
NEXT Line
|
||||
|
||||
|
||||
* QBF buttons
|
||||
|
||||
Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_PREV_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_ABS_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_NEXT_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_LAST_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_STOP_FIX' ; Props := 'ENABLED'
|
||||
|
||||
IF Get_Property('WO_MAT_WFR','QBFLIST') = '' THEN
|
||||
Vals = 0:@RM:0:@RM:0:@RM:0:@RM:0:@RM:0
|
||||
END ELSE
|
||||
Vals = 1:@RM:1:@RM:1:@RM:1:@RM:1:@RM:1
|
||||
END
|
||||
|
||||
Set_Property(Ctrls,Props,Vals)
|
||||
|
||||
* Turn edit table symbolic column backgrounds to green
|
||||
|
||||
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
|
||||
|
||||
ETCtrls = ETSymbolics<1>
|
||||
ETCols = ETSymbolics<2>
|
||||
|
||||
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
|
||||
ETCtrl = ETCtrls<1,I>
|
||||
IF ETCtrl NE @WINDOW:'.SLOT_NO' THEN
|
||||
ETList = Get_Property(ETCtrl,'LIST')
|
||||
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
|
||||
IF ETList<Line,1> NE '' THEN
|
||||
FOR N = 1 TO COUNT(ETCols<1,I>,@SVM) + (ETCols<1,I> NE '')
|
||||
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,I,N>,Line,GREEN$)
|
||||
NEXT N
|
||||
END
|
||||
NEXT Line
|
||||
END
|
||||
NEXT I
|
||||
|
||||
|
||||
|
||||
CtrlName = @WINDOW:'.NCR_KEYS'
|
||||
NCRList = Get_Property(CtrlName,'LIST')
|
||||
|
||||
ColCount = COUNT(NCRList<1>,@VM) + (NCRList<1> NE '')
|
||||
FOR Line = 1 TO COUNT(NCRList,@FM) + (NCRList NE '')
|
||||
|
||||
Status = NCRList<Line,2>
|
||||
|
||||
BEGIN CASE
|
||||
CASE Status = '' ; Color = WHITE$
|
||||
CASE Status = 'Closed' ; Color = GREEN$
|
||||
CASE Status = 'Open' ; Color = RED$
|
||||
CASE Status = 'Verified' ; Color = YELLOW$
|
||||
|
||||
CASE 1 ; Color = WHITE$
|
||||
|
||||
END CASE
|
||||
FOR Col = 1 TO ColCount
|
||||
stat = Send_Message(CtrlName,'COLOR_BY_POS',Col,Line,Color)
|
||||
NEXT Col
|
||||
|
||||
NEXT Line
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user