{
    "header": {
        "version": 1,
        "type": "record"
    },
    "body": {
        "record1": {
            "<1>": "declare subroutine rlist, set_list_box_data, security_err_msg, sendmessage, utility, obj_AppWindow\r\nDECLARE SUBROUTINE Set_Property, Comm_Prod_Spec\r\ndeclare function send_event, set_property, end_window, security_check\r\ndeclare function center_window, getwindow, fieldcount, send_message\r\n\r\n$insert security_rights_equ\r\n$insert rlist_equates\r\n$insert lsl_common\r\n$insert logical\r\n$insert PS_Equates\r\n\r\n\r\nGaNFormVisible = Get_Property('DBW_PROD_SPEC_GAN', 'VISIBLE')\r\nIf GaNFormVisible then\r\n\tUtility('DESTROY', 'DBW_PROD_SPEC_GAN')\r\nend\r\n\r\nComm_Prod_Spec('Create')\r\n\r\nif index( CreateParam,'Choosing', 1 ) then\r\n    PrevWindow = field( CreateParam, '*', 3 )\r\n    Void = set_property( @window, '@PrevWindow', PrevWindow )\r\n    .ret_psn_button->visible = 1\r\n    Ttext = .ret_psn_button->text\r\n    Ttext := ' ':PrevWindow\r\n    .ret_psn_button->text = Ttext\r\nend\r\n*\r\nCustIdToStamp = field( CreateParam, '*', 4, 1 ) ;* will be set when called from quote\r\n                                             ;* with option goto quote window\r\n                                             ;* this is to stamp the cust id\r\n                                             ;* it will be checked for in the gotfocus of custid\r\nVoid = set_property( @window, '@CustIdToStamp', CustIdToStamp )\r\n*\r\n\r\nKeys = field( CreateParam, '*', 1 )\r\nif Keys then\r\n   if fieldcount( Keys, @vm ) > 1 then\r\n       * need to send to qbf\r\n\t   convert @vm to @fm in Keys\r\n\t   Void = set_property( @window, 'QBFLIST', Keys )\r\n\t   Void = set_property( @window, '@NoRead', 1 ) \r\n\t   .prod_spec_id->text = Keys<1>\r\n\t   Void = send_event( @window, 'READ' )\r\n\t   Void = set_property( @window, '@NoRead', 0 )\r\n   end else\r\n       .prod_spec_id->text = Keys\r\n       Void = send_event( @window:'.PROD_SPEC_ID', 'LOSTFOCUS', '' )\r\n   end\r\nend \r\n\r\nSurfScanRecipes = XLATE('LISTBOX_CONFIG','SURFSCAN_RECIPES','','X')\r\n\r\nCONVERT @VM TO @FM IN SurfScanRecipes\r\n\r\nCtrls = @WINDOW:'.PRE_SURFSCAN_RECIPE':@RM\t\t; Props  = 'LIST':@RM\t\t; Vals  = SurfScanRecipes:@RM\r\nCtrls := @WINDOW:'.POST_SURFSCAN_RECIPE':@RM\t; Props := 'LIST':@RM\t\t; Vals := SurfScanRecipes:@RM\r\nCtrls := @WINDOW:'.CLEAN_SURFSCAN_RECIPE'\t\t; Props := 'LIST'\t\t\t; Vals := SurfScanRecipes\r\n\r\nSet_Property(Ctrls,Props,Vals)\r\n\r\n\r\nif security_check( 'Prod Spec', Read$ ) then\r\n   set_list_box_data( @window )\r\nend else\r\n   security_err_msg( 'Prod Spec', Read$ )\r\n   Void = end_window( @window, '' )\r\n   return 0\r\nend\r\nif security_check( 'Prod Spec', Edit$ ) else\r\n   security_err_msg( 'Prod Spec', Edit$ )\r\nend\r\n\r\nRETURN 0\r\n\r\n"
        }
    }
}