Designing and Creating an Application

46 questions from the Designing and Creating an Application domain of the ServiceNow Certified Application Developer (CAD) exam, each with its answer and an explanation. Read them through as revision, then sit the full practice exam to test yourself on them under multiple-choice conditions.

  1. 1.What are some of the benefits of extending an existing table such as the Task table when creating a new application? (a) You can repurpose existing fields by simply changing the label. (b) Use existing fields with no modifications. (c) Existing logic from the parent table will be automatically applied to the new table. (d) All of the parent table records are copied to the new table.

    Answer

    • a, b, and c

    A child table inherits the parent's fields, which can be used as they are or relabeled, and the parent's logic, such as business rules and access controls, also applies to it. Records are not copied: the new table starts empty.

  2. 2.It is best practice to define the business requirements and the process(es) an application will manage as part of the application development plan. What are some of the considerations to document as part of the business process?

    Answer

    • Business problem, data input/output, users/stakeholders, and process steps

    Describing the business process means documenting the problem the application solves, the data that goes in and comes out, the users and stakeholders involved, and the steps of the process. Project schedules, licenses and database capacity are project or infrastructure concerns.

  3. 3.Which of the following statements does NOT apply when extending an existing table?

    Answer

    • You must script and configure all required behaviors

    A table that extends another inherits its fields and built-in functionality, and the parent's access controls are evaluated for the child's records and fields. You don't have to rebuild those behaviors, which is the main reason to extend a table.

  4. 4.Which one of the following is NOT a purpose of application scoping?

    Answer

    • Provide a way of tracking the user who developed an application

    Application scope groups an application's artifacts, gives them a unique namespace so names don't collide with other applications, and controls what scripts in other scopes can do to its tables. Who created or changed a file is recorded in its system fields and history, not by scoping.

  5. 5.Which one of the following is true regarding Application Scope?

    Answer

    • Applications downloaded from 3rd party ServiceNow application developers cannot have naming conflicts

    Every scoped application has its own namespace, made of x_, the vendor prefix and the scope name, so applications from different developers cannot have naming conflicts. Applications are not all global, the vendor prefix belongs to the instance rather than being chosen by the developer, and access to change an application is controlled.

  6. 6.From the list below, identify one reason an application might NOT be a good fit with ServiceNow. The application:

    Answer

    • Requires "as-is" use of low-level programming libraries

    ServiceNow suits applications built around forms, data, workflow and reporting. An application that needs low-level programming libraries used as they are is a poor fit, because the platform runs JavaScript through its own APIs.

  7. 7.What protects applications by identifying and restricting access to application files and data?

    Answer

    • Application Scope

    Application scope identifies which files and data belong to an application and restricts what other applications can do with them. Access controls and roles restrict what users can do, not what other applications can do.

  8. 8.Application files in a ServiceNow application are:

    Answer

    • Artifacts comprising the ServiceNow application

    Application files are the records that make up an application, such as tables, fields, forms, scripts, UI policies and flows. They are listed in the application's Application Files related list and are included when the application is published.

  9. 9.The Schema Map is part of the Form Designer. True or False?

    Answer

    • FALSE

    The Schema Map is a separate view, opened from a table record, that shows how the table relates to other tables through extensions and references. Form Designer is used to lay out a form's fields and sections.

  10. 10.ServiceNow is a good fit for real-time data delivery and updates from external sources. True or False?

    Answer

    • FALSE

    ServiceNow brings in external data through scheduled imports, integrations and web service calls, which suits business process data. Applications that need a continuous, high-volume stream of real-time data are better served by dedicated streaming or messaging platforms.

  11. 11.When a reference field is added to a table, does it store the number or the display value of the referenced record in the database?

    Answer

    • No, the reference field contains the sys_id of the referenced record

    A reference field stores the sys_id of the referenced record, and forms and lists look up its display value when showing it. Because the sys_id never changes, the reference stays valid even if the record's number or name changes.

  12. 12.Which of the following would NOT be a good fit for an application to run on a ServiceNow instance?

    Answer

    • Virtual Reality Gaming application

    ServiceNow is built for applications that manage records, forms, workflows and reports, such as facilities management, billing or room booking. A virtual reality game needs real-time graphics processing on the user's device, which the platform is not designed for.

  13. 13.All new tables created in ServiceNow have a default form and list layout. True or False?

    Answer

    • TRUE

    Creating a table also creates a default form and list layout that include its fields, so the table can be used straight away. You can then change them with Form Designer and the list layout configuration.

  14. 14.It is a best practice to develop applications in the Global scope. True or False?

    Answer

    • FALSE

    New applications should be built in their own scope, which gives them a namespace, protects their files and data from other applications, and lets them be managed as a unit. Global is kept for changes that must work across the whole platform.

  15. 15.The scope of a custom application can be changed at any time by a ServiceNow developer. True or False?

    Answer

    • FALSE

    An application's scope namespace is set when the application is created and can't be changed afterwards, because every table and file in the application uses it. Developers can switch which application they are working in, but not change an application's scope.

  16. 16.What is the default scope for all custom applications that uniquely identifies them?

    Answer

    • Private

    New custom applications are created in a private scope, with a unique namespace made from x_, the vendor prefix and the scope name. Global is used for baseline platform functionality and older customizations.

  17. 17.When creating application tables, a user role is automatically added to the table record. Which other role does an application typically have?

    Answer

    • Application admin

    Applications usually have a user role for the people who work with its data and an admin role for the people who manage the application, its configuration and its records. The other role names are not standard application roles.

  18. 18.Developers DO / DO NOT create application file records directly from the Application File table.

    Answer

    • DO NOT

    Application file records are created by the platform when developers create or change application artifacts, such as tables, scripts and forms. Developers don't add records to the Application File table directly.

  19. 19.Who sets the glide.appcreator.company.code property?

    Answer

    • ServiceNow sets it

    ServiceNow sets the glide.appcreator.company.code property for the instance as part of its application namespace settings, so administrators don't set it themselves.

  20. 20.When you move code changes into a private application scope, you must add the scope namespace qualifier to each function call. True or False?

    Answer

    • TRUE

    Code in a private scope runs in that application's namespace, so function calls have to be qualified with the scope name, for example global.MyUtils for a script include in the global scope. The qualifier makes clear which scope each call belongs to and avoids name conflicts.

  21. 21.Can a field's database name be changed once it has been created?

    Answer

    • No

    A field's column name is fixed once the field is created, because scripts, forms, reports and stored data all refer to it. The label can be changed at any time; to get a different name, you create a new field.

  22. 22.Applications can access and change their own tables and business logic, but other applications, such as Incident Management, cannot change them without explicit permission. True or False?

    Answer

    • TRUE

    Application scope isolates an application: it can work with its own tables and scripts, while other applications need permission granted through application access settings before they can change them.

  23. 23.Application properties can have a reference field as their data type. True or False?

    Answer

    • FALSE

    Properties store simple values, with types such as string, integer, true/false, choice list and password. They can't be reference fields that point to records in another table.

  24. 24.ServiceNow is good for media streaming. True or False?

    Answer

    • FALSE

    ServiceNow is designed for workflow, record and business process applications. Delivering real-time video or audio streams is outside what the platform is built for.

  25. 25.What are the 2 core tables from which all other tables are extended in ServiceNow?

    Answer

    • task and cmdb_ci

    Task [task] is the parent of task-based tables such as Incident, Problem and Change, and Configuration Item [cmdb_ci] is the parent of the CI classes in the CMDB. Incident extends Task, so it isn't a core parent table.

  26. 26.Which option in a table's configuration allows other tables to extend it?

    Answer

    • Extensible

    Selecting Extensible on a table record allows other tables to extend it. Task is extensible, for example, which is why Incident and Problem can be built on it.

  27. 27.What is NOT applicable to extension points?

    Answer

    • By altering the base code of an application using extension points, it's easier to integrate customizations

    Extension points are hooks that an application's creator places in its code, so customizers can add functionality through them without altering the base code. That keeps customizations separate and makes upgrades easier.

  28. 28.Which of the following statements are true about Guided Application Creator?

    Answers

    • Microsoft Edge and IE11 are not supported browsers.
    • Globally Scoped applications can be created.

    Guided Application Creator needs a modern browser, so legacy Microsoft Edge and Internet Explorer 11 are not supported, and it can create globally scoped applications as well as scoped ones. A user role is not created automatically, and the legacy application creator is still available.

  29. 29.Which role is required to access Guided Application Creator?

    Answer

    • average_depth

    The answer key for this question marks average_depth as the correct option.

  30. 30.Can you repurpose an extended table's fields?

    Answer

    • Yes, you can change the label for any extended table's fields.

    Fields inherited from a parent table can be repurposed on the child table by giving them a label that suits the child, without changing the label on the parent.

  31. 31.What are the table creation options in Guided Application Creator?

    Answers

    • Uploading a spreadsheet
    • Create a table from scratch
    • Extend a table

    Guided Application Creator can create a table by uploading a spreadsheet, which builds the table from its columns, by building a new table from scratch, or by extending an existing table.

  32. 32.Which property allows applications to be created in the Global scope using Guided Application Creator?

    Answer

    • sn_g_app_creator.allow_global

    Guided Application Creator creates scoped applications by default. The sn_g_app_creator.allow_global property controls whether it can also create applications in the Global scope.

  33. 33.Setting up an application in Guided Application Creator involves which of the following steps?

    Answers

    • Designing the application for different user experiences
    • Designating data tables
    • Creating an application record
    • Defining user roles

    Guided Application Creator takes you through creating the application record, designating its data tables, designing it for different user experiences and defining its user roles. Defining access controls is a separate security step, not part of the guided setup.

  34. 34.For which tables does ServiceNow support table rotation?

    Answers

    • syslog
    • sys_querystat
    • ecc_event
    • ecc_queue

    Table rotation splits large, fast-growing tables into sections by time and drops the oldest ones, which suits log and queue tables such as syslog, sys_querystat, ecc_event and ecc_queue. cmdb_ci holds configuration items that must be kept, so it isn't rotated.

  35. 35.How do you disable attachments on a specific ServiceNow table?

    Answer

    • If you have admin role to your ServiceNow profile, it is possible. Go to the dictionary of that table and add "no_attachment" to the Attributes field, separated by commas from any existing attributes.

    Adding the no_attachment attribute to the table's dictionary entry removes the option to add attachments on that table's records. An admin makes the change, keeping any existing attributes separated by commas.

  36. 36.ServiceNow adds a namespace identifier to the front of application artifacts such as tables, scripts and configuration records, and scoped applications always start with an x_ prefix. In which system property does the instance store the prefix?

    Answer

    • glide.appcreator.company.x_code

    The instance's scoped application prefix is stored in the glide.appcreator.company.x_code property, and it is added to the front of each scoped application's tables, scripts and other artifacts.

  37. 37.What are the 5 most common tables extended from the Task table?

    Answers

    • sc_request
    • sc_req_item
    • change_request
    • problem
    • incident

    Request [sc_request], Requested Item [sc_req_item], Change Request [change_request], Problem [problem] and Incident [incident] all extend Task. Configuration Item [cmdb_ci] is the base CMDB table and doesn't extend Task.

  38. 38.What are the two main CMDB tables?

    Answer

    • cmdb_ci (all basic attributes) and cmdb_rel_ci (CI relationship between CIs)

    Configuration Item [cmdb_ci] holds the basic attributes of all CIs, and CI Relationship [cmdb_rel_ci] holds the relationships between them. There is no cmdb_ci_rel table.

  39. 39.Which CMDB class should be used to create CIs for your production and sub-production ServiceNow instances?

    Answer

    • cmdb_ci_appl

    A ServiceNow instance is an application rather than a physical or virtual machine, so it is recorded in the Application [cmdb_ci_appl] class. Computer [cmdb_ci_computer] is for computer systems.

  40. 40.What are the 3 most common tables extended from the CMDB?

    Answer

    • Neither of the above

    Neither list is correct, because users, groups and knowledge articles are not CMDB tables. CMDB classes extend Configuration Item [cmdb_ci], for example Computer [cmdb_ci_computer] and Application [cmdb_ci_appl].

  41. 41.Which of the following is the correct plugin ID for the Guided Application Creator feature?

    Answer

    • com.glide.sn-guided-app-creator

    The Guided Application Creator plugin ID is com.glide.sn-guided-app-creator, which follows ServiceNow's com.glide. naming convention. The other IDs leave out or rearrange part of that name.

  42. 42.What are the user experience (UX) options available in Guided Application Creator?

    Answers

    • Classic
    • Mobile

    When designing the experience in Guided Application Creator, the options are Classic, the standard desktop interface, and Mobile. Tablets are covered by Mobile, desktop use by Classic, and workspaces are set up separately after the application is created.

  43. 43.Why create an application in ServiceNow? (a) To replace outdated, inadequate, custom business applications and processes (b) To extend service delivery and management to all enterprise departments (c) To allow users full access to all ServiceNow tables, records and fields (d) To extend the value of ServiceNow

    Answer

    • a, b, and d

    Applications are built to replace outdated custom applications and processes, to extend service delivery and management to every department, and to get more value from ServiceNow. Giving users full access to every table, record and field is not a goal, because access should be limited to what users need.

  44. 44.Which intuitive, low-code development environment is used to build and deploy applications on the ServiceNow platform, guiding creators through a logical development workflow?

    Answer

    • App Engine Studio

    App Engine Studio is the low-code environment that guides creators through building an application's data, experience, logic and security, and then deploying it. Flow Designer automates processes, ServiceNow Studio is aimed at professional developers, and Guided Application Creator covers only the initial setup.

  45. 45.Which one of the following is a benefit of creating an application properties page for each application you develop?

    Answer

    • Application properties allow a developer or admin to make changes to an application's behavior without modifying application artifacts

    Application properties hold settings that the application's scripts read, so a developer or admin can change how the application behaves on its properties page without editing scripts or other application files.

  46. 46.What is the purpose of the Application Picker?

    Answer

    • Choose an application to edit and set the Application Scope

    The application picker sets which application you are working in, so new and changed application files are saved in that application's scope. It doesn't run, favorite or install applications.

Other CAD domains