First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.
Continue in the practice tool above to load more questions, 50 at a time.
Question 1Data Modeling and Data Management
In Appian, which object is used to define the structure of a record type and its fields?
- A group with a membership rule
- A record type with a data source and fields Correct answer.
- A process model with a script task
- A constant of type Text
Explanation
A record type defines the schema: its fields map to a data source (such as a database table, web service, or process-backed source). Process models, constants, and groups do not define record structure.
Question 2Data Modeling and Data Management
Which Appian object is the recommended way to store a single reusable value such as an API endpoint URL?
- A constant Correct answer.
- A local variable in an interface
- A record field
- A process variable
Explanation
Constants hold reusable, centrally managed values that can be referenced across objects. Local variables, process variables, and record fields are scoped to a specific interface, process, or data set.
Question 3Data Modeling and Data Management
A data store entity in Appian is primarily used to do which of the following?
- Read and write rows in a relational database table Correct answer.
- Define user group membership
- Render a grid on an interface
- Schedule a process model
Explanation
Data store entities map to tables in a relational data source and let Appian query, insert, update, and delete rows. They are the standard persistence layer for record types backed by a database.
Question 4Data Modeling and Data Management
Which Appian data type should be used to store a monetary amount that must preserve decimal precision?
- Text
- Integer
- Decimal Correct answer.
- Boolean
Explanation
The Decimal type stores numbers with fractional precision, which is appropriate for monetary values. Integer cannot hold fractional parts, Boolean holds only true/false, and Text does not support numeric arithmetic.
Question 5Data Modeling and Data Management
What is the purpose of a record type relationship in Appian?
- To encrypt sensitive fields at rest
- To trigger a process when a record is created
- To assign record-level security to a group
- To link records so related data can be retrieved in a single query Correct answer.
Explanation
Relationships connect record types through a shared key so that related records can be fetched together, for example a parent and its children. Encryption, security, and process triggers are handled by other features.
Question 6Data Modeling and Data Management
Which Appian function returns the number of items in a list?
- length()
- count() Correct answer.
- len()
- size()
Explanation
count() returns the number of items in a list (or non-null values in an array). The other names are not Appian functions for counting list items.
Question 7Data Modeling and Data Management
A record type is backed by a database table. Which action makes newly added columns available as record fields?
- Creating a new process model
- Restarting the Appian environment
- Publishing the record type to a group
- Refreshing the data store entity and updating the record type Correct answer.
Explanation
After the underlying table changes, the data store entity must be refreshed so Appian detects the new columns, and the record type fields are then updated to expose them. Restarting the environment or unrelated objects does not update the schema mapping.
Question 8Data Modeling and Data Management
An interface needs to display the full name of a user stored in a record field of type User. Which function is appropriate?
- tostring()
- user()
- fullname()
- displayvalue() Correct answer.
Explanation
displayvalue() converts a stored value such as a User or Group into its human-readable display text. tostring() returns a raw string representation, and the other functions do not resolve display names.
Question 9Data Modeling and Data Management
A developer wants to retrieve only the five most recent rows from a record type. Which approach is most appropriate?
- writerecord() with a batch size
- a!forEach() over all rows
- deletefromdatastoreentity() with a limit
- queryrecordtype() with a filter and paging Correct answer.
Explanation
queryrecordtype() supports filters and paging so a limited, sorted subset of rows can be returned. Write, delete, and iteration functions do not perform a limited, sorted retrieval.
Question 10Data Modeling and Data Management
Which Appian data type is best suited to store a reference to an Appian group for use in a membership or permission expression?
- Text
- User
- Group Correct answer.
- Integer
Explanation
The Group type stores a reference to an Appian group and can be used directly in security and membership expressions. Text and Integer are primitive values, and User references an individual account.
Question 11Data Modeling and Data Management
A record type must display data from an external REST service that is not stored in the Appian database. Which data source type should be used?
- A process-backed record
- A database-backed record
- A constant-backed record
- A web service-backed record Correct answer.
Explanation
A web service-backed record type integrates with an external service through an integration object. Process-backed records store data via processes, database-backed records use a relational table, and constants do not back records.
Question 12Data Modeling and Data Management
Which statement correctly describes the difference between a local variable and a rule input in an Appian interface?
- Both are passed in by the caller and are read-only
- A local variable persists across sessions; a rule input does not
- A local variable is passed in by the caller; a rule input is defined inside the interface
- A rule input is passed in by the caller; a local variable is defined and managed inside the interface Correct answer.
Explanation
Rule inputs receive values from the caller, while local variables are declared and manipulated within the interface using a!localVariables(). Neither persists across sessions.
Question 13Data Modeling and Data Management
A developer needs to combine two lists of record IDs into one list without duplicates. Which function is most appropriate?
- index()
- joinarray()
- union() Correct answer.
- append()
Explanation
union() merges lists and removes duplicate values. append() concatenates lists while keeping duplicates, joinarray() produces a delimited text string, and index() extracts an element.
Question 14Data Modeling and Data Management
What is the effect of setting a record type field as a primary key display field?
- It determines the value shown when the record is referenced Correct answer.
- It automatically creates a relationship
- It encrypts the field value
- It makes the field read-only in all interfaces
Explanation
The primary key display field controls the human-readable value shown when a record is referenced elsewhere, such as in a picker. It does not encrypt data, enforce read-only behavior, or create relationships.
Question 15Data Modeling and Data Management
Which Appian object should be used to validate and transform data before it is written to a data store entity?
- An interface
- A group
- A record type
- A process model with a script task Correct answer.
Explanation
A process model with a script task can validate, transform, and then write data using the data store entity. Record types describe structure, interfaces render UI, and groups manage membership.
Question 16Data Modeling and Data Management
A developer must ensure a Text field never stores a null value. Which configuration enforces this at the record level?
- Setting the field as a primary key display field
- Marking the field as required Correct answer.
- Making the field a relationship
- Changing the field type to Boolean
Explanation
Marking a field as required enforces that a value must be present when records are created or updated. The other options affect display, relationships, or data type but do not enforce non-null values.
Question 17Data Modeling and Data Management
Which function is used to convert a list into a delimited text string in Appian?
- split()
- joinarray() Correct answer.
- concat()
- tostring()
Explanation
joinarray() joins the elements of a list into a single string using a specified delimiter. tostring() converts a single value, concat() joins individual text values, and split() does the reverse of joining.
Question 18Data Modeling and Data Management
An interface must show data from a related record type without issuing a separate query for each row. Which feature is designed for this?
- A local variable refreshed on each row
- A related record type field populated through a relationship Correct answer.
- A process variable passed to the grid
- A constant holding the related IDs
Explanation
A related record type field defined through a relationship lets Appian retrieve related data efficiently for the displayed rows. Local variables, process variables, and constants do not provide relationship-based retrieval.
Question 19Data Modeling and Data Management
A record type backed by a database table shows stale values after rows are updated directly in the database. Which action best resolves this?
- Recreate the record type from scratch
- Convert the record type to a process-backed record
- Change the primary key display field
- Refresh the data store entity and re-query the data Correct answer.
Explanation
Refreshing the data store entity synchronizes Appian's metadata with the database, and re-querying retrieves current values. Recreating the record type, changing the display field, or converting the backing source does not address stale metadata.
Question 20Data Modeling and Data Management
A developer needs a record type field that derives its value from other fields at query time rather than storing it. Which approach is appropriate?
- A constant referenced in the interface
- A calculated field defined with an expression Correct answer.
- A stored database column updated by a process
- A group membership rule
Explanation
A calculated field computes its value from an expression when the record is queried, avoiding stored redundancy. Stored columns, constants, and group rules do not provide query-time derivation.
Question 21Data Modeling and Data Management
A developer must delete a large set of records matching a filter efficiently. Which approach is most appropriate?
- Manually removing rows in the database console
- Using a!forEach() to call a delete for each ID
- Using deletefromdatastoreentity() with a filter expression Correct answer.
- Iterating in an interface and deleting one row at a time
Explanation
deletefromdatastoreentity() accepts a filter and deletes all matching rows in a single operation, which is efficient for bulk removal. Per-row deletion, iteration, and manual database edits are slower and error-prone.
Question 22Data Modeling and Data Management
Which statement best explains why a record type relationship must be defined on both record types to be bidirectional?
- Because the primary key display field depends on it
- Because Appian requires symmetric definitions for navigation in both directions Correct answer.
- Because groups require bidirectional membership
- Because relationships encrypt data in both directions
Explanation
Defining the relationship on both record types lets each side navigate to the other. Relationships do not handle encryption, display fields, or group membership.
Question 23Data Modeling and Data Management
Which Appian object stores a list of values that can be reused across many interfaces and processes?
- A constant of type Text with multiple values Correct answer.
- A local variable
- A record field
- A process variable
Explanation
A constant can hold a value, including a list, and be referenced across objects. Local and process variables are scoped narrowly, and a record field stores per-row data.
Question 24Data Modeling and Data Management
Which function is commonly used to filter a list of values based on a condition in Appian?
- tostring()
- count()
- joinarray()
- wherecontains() Correct answer.
Explanation
wherecontains() returns the positions where a value appears in a list, which supports filtering logic. joinarray(), tostring(), and count() perform joining, conversion, and counting respectively.
Question 25Data Modeling and Data Management
A developer must ensure that a record type backed by a process only returns records the current user is permitted to see. Which mechanism applies?
- A group with no members
- Record-level security configured on the record type Correct answer.
- A constant holding the user ID
- A local variable in the interface
Explanation
Record-level security on the record type filters which records a user can access based on configured rules. Local variables, constants, and empty groups do not enforce record-level access.
Question 26Data Modeling and Data Management
A developer is choosing a data type for a record field that will store whole numbers used in arithmetic expressions. Which Appian data type is intended for this purpose?
- Integer Correct answer.
- Boolean
- Text
- Date
Explanation
Integer is the numeric data type used for whole numbers and supports arithmetic operations directly. Text stores characters, Boolean stores true/false, and Date stores calendar dates, none of which support numeric computation.
Question 27Data Modeling and Data Management
Which Appian object is the correct place to define a reusable query against a record type so that multiple interfaces can call it consistently?
- A process variable
- A record type view Correct answer.
- A constant of type Text
- An interface rule input
Explanation
A record type view defines a saved, reusable query on a record type, including filters and fields, and can be referenced from interfaces and other objects. Constants, rule inputs, and process variables hold values but do not define queries.
Question 28Data Modeling and Data Management
A developer wants to define a many-to-one relationship from an Employee record type to a Department record type. Where is this relationship configured?
- On the Employee record type, referencing the Department record type Correct answer.
- On the Department record type, referencing the Employee record type
- In a constant holding the department identifier
- In the process model that creates employees
Explanation
A relationship is defined on the record type that holds the foreign key reference, so the Employee record type is configured to point at Department. Defining it on Department would describe the reverse direction (one-to-many).
Question 29Data Modeling and Data Management
Which statement describes the role of a data store entity in Appian?
- It schedules process models to run at intervals.
- It stores the login credentials for external systems.
- It maps a record type to a table or web service so data can be read and written. Correct answer.
- It defines the layout of an interface form.
Explanation
A data store entity represents a specific table or service within a data store and provides the mapping that record types use to read and write data. It does not manage credentials, interface layout, or process scheduling.
Question 30Data Modeling and Data Management
A developer needs to store a value that represents a moment in time, including date and time, for a record field. Which data type should be selected?
- Text
- Date and Time Correct answer.
- Time
- Date
Explanation
The Date and Time data type captures both a calendar date and a time of day. Date alone omits the time component, Time alone omits the date, and Text stores characters without temporal meaning.
Question 31Data Modeling and Data Management
What is the purpose of a record type's default filters?
- They apply a baseline filter to queries so only relevant records are returned by default. Correct answer.
- They control the order in which fields appear on a form.
- They define which users may edit the record type.
- They permanently delete records that do not match the filter.
Explanation
Default filters establish a baseline condition applied to queries on the record type, narrowing results unless overridden. They do not delete data, govern permissions, or control form layout.
Question 32Data Modeling and Data Management
A developer needs to reference a single stored value, such as a maximum allowed quantity, from both an interface and a process model. Which object is most appropriate?
- A process variable
- A local variable
- A rule input
- A constant Correct answer.
Explanation
A constant stores a reusable value that can be referenced from any object, including interfaces and process models. Local variables, rule inputs, and process variables are scoped to a single interface or process instance.
Question 33Data Modeling and Data Management
Which Appian data type should be used for a record field that stores a yes/no flag indicating whether an employee is active?
- Text
- Integer
- Boolean Correct answer.
- Date
Explanation
Boolean is the data type designed to hold true or false values, which is exactly what a yes/no flag represents. Integer, Text, and Date represent numeric, character, and temporal data respectively.
Question 34Data Modeling and Data Management
A developer wants to add a calculated field to a record type that sums two stored numeric fields whenever the record is queried. Which configuration achieves this?
- Create a related record type that stores the sum.
- Add a constant that holds the sum.
- Define a record field whose value is an expression referencing the two stored fields. Correct answer.
- Create a process model that updates the sum nightly.
Explanation
A calculated record field evaluates an expression at query time, so the sum reflects current stored values without persisting a separate column. A nightly process, a constant, or a related record type would not compute the value dynamically per record.
Question 35Data Modeling and Data Management
A developer must return records from a record type where the Status field equals "Open" and the Priority field equals "High". Which query configuration applies both conditions?
- Add both conditions as filters combined with an AND operator in the query. Correct answer.
- Add only the Status condition and sort by Priority.
- Add a single condition comparing Status to Priority.
- Add both conditions as separate queries and merge the results.
Explanation
Filters combined with AND return only records that satisfy both conditions simultaneously. Sorting does not filter, merging separate queries would return records matching either condition, and comparing two fields does not test either against the target values.
Question 36Data Modeling and Data Management
A developer wants a record field to accept only values from a fixed set of statuses such as New, In Progress, and Closed. Which configuration enforces this?
- Mark the field as a calculated field.
- Restrict the field to a picklist of allowed values. Correct answer.
- Set the field as a primary key.
- Apply a default filter to the record type.
Explanation
A picklist constrains a field to a defined set of allowed values, which enforces the status list. A primary key identifies records, a calculated field derives values, and a default filter restricts query results rather than stored values.
Question 37Data Modeling and Data Management
A developer needs to write a list of new records to a data store entity from within a process model. Which node type is designed for this operation?
- A Gateway
- A Timer event
- A Write to Data Store Entity smart service Correct answer.
- A Script Task
Explanation
The Write to Data Store Entity smart service inserts or updates data in a data store entity from a process. A Script Task runs expressions, a Gateway routes flow, and a Timer waits, none of which persist records to a data store.
Question 38Data Modeling and Data Management
A developer needs to display a related record's field on a grid row without triggering a separate query for each row. Which approach should be used?
- Create a separate interface for each related record.
- Configure the relationship so related fields are available in the grid's data query. Correct answer.
- Store the related value in a constant and display it.
- Call a query for each row inside the grid's expression.
Explanation
Configuring the relationship lets related fields be fetched as part of the grid's query, avoiding per-row queries. Querying inside each row, using a constant, or building per-record interfaces would not provide efficient row-level data.
Question 39Data Modeling and Data Management
A developer must transform a list of text values into a single comma-delimited string for display. Which function is appropriate?
- index()
- join() Correct answer.
- append()
- length()
Explanation
The join() function concatenates list items into a single string using a specified separator. append() adds an item to a list, length() counts items, and index() retrieves a single item, none of which produce a delimited string.
Question 40Data Modeling and Data Management
A developer needs to remove duplicate values from a list of text values before displaying them. Which function is appropriate?
- index()
- union() Correct answer.
- length()
- append()
Explanation
The union() function combines lists and returns distinct values, eliminating duplicates. append() adds items, length() counts items, and index() retrieves one item, none of which deduplicate a list.
Question 41Data Modeling and Data Management
An interface must let a user select one department from a list of departments stored in a record type. Which component is designed for single selection from a data source?
- A text field
- A paragraph component
- A dropdown component populated from a record type query Correct answer.
- A checkbox
Explanation
A dropdown populated from a record type query presents a list of selectable options and allows a single choice. A text field, a checkbox, and a paragraph do not offer single selection from a queried list.
Question 42Data Modeling and Data Management
A developer wants to display a user's display name from a record field of type User. Which function should be used to obtain the name?
- tostring()
- user() Correct answer.
- property()
- text()
Explanation
The user() function returns information about a user, including the display name, from a User value. text(), tostring(), and property() do not resolve a User reference to its display name.
Question 43Data Modeling and Data Management
A developer needs to count the number of items in a list returned by a query. Which function should be used?
- count()
- length() Correct answer.
- total()
- size()
Explanation
The length() function returns the number of items in a list. count(), size(), and total() are not the Appian functions used for list length.
Question 44Data Modeling and Data Management
A developer wants to return only records where the CreatedDate is after a date stored in a rule input. Which configuration achieves this?
- Add a default filter that ignores the rule input.
- Add a filter comparing CreatedDate to the rule input with a greater-than operator. Correct answer.
- Display the rule input in a text field.
- Sort the query by CreatedDate.
Explanation
A filter comparing the field to the rule input with a greater-than operator returns only records created after that date. Sorting orders results, a default filter ignoring the input does not use it, and displaying the value does not filter records.
Question 45Data Modeling and Data Management
A developer must ensure that a record field is populated automatically with the current timestamp when a record is created. Which approach is appropriate?
- Set the field's default value to the current date and time. Correct answer.
- Apply a default filter to the record type.
- Require the user to type the timestamp manually.
- Set the field as a primary key.
Explanation
A default value of the current date and time populates the field automatically at creation. Manual entry is error-prone, a primary key identifies records rather than storing timestamps, and a default filter restricts queries rather than setting values.
Question 46Data Modeling and Data Management
A developer queries a record type and receives a list of record identifiers. Which data type do these identifiers typically have?
- Text
- Integer Correct answer.
- Date
- Boolean
Explanation
Record identifiers are numeric values, so they are represented as Integer. Text, Boolean, and Date represent character, binary, and temporal data and are not used for record identifiers.
Question 47Data Modeling and Data Management
A developer needs to combine two lists of record identifiers into one list while preserving every occurrence, including duplicates. Which function should be used?
- union()
- intersection()
- difference()
- append() Correct answer.
Explanation
The append() function concatenates lists and preserves all items, including duplicates. union() removes duplicates, difference() returns items unique to one list, and intersection() returns only shared items.
Question 48Data Modeling and Data Management
A record type relationship is defined only on the parent record type. What is the effect on querying the child record type for its related parent records?
- The parent relationship is deleted when the child is queried.
- The child record type cannot be queried at all.
- The reverse direction works automatically because relationships are always symmetric.
- The reverse direction is unavailable until a matching relationship is defined on the child record type. Correct answer.
Explanation
Relationships are directional; each record type must define its side to expose related data in that direction. Without a matching relationship on the child, the reverse direction is unavailable, but the child can still be queried for its own fields.
Question 49Data Modeling and Data Management
A developer must enforce that two record fields are always updated together so that no record ever has one value without the other. Which approach best satisfies this requirement?
- Write both fields through a single validated process or expression that sets them together. Correct answer.
- Add a default filter requiring both fields.
- Display both fields on the same form section.
- Set both fields as primary keys.
Explanation
Routing writes through a single validated operation ensures both fields are set together and rejects partial updates. Primary keys, default filters, and form layout do not enforce that two fields are updated atomically.
Question 50Data Modeling and Data Management
A developer must show, for each department row, the count of related employees without issuing a query per row. Which approach is most appropriate?
- Configure the relationship and aggregate the related records within the grid's data query. Correct answer.
- Store the count in a constant updated manually.
- Call a count query inside each row's expression.
- Create a separate interface per department.
Explanation
Configuring the relationship and aggregating related records within the grid's query computes counts efficiently in one operation. Per-row queries, manually maintained constants, and per-department interfaces do not scale and risk stale or inefficient results.