Readonlyschema: { access:Typed< "public" |"package_private", { choices:{ package_private:{ label:"This application scope only"; sequence:2; }; public:{label:"All application scopes";sequence:1}; }; default:"public"; dropdown:"dropdown_without_none"; label:"Accessible from"; }, >; actions_access:Typed< boolean, { default:false; label:[ { hint:"Allow design time configuration of UI actions on this table from other application scopes"; label:"Allow UI actions"; plural:"Allow UI actions"; }, ]; }, >; alter_access:Typed< boolean, { default:false; label:[ { hint:"Allow design time configuration of new fields on this table from other application scopes"; label:"Allow new fields"; plural:"Allow new fields"; }, ]; }, >; caller_access:Typed< 1 |2, { attributes:{edge_encryption_enabled:true;update_exempt:true}; choices:{ "1":{label:"Caller Tracking"}; "2":{label:"Caller Restriction"}; }; dropdown:"dropdown_with_none"; label:"Caller Access"; }, >; client_scripts_access:Typed< boolean, { default:false; label:[ { hint:"Allow design time configuration of new fields on this table from other application scopes"; label:"Allow client scripts"; plural:"Allow client scripts"; }, ]; }, >; configuration_access:Typed< boolean, { default:false; label:[ { hint:"Allow design time configuration of this table from other application scopes"; label:"Allow configuration"; plural:"Allow configurations"; }, ]; }, >; create_access:Typed< boolean, { default:false; label:[ { hint:"Allow other application scopes to run scripts that create data in this table"; label:"Can create"; plural:"Can create"; }, ]; }, >; create_access_controls:Typed< boolean, { label:[ { hint:"Select to automatically create basic access controls rules for this table"; label:"Create access controls"; plural:"Create access controls"; }, ]; }, >; delete_access:Typed< boolean, { default:false; label:[ { hint:"Allow other application scopes to run scripts that delete data from this table"; label:"Can delete"; plural:"Can delete"; }, ]; }, >; extension_model:Typed< "class" |"hierarchy" |"partition", { attributes:{loader_exempt:true;saver_exempt:"exempt_always"}; choices:{ class:{ hint:"The default/classic model using one relational table per class"; label:"Table per class"; sequence:0; }; hierarchy:{ hint:"A model using a single relational table containing all classes in the whole hierarchy"; label:"Table per hierarchy"; sequence:1; }; partition:{ hint:"A model using multiple flat partitioned relational tables containing all classes in the whole hierarchy"; label:"Table per partition"; sequence:2; }; }; dropdown:"dropdown_with_none"; label:[ { hint:"Mapping model between the logical table structure and actual database tables"; label:"Extension model"; plural:"Extension models"; }, ]; readOnly:true; readOnlyOption:"strict_read_only"; }, >; filter_extension:Typed< string, { label:[ { hint:"Encoded query for records in the parent class that are part of this class"; label:"Filter extension"; plural:"Filter extensions"; }, ]; maxLength:255; readOnly:true; readOnlyOption:"strict_read_only"; }, >; is_data_interface:Typed<boolean,{label:"Is Data Interface"}>; is_df_table:Typed<boolean,{label:"DataFabric Table"}>; is_extendable:Typed< boolean, { default:false; label:[ { hint:"Allow other tables to extend this table"; label:"Extensible"; plural:"Extensibles"; }, ]; }, >; label:Typed< string |number, { columnType:"documentation_field"; label:[ { hint:"The display name for this table that can be localized"; label:"Label"; plural:"Labels"; }, ]; mandatory:true; maxLength:80; }, >; live_feed_enabled:Typed< boolean, { default:false; label:[ { hint:"Flag to determine if live feed should be enabled for this table"; label:"Live feed"; plural:"Live feed"; }, ]; }, >; name:Typed< string, { label:[ { hint:"The internal name of the table that cannot later be changed"; label:"Name"; plural:"Name"; }, ]; mandatory:true; maxLength:80; tableReference:true; }, >; number_ref:Typed< |string |Record<"sys_number"> |ExplicitKey<"sys_number"> |TableBrand<"sys_number">, { dynamicRefQual:"a4849a905f220100a9ad2572f2b477b0"; label:[ { hint:"Reference to number maintenance record"; label:"Auto number"; plural:"Auto numbers"; }, ]; referenceQual:"javascript:current.addQuery('category', current.name);"; referenceTable:"sys_number"; }, >; provider_class:Typed< string, { label:[ { hint:"ITable interface provider"; label:"Provider class"; plural:"Provider class"; }, ]; maxLength:100; }, >; read_access:Typed< boolean, { default:true; label:[ { hint:"Allow other application scopes to run scripts that read data from this table"; label:"Can read"; plural:"Can read"; }, ]; }, >; scriptable_table:Typed<boolean,{label:"Remote Table"}>; super_class:Typed< |string |Record<"sys_db_object"> |ExplicitKey<"sys_db_object"> |TableBrand<"sys_db_object">, { attributes:{allow_public:true;readonly_clickthrough:true}; label:[ { hint:"Table this table inherits fields from"; label:"Extends table"; plural:"Extends table"; }, ]; referenceQual:"is_extendable=true"; referenceTable:"sys_db_object"; useReferenceQualifier:"simple"; }, >; sys_class_code:Typed< string |number, { attributes:{loader_exempt:true;saver_exempt:"exempt_always"}; columnType:"sys_class_code"; label:"Sys class code"; }, >; sys_class_path:Typed< string |number, { attributes:{loader_exempt:true;saver_exempt:"exempt_always"}; columnType:"sys_class_path"; label:[{label:"Sys class path";plural:"Sys class paths"}]; maxLength:255; }, >; sys_id:Typed< string |number, { active:true; column_type:"GUID"; label:"Sys ID"; mandatory:false; read_only:false; }, >; update_access:Typed< boolean, { default:false; label:[ { hint:"Allow other application scopes to run scripts that update data in this table"; label:"Can update"; plural:"Can update"; }, ]; }, >; user_role:Typed< |string |Record<"sys_user_role"> |ExplicitKey<"sys_user_role"> |TableBrand<"sys_user_role">, { dynamicCreation:true; dynamicCreationScript:"var existing = new GlideRecord(current.getTableName());\r\n existing.query('name', value);\r\n if (existing.next()) {\r\n existing.sys_id.toString();\r\n } else {\r\n current.name = value;\r\n if (current.sys_scope.nil())\r\n current.sys_scope = parent.sys_scope;\r\n if (! current.sys_scope.nil() && current.getValue(\"sys_scope\") !== \"global\")\r\n current.suffix = getSuffix(value);\r\n current.insert();\r\n }\r\n function getSuffix(name) {\r\n if (null == name || typeof name == 'undefined' || name.length < 1 || !name)\r\n return '';\r\n var nameArr = name.split('.');\r\n if (nameArr.length < 2)\r\n return \"\";\r\n nameArr.shift();\r\n return nameArr.join(\".\");\r\n }"; label:[ { hint:"Role required for end users to access this table"; label:"User role"; plural:"User roles"; }, ]; referenceTable:"sys_user_role"; }, >; ws_access:Typed< boolean, { default:true; label:[ { hint:"Flag to determine if web service calls can be made to this table"; label:"Allow access to this table via web services"; plural:"Allow access to this table via web services"; }, ]; }, >; }