Commit to switch branches.
This commit is contained in:
committed by
Stieber Daniel (CSC FI SPS MESLEO)
parent
df5b217fe7
commit
d021ab64b9
@ -39,6 +39,10 @@
|
||||
"<8,2>": {
|
||||
"<8,2,1>": "Update QA Metrology Specs",
|
||||
"<8,2,2>": "QA_MET"
|
||||
},
|
||||
"<8,3>": {
|
||||
"<8,3,1>": "Update RDS Layer Parameters",
|
||||
"<8,3,2>": "UPDATE_RDS_LAYER"
|
||||
}
|
||||
},
|
||||
"<9>": {
|
||||
@ -46,29 +50,21 @@
|
||||
"<9,1,1>": "1",
|
||||
"<9,1,2>": "20",
|
||||
"<9,1,3>": "L",
|
||||
"<9,1,4>": "",
|
||||
"<9,1,4>": "L",
|
||||
"<9,1,5>": "",
|
||||
"<9,1,6>": "Window Option"
|
||||
},
|
||||
"<9,2>": {
|
||||
"<9,2,1>": "2",
|
||||
"<9,2,2>": "0",
|
||||
"<9,2,3>": "L",
|
||||
"<9,2,4>": "",
|
||||
"<9,2,3>": "R",
|
||||
"<9,2,4>": "R",
|
||||
"<9,2,5>": "",
|
||||
"<9,2,6>": ""
|
||||
},
|
||||
"<9,3>": {
|
||||
"<9,3,1>": "",
|
||||
"<9,3,2>": "",
|
||||
"<9,3,3>": "",
|
||||
"<9,3,4>": "",
|
||||
"<9,3,5>": "",
|
||||
"<9,3,6>": ""
|
||||
"<9,2,6>": "2"
|
||||
}
|
||||
},
|
||||
"<10>": "L",
|
||||
"<11>": "3",
|
||||
"<11>": "2",
|
||||
"<12>": "Engineering Options",
|
||||
"<13>": "2",
|
||||
"<14>": "F",
|
||||
@ -91,8 +87,18 @@
|
||||
"<31>": "0",
|
||||
"<32>": "0",
|
||||
"<33>": "0",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<34>": "-2",
|
||||
"<35>": "-2",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
@ -198,11 +198,32 @@ Event PUB_ENG_OPTIONS.CLICK()
|
||||
ServiceModules = 'WO_MAT_QA_SERVICES'
|
||||
Services = 'UpdateQAMet'
|
||||
|
||||
Case SelOpt EQ 'UPDATE_RDS_LAYER'
|
||||
|
||||
Caption = "Updating RDS Layer specs for selected RDS cassettes..."
|
||||
ServiceModules = 'RDS_LAYER_SERVICES'
|
||||
Services = 'UpdateRDSLayerSpecs'
|
||||
|
||||
Case SelOpt EQ 'CLEAN_INSP':@VM:'QA_MET'
|
||||
Caption = "Updating Clean & Insp and QA Metrology specs for selected RDS cassettes..."
|
||||
ServiceModules = 'CLEAN_INSP_SERVICES':@VM:'WO_MAT_QA_SERVICES'
|
||||
Services = 'UpdateAllCleanInsp':@VM:'UpdateQAMet'
|
||||
|
||||
Case SelOpt EQ 'QA_MET':@VM:'UPDATE_RDS_LAYER'
|
||||
Caption = "Updating RDS Layer and QA Metrology specs for selected RDS cassettes..."
|
||||
ServiceModules = 'WO_MAT_QA_SERVICES':@VM:'RDS_LAYER_SERVICES'
|
||||
Services = 'UpdateQAMet':@VM:'UpdateRDSLayerSpecs'
|
||||
|
||||
Case SelOpt EQ 'CLEAN_INSP':@VM: 'UPDATE_RDS_LAYER'
|
||||
Caption = "Updating RDS Layer and Clean & Insp specs for selected RDS cassettes..."
|
||||
ServiceModules = 'WO_MAT_QA_SERVICES':@VM:'RDS_LAYER_SERVICES'
|
||||
Services = 'UpdateAllCleanInsp':@VM:'UpdateRDSLayerSpecs'
|
||||
|
||||
Case SelOpt EQ 'CLEAN_INSP':@VM:'QA_MET':@VM: 'UPDATE_RDS_LAYER'
|
||||
Caption = "Updating Clean & Insp, QA Metrology, and RDS Layer specs for selected RDS cassettes..."
|
||||
ServiceModules = 'CLEAN_INSP_SERVICES':@VM:'WO_MAT_QA_SERVICES' :@VM: 'RDS_LAYER_SERVICES'
|
||||
Services = 'UpdateAllCleanInsp':@VM:'UpdateQAMet' :@VM: 'UpdateRDSLayerSpecs'
|
||||
|
||||
End Case
|
||||
|
||||
If ServiceModules NE '' then
|
||||
@ -216,7 +237,12 @@ Event PUB_ENG_OPTIONS.CLICK()
|
||||
Running = Msg(@WINDOW, MsgUp, vPos, MSGINSTUPDATE$) ;* Update gas guage
|
||||
For each ServiceModule in ServiceModules using @VM setting sPos
|
||||
Service = Services<0, sPos>
|
||||
Ans = Function(@ServiceModule(Service, WOMatKey))
|
||||
If Service = 'UpdateRDSLayerSpecs' then
|
||||
RDSKey = SelRDSList<4, vPos>
|
||||
Ans = Function(@ServiceModule(Service, RDSKey))
|
||||
end else
|
||||
Ans = Function(@ServiceModule(Service, WOMatKey))
|
||||
end
|
||||
If Error_Services('HasError') then
|
||||
Error_Services('DisplayError')
|
||||
end
|
||||
@ -652,3 +678,4 @@ CheckSelectedForHolds:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -2,9 +2,10 @@ Compile function RDS_LAYER_Services(@Service, @Params)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
$insert LOGICAL
|
||||
$insert RDS_LAYER_EQUATES
|
||||
$INSERT RECIPE_PARMS_EQU
|
||||
|
||||
Declare function Database_Services, Error_Services, SRP_JSONX, SRP_JSONX_END, SRP_JSON
|
||||
Declare subroutine Error_Services, SRP_JSONX, SRP_JSONX_BEGIN, SRP_JSON
|
||||
Declare function Database_Services, Error_Services, SRP_JSONX, SRP_JSONX_END, SRP_JSON, Obj_Tables, Obj_Recipe
|
||||
Declare subroutine Error_Services, SRP_JSONX, SRP_JSONX_BEGIN, SRP_JSON, Obj_Tables, Set_Status
|
||||
|
||||
|
||||
GoToService
|
||||
@ -78,3 +79,102 @@ Service ConvertRecordToJSON(KeyID, Record, itemURL)
|
||||
end service
|
||||
|
||||
|
||||
Service UpdateRDSLayerSpecs(RDSNo)
|
||||
|
||||
IF RDSNo = '' THEN
|
||||
Error_Services('RDSNo parameter missing from service')
|
||||
return
|
||||
end
|
||||
|
||||
RDSLayerKeys = Xlate('RDS', RDSNo, 'RDS_LAYER_KEYS', 'X')
|
||||
|
||||
LayerCount = DCount(RDSLayerKeys, @FM)
|
||||
For I = 1 to LayerCount
|
||||
|
||||
RLKey = RDSLayerKeys<I>
|
||||
LayerSet = Field(RLKey, '*', 2)
|
||||
|
||||
Set_Status(0)
|
||||
RLParms = 'RDS_LAYER':@RM:RLKey
|
||||
RDSLayerRec = obj_Tables('ReadOnlyRec',RLParms)
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
Error_Services('Add', errCode)
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
RecipeNo = RDSLayerRec<RDS_LAYER_RECIPE_NO$>
|
||||
WOStepKey = XLATE('RDS',RDSNo,RDS_WO_STEP_KEY$,'X')
|
||||
PSNId = XLATE('WO_STEP',WOStepKey,1,'X')
|
||||
|
||||
IF INDEX(LayerSet,'L',1) THEN
|
||||
LayerLimits = obj_Recipe('GetLimits',RecipeNo:@RM:PSNId:@RM:LayerSet)
|
||||
|
||||
RDSLayerRec<RDS_LAYER_RECIPE_NO$> = RecipeNo
|
||||
RDSLayerRec<RDS_LAYER_DOPANT$> = LayerLimits<RP_DOPANT$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_EPI_DILUENT$> = LayerLimits<RP_EPI_DILUENT$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_EPI_TIME_MIN$> = LayerLimits<RP_DEPOSIT_TIME_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_EPI_TIME_MAX$> = LayerLimits<RP_DEPOSIT_TIME_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_DILUENT_MIN$> = LayerLimits<RP_DILUENT_FLOW_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_DILUENT_MAX$> = LayerLimits<RP_DILUENT_FLOW_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_DOPANT_FLOW_MIN$> = LayerLimits<RP_DOPANT_FLOW_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_DOPANT_FLOW_MAX$> = LayerLimits<RP_DOPANT_FLOW_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_HCL_FLOW_MIN$> = LayerLimits<RP_HCL_FLOW_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_HCL_FLOW_MAX$> = LayerLimits<RP_HCL_FLOW_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_BAKE_TIME_MIN$> = LayerLimits<RP_BAKE_TIME_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_BAKE_TIME_MAX$> = LayerLimits<RP_BAKE_TIME_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_EPI_H2_FLOW_MIN$> = LayerLimits<RP_H2_FLOW_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_EPI_H2_FLOW_MAX$> = LayerLimits<RP_H2_FLOW_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_TCS_FLOW_MIN$> = LayerLimits<RP_TCS_FLOW_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_TCS_FLOW_MAX$> = LayerLimits<RP_TCS_FLOW_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_DCS_FLOW_MIN$> = LayerLimits<RP_DCS_FLOW_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_DCS_FLOW_MAX$> = LayerLimits<RP_DCS_FLOW_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_AUX1_MIN$> = LayerLimits<RP_AUX1_FLOW_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_AUX1_MAX$> = LayerLimits<RP_AUX1_FLOW_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_AUX2_MIN$> = LayerLimits<RP_AUX2_FLOW_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_AUX2_MAX$> = LayerLimits<RP_AUX2_FLOW_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_F_OFFSET_MIN$> = LayerLimits<RP_FOFFSET_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_F_OFFSET_MAX$> = LayerLimits<RP_FOFFSET_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_S_OFFSET_MIN$> = LayerLimits<RP_SOFFSET_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_S_OFFSET_MAX$> = LayerLimits<RP_SOFFSET_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_R_OFFSET_MIN$> = LayerLimits<RP_ROFFSET_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_R_OFFSET_MAX$> = LayerLimits<RP_ROFFSET_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_SUSC_ETCH_MIN$> = LayerLimits<RP_SUSC_ETCH_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_SUSC_ETCH_MAX$> = LayerLimits<RP_SUSC_ETCH_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_ETCH1_MIN$> = LayerLimits<RP_ETCH1_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_ETCH1_MAX$> = LayerLimits<RP_ETCH1_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_ETCH2_MIN$> = LayerLimits<RP_ETCH2_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_ETCH2_MAX$> = LayerLimits<RP_ETCH2_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_ETCH3_MIN$> = LayerLimits<RP_ETCH3_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_ETCH3_MAX$> = LayerLimits<RP_ETCH3_MAX$>
|
||||
|
||||
RDSLayerRec<RDS_LAYER_UL_TEMP_MIN$> = LayerLimits<RP_UL_TEMP_MIN$>
|
||||
RDSLayerRec<RDS_LAYER_UL_TEMP_MAX$> = LayerLimits<RP_UL_TEMP_MAX$>
|
||||
|
||||
END
|
||||
|
||||
RLParms = FieldStore(RLParms, @RM, 4, 1, RDSLayerRec)
|
||||
obj_Tables('WriteOnlyRec',RLParms)
|
||||
|
||||
Next I
|
||||
|
||||
end service
|
||||
|
Reference in New Issue
Block a user