COMPILE FUNCTION RDS_METROLOGY(CtrlEntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5,Parm6) /* Commuter module for RDS_METROLOGY window. 04/29/2009 - John C. Henry, J.C. Henry & Co., Inc. */ DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status, ErrMsg DECLARE SUBROUTINE obj_Appwindow, Start_Window, Msg DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Popup, Send_Event $INSERT REACT_RUN_EQUATES $INSERT RDS_LAYER_EQUATES $INSERT RDS_TEST_EQUATES $INSERT DICT_EQUATES EQU CRLF$ TO \0D0A\ EQU COL$LS_ID TO 1 EQU COL$MIN TO 2 EQU COL$TARG TO 3 EQU COL$MAX TO 4 EQU COL$MTOOL TO 5 EQU COL$MTYPE TO 6 EQU COL$MRECIPE TO 7 EQU COL$MFREQ TO 8 EQU COL$MPROVEIN TO 9 EQU COL$MFIRST TO 10 EQU COL$MLAST TO 11 EQU COL$MSPC TO 12 EQU COL$MOVERGROW TO 13 ErrTitle = 'Error in RDS_METROLGY commuter module' ErrorMsg = '' Result = '' BEGIN CASE CASE Event = 'CREATE' ; GOSUB Create CASE 1 ErrMsg(ErrTitle:@SVM:'Unknown parameters ':QUOTE(CtrlEntID):' ':QUOTE(Event):' passed to routine.') END CASE RETURN Result * * * * * * * Create: * * * * * * * obj_AppWindow('Create') RDSNo = Parm1 IF RDSNo = '' THEN End_Dialog(@WINDOW) DictFields = XLATE('DICT.RDS_TEST','%FIELDS%','','X') LSIDs = XLATE('REACT_RUN',RDSNo,'RDS_LS_ID','X') ;* Layer Sets LayerKeys = XLATE('REACT_RUN',RDSNo,'RDS_LS_SORTED','X') ;* RDS_LAYER Keys LayerCnt = COUNT(LayerKeys,@VM) + (LayerKeys NE '') ThickArray = '' ResArray = '' ConArray = '' CResArray = '' FOR I = 1 TO LayerCnt MetKey = XLATE('RDS_LAYER',LayerKeys<1,I>,RDS_LAYER_RDS_TEST_KEYS$,'X')<1,1> ;* 1st metrology key MetRec = XLATE('RDS_TEST',MetKey,'','X') LOCATE 'SPEC_THICK_MIN' IN DictFields USING @VM SETTING Pos THEN ThickConv = DictFields END ThickArray = LSIDs<1,I> ThickArray = OCONV(MetRec,ThickConv) ThickArray = OCONV(MetRec,ThickConv) ThickArray = OCONV(MetRec,ThickConv) ThickArray = MetRec ThickArray = MetRec ThickArray = MetRec ThickArray = MetRec ThickArray = MetRec ThickArray = OCONV(MetRec,'B') ThickArray = OCONV(MetRec,'B') ThickArray = OCONV(MetRec,'B') ThickArray = OCONV(MetRec,'B') LOCATE 'SPEC_RES_MIN' IN DictFields USING @VM SETTING Pos THEN ResConv = DictFields END ResArray = OCONV(MetRec,ResConv) IF ResArray NE '' THEN ResArray = LSIDs<1,I> END ResArray = OCONV(MetRec,ResConv) ResArray = OCONV(MetRec,ResConv) ResArray = MetRec ResArray = MetRec ResArray = MetRec ResArray = MetRec ResArray = MetRec ResArray = OCONV(MetRec,'B') ResArray = OCONV(MetRec,'B') ResArray = OCONV(MetRec,'B') ResArray = OCONV(MetRec,'B') LOCATE 'SPEC_CON_MIN' IN DictFields USING @VM SETTING Pos THEN ConConv = DictFields END ConArray = OCONV(MetRec,ConConv) IF ConArray NE '' THEN ConArray = LSIDs<1,I> END ConArray = OCONV(MetRec,ConConv) ConArray = OCONV(MetRec,ConConv) IF ConArray NE '' THEN ConArray = LSIDs<1,I> END ConArray = MetRec ConArray = MetRec ConArray = MetRec ConArray = MetRec ConArray = MetRec ConArray = OCONV(MetRec,'B') ConArray = OCONV(MetRec,'B') ConArray = OCONV(MetRec,'B') ConArray = OCONV(MetRec,'B') LOCATE 'SPEC_CRES_MIN' IN DictFields USING @VM SETTING Pos THEN CResConv = DictFields END CResArray = OCONV(MetRec,CResConv) IF CresArray NE '' THEN CResArray = LSIDs<1,I> END CResArray = OCONV(MetRec,CResConv) CResArray = OCONV(MetRec,CResConv) CResArray = MetRec CResArray = MetRec CResArray = MetRec CResArray = MetRec CResArray = MetRec CResArray = OCONV(MetRec,'B') CResArray = OCONV(MetRec,'B') CResArray = OCONV(MetRec,'B') CResArray = OCONV(MetRec,'B') NEXT I Set_Property(@WINDOW:'.ORIENT','DEFPROP',MetRec) Set_Property(@WINDOW:'.THICK_SPEC','DEFPROP',ThickArray) Set_Property(@WINDOW:'.RES_SPEC','DEFPROP',ResArray) Set_Property(@WINDOW:'.CON_SPEC','DEFPROP',ConArray) Set_Property(@WINDOW:'.CRES_SPEC','DEFPROP',CResArray) RETURN