{
    "header": {
        "version": 1,
        "type": "record"
    },
    "body": {
        "record1": {
            "<1>": "declare subroutine set_list_box_data\r\ndeclare function set_property, fieldcount, center_window\r\n$insert quote_spec_equ\r\n$insert lsl_common\r\n\r\nif index( CreateParam, 'CENTER', 1 ) then\r\n    Void = center_window( @window )\r\nend else\r\n    Void = set_property( @window, 'VISIBLE', 1 )\r\nend\r\nDetailLine = field( CreateParam, char(244), 1 )\r\n.quote_detail_line->array = DetailLine\r\nSubstrateInfo = field( CreateParam, char(244), 2 )\r\nAllEpiInfo       = field( CreateParam, char(244), 3 )\r\nEpiInfo       = field( AllEpiInfo, char(245), 1 )\r\nOtherEpiInfo  = field( AllEpiInfo, char(245), 2 )\r\nconvert @svm to @fm in EpiInfo ;* for the conc mv mess\r\nif EpiInfo = '' then \r\n   EpiInfo = @fm:@rm:@fm; * for conc mess\r\nend\r\nNumLayers = fieldcount( EpiInfo, char(247) )\r\nButText = .same_reactor_button->text\r\nButText := ' 1'\r\n.same_reactor_button->text = ButText\r\n.sep_reactor_layer_desc->text = '1 of ':NumLayers\r\nFirstLayer    = field( EpiInfo, char(247), 1 )\r\nFirstLayer    = field( FirstLayer, char(248), 1 )\r\nVoid = set_property( @window, '@CurSepLayer', 1 )\r\nVoid = set_property( @window, '@EpiInfo', EpiInfo )\r\nVoid = set_property( @window, '@OrigEpiInfo', EpiInfo )\r\n\r\n* first load the substrate specific prompts\r\nControls = 'SUB_ORIENTATION/SUB_TYPE/SUB_WAFERSIZE/SUB_RESISTIVITY/SUB_REST_UNITS/'\r\nControls:= 'SUB_DOPANT/SUB_PRE_CLEAN/SUB_BL1_DOPANT/SUB_BL2_DOPANT/'\r\nControls:= 'SUB_OXIDE/SUB_POST_CLEAN/SUB_RADIAL_GRADIENT_RES/'\r\nControls:= 'SUB_CARBON/SUB_DIS_DENSITY/SUB_INSTRUCTIONS/SUB_OTHER_SPECS/'\r\nswap '/' with @rm:@window:'.' in Controls\r\nControls = @window:'.':Controls\r\nVoid = set_property( @window, '@SubControls', Controls )\r\nSubPromptCnt  = fieldcount( Controls, @rm )\r\n* so set_property does not propagate\r\nValueCnt = fieldcount( SubstrateInfo, @vm )\r\nif ValueCnt < SubPromptCnt then\r\n   SubstrateInfo := str( @vm, SubPromptCnt-ValueCnt-1 )\r\nend\r\n* ok\r\nVoid = set_property( @window, '@OrigSubstrateInfo', SubstrateInfo )\r\nconvert @vm to @rm in SubstrateInfo\r\nVoid = set_property( Controls, 'INVALUE', SubstrateInfo )\r\n\r\n* now load the EPI specific prompts\r\nControls = 'EPI_CONC_MIN_THICK/EPI_CONC_MAX_THICK/EPI_CONC_UNITS/'\r\nControls:= 'EPI_RES_MIN_THICK/EPI_RES_MAX_THICK/EPI_RES_UNITS/EPI_MIN_THICK/'\r\nControls:= 'EPI_MAX_THICK/EPI_THICK_UNITS/EPI_DOPANT/EPI_RECIPE/EPI_RECIPE_NAME'\r\nswap '/' with @rm:@window:'.' in Controls\r\nControls = @window:'.':Controls\r\nVoid = set_property( @window, '@EpiControls', Controls )\r\nEpiPromptCnt = fieldcount( Controls, @rm )\r\nVoid = set_property( @window, '@EpiPromptCnt', EpiPromptCnt )\r\nValueCnt = fieldcount( FirstLayer, @vm )\r\n* so set_property does not propagate\r\nif ValueCnt < EpiPromptCnt then\r\n   FirstLayer := str( @vm, EpiPromptCnt-ValueCnt-1 )\r\nend\r\n* ok\r\nconvert @vm to @rm in FirstLayer\r\nVoid = set_property( Controls, 'LIST':@rm:'LIST':@rm:'INVALUE', FirstLayer )\r\n*\r\n* now load the other EPI specific prompts\r\nControls = 'OEPI_THICKMEASURE/OEPI_RESMEASURE/'\r\nControls:= 'OEPI_THICK_TOL/OEPI_THICK_WWTOL/OEPI_RES_TOL/OEPI_RES_WWTOL/'\r\nControls:= 'OEPI_DOP_TRANS/OEPI_LPDEF/OEPI_SLIP/OEPI_STACK_FAULTS/'\r\nControls:= 'OEPI_STRESS/OEPI_EDGE_CROWN/OEPI_M_CONTAM'\r\nswap '/' with @rm:@window:'.' in Controls\r\nControls = @window:'.':Controls\r\nVoid = set_property( @window, '@OtherEpiControls', Controls )\r\nOEpiPromptCnt = fieldcount( Controls, @rm )\r\nValueCnt = fieldcount( OtherEpiInfo, @vm )\r\n* so set_property does not propagate\r\nif ValueCnt < OEpiPromptCnt then\r\n   OtherEpiInfo := str( @vm, OEpiPromptCnt-ValueCnt-1 )\r\nend\r\n* ok\r\nVoid = set_property( @window, '@OrigOtherEpiInfo', OtherEpiInfo )\r\nconvert @vm to @rm in OtherEpiInfo\r\nVoid = set_property( Controls, 'INVALUE', OtherEpiInfo )\r\n\r\nset_list_box_data( @window )\r\nRETURN 0"
        }
    }
}