Courseiva

CCNA Creating and customizing tables and data Questions

47 questions · Creating and customizing tables and data · All types, answers revealed

1
Multi-Selectmedium

Which TWO are required for a reference field to automatically filter its choices based on the value of another field on the form (cascading)?

Select 2 answers
A.The dependent field (parent) must be a reference field
B.The reference qualifier must be a script that uses the parent field's value
C.Both fields must be on the same form
D.The reference table must have a field with the same name as the parent field
E.The form must include the parent field and the reference field
AnswersB, E

This script dynamically filters the choices based on the parent field.

Why this answer

Options B and E are correct. For a reference field to filter its choices based on the value of another field (cascading), the reference qualifier must be a script that uses the parent field's value (B). Additionally, the parent field must be present on the form containing the reference field (E).

Option A is incorrect because the parent field does not need to be a reference field; it can be any field type. Option C is incorrect because, although the fields are on the same form, this condition is already covered by E. Option D is incorrect because there is no requirement for matching field names on the reference table.

2
MCQhard

A developer is working with a custom table 'u_project_task' that has a reference field 'u_project' pointing to the 'project' table. The developer wants to create a new field 'u_category' that lists values from a choice list, but the list should be filtered based on the value of 'u_project.u_type'. Which field type should be used?

A.Choice field with a dependent choice list
B.Choice field with a static choice list
C.Calculated value using a script
D.Reference field to a table of categories
AnswerA

Dependent choice lists allow filtering based on a parent field.

Why this answer

A choice field with a dependent choice list allows the list of values in 'u_category' to be dynamically filtered based on the value of another field, in this case 'u_project.u_type'. This is the standard ServiceNow approach for creating cascading or conditional choice lists without custom scripting.

Exam trap

ServiceNow often tests the misconception that a calculated value or script can provide a dynamic choice list, but calculated values are for auto-populating fields, not for presenting filtered selection options to the user.

How to eliminate wrong answers

Option B is wrong because a static choice list provides a fixed set of values that cannot change based on the value of another field, so it cannot meet the requirement for filtering based on 'u_project.u_type'. Option C is wrong because a calculated value using a script is used to compute a field's value automatically, not to provide a filtered choice list for user selection. Option D is wrong because a reference field to a table of categories would require creating a separate table and records, which is overkill and does not leverage the built-in choice list filtering mechanism; it also does not inherently filter based on 'u_project.u_type'.

3
Multi-Selecthard

Which THREE of the following attributes can be set on a dictionary entry to affect how a field behaves?

Select 3 answers
A.Display
B.Mandatory
C.Default value
D.Calculated
E.Reference qualifier
AnswersB, C, D

Mandatory forces the field to be required, directly affecting field behavior.

Why this answer

Options B, C, and D are correct dictionary attributes that affect field behavior. 'Mandatory' (B) forces the field to be required. 'Default value' (C) sets an initial value for the field. 'Calculated' (D) enables a scripted calculated value, directly affecting how the field's value is determined. Option A ('Display') is a dictionary attribute that primarily controls which field to display in a reference field, not directly affecting field behavior. Option E ('Reference qualifier') is also a dictionary attribute, but it filters the records shown in a reference field, affecting record selection rather than the field's own behavior.

4
MCQmedium

An organization wants to store customer feedback data in a custom table. The feedback will have a large text field for comments, a reference to the customer, and a date field. Which data type should be used for the comments field to support rich text including HTML?

A.Report Text
B.String
C.HTML
D.Journal Entry
AnswerC

HTML data type stores and renders rich text with HTML tags.

Why this answer

The 'HTML' data type stores rich text with HTML formatting. Option A is wrong because 'String' does not support HTML rendering. Option B is wrong because 'Journal Entry' is for audit trail.

Option D is wrong because 'Report Text' is not a valid data type.

5
MCQmedium

A ServiceNow administrator is responsible for setting up a custom table called 'u_incident_change' to track incidents that require a change request. Each 'u_incident_change' record must be linked to exactly one incident and one change request. The administrator creates two reference fields: 'incident_ref' pointing to the 'Incident' table, and 'change_ref' pointing to the 'Change Request' table. However, after deployment, users report that when they create a new 'u_incident_change' record from an incident form (using a related list), the 'incident_ref' field is automatically populated, but the 'change_ref' field is empty. The users want to be able to create a change request directly from that same form and have the reference automatically filled. What configuration should the administrator use to achieve this?

A.Create a UI Action labeled 'Create Change Request' on the incident form that runs a script to create a new 'u_incident_change' record with both references populated and then opens the change request form
B.Configure the related list to automatically create the 'u_incident_change' record with both references when a change request is added
C.Use a business rule on the 'u_incident_change' table that auto-populates the 'change_ref' when the record is created from a related list
D.Add a reference field on the Incident table that points to the 'u_incident_change' table
AnswerA

This UI Action can script the creation of the change request and the junction record, setting both references, and provide a seamless user experience.

Why this answer

A UI Action with a script creates the change request and sets the reference fields accordingly. Option B is wrong because referenced records don't auto-populate. Option C is wrong because business rules run on records, not UI.

Option D is wrong because related lists don't create records with cross-reference.

6
MCQhard

A custom table 'u_asset' extends the 'cmdb_ci' table. Users report that the 'manufacturer' field is not visible on the 'u_asset' form. What is the most likely cause?

A.The manufacturer field is not part of the cmdb_ci table
B.The u_asset form layout does not include the manufacturer field
C.An ACL on the u_asset table hides the manufacturer field
D.The dictionary entry for manufacturer has mandatory set to false
AnswerB

Child table forms are separate and must be configured to show inherited fields.

Why this answer

The form layout for the custom table 'u_asset' is separate from the parent 'cmdb_ci' form layout. Even though 'manufacturer' is inherited from 'cmdb_ci', it must be explicitly added to the u_asset form layout. Option A is wrong because the manufacturer field is indeed part of the cmdb_ci table.

Option C is incorrect because ACLs control access but do not hide fields from the form layout unless configured; ACLs are not the likely cause. Option D is irrelevant because mandatory setting does not affect visibility.

7
MCQeasy

Which table property can be set to limit the creation of new records to certain roles?

A.Allow attachment
B.Abbreviated table
C.Create access
D.Effective access
AnswerC

This restricts record creation to specified roles.

Why this answer

The 'Create access' property on a table specifies which roles are allowed to create new records. Option A is incorrect: 'Allow attachment' controls whether users can add attachments to records, not creation. Option B is incorrect: 'Abbreviated table' sets a short name or prefix for the table, not access control.

Option D is incorrect: 'Effective access' is a read-only property showing the user's current access rights, not a setting to restrict creation.

8
MCQmedium

A table 'u_inventory' has a reference field to the 'Location' table. The developer wants the reference field to display the location name instead of the sys_id in the form. Which attribute should be configured?

A.Default value
B.Reference qualifier
C.Reference display field
D.Display field in the Location table
AnswerC

This attribute sets the field displayed for the referenced record.

Why this answer

'Reference display field'. This attribute on the dictionary entry of the reference field specifies which field from the referenced table (Location) to display in the form. Option A is wrong because 'Default value' sets a default value for the field, not the display.

Option B is wrong because 'Reference qualifier' filters which records are available in the reference field. Option D is wrong because the 'Display' field on the Location table controls the default display of that table's records globally, but for a specific reference field, the 'Reference display field' overrides it.

9
Matchingmedium

Match each ServiceNow update set state to its meaning.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Update set is being worked on

All changes have been captured and committed locally

Update set has been applied to the target instance

Update set will not be committed

Update set is being tested for conflicts

Why these pairings

Update set states control the lifecycle of change tracking. 'In progress' indicates active work, 'Complete' indicates all changes are added, 'Committed' indicates the set is applied to an instance, and 'Submitted' indicates it is sent for review. Common confusions include swapping 'In progress' and 'Complete' definitions.

10
MCQmedium

Refer to the exhibit. A developer wrote this script in a Business Rule on the 'incident' table. The script runs but the 'u_field' value is not saved. What is the most likely cause?

A.The script has a syntax error
B.The setValue method does not exist on GlideElement
C.The u_field is defined as read-only
D.The method should be setDisplayValue, not setValue
AnswerC

Read-only fields ignore setValue.

Why this answer

If the 'u_field' is defined as read-only (e.g., via dictionary attribute or ACL), the setValue method fails silently, meaning the value is not saved but no error is thrown. Option A is incorrect because the script appears syntactically correct. Option B is incorrect because setValue does exist on GlideElement.

Option D is incorrect because setValue is the appropriate method for setting field values; setDisplayValue is used for setting display values, not database values.

11
Multi-Selecthard

An administrator is designing a data model to manage vendor contracts. The solution must allow contracts to be associated with multiple departments and multiple vendors. Which THREE approaches are valid to model this many-to-many relationship in ServiceNow? (Choose three.)

Select 3 answers
A.Create an intermediate table 'ContractDepartment' with reference fields to Contract and Department
B.Create a single 'Department' field on the Contract table and use it to store all department records
C.Use a 'GlideList' field type on the Contract table to reference multiple departments
D.Use a 'Multi-reference field' (sys_multi_reference) on the Contract table to reference multiple departments
E.Use a 'String' field on the Contract table to store a comma-separated list of department sys_ids
AnswersA, C, D

An intermediate table is the standard relational database approach for many-to-many relationships.

Why this answer

Options A, C, and D are valid approaches for modeling a many-to-many relationship in ServiceNow. Option A creates an intermediate table with reference fields, which is a standard relational method. Option C uses a GlideList field, which allows storing multiple references in a single field and can be used for many-to-many relationships.

Option D uses a multi-reference field, which is specifically designed for many-to-many relationships. Option B is invalid because a single 'Department' field cannot store multiple records. Option E is invalid because storing comma-separated sys_ids in a String field is not a recommended practice and breaks data integrity.

12
MCQhard

Refer to the exhibit. A developer created this dictionary override for a new field. When saving, an error occurs. What is the cause?

A.The label 'Custom Count' contains spaces
B.Integer fields do not support the max_length property
C.internal_type should be 'integer' not 'integer' (typo)
D.The JSON properties must be in alphabetical order
AnswerB

max_length applies only to string and similar types.

Why this answer

Integer fields in ServiceNow do not support the max_length attribute; that property is only applicable to string fields. The system rejects the dictionary override because max_length is invalid for an integer. Option A is wrong because labels can contain spaces.

Option C is wrong because 'integer' is correctly spelled; the issue is not a typo. Option D is wrong because the order of JSON properties does not matter in dictionary overrides.

13
MCQhard

An organization has a custom table 'u_incident_task' that extends 'task'. They need to allow users to create records in this table from the 'Incidents' module. The 'u_incident_task' table should appear as a related list on the incident form. However, the related list is not showing the 'New' button. What is the most likely cause?

A.There is no reference field on 'u_incident_task' pointing to the incident table
B.The table is in a different application scope
C.The table does not extend 'incident'
D.The user does not have the required role
AnswerA

A reference field is needed to associate records and enable creation.

Why this answer

The 'New' button appears on a related list only when there is a reference field on the target table (u_incident_task) that points back to the source table (incident). Without this reference field, the platform cannot automatically populate the parent record's sys_id when creating a new child record, so it suppresses the 'New' button. This is a core requirement for related list creation in ServiceNow.

Exam trap

ServiceNow often tests the misconception that extending a table or having the correct role is sufficient for related list functionality, but the critical missing piece is the reference field that establishes the parent-child relationship.

How to eliminate wrong answers

Option B is wrong because application scope does not affect the visibility of the 'New' button on a related list; scopes control access to tables and scripts but not the related list button logic. Option C is wrong because extending 'task' is correct for a task-based table; extending 'incident' would be inappropriate and would not fix the missing 'New' button issue. Option D is wrong because roles control whether a user can see or interact with the related list, but the 'New' button's absence is a configuration issue, not a role-based permission issue.

14
MCQmedium

A company has a custom table 'u_employee' with fields: 'first_name', 'last_name', 'department'. They want to create a unique index on the combination of 'last_name' and 'department' to prevent duplicate entries. Where should this index be defined?

A.In the table schema map
B.In the table's dictionary record via the Indexes related list
C.In the dictionary entry for each field
D.In the sys_dictionary table directly
AnswerB

Indexes are added to the table's dictionary.

Why this answer

In ServiceNow, a unique index on a custom table is defined in the table's dictionary record via the Indexes related list. This is the correct location because ServiceNow uses the table's dictionary metadata to manage indexes, and the Indexes related list allows you to specify unique constraints directly on the table definition, ensuring the database enforces uniqueness on the combination of 'last_name' and 'department'.

Exam trap

The trap here is that candidates often confuse field-level dictionary entries (Option C) with table-level index configuration, mistakenly thinking a unique constraint can be set on individual field dictionary records rather than through the table's Indexes related list.

How to eliminate wrong answers

Option A is wrong because the table schema map is used for mapping external database schemas to ServiceNow tables, not for defining indexes. Option C is wrong because dictionary entries for individual fields store field-level metadata (e.g., type, length), but they cannot define composite unique indexes spanning multiple fields. Option D is wrong because the sys_dictionary table stores field definitions, not table-level index configurations; directly modifying sys_dictionary would bypass ServiceNow's intended metadata management and could cause data integrity issues.

15
Multi-Selecteasy

Which TWO of the following are valid table types in ServiceNow?

Select 2 answers
A.Dictionary
B.Application
C.UI page
D.Extendible
E.Database view
AnswersD, E

Extendible tables allow other tables to inherit from them.

Why this answer

Options D and E are correct. 'Extendible' (tables that can be extended) and 'Database view' (virtual tables based on SQL views) are valid table types in ServiceNow. Option A is incorrect because 'Dictionary' is a table that stores system metadata, not a table type. Option B is incorrect because 'Application' is not a table type; applications contain tables.

Option C is incorrect because 'UI page' is a UI component, not a table type.

16
MCQeasy

A company needs to create a lookup table to store status codes for incident classification. Which approach is best practice?

A.Create a new table using the Label field type
B.Use a Choice field with the status codes and labels
C.Store the status codes as a single line of text field
D.Create a custom table with a reference field on the Incident table
AnswerB

Choice fields are built for simple, static lists and integrate well with reporting and UI policies.

Why this answer

Using a Choice field is standard for static lists. Option A is wrong because creating a table is overkill for simple lists. Option C is wrong because it loses referential integrity.

Option D is wrong because creating a custom table with a reference field on the Incident table adds unnecessary complexity when a simple Choice field suffices.

17
MCQhard

A custom table 'u_asset' stores asset data. The developer wants to add a field that calculates the depreciation value based on acquisition date and cost. Which field type should be used?

A.Lookup select
B.Currency
C.Calculated
D.Condition string
AnswerC

A calculated field can use a script to compute a value dynamically.

Why this answer

A calculated field using a script (e.g., calculated value via business rule or calculated field attribute) can compute depreciation. Option A is wrong because Lookup select is for selection lists, not dynamic calculation. Option B is wrong because Currency is just a data type, not dynamic calculation.

Option D is wrong because Condition string is for conditions.

18
MCQhard

A large enterprise runs a ServiceNow instance with a heavily customized Task table. The 'Task' table has been extended to create 'u_WorkOrder', which is used by over 50,000 active records. Recently, users complain that when they open a WorkOrder record, the form takes more than 10 seconds to load. On investigation, you discover that the 'u_WorkOrder' table has 150 fields, many of which are UI policies and client scripts that trigger on load. Additionally, there is a business rule that runs 'after query' and dot-walks through multiple related tables (e.g., calling 'current.assigned_to.department.manager.email' in a loop for each record). The instance uses SQL Server as its database. Which action would most effectively reduce the form load time without losing required functionality?

A.Change the order of the business rule to 100 so that it runs after other rules
B.Rewrite the after query business rule to use GlideAggregate or avoid dot-walking in loops, and consider caching the dot-walked data
C.Remove 50 of the 150 fields from the table to reduce data retrieval
D.Convert the after query business rule to an after update business rule
AnswerB

The dot-walking in a loop per record is extremely slow. Using GlideAggregate for batch queries or caching results in a system property can drastically reduce query time.

Why this answer

The most effective because it directly addresses the root cause: the after query business rule performing expensive dot-walking for every record. Rewriting it to use GlideAggregate or caching the dot-walked data will significantly reduce query time. Option A is wrong because changing the order of the business rule does not reduce its workload; it still runs after query.

Option C is wrong because removing fields may cause loss of required functionality and does not target the primary performance issue (the business rule). Option D is wrong because converting to after update changes the trigger but does not solve the load-time problem; form load is a query action, not an update.

19
MCQhard

A developer implemented the client script shown in the exhibit to auto-populate the assigned-to field based on the task type. However, when the task type is changed, the assigned-to field is not updated. The server-side script 'TaskTypeAjax' is correctly defined and returns a valid sys_id. What is the most likely reason for the failure?

A.The client script does not check if oldValue is different from newValue
B.The Script Include 'TaskTypeAjax' is not client-callable
C.The client script returns on isLoading, preventing execution
D.A UI policy is overriding the assigned-to field
AnswerB

It must be marked as client-callable in its definition.

Why this answer

The client script attempts to call a Script Include named 'TaskTypeAjax' from the client side. By default, Script Includes are not accessible from client scripts unless the 'Client callable' checkbox is enabled in the Script Include record. Since the script is failing to update the assigned-to field, the most likely cause is that 'TaskTypeAjax' is not marked as client-callable, preventing the GlideAjax request from executing successfully.

Exam trap

The trap here is that candidates assume any Script Include can be called from a client script, but ServiceNow enforces an explicit 'Client callable' flag to control access from the browser.

How to eliminate wrong answers

Option A is wrong because checking if oldValue differs from newValue is not required for the GlideAjax call to work; the issue is that the server-side script is not reachable from the client. Option C is wrong because returning on isLoading would prevent the script from running at all, but the question states the script is implemented and the field is not updated, implying the script executes but the Ajax call fails. Option D is wrong because a UI policy overriding the assigned-to field would not prevent the client script from making the Ajax call; it would only override the value after it is set, and the question indicates the server-side script is correctly defined and returns a valid sys_id, so the failure is in the client-server communication.

20
MCQhard

A developer notices that a custom table 'u_project' is not appearing in the 'Create New' menu even though the application scope is set correctly. The table has been created with the 'Create without application' flag unchecked. What is the most likely cause?

A.The 'Extensible' property is set to false.
B.The 'Create new record' property is set to false.
C.The 'Allow Configuration' property is set to false.
D.The table's roles are not assigned to the developer.
AnswerB

The table property 'Create new record' must be enabled for the table to appear in the 'Create New' menu.

Why this answer

The 'Extensible' property controls whether other tables can extend this table, not the menu. Option B is correct because the table property 'Create new record' must be enabled for the table to appear in the 'Create New' menu. Option C is incorrect because the 'Allow Configuration' property affects dictionary attributes, not the new record menu.

Option D is incorrect because role-based access uses ACLs, but the menu visibility is controlled by the 'Create new record' property.

21
Multi-Selectmedium

A developer is creating a custom table 'u_project_risk' to track risks associated with projects. The table must: (1) Automatically set the 'state' field to 'Open' when a new record is created. (2) Prevent deletion of records if the state is 'Closed'. (3) Display a warning message when a user changes the state from 'In Progress' to 'Closed'. Which THREE approaches should the developer use?

Select 3 answers
A.Set a default value for the 'state' field to 'Open'
B.Create a before business rule to check state on update
C.Create a client script that shows a warning on state change
D.Create a business rule that aborts the delete operation on condition state='Closed'
E.Define a reference qualifier on the 'project' field
AnswersA, C, D

Default value sets initial state.

Why this answer

Setting a default value on the 'state' field to 'Open' ensures that whenever a new record is created in the 'u_project_risk' table, the field automatically populates with 'Open' without requiring any script or business rule. This is a declarative, low-code approach that leverages the platform's built-in default value functionality at the field level, guaranteeing the requirement is met even if the record is created via web services or import sets.

Exam trap

ServiceNow often tests the distinction between server-side and client-side logic; the trap here is that candidates might think a 'before' business rule on update (Option B) is needed for the warning, but warnings must be client-side (Option C), and deletion prevention must be server-side (Option D).

22
Multi-Selecthard

Which THREE are benefits of extending a table rather than creating a new table from scratch?

Select 3 answers
A.Automatically inherits all business rules and client scripts from the parent
B.Supports creating multiple child tables from the same parent
C.Inherits all fields and relationships from the parent table
D.Child records automatically appear in reports on the parent table
E.Can add new fields specific to the child without modifying the parent
AnswersB, C, E

Multiple child tables can extend a single parent, enabling data polymorphism.

Why this answer

Options B, C, and E are correct. Extending a table allows the child table to inherit all fields and relationships from the parent (C), enables adding new fields specific to the child without modifying the parent (E), and supports creating multiple child tables from the same parent (B). Option A is incorrect because although business rules and client scripts are inherited, they can be overridden and not all automatically apply without configuration.

Option D is incorrect because child records do not automatically appear in parent table reports; reports must be configured to include child tables.

23
MCQmedium

A company uses an import set to bring in hardware asset data from an external inventory system. The staging table 'u_hardware_staging' maps fields to the 'alm_hardware' table via a transform map. Recently, the import set started failing with the error 'Invalid reference field value: 'PO123' for field 'purchase_order''. The 'purchase_order' field on 'alm_hardware' is a reference to the 'purchase_order' table, and the staging field contains the purchase order number (e.g., 'PO123'). The transform map has a field map that uses the 'Find' and 'Map' functionality to match the purchase order number. The 'purchase_order' table uses the 'number' field as the display value. Which change should the administrator make to fix the error?

A.In the transform map, enable 'Find map for each record' and set the match field to 'number' on the purchase_order table
B.Modify the staging table to include the sys_id of the purchase order instead of the number
C.Change the field map to use 'Direct' instead of 'Find' and 'Map'
D.Create a database view between the staging table and the purchase_order table to auto-populate the reference
AnswerA

This configuration will use the number field to look up the corresponding sys_id and populate the reference field correctly.

Why this answer

The transform map needs to find the purchase order record by its 'number' field (display value). Enabling 'Find map for each record' and setting the match field to 'number' on the purchase_order table allows the transform to resolve the reference. Option B is incorrect because the staging table should contain the number, not the sys_id, as the import source provides readable values.

Option C is incorrect because using 'Direct' would attempt to set the reference field with the number string, which is invalid. Option D is incorrect because database views do not apply to transform mappings.

24
MCQmedium

A developer is creating a custom table for tracking hardware assets. The table must have fields for asset tag, serial number, and purchase date. The developer wants to ensure that the asset tag is automatically generated using a prefix followed by an incrementing number. Which approach should the developer use?

A.Use a calculated value that dot-walks to a number table
B.Set the default value of the asset tag field to 'AST-' + sys_id
C.Create a business rule that calculates the asset tag using a script that increments a counter
D.Configure a dictionary override on the asset tag field to auto-generate
AnswerC

A business rule can generate a unique, incrementing asset tag.

Why this answer

ServiceNow does not have a built-in auto-increment field type, so a business rule must be used to generate a sequential asset tag. The script typically queries the table for the maximum existing number, increments it, and prepends the prefix (e.g., 'AST-0001'). This ensures uniqueness and proper sequencing without relying on sys_id, which is not sequential.

Exam trap

The trap here is that candidates assume sys_id is sequential or that dictionary overrides can generate values, but ServiceNow requires explicit scripting for auto-increment fields, and sys_id is a random GUID, not a sequential number.

How to eliminate wrong answers

Option A is wrong because a calculated value that dot-walks to a number table would not provide a reliable incrementing counter; number tables are static and not designed for dynamic sequence generation. Option B is wrong because using sys_id as part of the default value does not produce an incrementing number; sys_id is a 32-character hexadecimal GUID that is not sequential or human-readable. Option D is wrong because a dictionary override cannot auto-generate values; it only modifies field properties like length, label, or reference, not value generation logic.

25
MCQeasy

An administrator needs to create a custom table to store project-related information. The table must allow records to be assigned to a specific user. Which field type should be used for the assignment field to ensure proper integration with ServiceNow's assignment rules and notifications?

A.Manager
B.Reference to the User table
C.Integer
D.Assignment group
AnswerB

A reference to the User table allows assignment to a specific user. When a record is assigned to a user via a reference field, ServiceNow's assignment rules and notifications can be configured to trigger based on that field, using business rules or assignment rules that check for changes to the field.

Why this answer

Reference to the User table. To assign a record to a specific user, a reference field pointing to the User table is appropriate. ServiceNow's assignment rules and notifications can be configured to trigger based on changes to this user reference field, ensuring proper integration.

Option D (Assignment group) assigns to a group, not an individual, so it does not meet the requirement.

26
MCQmedium

A senior developer advises an associate to create a new table for storing incident-related attachments metadata. The table should not have its own workflow or assignments but should be related to incidents. Which table creation approach is best?

A.Create a database view that joins Incident and Attachment tables.
B.Create a table that extends the Attachment table class.
C.Create a table that extends the Incident table.
D.Create a table with a reference field to the Incident table.
AnswerD

A reference field allows linking to Incident without inheriting its behavior, suitable for metadata storage.

Why this answer

The best approach is to create a custom table with a reference field to the Incident table (Option D). This allows storing metadata related to incidents without inheriting Incident's workflow, assignments, or other behaviors. Option A is incorrect because a database view is read-only and cannot store new data.

Option B is incorrect because extending the Attachment table would inherit attachment-specific behaviors and is not appropriate for custom metadata. Option C is incorrect because extending the Incident table would inherit all Incident's features, including workflow and assignments, which the requirement specifically avoids.

27
Multi-Selectmedium

A developer is creating a new table 'u_incident_custom' to extend the Incident table. Which TWO configurations will ensure that the new table inherits the correct behavior and displays in the application navigator?

Select 2 answers
A.Set 'Application' to the desired scope and check 'Display in application navigator'
B.Create a module pointing to the new table
C.Set 'Label' to 'Incident Custom'
D.Set 'Extends' to 'Incident'
E.Set 'Extends' to 'Task'
AnswersA, D

This ensures the table is scoped correctly and appears in the navigator.

Why this answer

Setting 'Application' to the desired scope ensures the table belongs to the correct application context, and checking 'Display in application navigator' makes the table visible in the application navigator menu. Option D is correct because setting 'Extends' to 'Incident' establishes the inheritance relationship, allowing the new table to inherit all fields, business rules, and behaviors from the Incident table, which itself extends Task.

Exam trap

ServiceNow often tests the distinction between table inheritance (Extends field) and navigator visibility (Display in application navigator), and candidates mistakenly think that setting a label or creating a module alone will achieve inheritance or navigator display.

28
Multi-Selectmedium

When creating a custom table to extend an existing table, which TWO considerations should be evaluated to ensure optimal performance and maintainability? (Choose two.)

Select 2 answers
A.The table must have a unique name starting with 'u_'
B.The table should be created in the global scope to ensure universal access
C.The table must have a reference field back to the parent table
D.The number of records in the parent table may impact query performance when retrieving child records
E.Adding too many fields to the extended table can degrade performance and increase complexity
AnswersD, E

When extending, queries often include parent table records, which can slow down if the parent table is large.

Why this answer

Options D and E are correct. When extending a table, the number of records in the parent table can impact query performance when retrieving child records because child tables inherit the parent table's data, and queries may need to scan the parent table as well. Adding too many fields to an extended table can degrade performance (more data to store and process) and increase complexity (harder to maintain relationships and ACLs).

Option A is incorrect because while ServiceNow suggests a naming convention with 'u_' for custom tables, it is not a strict requirement for performance or maintainability. Option B is incorrect because the table should be created in the same scope as the application it belongs to, not necessarily global scope. Option C is incorrect because a reference field back to the parent table is not required; the table extension itself establishes the relationship via inheritance.

29
MCQmedium

Refer to the exhibit. After creating this database view, the view contains fewer records than the sum of records in incident and problem tables. What is the most likely cause?

A.The view must include the 'active' field from both tables
B.UNION should be UNION ALL to retain duplicate rows
C.A database view cannot combine records from incident and problem tables
D.The SELECT statement should include DISTINCT
AnswerB

UNION deduplicates rows, reducing the count if overlaps exist.

Why this answer

The UNION operator by default removes duplicate rows. If there are overlapping records between the incident and problem tables (e.g., same sys_id, number, or short_description), UNION eliminates them, resulting in fewer records than the sum of the two tables. Using UNION ALL would retain all rows, including duplicates.

Option A is incorrect because the 'active' field is not required for the view to include all records. Option C is false because database views can combine records from multiple tables. Option D is incorrect because DISTINCT is already implied by UNION and would further reduce rows, not increase them.

30
MCQhard

A ServiceNow instance has a custom table 'u_staff' extended from the User table. A business rule on the 'User' table updates the 'Active' field. When updating a user record, the business rule does not fire for records in 'u_staff'. What is the most likely reason?

A.The user does not have permission to run business rules on the 'u_staff' table
B.Business rules on the User table do not fire on child table records
C.The business rule has a condition that only allows running on User table records
D.The business rule ordering is set too low and is being skipped
AnswerB

By default, business rules on a base table do not extend to child tables. You must set the 'Inherited' checkbox on the business rule to fire on child records.

Why this answer

Business rules on a parent table (User) do not automatically fire on child table records (u_staff) unless the business rule is configured to run on descendant tables. By default, business rules operate only on the table they are defined on. Option A is incorrect because permission is not the issue; the rule simply isn't triggered.

Option C is incorrect because even without a specific condition, the rule won't fire on child tables. Option D is incorrect because ordering affects execution order, not whether the rule fires at all.

31
Multi-Selecteasy

A new custom table is being created in ServiceNow. Which two attributes must be defined during table creation? (Choose two.)

Select 2 answers
A.Table label
B.Access control rules
C.Extensible checkbox
D.Application scope
E.Table name
AnswersA, E

Required: The display label for the table must be specified.

Why this answer

The table label (A) is the human-readable name displayed in the ServiceNow UI, such as in lists and forms, and is required for user interaction. The table name (E) is the system name used internally in the database (e.g., 'u_custom_table'), and it must be unique within the instance. Both are mandatory fields when creating a new custom table in ServiceNow.

Exam trap

The trap here is that candidates often confuse 'required during creation' with 'commonly configured later,' leading them to select access control rules or the extensible checkbox as mandatory attributes.

32
MCQmedium

A developer encounters the following error when a scheduled job executes. The job queries the 'u_my_table' table. What is the most likely cause?

A.The field u_extra_field was recently deleted from the table.
B.The table name is misspelled in the script.
C.The script include has a syntax error.
D.The field u_extra_field exists but is not indexed.
AnswerA

Correct: The error says 'Invalid field name', meaning the field is not found in the table. Deletion is the most likely cause.

Why this answer

The error occurs because the scheduled job references the field 'u_extra_field' in its query against the 'u_my_table' table. When that field is deleted from the table definition, any script or job that attempts to read or write to that field will fail with a 'column not found' or similar database error. This is the most direct cause among the options, as the job was previously working and the error appeared after a schema change.

Exam trap

ServiceNow often tests the distinction between schema-related errors (deleted fields) and other error types (syntax, missing indexes, misspellings) to see if candidates understand that a field deletion directly breaks queries referencing that field, while other options cause different symptoms or no error at all.

How to eliminate wrong answers

Option B is wrong because a misspelled table name would cause a 'table not found' error, not a field-related error, and the error message would reference the table name, not a field. Option C is wrong because a syntax error in a script include would typically produce a compile-time or runtime error unrelated to a specific field in a table query. Option D is wrong because a missing index on a field does not cause an error when querying; it only impacts performance, and the job would still execute successfully.

33
Multi-Selecthard

A developer needs to create a new table that will store confidential employee feedback. The table must have the following characteristics: (1) Only authorized HR users can read the records. (2) The table should use the 'task' model to leverage assignment and state fields. (3) The table should be accessible via web services for integration. Which TWO actions are required to meet these requirements?

Select 2 answers
A.Set the 'table' access policy to 'Internal'
B.Extend the 'incident' table instead of 'task'
C.Enable the 'Allow web service access' property on the table
D.Extend the 'task' table
E.Create ACLs on the table to restrict read access to HR users
AnswersD, E

Task provides assignment and state fields.

Why this answer

Extending the 'task' table allows the new table to inherit the assignment and state fields required by the 'task' model. This is the standard approach in ServiceNow for creating tables that leverage task-related functionality, such as assignments and workflow states.

Exam trap

The trap here is that candidates often confuse the 'Allow web service access' property with a security control, when in fact it only enables the endpoint and does not restrict access; proper ACLs are required to enforce read restrictions.

34
MCQmedium

A custom table 'u_incident' has a 'priority' field that should be set to 1 when the 'category' is 'Critical', otherwise 3. Which is the most efficient way to implement this default?

A.Create a Business Rule on 'Before Insert' that sets the priority
B.Create a Client Script that runs onLoad and sets priority
C.Use a UI Policy to set priority based on category
D.Define a default value script in the dictionary for the priority field
AnswerD

Executes at database level with no extra rule overhead.

Why this answer

The most efficient way is to define a default value script in the dictionary for the 'priority' field. This script runs server-side during record insertion and sets the priority based on the category without additional database operations. Option A (Business Rule) works but adds overhead compared to a dictionary default.

Option B (Client Script) is client-side and can be bypassed or not execute. Option C (UI Policy) only affects client-side behavior and does not set field values on the server.

35
MCQeasy

You are a ServiceNow developer at a company that manages IT assets. You are asked to create a new table called 'u_software_license' to track software licenses. The table must have fields for license name, vendor, purchase date, expiration date, cost, and number of seats. Additionally, the table must be accessible from the 'Software' module in the application navigator. You have created the table with the appropriate fields. However, after creating the table, it does not appear in the 'Software' module. You verify that the table is set to extend 'Task' and that the application scope is correct. What is the most likely reason the table does not appear in the module?

A.The table name 'u_software_license' is not compatible with the Software module.
B.The 'Display in application navigator' checkbox is not checked on the table configuration.
C.A module has not been created to reference the new table.
D.The table extends 'Task' instead of 'Software', so it cannot appear in the Software module.
AnswerC

Correct. A module record referencing the table must be created to display the table under the 'Software' module.

Why this answer

The table does not appear in the 'Software' module because no module record exists that maps the table to that module. To display a table under a specific module in the application navigator, you must create a module record that references the table. The 'Display in application navigator' checkbox only adds the table as a top-level entry, not under a module.

Since the user verified the table extends Task and the application scope is correct, the missing step is creating a module record.

Exam trap

Candidates often confuse the 'Display in application navigator' checkbox with module visibility, thinking it controls placement under a specific module, when in fact a module record is required for that.

How to eliminate wrong answers

Option A is wrong because table names like 'u_software_license' are fully compatible with modules; the name has no bearing on navigator visibility. Option C is correct, not wrong, but the question asks for the most likely reason the table does not appear, and the correct answer is that a module has not been created to reference the new table. Option D is wrong because extending 'Task' does not prevent a table from appearing in the Software module; modules are independent of table inheritance and can reference any table regardless of its parent.

36
MCQeasy

A small business uses ServiceNow to manage IT assets. They have a custom table 'u_company_asset' with fields for asset name, serial number, purchase date, and a reference field 'assigned_to' pointing to the User table. The administrator is asked to add a new field called 'Category' that will contain a short list of categories: Desktop, Laptop, Server, Network. The categories will not change frequently. The administrator also needs to ensure that when a user selects a category, a corresponding icon appears next to the field in the form. What is the most efficient way to accomplish this?

A.Use a List Collector field to allow multiple categories
B.Create a Choice field with the four categories, and then configure a UI policy to show different icons based on the selected value
C.Create a custom table 'u_category' and a reference field on 'u_company_asset' pointing to it
D.Use a single-line text field and manually enter the categories
AnswerB

Choice fields are ideal for static lists. Using a UI policy with client-side scripts can easily update an icon image based on the selected category.

Why this answer

A Choice field provides a drop-down list for predefined values that rarely change, and a UI policy can be configured to display different icons based on the selected category. Option A is wrong because a List Collector is used for multiple selections, not a single category. Option C is wrong because creating a custom table is unnecessary overhead for a fixed list.

Option D is wrong because a single-line text field does not enforce predefined values.

37
Multi-Selectmedium

Which TWO of the following are valid methods to create a custom table in ServiceNow?

Select 2 answers
A.Using a client script to create a table on the fly.
B.Importing a CSV file via Import Set and selecting 'Create table automatically'.
C.By updating the 'sys_db_object' table directly with a new entry.
D.Using the 'Create Table' module in System Definition.
E.Using a database view to combine existing tables and then creating a table from the view.
AnswersB, D

Import Sets can create tables if the import set table does not exist.

Why this answer

Correct: B and D. Option B is valid because importing a CSV via an Import Set with the 'Create table automatically' option generates a new table based on the data structure. Option D is valid because the 'Create Table' module in System Definition provides a standard UI to create custom tables.

Incorrect options: A is wrong because client scripts run in the browser and cannot create database tables. C is wrong because directly inserting into 'sys_db_object' bypasses required table creation processes and is not supported. E is wrong because a database view is a virtual representation of data from existing tables, not a physical table.

38
MCQmedium

An administrator notices that a custom table called 'u_equipment' does not appear in the 'New Record' context menu of the application navigator. What is the most likely cause?

A.The table was not added to an application menu in the navigation module
B.The table is extended from a table that is not in the navigator
C.The table has a business rule that prevents new record creation
D.The 'Create new' option is inherited from the parent table
AnswerA

Correct. Application menus must be manually configured to include custom tables for them to appear in the 'New Record' menu.

Why this answer

Custom tables must be added to an application menu in the navigation module to appear in the 'New Record' context menu. Option B is incorrect because tables extended from a parent table can appear independently if configured. Option C is incorrect because business rules do not affect navigator menu visibility; they only influence record creation actions.

Option D is incorrect because the 'Create new' option is not inherited from the parent table; it requires explicit configuration.

39
MCQeasy

A developer needs to create a new table to store custom survey responses. The table should have a field to store the survey name and a field to store the response text. The developer wants to ensure that the table is available in the 'Surveys' application module. Which property must be set on the table?

A.Application scope
B.Table name
C.Table label
D.Application module
AnswerD

This defines the module where the table appears.

Why this answer

The Application module property determines which application module a table belongs to, making it visible and accessible within that module's scope. Setting this to 'Surveys' ensures the table appears in the Surveys application module, as required by the developer.

Exam trap

ServiceNow often tests the distinction between Application scope (which controls access and isolation) and Application module (which controls UI placement), leading candidates to confuse the two.

How to eliminate wrong answers

Option A is wrong because Application scope defines the application's namespace and access permissions, not the module where the table is displayed. Option B is wrong because the Table name is a unique identifier for the table but does not control its visibility in a specific application module. Option C is wrong because the Table label is a human-readable name shown in the UI, but it does not assign the table to a particular application module.

40
MCQmedium

A developer created the business rule shown in the exhibit to auto-generate asset tags. However, when a new asset is created, sometimes the generated tag is a duplicate of an existing tag. What is the most likely cause?

A.The condition '!current.u_asset_tag' fails when the field is empty
B.The script does not account for records with null asset tags
C.The script does not handle the scenario when no asset tag exists
D.The query uses 'CONTAINS' which may match unintended tags, and ordering by sys_created_on may not guarantee the highest number
AnswerD

CONTAINS can match multiple patterns, and ordering by creation time may not reflect the highest number.

Why this answer

The script uses a glide query with 'CONTAINS' to find the highest existing asset tag number, which can match unintended tags (e.g., 'TAG-10' matching 'TAG-1001'), and ordering by 'sys_created_on' does not guarantee the highest numeric suffix. This leads to duplicate tags when the generated number is already in use but not detected as the maximum.

Exam trap

ServiceNow often tests the subtle flaw of using 'CONTAINS' for numeric suffix extraction, where candidates overlook that substring matching can return unintended records, and assume ordering by creation time is sufficient for determining the highest number.

How to eliminate wrong answers

Option A is wrong because the condition '!current.u_asset_tag' correctly evaluates to true when the field is empty (null or empty string), so it does not fail. Option B is wrong because the script explicitly checks for null/empty asset tags via the condition, so it does account for records with null asset tags. Option C is wrong because the script handles the scenario when no asset tag exists by generating a default tag (e.g., 'ASSET001'), so it does not fail in that case.

41
Multi-Selecteasy

Which THREE statements are true about database views in ServiceNow?

Select 3 answers
A.Database views can have fields from multiple tables
B.Database views can reference tables from different instances or databases
C.A database view can be used as a source for reports
D.Database views are read-only
E.Database views can be updated via business rules
AnswersA, C, D

Views can join multiple tables and include fields from each.

Why this answer

Options A, C, and D are correct. Database views are read-only (D), can combine fields from multiple tables (A), and can be used as a source for reports (C). Option B is false because database views cannot reference tables from different instances or databases; they can only combine tables within the same instance.

Option E is false because database views are read-only and cannot be updated via business rules.

42
MCQeasy

A company needs to store data about employee certifications. Each employee may have multiple certifications. Which approach is best practice?

A.Add a multi-select field to the User table to store certification IDs
B.Create a new custom table with a reference field to the User table
C.Extend the User table to store certification fields directly
D.Create a database view that joins User and certification data
AnswerB

A new custom table with a reference to the User table is the best practice because it allows multiple certification records per employee, avoids inheriting unnecessary fields, and maintains relational integrity.

Why this answer

Creating a new table with a reference field to the User table allows storing multiple certification records per employee without adding unnecessary fields. Option A is wrong because a multi-select field on the User table cannot effectively store multiple certification records and lacks relational integrity. Option C is wrong because extending the User table would add many unwanted fields from the User table and complicate data management.

Option D is wrong because database views are read-only and cannot be used for storing data.

43
MCQhard

A large enterprise manages its IT assets using a custom table 'u_asset_tracking', which includes a reference field 'u_location' pointing to the 'cmn_location' table. After a recent application upgrade, users report that the location is not being displayed for assets older than six months, although it works for newer assets. A client script uses GlideAjax to fetch the location via a Script Include called 'AssetUtils'. The Script Include performs a GlideRecord query on 'u_asset_tracking' and then dot-walks to 'u_location.sys_id' to retrieve the location name. The upgrade included changes to the application's access controls. The logs show no errors, but the Ajax call returns null for the location. What should the developer do to resolve this issue?

A.Modify the Script Include to use addNullQuery('u_location') to skip empty location fields.
B.Ensure the 'read' role on the 'cmn_location' table is granted to the application's scope or the user's role.
C.Change the client script to use a UI Policy instead of GlideAjax to handle the location display.
D.Write a fix script to update the 'u_location' field for all assets older than six months.
AnswerB

The upgrade likely changed ACLs; granting read access to 'cmn_location' for the appropriate scope or role resolves the null returns.

Why this answer

The issue is that after the upgrade, access controls (ACLs) were changed, and the Script Include's GlideRecord query dot-walks to 'cmn_location' to retrieve the location name. Even though the query on 'u_asset_tracking' succeeds, the dot-walk to 'cmn_location' fails silently because the script's execution context (or the user's session) lacks the 'read' role on the 'cmn_location' table. Granting the 'read' role ensures the GlideRecord can access the referenced record, resolving the null return.

Exam trap

The trap here is that candidates assume the issue is with the query logic or data integrity (options A or D) rather than recognizing that a silent ACL failure on a dot-walked table is a common post-upgrade problem, especially when no errors appear in logs.

How to eliminate wrong answers

Option A is wrong because addNullQuery('u_location') would filter out records where the location field is empty, but the problem is that the location is not being displayed for assets older than six months, not that the field is null; this would not fix the access control issue. Option C is wrong because a UI Policy runs client-side and cannot perform server-side GlideRecord queries to fetch location data; it would not replace the GlideAjax call that retrieves the location name. Option D is wrong because writing a fix script to update the 'u_location' field would not address the underlying access control restriction that prevents the dot-walk from reading the location record; the data is already correct but inaccessible.

44
Drag & Dropmedium

Drag and drop the steps to create a UI Action in ServiceNow into the correct order.

Drag steps to the numbered slots on the right, or tap a step then tap a slot.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4

Why this order

The correct order: navigate to UI Actions, create new, define table and names, set conditions, script and submit.

45
MCQmedium

A developer writes a script to display the department name of the caller on a custom form. The script uses: gs.getUser().getDepartment().getName(). However, the script throws a null pointer exception for some users. Which is the most likely cause and solution?

A.The Department table is empty
B.The script uses incorrect dot-walking syntax; use getValue('department') instead
C.The user table does not have a department reference field
D.Some users do not have a department assigned, and the script does not check for null
AnswerD

When getDepartment() returns null, calling getName() on null causes a NullPointerException. The solution is to add a null check before calling getName().

Why this answer

The NullPointerException suggests that getDepartment() returned null for users without a department. Option A is wrong because the script is syntactically correct. Option B is wrong because reference exists.

Option C is wrong because department records exist.

46
MCQeasy

When creating a new table using the 'Create Table' module, which setting determines whether the table will inherit fields from an existing table?

A.Application
B.Extends
C.Table name
D.Table label
AnswerB

The 'Extends' field lets you choose a parent table to inherit fields.

Why this answer

'Extends,' is correct because it allows the new table to inherit fields from an existing parent table. Option A, 'Application,' defines the application scope, not inheritance. Option C, 'Table name,' is the system name.

Option D, 'Table label,' is the display name.

47
MCQhard

A developer creates a scheduled job that updates a custom table's records. The job runs successfully but the table's 'Updated' field does not reflect the correct time. What could be the reason?

A.The scheduled job's schedule interval is longer than the update frequency.
B.The script used 'setWorkflow(false)' which bypasses the auto-update of the 'Updated' field.
C.The table does not have the appropriate record-level ACLs.
D.The scheduled job runs too fast for the system to record the update.
AnswerB

setWorkflow(false) disables business rules and field updates like 'Updated'.

Why this answer

The 'Updated' field is set automatically when a record is updated through the UI, but if the update is done via direct database update (e.g., using GlideRecord without setWorkflow(true)), the system might not update the field. Also, conditional or dirty flag may not set. However, the most likely is that the update script used setWorkflow(false) or bypassed the auto-update mechanism.

Option A is wrong because performance of the job is not related. Option C is wrong because Access controls do not affect system fields like 'Updated'. Option D is wrong because the job's schedule time is irrelevant.

Ready to test yourself?

Try a timed practice session using only Creating and customizing tables and data questions.