open-insight/LSL2/STPROC/DIALOG_REACT_READS.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

293 lines
5.5 KiB
Plaintext

COMPILE FUNCTION DIALOG_REACT_READS(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
/*
Commuter module for DIALOG_REACT_READS (Scan RDS numbers from original cassette RDS labels)
09/10/2009 - John C. Henry, J.C. Henry & Co., Inc.
*/
DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status,Print_React_Read_Worksheet
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, Send_Event, Btree.Extract, obj_AppWindow,
DECLARE SUBROUTINE End_Window,obj_React_Reads
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.Ixvals
DECLARE FUNCTION Send_Message, Msg, Security_Check, obj_React_Run_CI
$INSERT MSG_EQUATES
$INSERT APPCOLORS
$INSERT LSL_USERS_EQU
$INSERT SECURITY_RIGHTS_EQU
$INSERT REACT_READS_EQUATES
$INSERT POPUP_EQUATES
EQU CRLF$ TO \0D0A\
EQU TAB$ TO \09\
EQU COL$LOT_NO TO 1
EQU COL$REACTOR TO 1
EQU COL$TYPE TO 2
EQU COL$ASSIGN TO 3
EQU COL$WAFER_CNT TO 4
ErrTitle = 'Error in Dialog_WO_Rep_Scan commuter module'
ErrorMsg = ''
Result = ''
BEGIN CASE
CASE EntID = @WINDOW
BEGIN CASE
CASE Event = 'CREATE' ; GOSUB Create
CASE Event = 'CLOSE' ; GOSUB Close
END CASE
CASE EntID = @WINDOW:'.READ_TABLE' AND Event = 'POSCHANGED' ; GOSUB ReadingPC
CASE EntID = @WINDOW:'.READ_TABLE' AND Event = 'INSERTROW' ; GOSUB InsertRow
CASE EntID = @WINDOW:'.READ_TABLE' AND Event = 'DELETEROW' ; GOSUB DeleteRow
CASE EntID = @WINDOW:'.PRINT_BUTTON' AND Event = 'CLICK' ; GOSUB PrintForm
CASE EntID = @WINDOW:'.SAVE_BUTTON' AND Event = 'CLICK' ; GOSUB Save
CASE EntID = @WINDOW:'.CANCEL_BUTTON' AND Event = 'CLICK' ; GOSUB Cancel
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',@WINDOW)
Set_Property(@WINDOW:'.READ_BY_ID','DEFPROP',@USER4)
Set_Property(@WINDOW:'.READ_BY_NAME','DEFPROP',OCONV(@USER4,'[XLATE_CONV,LSL_USERS*FIRST_LAST]'))
TimeStamp = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')
Set_Property(@WINDOW:'.READ_DTM','DEFPROP',TimeStamp)
Set_Property(@WINDOW,'FOCUS',@WINDOW:'.READ_DTM')
Set_Property(@WINDOW:'.READ_DTM','SELECTION',1:@FM:65534)
ReactList = Collect.IXVals('REACTOR', 'REACT_NO')
EvenSide = ''
OddSide = ''
ReactCnt = COUNT(ReactList,@FM) + (ReactList NE '')
FOR I = 1 TO ReactCnt
IF MOD(ReactList<I>,2) THEN
OddSide<-1> = ReactList<I>
END ELSE
EvenSide<-1> = ReactList<I>
END
NEXT I
ReactList = EvenSide:@FM:OddSide
ReactAssignDesc = OCONV(XLATE('REACTOR',ReactList,'REACT_ASSIGN_DESC','X'),'[REACT_ASSIGN_CONV]')
ReactTypeDesc = OCONV(XLATE('REACTOR',ReactList,'REACT_TYPE_DESC','X'),'[REACT_TYPE_CONV]')
ReactCnt = COUNT(ReactList,@FM) + (ReactList NE '')
FOR I = 1 TO ReactCnt
ReactList<I,2> = ReactTypeDesc<I>
ReactList<I,3> = ReactAssignDesc<I>
NEXT I
Set_Property(@WINDOW:'.READ_TABLE','LIST',ReactList)
GOSUB Refresh
RETURN
* * * * * * *
Close:
* * * * * * * *
RETURN
* * * * * * *
Refresh:
* * * * * * *
CtrlName = @WINDOW:'.READ_TABLE'
ReadList = Get_Property(CtrlName,'LIST')
LineCnt = INT(COUNT(ReadList,@FM) + (ReadList NE '')/2)
FOR I = 1 TO LineCnt
LineWfrCnts = ReadList<I,COL$WAFER_CNT>
IF LineWfrCnts NE '' THEN
BadLine = 0
IF LineWfrCnts AND NOT(NUM(LineWfrCnts)) THEN BadLine = 1
IF BadLine THEN
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,I,RED$)
END ELSE
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,I,GREEN$)
END
END ELSE
IF MOD(I,2) THEN
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,I,RCV_BLUE$)
END
END
NEXT I
RETURN
* * * * * * *
Cancel:
* * * * * * *
End_Dialog(@WINDOW,'Cancel')
RETURN
* * * * * * *
ReadingPC:
* * * * * * *
CtrlEntID = @WINDOW:'.READ_TABLE'
ColCnt = COL$WAFER_CNT
PrevSelPos = Get_Property(CtrlEntId,"PREVSELPOS")
PrevCol = PrevSelPos<1>
PrevRow = PrevSelPos<2>
CurrPos = Get_Property(CtrlEntId,'SELPOS')
CurrCol = CurrPos<1>
CurrRow = CurrPos<2>
ListData = Get_Property(CtrlEntId,'LIST')
ArrayData = Get_Property(CtrlEntId,'DEFPROP')
IF CurrCol < COL$WAFER_CNT THEN
Set_Property(CtrlEntId,"SELPOS",COL$WAFER_cNT:@FM:CurrRow)
RETURN
END
GOSUB Refresh
RETURN
* * * * * * *
InsertRow:
* * * * * * *
CtrlEntID = @WINDOW:'.READ_TABLE'
stat = Send_Message(CtrlEntID, "DELETE", Parm1)
GOSUB Refresh
RETURN
* * * * * * *
DeleteRow:
* * * * * * *
CtrlEntID = @WINDOW:'.READ_TABLE'
stat = Send_Message(CtrlEntID, "INSERT", Parm1, Parm2)
GOSUB Refresh
RETURN
* * * * * * *
Save:
* * * * * * *
ReadList = Get_Property(@WINDOW:'.READ_TABLE','LIST')
ReadBy = Get_Property(@WINDOW:'.READ_BY_ID','DEFPROP')
ReadDTM = Get_Property(@WINDOW:'.READ_DTM','DEFPROP')
ReadCnt = COUNT(ReadList,@FM) + (ReadList NE '')
FOR I = 1 TO ReadCnt
IF ReadList<I,COL$WAFER_CNT> NE '' THEN
Parms = ReadList<I,COL$REACTOR>:@RM
Parms := ReadBy:@RM
Parms := ReadDTM:@RM
Parms := ReadList<I,COL$WAFER_CNT>
Set_Status(0)
obj_React_Reads('Create',Parms)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END
END
NEXT I
Result = ''
End_Dialog(@WINDOW,Result)
RETURN
* * * * * * *
PrintForm:
* * * * * * *
ReactList = Get_Property(@WINDOW:'.READ_TABLE','LIST')
Print_React_Read_Worksheet( ReactList )
RETURN