added LSL2 stored procedures
This commit is contained in:
817
LSL2/STPROC/TEST_JCH.txt
Normal file
817
LSL2/STPROC/TEST_JCH.txt
Normal file
@ -0,0 +1,817 @@
|
||||
COMPILE ROUTINE TEST_JCH(Dummy)
|
||||
ROWDEF(CHARSTR)
|
||||
|
||||
COMMON /FILENAME/ Files_Array, Handles_Array
|
||||
|
||||
DECLARE SUBROUTINE obj_Schedule, RList,Send_Dyn, Print_Carton_Labels, Btree.Extract, msg, Set_List_Box_Data, Get_Status, Create_Table
|
||||
DECLARE SUBROUTINE ErrMsg, Print_Small_Loc_Label, Print_Loc_Label, obj_RDS2, Set_Status, Send_Info, obj_Tables, obj_Location
|
||||
DECLARE SUBROUTINE obj_WO_Log, obj_WM_In,obj_WM_Out, Make.List, ErrMsg, SetInitDirOptions, Msg, obj_Reprocess, obj_RDS
|
||||
DECLARE SUBROUTINE obj_Export, Print_SAP_Cass_Ship_Label, obj_WO_MAT, obj_Notes, Send_Dyn, Send_Info, obj_WO_Wfr,Rename_Table
|
||||
|
||||
DECLARE FUNCTION Get_Status,Security_Check, Ping, FTPList, Utility, INet_OI_XML, obj_WM_Out,Get_Repos_Entities, obj_RDS, Printer_Select, obj_WO_MAT
|
||||
DECLARE FUNCTION Repository, obj_Tables, Popup, obj_MUWafers, FTPList, FTPSend, Get_Property, List_User_Locks, Security_Check, Set_Printer, Get_Priner
|
||||
DECLARE FUNCTION obj_LSL_Users, SRPSendMail, MemberOf, obj_Reactor, obj_Prod_Spec, obj_React_Run, Collect.IXVals
|
||||
|
||||
|
||||
$INSERT WO_STEP_EQUATES
|
||||
$INSERT WO_REACT_EQUATES
|
||||
$INSERT WM_IN_EQUATES
|
||||
$Insert COMPANY_EQUATES
|
||||
$INSERT SURFACE_SCAN_EQUATES
|
||||
$INSERT REACT_RUN_EQUATES
|
||||
$INSERT CLEAN_INSP_EQUATES
|
||||
$INSERT WM_OUT_EQUATES
|
||||
$INSERT WO_MAT_EQUATES
|
||||
$INSERT TOOL_EQUATES
|
||||
$INSERT TOOL_CLASS_EQUATES
|
||||
$INSERT WAREHOUSE_EQUATES
|
||||
$INSERT SRPMail_Inserts
|
||||
|
||||
|
||||
EQU PI$LEFT TO 1
|
||||
EQU PI$TOP TO 2
|
||||
EQU PI$RIGHT TO 3
|
||||
EQU PI$BOTTOM TO 4
|
||||
EQU PI$WIDTH TO 5
|
||||
EQU PI$HEIGHT TO 6
|
||||
EQU PI$SIZE TO 7
|
||||
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
EQU TAB$ TO \09\
|
||||
|
||||
DEBUG
|
||||
|
||||
|
||||
thisVal = ICONV('37','MD0')
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
WfrID = '162798*8*9'
|
||||
ShipSlot = '162798*3*4'
|
||||
RDSNo = 980616
|
||||
|
||||
CALL obj_React_Run('UnShipGANWfrs',RDSNo:@RM:ShipSlot:@RM:WfrID)
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
*** Parameter setup of SRPSendMail ***
|
||||
|
||||
ConfigFile = ''
|
||||
ConfigFile<1> = SendUsing_Port$
|
||||
ConfigFile<2> = ''
|
||||
ConfigFile<3> = 25 ;// Server port
|
||||
*ConfigFile<4> = '10.36.10.51' ;// IFX Mail server
|
||||
ConfigFile<4> = 'smtp.intra.infineon.com' ;// Infinfeon Mail Server
|
||||
ConfigFile<5> = 1 ;// Authenticate
|
||||
|
||||
ConfigFile<6> = 'oinotify@irf.com' ;// Username **************************** Suspected Problem *******************
|
||||
ConfigFile<7> = 'oinotify1' ;// Password **************************** Suspected Problem *******************
|
||||
|
||||
ConfigFile<8> = 0 ;// Use SSL
|
||||
|
||||
SentFrom = 'oinotify@irf.com' ;* Sent From eMail addr
|
||||
|
||||
|
||||
SendTo = 'Francois.Rivard@infineon.com' ;* eMailAddr (comma separated)
|
||||
|
||||
Message = ''
|
||||
Message<1> = 'eMail Test' ; // Subject
|
||||
Message<2> = SentFrom ; // From (email address)
|
||||
Message<3> = SendTo ; // Send to (email address)
|
||||
Message<5> = '' ; // Blind Carbon Copy (email address)
|
||||
*Message<6> = 'roderic.lathion@infineon.com' ; // Reply To (email address)
|
||||
Message<6> = '' ; // Reply To (email address)
|
||||
Message<7> = 'TEXT' ; // Content Type (TEXT or HTML)
|
||||
Message<8> = 'Test' ; // Content / Body
|
||||
Message<9> ='' ; // Attachment(s) (path to file name(s))
|
||||
|
||||
Def = ""
|
||||
Def<MTEXT$> = 'Sending eMail w/attachements ':ShipNo:'...'
|
||||
Def<MTYPE$> = "U"
|
||||
|
||||
|
||||
|
||||
MsgSent = SRPSendMail(Message, ConfigFile) ;* T E M P O R A R Y * until email is workding
|
||||
|
||||
debug
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
OrgTable = '!PM_SCHED'
|
||||
dbID = @DBID
|
||||
NewTable = 'BAD_INDEX'
|
||||
LockFlag = 0
|
||||
Status = ''
|
||||
|
||||
DEBUG
|
||||
|
||||
CALL Rename_Table(OrgTable,dbID,NewTable,LockFlag,Status)
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
OPEN 'WAREHOUSE' TO FileIn ELSE
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
DEBUG
|
||||
|
||||
LocKeys = XLATE('WAREHOUSE','1K',WAREHOUSE_LOC_KEY$,'X')
|
||||
|
||||
SortedKeys = ''
|
||||
|
||||
kCnt = COUNT(LocKeys,@VM) + (LocKeys NE '')
|
||||
|
||||
FOR I = 4 TO 99
|
||||
LocKey = LocKeys<1,I>
|
||||
IF LocKey NE '' THEN
|
||||
LOCATE LocKEy IN SortedKeys BY 'AR' SETTING Pos ELSE
|
||||
SortedKeys = INSERT(SortedKeys,1,Pos,0,LocKey)
|
||||
END
|
||||
END
|
||||
|
||||
NEXT I
|
||||
/*
|
||||
SortCnt = COUNT(SortedKeys,@VM) + (SortedKeys NE '')
|
||||
|
||||
FOR I = 1 TO SortCnt
|
||||
LocKey = SortedKeys<1,I>
|
||||
PRINT_SMALL_LOC_LABEL(LocKey
|
||||
|
||||
*/
|
||||
GOTO Bail
|
||||
|
||||
|
||||
DEBUG
|
||||
|
||||
SetInitDirOptions("D")
|
||||
InitDir "R:\Ship_eMail\*.*"
|
||||
|
||||
SubDirList = ''
|
||||
|
||||
List = DirList()
|
||||
|
||||
LOOP
|
||||
Line = List[1,@FM]
|
||||
List[1,Col2()] = ""
|
||||
UNTIL Line = ''
|
||||
IF Line NE '.' AND Line NE '..' THEN
|
||||
SubDirList<1,-1> = Line
|
||||
END
|
||||
REPEAT
|
||||
|
||||
|
||||
|
||||
|
||||
SetInitDirOptions("D")
|
||||
InitDir 'R:\Ship_Data\*.*'
|
||||
|
||||
SubDirList = ''
|
||||
|
||||
List = DirList()
|
||||
|
||||
LOOP
|
||||
Line = List[1,@FM]
|
||||
List[1,Col2()] = ""
|
||||
UNTIL Line = ''
|
||||
IF Line NE '.' AND Line NE '..' THEN
|
||||
SubDirList<1,-1> = Line
|
||||
END
|
||||
REPEAT
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
|
||||
WfrIDs = '162798*6*12':@VM
|
||||
WfrIDs := '162798*6*13':@VM
|
||||
WfrIDs := '162798*6*14':@VM
|
||||
WfrIDs := '162798*6*15'
|
||||
|
||||
CurrQueueID = 'GCH*Q_SP'
|
||||
NextQueueID = 'GGR*Q_DISP'
|
||||
|
||||
|
||||
|
||||
CONVERT '.' TO '*' IN WfrIDs
|
||||
|
||||
EventBy = 'BRYCE_BART'
|
||||
EventDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')
|
||||
|
||||
|
||||
IF WfrIDs NE '' THEN
|
||||
|
||||
Parms = WfrIDs :@RM ;* mv
|
||||
Parms := EventDtm:@RM
|
||||
Parms := EventBy:@RM
|
||||
Parms := 'SKIP':@RM ;* Event
|
||||
Parms := '':@RM ;* mv NewSlotIDs
|
||||
Parms := '':@RM ;* mv RunLocs
|
||||
Parms := '':@RM ;* NCRNo
|
||||
Parms := '':@RM ;*TWUse
|
||||
Parms := '':@RM ;* mv CurrSlotIDs
|
||||
Parms := '':@RM ;* NewToolID
|
||||
Parms := '':@RM ;* CurrToolID
|
||||
Parms := NextQueueID:@RM ;* NewInvLoc
|
||||
Parms := CurrQueueID:@RM ;* CurrInvLoc
|
||||
Parms := 'O':@RM ;* WfrSide
|
||||
Parms := '':@RM ;* NewCarrLocs ;* mv
|
||||
Parms := '':@RM ;* CurrCarrLocs ;* mv
|
||||
Parms := '' ;* Scribes ;* mv
|
||||
|
||||
*obj_WO_Wfr('TestAddEvent',Parms)
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(ErrCode)
|
||||
RETURN
|
||||
END
|
||||
|
||||
END ;* End of check for wafers in the carrier
|
||||
|
||||
|
||||
GOTO Bail
|
||||
* * * * * * * * * * * * * *
|
||||
|
||||
|
||||
|
||||
|
||||
@RECORD = XLATE('REACT_RUN',965970,'','X')
|
||||
|
||||
|
||||
*QU REACT_RUN_IN_WFR_ID$ TO 81
|
||||
*EQU REACT_RUN_CARR_WFR_ID$ TO 89
|
||||
*EQU REACT_RUN_CARR_PREV_WFR_ID$ TO 90
|
||||
|
||||
EQU WO_WFR_SCRIBE$ TO 12
|
||||
|
||||
InWfrIDs = @RECORD<REACT_RUN_IN_WFR_ID$>
|
||||
CarrWfrIDs = @RECORD<REACT_RUN_CARR_WFR_ID$>
|
||||
PrevCarrWfrIDs = @RECORD<REACT_RUN_CARR_PREV_WFR_ID$>
|
||||
|
||||
lCnt = COUNT( InWfrIDs , @VM ) + ( InWfrIDs NE '' )
|
||||
WfrIDs = ''
|
||||
|
||||
FOR I = 1 TO ICnt
|
||||
WfrID = CarrWfrIDs<1,I>
|
||||
IF WfrID = '' THEN
|
||||
WfrID = PrevCarrWfrIDs<1,I>
|
||||
END
|
||||
WfrIDs<1,I> = WfrID
|
||||
NEXT I
|
||||
|
||||
|
||||
|
||||
@ANS = XLATE( 'WO_WFR' , WfrIDs , WO_WFR_SCRIBE$ , 'X')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
EventBy = 'BRYCE_BARB'
|
||||
EventDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')
|
||||
|
||||
WfrIDs = '162798*1*11':@VM:'162798*1*12':@VM:'162798*1*13':@VM:'162798*1*14':@VM:'162798*1*15'
|
||||
|
||||
Parms = WfrIDs :@RM ;* mv
|
||||
Parms := EventDtm:@RM
|
||||
Parms := EventBy:@RM
|
||||
Parms := 'Skip':@RM ;* Event
|
||||
Parms := '':@RM ;* mv NewSlotIDs
|
||||
Parms := '':@RM ;* mv RunLocs
|
||||
Parms := '':@RM ;* NCRNo
|
||||
Parms := '':@RM ;*TWUse
|
||||
Parms := '':@RM ;* mv CurrSlotIDs
|
||||
Parms := '':@RM ;* NewToolID
|
||||
Parms := '':@RM ;* CurrToolID
|
||||
Parms := 'GCH*WARP_Q':@RM ;* NewInvLoc
|
||||
Parms := 'GCH*UV_Q':@RM ;* CurrInvLoc
|
||||
Parms := 'O':@RM ;* WfrSide
|
||||
Parms := '':@RM ;* NewCarrLocs ;* mv
|
||||
Parms := '':@RM ;* CurrCarrLocs ;* mv
|
||||
Parms := '' ;* Scribes ;* mv
|
||||
|
||||
|
||||
obj_WO_Wfr('TestAddEvent',Parms)
|
||||
|
||||
|
||||
DEBUG
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
SortStageKeys = obj_Prod_Spec('GetStage','4645':@RM)
|
||||
|
||||
ToolClasses = XLATE('PRS_STAGE',SortStageKeys,'PROC_TOOL_CLASS','X')
|
||||
|
||||
QIns = XLATE('TOOL_CLASS',ToolClasses,'QIN_LOC_ID','X')
|
||||
QOuts = XLATE('TOOL_CLASS',ToolClasses,'QOUT_LOC_ID','X')
|
||||
*/
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
* * * * ************************************
|
||||
|
||||
WONo = '162710'
|
||||
|
||||
WOMatKeys = XLATE('WO_LOG',162710,31,'X') ;*WO_LOG_WO_MAT_KEY$
|
||||
|
||||
WfrsRxd = 75 ;* Total Wafers received
|
||||
CassettesRxd = 3
|
||||
|
||||
|
||||
CassShipQty = 8
|
||||
|
||||
IF CassShipQty <= 0 THEN CassShipQty = 25
|
||||
|
||||
WOMatReq = INT(WfrsRxd/CassShipQty) ;* Qty of WO_MAT records required
|
||||
|
||||
|
||||
a = MOD(WfrsRxd,CassShipQty)
|
||||
|
||||
IF MOD(WfrsRxd,CassShipQty) THEN
|
||||
WOMatReq += 1 ;* Add another WO_MAT for a short qty box at the end
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
LastInCassNo = ''
|
||||
LastOutCassNo = ''
|
||||
|
||||
* * * * Loop through existing WOMatKeys and set pointers for newly received information * * * *
|
||||
|
||||
IF WOMatKeys NE '' THEN
|
||||
womCnt = COUNT(WOMatKeys,@VM) + (WOMatKeys NE '')
|
||||
FOR I = 1 TO womCnt
|
||||
WOMatKey = WOMatKeys<1,I>
|
||||
RxDTM = XLATE('WO_MAT',WOMatKey,WO_MAT_RX_DTM$,'X')
|
||||
IF RxDTM NE '' THEN
|
||||
LastInCassNo = I ;* This assumes cassettes received are in numerical order and none have been deleted out of sequence
|
||||
END
|
||||
LastOutCassNo = I
|
||||
NEXT I
|
||||
END
|
||||
|
||||
|
||||
|
||||
NextInCassNo = LastInCassNo + 1
|
||||
NextOutCassNo = LastOutCassNo + 1
|
||||
|
||||
FOR I = 1 TO WOMatReq
|
||||
|
||||
|
||||
CassNo = NextInCassNo
|
||||
WOMatKey = WONo:'*':CassNo
|
||||
|
||||
WOMatExists = ''
|
||||
|
||||
LOCATE WOMatKey IN WOMatKeys BY 'AR' USING @VM SETTING NewPos ELSE
|
||||
WOMatKeys = INSERT(WOMatKeys,1,NewPos,0,WOMatKey)
|
||||
END
|
||||
|
||||
|
||||
otParms = 'WO_MAT':@RM:WOMatKey
|
||||
|
||||
WOMatRec = obj_Tables('ReadRec',otParms) ;* WOMat record may be an outbound on
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
DEBUG
|
||||
END
|
||||
|
||||
IF WOMatRec NE '' THEN WOMatExists = 1
|
||||
|
||||
IF WOMatExists THEN
|
||||
* Update the existing WO_MAT Record
|
||||
END ELSE
|
||||
* * Create new WO_MAT record with Receiving Data * *
|
||||
|
||||
WOMatRec = ''
|
||||
|
||||
END ;* End of check for existing WO_MAT record
|
||||
|
||||
NextInCassNo += 1
|
||||
|
||||
IF NextInCassNo >= NextOutCassNo THEN
|
||||
NextOutCassNo += 1
|
||||
END
|
||||
NEXT I
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
*******************************************************************
|
||||
|
||||
|
||||
WOWfrRec = XLATE('WO_WFR','162545*1*1','','X')
|
||||
|
||||
RPZs = WOWfrRec<5>
|
||||
|
||||
LOOP
|
||||
RPZ = RPZs[-1,'B':@VM]
|
||||
UNTIL RPZ NE '' OR RPZs = ''
|
||||
RPZs[COL1(),20] = ''
|
||||
REPEAT
|
||||
|
||||
as = COL1()
|
||||
af = COL2()
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Select FileIn
|
||||
|
||||
|
||||
|
||||
Done = 0
|
||||
RecCnt = 0
|
||||
FixCnt = 0
|
||||
|
||||
DEBUG
|
||||
|
||||
|
||||
LOOP
|
||||
READNEXT SSKey ELSE Done = 1
|
||||
UNTIL Done
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Dyn(SSKey:' purged')
|
||||
END
|
||||
REPEAT
|
||||
|
||||
GOTO Bail
|
||||
|
||||
Done = 0
|
||||
RecCnt = 0
|
||||
FixCnt = 0
|
||||
|
||||
DEBUG
|
||||
|
||||
|
||||
LOOP
|
||||
READNEXT SSKey ELSE Done = 1
|
||||
UNTIL Done
|
||||
WONo = SSKey[1,'*']
|
||||
WOStep = SSKey[COL2()+1,'*']
|
||||
CassNo = SSKey[COL2()+1,'*']
|
||||
Stage = SSKey[COL2()+1,'*']
|
||||
|
||||
|
||||
READ SurfRec FROM FileIn,SSKey THEN
|
||||
RecCnt += 1
|
||||
|
||||
|
||||
|
||||
RDSNo = SurfRec<SURFACE_SCAN_RDS_NO$>
|
||||
|
||||
IF RDSNo NE '' THEN
|
||||
|
||||
RRunRec = XLATE('REACT_RUN',RDSNo,'','X')
|
||||
|
||||
IF RRunRec NE '' THEN
|
||||
|
||||
FixCnt += 1
|
||||
|
||||
CINos = RRunRec<REACT_RUN_CI_NO$>
|
||||
CIStages = RRunRec<REACT_RUN_CI_STAGE$>
|
||||
CIStage = ''
|
||||
|
||||
IF CINos = '' THEN
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Info(RecCnt:' ':RDSNo:' -> ':SSKey:' Purged ')
|
||||
END
|
||||
END ELSE
|
||||
|
||||
BEGIN CASE
|
||||
|
||||
CASE Stage = 'PC'
|
||||
CIStage = 'POST'
|
||||
|
||||
CASE Stage = 'PE'
|
||||
CIStage = 'PRE'
|
||||
|
||||
CASE Stage = 'FW'
|
||||
|
||||
IF INDEX(CIStages,'FWI',1) THEN CIStage = 'FWI'
|
||||
IF INDEX(CIStages,'LWI',1) THEN CIStage = 'LWI'
|
||||
|
||||
IF CIStage = '' AND CIstages = 'PRE':@VM:@VM:'POST' THEN
|
||||
|
||||
READ CIRec FROM CITable,CINos<1,2> THEN
|
||||
CIRec<CLEAN_INSP_STAGE$> = 'FWI'
|
||||
WRITE CIRec ON CITable,CINos<1,2> THEN
|
||||
CIStages<1,2> = 'FWI'
|
||||
CIStage = 'FWI'
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
|
||||
END ;* End of missing Stage fixit
|
||||
|
||||
CASE 1
|
||||
|
||||
CIStage = ''
|
||||
|
||||
END CASE
|
||||
|
||||
IF CIStage NE '' THEN
|
||||
|
||||
LOCATE CIStage IN CIStages USING @VM SETTING Pos THEN
|
||||
CINo = CINos<1,Pos>
|
||||
|
||||
|
||||
|
||||
IF CINo NE '' THEN
|
||||
|
||||
READ CIRec FROM CITable,CINo THEN
|
||||
|
||||
ScanUser = SurfRec<SURFACE_SCAN_SCAN_USER$>
|
||||
ScanDTM = SurfRec<SURFACE_SCAN_SCAN_DTM$>
|
||||
|
||||
|
||||
LOCATE ScanDTM IN CIRec<CLEAN_INSP_SCAN_SIG_DTM$> USING @VM SETTING SPos THEN
|
||||
CIRec<CLEAN_INSP_SCAN_SIG$,SPos> = ScanUser
|
||||
|
||||
WRITE CIRec ON CITable,CINo THEN
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Dyn(RecCnt:' CI ':CINo:' Updated - Surfscan Rec ':SSKey: ' purged')
|
||||
END
|
||||
END ;* End of CIRec write
|
||||
|
||||
END ELSE
|
||||
ScanFlag = 0
|
||||
IF CIRec<CLEAN_INSP_SCAN_TOOL$> NE '' THEN ScanFlag = 1
|
||||
IF CIRec<CLEAN_INSP_SCAN_SUM_OF_DEF_MIN$> NE '' THEN ScanFlag = 1
|
||||
IF CIRec<CLEAN_INSP_SCAN_SUM_OF_DEF_MAX$> NE '' THEN ScanFlag = 1
|
||||
IF CIRec<CLEAN_INSP_SCAN_SUM_OF_DEF_AVG$> NE '' THEN ScanFlag = 1
|
||||
IF CIRec<CLEAN_INSP_SCAN_HAZE_AVG_AVG$> NE '' THEN ScanFlag = 1
|
||||
IF CIRec<CLEAN_INSP_SCAN_SIG$> NE '' THEN ScanFlag = 1
|
||||
IF CIRec<CLEAN_INSP_INSP_SIG_DTM$> NE '' THEN ScanFlag = 1
|
||||
|
||||
IF NOT(ScanFlag) THEN
|
||||
CIRec<CLEAN_INSP_SCAN_TOOL$> = SurfRec<SURFACE_SCAN_SCAN_TOOL$>
|
||||
CIRec<CLEAN_INSP_SCAN_SUM_OF_DEF_MIN$> = SurfRec<SURFACE_SCAN_SUM_OF_DEF_MIN$>
|
||||
CIRec<CLEAN_INSP_SCAN_SUM_OF_DEF_MAX$> = SurfRec<SURFACE_SCAN_SUM_OF_DEF_MAX$>
|
||||
CIRec<CLEAN_INSP_SCAN_SUM_OF_DEF_AVG$> = SurfRec<SURFACE_SCAN_SUM_OF_DEF_AVG$>
|
||||
CIRec<CLEAN_INSP_SCAN_HAZE_AVG_AVG$> = SurfRec<SURFACE_SCAN_HAZE_AVG_AVG$>
|
||||
CIRec<CLEAN_INSP_SCAN_SIG$> = SurfRec<SURFACE_SCAN_SCAN_USER$>
|
||||
CIRec<CLEAN_INSP_INSP_SIG_DTM$> = SurfRec<SURFACE_SCAN_SCAN_DTM$>
|
||||
|
||||
WRITE CIRec ON CITable,CINo THEN
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Dyn(RecCnt:' CI ':CINo:' Updated - Surfscan Rec ':SSKey: ' purged')
|
||||
END
|
||||
END ;* End of CIRec write
|
||||
END ELSE
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Dyn(RecCnt:' CI ':CINo:' Sig DTM mismatch ':SSKey: ' purged')
|
||||
END
|
||||
END;* End of check for ScanFlag
|
||||
END;* End of Locate ScanDTM
|
||||
|
||||
END ELSE
|
||||
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Dyn(RecCnt:' CI ':CINo:' NOT FOUND - Surfscan Rec ':SSKey: ' purged')
|
||||
END
|
||||
|
||||
END ;* End of record read
|
||||
|
||||
END ELSE
|
||||
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Dyn(RecCnt:' Null CINo found with CIStage ':CIStage:' in REACT_RUN record')
|
||||
END
|
||||
|
||||
END ;* End of check for null CINo in REACT_RUN
|
||||
|
||||
|
||||
END ELSE
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Dyn(RecCnt:' CIStage ':CISTage:' not found in REACT_RUN Records':SSKey: ' purged')
|
||||
END
|
||||
END ;* End OF Stage LOCATE
|
||||
|
||||
END ELSE
|
||||
Send_Dyn(RecCnt:'Null CIStage for Stage: ':Stage)
|
||||
END;* End of check for Null CIStage
|
||||
|
||||
END ;* End of check for CINos
|
||||
|
||||
END ;* End of RRunRec read
|
||||
|
||||
END ELSE
|
||||
|
||||
NULL
|
||||
/*
|
||||
|
||||
WMOKey = FIELD(SSKey,'*',1,3)
|
||||
|
||||
CINo = XLATE('WM_OUT',WMOKey,WM_OUT_CI_NO$,'X')
|
||||
|
||||
IF CINo NE '' THEN
|
||||
|
||||
READ CIRec FROM CITable,CINo THEN
|
||||
|
||||
ScanUser = SurfRec<SURFACE_SCAN_SCAN_USER$>
|
||||
ScanDTM = SurfRec<SURFACE_SCAN_SCAN_DTM$>
|
||||
|
||||
LOCATE ScanDTM IN CIRec<CLEAN_INSP_SCAN_SIG_DTM$> USING @VM SETTING SPos THEN
|
||||
CIRec<CLEAN_INSP_SCAN_SIG$,SPos> = ScanUser
|
||||
|
||||
|
||||
WRITE CIRec ON CITable,CINo THEN
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Info(RecCnt:' CI ':CINo:' Updated - Surfscan Rec ':SSKey: ' purged')
|
||||
END
|
||||
END ;* End of CIRec write
|
||||
|
||||
END ;* End of Locatre ScanDTM
|
||||
|
||||
END ELSE
|
||||
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Info(RecCnt:' CIRec ':CINo:' NOT FOUND - Surfscan Rec ':SSKey: ' purged')
|
||||
END
|
||||
END
|
||||
|
||||
END ELSE
|
||||
DELETE FileIn,SSKey THEN
|
||||
Send_Info(RecCnt:' Null CINo ON WM_OUT RECORD - Surfscan Rec ':SSKey: ' purged')
|
||||
END
|
||||
|
||||
END
|
||||
*/
|
||||
|
||||
END ;* End of check for Null RDS No
|
||||
|
||||
Send_Info(RecCnt)
|
||||
|
||||
END ;* End of Srface Rec Read
|
||||
|
||||
REPEAT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
BatchID = 'M007673.2'
|
||||
|
||||
Open 'DICT.WO_MAT' To DictWOMat Then
|
||||
|
||||
Search = 'SAP_BATCH_NO':@VM:BatchID:@FM
|
||||
Flag = ''
|
||||
ScanWOMatKey = ''
|
||||
|
||||
Set_Status(0)
|
||||
Btree.Extract(Search,'WO_MAT',DictWOMat,ScanWOMatKey,'',Flag)
|
||||
If Get_Status(errCode) Then
|
||||
ErrMsg(errCode)
|
||||
End
|
||||
|
||||
If ScanWOMatKey NE '' Then
|
||||
CassID = Xlate('WO_MAT',ScanWOMatKey,'CASS_ID_SAP','X')
|
||||
|
||||
If CheckID Matches "0N'.'1N'.'0N" THEN
|
||||
WMOKey = Xlate('WO_MAT',ScanWOMatKey,WO_MAT_WMO_KEY$,'X')
|
||||
Convert '*' To '.' In WMOKey
|
||||
CassID = WMOKey
|
||||
End
|
||||
|
||||
*Set_Property(CtrlEntID,'INVALUE',CassID,PrevSelPos)
|
||||
End Else
|
||||
*Set_Property(CtrlEntId,"SELPOS",PrevSelPos)
|
||||
*Set_Property(CtrlEntID,'INVALUE','',PrevSelPos) ;* No corresponding data record found for label scanned bad read or wrong thing scanned
|
||||
*Return
|
||||
|
||||
END
|
||||
End ;* End of DictWOMat open
|
||||
|
||||
Goto Bail
|
||||
|
||||
|
||||
Result = obj_Prod_Spec('GetQAMet',4521:@RM:@RM)
|
||||
|
||||
|
||||
DEBUG
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
|
||||
|
||||
|
||||
Set_Status(1,'STPROC','Missing Reactor No. on RDS':@SVM:'Reactor No. is required prior to recording test results.')
|
||||
|
||||
ErrMsg('STPROC':@VM:'Missing Reactor No. on RDS':@SVM:'Reactor No. is required prior to recording test results.')
|
||||
|
||||
|
||||
|
||||
DEBUG
|
||||
|
||||
|
||||
GOTO Bail
|
||||
|
||||
/*
|
||||
|
||||
WOReactKey = '159608*1*61'
|
||||
WOReactRec = XLATE('WO_REACT',WOReactKey,'','X')
|
||||
|
||||
RDSNos = WOReactRec<WO_REACT_RDS_NO$>
|
||||
|
||||
WONo = FIELD(WOReactKey,'*',1)
|
||||
StepNo = FIELD(WOReactKey,'*',2)
|
||||
|
||||
|
||||
|
||||
* * * * * * Prototype for obj_WO_React('RemRdsNo' routine
|
||||
|
||||
PSNos = XLATE('WO_LOG',WoNo,'PROD_VER_STEP_PSN','X')
|
||||
PSNo = PSNos<1,StepNo>
|
||||
|
||||
QAMetData = obj_Prod_Spec('GetQAMet',PSNo:@RM:@RM:1) ;* Get Reactor Scheduled QA Metrology
|
||||
|
||||
Start = QAMetData<COL$QA_MET_SLOT>
|
||||
Interval = QAMetData<COL$QA_MET_INTERVAL>
|
||||
|
||||
AllTestPos = ''
|
||||
|
||||
*RemRDSNo = 871366
|
||||
RemRDSNo = 870613
|
||||
|
||||
* Build list of all RDS sequence positions on this WO-REACT that require the test
|
||||
|
||||
RDSCnt = COUNT(RDSNos,@VM) + (RDSNos NE '')
|
||||
SeqCnt = 0
|
||||
FOR TestSeq = 1 TO RDSCnt
|
||||
IF REM((TestSeq - Start),Interval) = 0 THEN
|
||||
AllTestPos<1,-1> = TestSeq
|
||||
SeqCnt += 1
|
||||
END
|
||||
Send_Dyn(AllTestPos)
|
||||
NEXT TestSeq
|
||||
|
||||
* Find where the the RDS being removed is in the list.
|
||||
|
||||
DEBUG
|
||||
|
||||
LOCATE RemRDSNo IN WOReactRec<WO_REACT_RDS_NO$> USING @VM SETTING RemPos THEN
|
||||
|
||||
LOCATE RemPos IN AllTestPos BY 'AR' USING @VM SETTING TrimPos ELSE Null
|
||||
|
||||
UnschedPosList = FIELD(AllTestPos,@VM,TrimPos,SeqCnt)
|
||||
|
||||
upCnt = COUNT(UnschedPosList,@VM) + (UnschedPosList NE '')
|
||||
|
||||
FOR I = 1 TO upCnt
|
||||
CassNo =
|
||||
|
||||
NEXT I
|
||||
|
||||
|
||||
|
||||
END ELSE
|
||||
* Houston we have a problem
|
||||
DEBUG
|
||||
GOTO Bail
|
||||
END
|
||||
|
||||
|
||||
|
||||
GOTO Bail
|
||||
*/
|
||||
**********************************************************************
|
||||
|
||||
|
||||
* * * * * *
|
||||
Bail:
|
||||
* * * * * *
|
||||
|
||||
END
|
Reference in New Issue
Block a user