181 lines
9.3 KiB
Plaintext
181 lines
9.3 KiB
Plaintext
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, Obj_Tables, Obj_Recipe
|
|
Declare subroutine Error_Services, SRP_JSONX, SRP_JSONX_BEGIN, SRP_JSON, Obj_Tables, Set_Status
|
|
|
|
|
|
GoToService
|
|
|
|
Return Response or ""
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// SERVICES
|
|
//-----------------------------------------------------------------------------
|
|
|
|
Service ConvertRecordToJSON(KeyID, Record, itemURL)
|
|
|
|
jsonRecord = ''
|
|
|
|
If KeyID NE '' then
|
|
If Record EQ '' then Record = Database_Services('ReadDataRow', 'RDS_LAYER', KeyID)
|
|
If Error_Services('NoError') then
|
|
@DICT = Database_Services('GetTableHandle', 'DICT.RDS_LAYER')
|
|
@ID = KeyID
|
|
@RECORD = Record
|
|
If SRP_JSON(objRDSLayer, 'New', 'Object') then
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'keyID', @ID)
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'EpiTime', OCONV(Record<RDS_LAYER_EPI_TIME$>, 'MD1'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'DiluentAdjParam', OCONV(Record<RDS_LAYER_DILUENT_ADJ_PARAM$>,'MD2'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'DopantFlow', OCONV(Record<RDS_LAYER_DOPANT_FLOW$>,'MD2'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'HCLFlow', OCONV(Record<RDS_LAYER_HCL_FLOW$>,'MD2'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'BakeTime', OCONV(Record<RDS_LAYER_BAKE_TIME$>,'[SECONDS_CONV]'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'EpiH2Flow', OCONV(Record<RDS_LAYER_EPI_H2_FLOW$>,'MD0'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'TCSFlow', OCONV(Record<RDS_LAYER_TCS_FLOW$>, 'MD1'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'DCSFlow', OCONV(Record<RDS_LAYER_DCS_FLOW$>,'MD0'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'FOffset', OCONV(Record<RDS_LAYER_F_OFFSET$>,'MD0'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'SOffset', OCONV(Record<RDS_LAYER_S_OFFSET$>,'MD0'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'ROffset', OCONV(Record<RDS_LAYER_R_OFFSET$>,'MD0'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'Etch1', OCONV(Record<RDS_LAYER_ETCH1$>,'[SECONDS_CONV]'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'Etch2', OCONV(Record<RDS_LAYER_ETCH2$>,'[SECONDS_CONV]'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'Etch3', OCONV(Record<RDS_LAYER_ETCH3$>,'[SECONDS_CONV]'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'AUX1', OCONV(Record<RDS_LAYER_AUX1$>,'[SECONDS_CONV]'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'AUX2', OCONV(Record<RDS_LAYER_AUX2$>,'[SECONDS_CONV]'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'ULTemp', OCONV(Record<RDS_LAYER_UL_TEMP$>,'MD0'))
|
|
SRP_JSON(objRDSLayer, 'SetValue', 'SuscEtch', OCONV(Record<RDS_LAYER_SUSC_ETCH$>,'MD1'))
|
|
jsonRecord = SRP_JSON(objRDSLayer, 'Stringify', 'Styled')
|
|
SRP_JSON(objRDSLayer, 'Release')
|
|
|
|
end
|
|
* SRP_JsonX_Begin('rdslayer', '{')
|
|
* SRP_JsonX('keyId',@ID)
|
|
* SRP_JsonX('EpiTime', OCONV(Record<RDS_LAYER_EPI_TIME$>, 'MD1'))
|
|
* SRP_JsonX('DiluentAdjParam', OCONV(Record<RDS_LAYER_DILUENT_ADJ_PARAM$>,'MD2'))
|
|
* SRP_JsonX('DopantFlow', OCONV(Record<RDS_LAYER_DOPANT_FLOW$>,'MD2'))
|
|
* SRP_JsonX('HCLFlow', OCONV(Record<RDS_LAYER_HCL_FLOW$>,'MD2'))
|
|
* SRP_JsonX('BakeTime', OCONV(Record<RDS_LAYER_BAKE_TIME$>,'[SECONDS_CONV]'))
|
|
* SRP_JsonX('EpiH2Flow', OCONV(Record<RDS_LAYER_EPI_H2_FLOW$>,'MD0'))
|
|
* SRP_JsonX('TCSFlow', OCONV(Record<RDS_LAYER_TCS_FLOW$>, 'MD1'))
|
|
* SRP_JsonX('DCSFlow', OCONV(Record<RDS_LAYER_DCS_FLOW$>,'MD0'))
|
|
* SRP_JsonX('FOffset', OCONV(Record<RDS_LAYER_F_OFFSET$>,'MD0'))
|
|
* SRP_JsonX('SOffset', OCONV(Record<RDS_LAYER_S_OFFSET$>,'MD0'))
|
|
* SRP_JsonX('ROffset', OCONV(Record<RDS_LAYER_R_OFFSET$>,'MD0'))
|
|
* SRP_JsonX('Etch1', OCONV(Record<RDS_LAYER_ETCH1$>,'[SECONDS_CONV]'))
|
|
* SRP_JsonX('Etch2', OCONV(Record<RDS_LAYER_ETCH2$>,'[SECONDS_CONV]'))
|
|
* SRP_JsonX('Etch3', OCONV(Record<RDS_LAYER_ETCH3$>,'[SECONDS_CONV]'))
|
|
* SRP_JsonX('AUX1', OCONV(Record<RDS_LAYER_AUX1$>,'[SECONDS_CONV]'))
|
|
* SRP_JsonX('AUX2', OCONV(Record<RDS_LAYER_AUX2$>,'[SECONDS_CONV]'))
|
|
* SRP_JsonX('ULTemp', OCONV(Record<RDS_LAYER_UL_TEMP$>,'MD0'))
|
|
* SRP_JsonX('SuscEtch', OCONV(Record<RDS_LAYER_SUSC_ETCH$>,'MD1'))
|
|
* jsonRecord = SRP_JsonX_End('Pretty')
|
|
end
|
|
end else
|
|
Error_Services('Add', 'KeyID argument was missing in the ' : Service : ' service.')
|
|
end
|
|
Response = jsonRecord
|
|
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
|