WorksheetsTraditional web outsystem
Total questions: 98
Worksheet time: 49mins
Consider the following data model containing the Status Static Entity, and the Customer, Order, ShippingDetail, OrderProduct and Product Entities. Why is this data model wrong?
Contains an unnecessary one-to-one relationship.Contains an unnecessary one-to-one relationship.
Contains an attribute in the Order Entity that should not be there.
Contains an unnecessary many-to-many relationship.
Contains an attribute in the Status Entity that should not be there.
Which of the following options is an advantage of using the Personal Area instead of the Public Area to debug an OutSystems Application?
Developers can debug the application without affecting the main version of the application.
Developers can share with other developers their own breakpoints.
Developers can test changes to the data model and logic without affecting other developers.
Developers can create their own personal versioning of the module
Which of the following Expressions is the best to correctly display the Customer Name, of all the Customers, in the Table Records?
GetCustomer(OrderTable.List.Current.Customer.Id).Name
GetOrders.List.Current.Customer.Nam
OrderTable.List.Current.Customer.Name
GetCustomer(GetOrders.List.Current.Customer.Id).Name
The GetContacts Aggregate is defined in the Preparation of the Contacts Screen and fetches all records from the Contact Entity. Select the correct option, taking into consideration the following ContactComboBox properties
If the user selects an existing Contact, the value of the SpecialContactId variable will be -1
If the user selects an existing Contact, the value of both ContactId and SpecialContactId will be the respective Id
If the user selects the – All Contacts – option, the value of the ContactId variable will be -1.
If the user selects an existing Contact, the value of the ContactId will be the respective Id
Consider the following two implementations (A and B) below, where the Assign statement is detailed on the right. The goal is to repeat the RunActionWithNumber statement multiple times based on the value of the Number Input Parameter (e.g., 10). Based on this scenario, select correct option.
Both alternatives are possible, as long as the If and For Each condition are set to Number >= 0
Alternative A is possible, as long as the If condition is set to Number >= 0.
Alternative B is not possible, since the For Each always requires a List to iterate
Alternative B is possible, since the For Each statement is the only statement that allows to create generic loops
Considering the following usages of the Feedback_Message Action, select the correct option.
All of them work.
Snippet A doesn’t work because the Feedback_Message cannot be used in the Preparation of a Screen
Snippet C doesn’t work because the Feedback_Message cannot be inside a Web Block
Snippet B only works if the button associated to the Screen Action has its method property set to Ajax Submit
How would you change the following Aggregate to return, for each team, the highest number of yards in a year and the average number of touchdowns?
Create a Filter in the Aggregate with Max(Team, Yards), and group the results by Touchdowns.
Group the results by Team, and then apply the Max function to Yards and the Average function to Touchdowns.
Group the results by Year, apply the Max function to Touchdowns, and the Average function to Yards.
Sort the results by Yards and Touchdowns, and then group them by Team
In the following Aggregate, which of the following options is the best way to ignore the Orders that have been Canceled?
Group By OrderStatus.Label and then Add a Group Filter with: OrderStatus.Label <> “Canceled”.
Add a Filter with: Order.OrderStatusId <> NullIdentifier()
Add a Filter with: Order.OrderStatusId <> Entities.OrderStatus.Canceled.
Add a Filter with: OrderStatus <> “Canceled”.
After opening the OSMDb module, the following appears on the Manage Dependencies dialog. Considering this scenario select the correct option.
The OSMDb_Core module has been deleted from the Server.
The OSMDb_Core module has one or more references to elements in the OSMDb module.
Clicking the Apply button is enough to refresh all dependencies.
A referenced element has been changed in the OSMDb_Core module
Consider the Replace Data operation commonly used in Screens created from Screen Templates. Which of the following options is false?
The Replace Data operation automatically deletes all widgets that could not be matched to the real data.
The data mapping in the Replace Data operation is based on the attribute’s name and data type.
Forms and Table/List Records support the Replace Data operation.
The Replace Data operation words on Screens not generated by Screen Templates.
Consider the following Save Screen Action inside the MovieDetail Screen, defined in a module where the Global Exception Handlers is set to the OnException action. In a scenario where the CreateOrUpdateMovie Entity Action throws an Exception, which Exception Handled will handle the exception?
None of the Exception Handlers flows above.
The AllExceptions Handler inside the Save Screen Action.
The DBExceptions Handler inside the OnException action
The AllExceptions Handler inside the OnException action
If your Screens are only accessible to authenticated users, what is required to allow a new end-user to access your application?
Create a new user in the Development Environment.
Create a new user in the Users application.
Create a new Groups in the Users application.
Create a new user in Service Center.
Regarding the Label Widget, which of the following options is false?
If the Input associated to the Label Widget is mandatory, the Label automatically displays a red asterisk
All Label Widgets must be associated to an input Widget.
The Value Property of a Label Widget can be defined using Expressions.
When the user clicks on a Label, the focus moves to the Widget associated with that Label.
Consider the following Entity Diagram. What is the data type of the Id attribute of the SnippingDetail Entity?
ShippingDetail Identifier.
Integer.
Order Identifier.
Long Integer.
Considering the following Aggregate, what will be the attributes of the TopProducts.List.Current record?
Three attributes corresponding to the three computed attributes in the Aggregate (Name, QuantitySum, and TotalPriceSum), plus the columns used to calculate these computed attributes (Product.Name, OrderItem.Quantity, and OrderItem.TotalPrice).
The three computed attributes (Name, QuantitySum and TotalPriceSum) plus the four sources with all its attributes.
Seven attributes corresponding to the seven visible columns in the TopProducts Aggregate: Name, QuantitySum, TotalPriceSum, Quantity, Price, TotalPrice, and Label
Three attributes that correspond to the computed attributes in the Aggregate: Name, QuantitySum and TotalPriceSum.
Web Blocks can have …
… only Screen Actions. Its initializations is done using the Web Screen’s Preparation.
… a Preparation, but no Screen Actions.
… a Preparation and Screen Actions, just like a Web Screen.
… a Preparation, Screen Actions and Output Parameters.
To populate a Form, you need to set its Source Record property with …
… a single Record.
… an in-memory Structure
… a Local Variable. There’s no other way.
… a list that was returned from an Aggregate or SQL
What will happen once you drop the Web Block, as depicted below?
The Web Block will be rendered, but only if it is inside a Container
The Web Block will be rendered since it is possible to nest Web Blocks.
You will get an error since you can’t nest Web Blocks.
You will get an error since you can’t place a Web Block inside itself.
Regarding Static Entities, what can you do at runtime?
Change the Is_Active attribute of the Records to False.
Only use the Ids of its Records. They only exist in memory and have no representation in the database.
Fetch data. To create or edit records, you need to do it at design time
Fetch, Create and Update Records.
Regarding Session Variables, which of the following options is correct?
Session Variables can be set to Public and used in other modules.
Session Variables cannot be changed inside a Preparation flow.
Session Variables will not keep the assigned value between consecutive requests from the same end-user.
Session Variables should not be used to store Record and List data types.
Consider the following Screen Action, which was set as the Destination of a “Save” Button. When the user submits the valid Form named ProductForm, what is the final outcome of the Action?
When updating an already existing Product, you will get an Exception.
The CreateOrUpdate Action will commit the user changes in the Form to the database.
There will be no changes to the database, as the CreateOrUpdateProduct Action is not using the data from the Form.
The CreateOrUpdate Action will commit the user changes in the Form to the database, only if the Validation Method of the Save Button is set to Server.
Consider the following SQL Statement used in the Preparation of a Screen. Which of the following options is correct?
The @SearchKeyword is an Input Parameter of the Query of type Text.
The @SearchKeyword is an Input Parameter of the Screen of type Text.
The @SearchKeyword is a Session Variable of type Text.
The @SearchKeyword is a Local Variable of the Screen of type Text
In the following Aggregate
… if you choose Sort A->Z on the Customer.Name column, a second sort option is added to the Aggregate. In the results, the records with the same Date will appear ordered by Name
… if you choose Sort A->Z on the Customer.Name column, a second sort option is added to the Aggregate. In the results, the records with the same Name will appear ordered by Date.
… if you choose Sort A->Z on the Customer.Name column, the previous sort option it replaced by this new sort option.
… you can’t sort by the Customer.Name, because you already have the results sorted by an attribute of another Entity
Regarding the output of an Aggregate, which of the following options is correct?
The Count property value is -1 if the Aggregate does not return records.
The List.Length property can not be used to assess if the Aggregate does not return records.
The List.Length property value is always less than or equal to the Count property value.
The Count and List.Length properties always return the same value.
Regarding Screen Actions in OutSystems, which of the following options is false?
A Screen Action has access to the Screen Widget’s runtime properties
A Screen Action can have multiple Output Parameters.
A Screen Action can be used to download Binary Data
A Screen Action can be set as the On Click Destination of a Container.
In Service Studio, how can you avoid duplicate records in a Database Entity?
Using a Database View.
Using a Database Trigger.
Using Database Constraints.
Using Unique Indexes.
In OutSystems Web Applications, when do Client & Server validations prevent a request to the server?
When mandatory fields are not filled in, or data types don’t match the expected input data types.
Only when data types don’t match the expected input data types.
Only when mandatory fields are not filled in.
When built-in and custom client-side validations, defined in a Screen Action, fail.
In OutSystems, the For Each statement …
… allows defining a generic loop based on a boolean condition.
… cannot be used to iterate over an Aggregate output, when inside a Server Action.
… can be used in a Screen to display each item of a List.
… allows iterating through all the elements in a List.
What happen when the user presses a Button, that executes a Screen Action, using the Submit method?
The Screen Action associated with the Button is executed, followed by the Preparation.
The Screen Action associated with the Button is executed and the Preparation is not executed.
The Screen Action associated with the Button is executed. The Preparation would only run if the Button’s Method was set to Ajax Submit.
The Preparation executed, followed by the Screen Action associated with the Button.
Regarding Site Properties, which of the following options is correct?
Site Properties can be set to Public and referenced in other modules.
Site Properties can store value of type <Entity> Identifier.
Site Properties values are reset when the user logs out.
Site Properties will store a different value for each end-user.
The Form’s Valid property …
… must be set explicitly using an Assign.
… is set to True only if the user fills all the Form’s mandatory input fields.
… is set to False when client-side validations fail.
… is set to False when one of the Form’s input fields fails its validation.
Consider that you are creating a new Screen to display application data. Which of the following options is correct regarding OutSystems applications’ Roles in that Screen?
To ensure that access to the Screen is restricted, the Screen can only have application-specific roles checked.
Checking only application-specific Roles in the Screen ensures that end-users are required to log in before accessing the Screen.
To ensure that access to the Screen is restricted, the Screen should have the Anonymous Role checked.
Checking the Registered Role in the Screen ensures that the Screen can only be accessed by users that are not logged in.
A one-to-many relationship from Entity Publisher to Entity Book is created by …
… adding an attribute to Entity Book of type Foreign Key.
… adding an attribute to Entity Publisher of type Book Identifier.
… adding an attribute to Entity Book of type Publisher Identifier
… adding an attribute to Entity Publisher of type Foreign Key
Setting the Expose Read Only property of an Entity to Yes will …
… only expose the Get<Entity> Entity Action.
… prevent other modules from using the Entity Actions, but data can still be modified using SQL Queries.
… only allows other modules to query data using Aggregate.
… prevent other modules from modifying the Entity’s data, but only if you also set the Public property to No.
The Preparation of a Web Screen …
… always runs after the End of a Screen Action.
… can only have one End statement.
… is required in all Web Screens.
… is executed before the Web Screen is rendered for the first time.
Consider the Movies Screen that contains a Table Records to display the list of Movies. A List Navigation Web Block is associated to the Table Records, to allow to navigate through the existing sets of records. Which of the following Screen Acti
A and C implement the correct behavior.
A, B and D implement the correct behavior.
Only D implement the correct behavior.
A and D implement the correct behavior.
Consider a Table Records that will display all the records of a Database Entity. Which of the following options is correct?
It is mandatory for each attribute to have its own column. To display the values of the attributes, you must drag the Entity or its attributes to the Table Records.
It is not mandatory to have a column for each attribute. To display the values of the attributes you can use more than one widget.
It’s not mandatory to have a column for each attribute. You can only use Text or Expressions inside a Table Records.
It is mandatory for each attribute to have its own column. Otherwise, displaying the values of the attributes will not work properly.
When you instantiate a Web Block inside a Web Screen, which of the following options is correct when the user navigates into the Screen?
The Web Screen’s Preparation runs, and then the Web Block’s Preparation runs.
The Web Screen and Block’s Preparation run at the same time.
The Web Block’s Preparation runs, and then the Web Screen’s Preparation runs.
Web Block can’t have a Preparation, so only the Web Screen’s Preparation runs.
Regarding Screen Preparation and Server Actions, which of the following options is false?
Server Actions do not have access to Site Properties.
Screen Preparation has access to the Screen Input Parameters.
Screen Preparation does not have access to Local Variables inside Screen Actions.
Server Action have access to Session Variables.
In OutSystems, when importing a Database Entity from an Excel file …
…you will need to manually specify each attribute’s name and match them to each column in the Excel file, in Name and Data Type.
…the Entity will be created with the attributes corresponding to the columns in the Excel file, but without any Entity Actions.
…the names in the first row in the Excel file will be used to automatically create the Entity’s attribute names.
…the first row in the Excel file is used to create the Entity’s attributes, but you need to specify the attribute’s Data Types.
The Trigger Event statement allows …
… a Web Screen to notify its children (Web Blocks) that something relevant occurred.
… a Web Block to notify its parent (Web Screen or Web Block) that something relevant occurred.
… a Web Block to notify its children (Web Blocks) that something relevant occurred.
… a Web Screen to notify its parent (Web Screen or Web Block) that something relevant occurred
In the following scenario, what happens when the CompanyId Input Parameter of the CompanyDetail Screen has the NullIdentifier() value?
The Aggregate in the Preparation returns null.
The Aggregate in the Preparation is skipped.
The Aggregate in the Preparation throws a Database Exception at runtime.
The Aggregate in the Preparation returns an empty List.
Consider the following Aggregate that shows all existing data from the Movie and MovieGender Entities in the Preview area. Which of the following options is correct?
Changing the Join to With or Without, and swapping the Entities order in the Join, will yield the same result.
Changing the Join to With or Without will return all existing Movies.
Changing the Join to Only With will yield the same result.
Changing the Join to Only With, and swapping the Entities order in the Join, will return all existing Movies.
The Container in the following screenshot is set with the backgroud-blue style, but it is being rendered with a red background. What is causing this behavior?
The background-blue style is redefined in the ModuleTheme or the HomeScreen, setting the background color to red.
The primary color defined in the ModuleTheme is red.
The background color setting inside the Styles Editor does not override the theme CSS definition.
The container is inside a Web Block that overrides the background-blue style
In OutSystems, a Consumed REST API Method …
… can be used in a Run Server Action.
… can be used in an Expression.
… cannot have more than one Input Parameter.
… cannot be used in a Preparation.
In OutSystems, if you need to refresh part of a Web Screen instead of refreshing the entire Web Screen, affter clicking a Button, which of the following options is correct?
You always need to use a Refresh Data and an Ajax Refresh on the Screen associated with the Button.
You need to set the Button method to ‘Ajax Submit’ and use Ajax Refresh to refresh the specified Web Screen part.
You need to encapsulate that part of the Web Screen in a Web Block.
You need to set the Button method to ‘Ajax Submit’ or ‘Submit’ and use Ajax Refresh to refresh the specified Web Screen part
The Id attribute in the Resource Entity has the Delete Rule property set to Ignore. Which of the following statements is true?
Deleting a record from the ToDo Entity will leave the corresponding record in the Resource Entity.
Deleting a record from the ToDo Entity automatically deletes the corresponding record in the Resource Entity.
Deleting a record from the Resource Entity is only possible after deleting the corresponding record from the ToDo Entity.
Deleting a record from the ToDo Entity is not possible if there is a Resource with the same Id in the Database.
Considering Aggregates and SQL Queries, which of the following options is correct?
A SQL Query needs to always have an Output Structure/ Entity defined.
Hiding columns in an Aggregate influence its output.
Everything that can be written in a SQL Query can also be defined in an Aggregate.
Both SQL Queries and Aggregates support Bulk Inserts in the Database.
Check, Grant and Revoke Role functions …
… must be created manually.
… allow to manipulate user permissions at runtime.
… allow to Check, Grant or Revoke Roles of groups.
… can be used in the Condition of an If Widget.
Consider the following ActionX where the Result Output Parameter and the Counter Local Variable have Integer data type. Both default values are 0. Which of the following options is the correct value for the Result Output Parameter, after the ActionX being computed?
The value of the Result Output Parameter is 5.
The value of the Result Output Parameter is 6.
The value of the Result Output Parameter is 7.
The value of the Result Output Parameter is 3.
Regarding Session Variables in OutSystems, which of the following options is correct?
Session Variables' values never expire and are kept in all requests from the same user.
Session Variables allow sharing data between different users.
Session Variables' values expire after the session timeout.
Session Variables can only be used after the user authenticates.
Immediately after creating an Entity and its attributes, what is the expected behavior when using Bootstrap Data from Excel.
You cannot use the Bootstrap Data from Excel. You are required to Publish the module first.
The Bootstrap Data from Excel will try to automatically map the Entity attributes with the existing headers, in the first row of the Excel file.
You cannot use Bootstrap Data from Excel because the structure of the Entity is already defined.
The Bootstrap Data from Excel only works if all attributes match exactly the headers on the first row of the Excel file. Otherwise, you get an error.
Consider a Screen containing a Table Records, with an Aggregate as data source. To add the sort functionality to all columns in the Table Records, you have to …
…add the List_SortColumn Web Block after the Table Records and select the Table Records in the ListWidgetId property of the List_SortColumn.
…simply drop the List_SortColumn Web Block on each column and change the Aggregate to use the Block’s Output parameter.
…add the List_SortColumn Web Block to each column of the Table Records, set the Column property with {Entity}.[Attribute] and the Dynamic Sort is automatically added to the Aggregate.
…add the Lis_SortColumn Web Block to each column of the Table Records, set the Column property with {Entity}.[Attribute], and define the Dynamic Sort in the Aggregate.
Consider a Web Screen with a Button that is associated to a Screen Action. An Ajax Refresh statement in that Screen Action allows to refresh part of the Web Screen, …
…if the Button’s Method is set to Submit.
…regardless of the Button’s Method.
…if the Button’s Method is set to Ajax Submit.
…if the Button’s Method is set to Navigate.
In the Preparation of a Web Screen, the Destination statement…
…renders the Current Screen and afterwards the user is redirected to the Destination Screen.
…allows redirecting the user to a different Web Screen, without rendering the current Screen.
…prompts the user before redirecting to the Destination Web Screen.
…cannot be used.
Consider that a user navigates to a Web Screen and then clicks on a Button, set with the Submit Method and the following Screen Actions as the Destination. In this scenario, when does the Preparation run?
When the user accesses the Web Screen and when the user clicks on the Button.
When the user accesses the Web Screen, but not when clicks on the Button.
Only when the user clicks on the Button.
Never.
Consider the following ActionX where the Result Output Parameter and the Counter Local Variable have Integer data type. Both default values are 0. Which of the following options is the correct value for the Result Output Parameter, after the ActionX being computed?
The value of the Result Output Parameter is 5.
The value of the Result Output Parameter is 3.
The value of the Result Output Parameter is 6.
The value of the Result Output Parameter is 4.
What happens when the user makes a request to access a Screen for the first time?
The Preparation is only executed if the user has visited the Screen before.
The Preparation is executed, follow by the page rendering.
The Preparation is only executed if the Screen does not have Input Parameter.
The Screen is rendered and then The Preparation is executed.
Consider that you have a Web Block, named CardBlock, whose content is a Container with the … style class applied to it. This Block is instantiated inside the Dashboard Screen that is based on the Dashboard. Considering the following CSS definition, which of the following options is correct?
In the Dashboard Screen, the Container inside the Web Block will have a blue background and 16px font size.
In the Dashboard Screen, the Container inside the Web Block will have a red background and 16px font size.
In the Dashboard Screen, the Container inside the Web Block will have a blue background and 14px font size.
In the Dashboard Screen, the Container inside the Web Block will have a red background and 14px font size.
The OutSystems debugger can be used to…
…inspect the value of primitive types. Composite types, like Lists, cannot be inspected.
…inspect the variables’ state and follow the page lifecycle, step by step.
…inspect the logic. It is not possible to inspect the Screen render stage.
…inspect the value of the variables, except for Session Variables and Site Properties.
Select the correct option regarding Sever Actions
It is not possible to set both Public and Function properties to Yes at the same time.
All Sever Actions must have at least one input or Output Parameter
Setting the Function property to Yes requires the Server Action to have only one Output Parameter.
Setting the Public property to Yes requires the Server Action to have at least one Input or Output Parameter
In OutSystems, User Groups allow you to
assign --- a Role to multiple users at the same time
create new user Sessions for multiple users at the same time
assign the same password to multiple users at the same time
grant the access to the same Screens to multiple users at the same time
Before iterating a non-empty List, the List.Current element contains…
… null.
… the last record of the List.
… the first record of the List.
… an empty record.
Select the correct option regarding Sever Actions
A Server Action can only have one Output Parameter, to indicate if the action worked as expected or not, you should use an Exception
A Server Action can return multiple values in different Output Parameters but limited to the OutSystems basic types.
A Server Action can return multiple values in different Output Parameters, of any OutSystems data type
A Server Action can only have Output Parameter. When more than one value needs to be returned, a Structure must be used.
Consider that you define a Unique Index over the attributes Name and Email of the Customer Entity…. Of the following records would raise a Database Exception when trying to add it to the Entity?
(John Smith, john@example.com, 555-3333) and (John, john.james@examle.com,777-99999)
(John, john@example.com, 555-33333) and ( John, john@example.com, 777-99999)
(John, john@example.com, 555-33333) and ( John James, john@example.com, 777- 99999)
(John, john@example.com, 555-33333) and (John, john.james@example.com, 777- 99999)
Considering the following Aggregate, which of the following options is correct?
The Aggregate returns Movies with Genre and with zero or more Comments.
The Aggregate returns Movies without Genre and without Comment.
The Aggregate only returns Movies with Genre and at least one Comment.
The Aggregate only returns Movies without Genre and at least one Comment.
Consider the following Server Action, containing a Switch where the conditions are detailed on the connectors. Which of the following options is correct?
If the value of GenderLetter is “Female”, the Gender output value will be “Female”
If the value of the GenderLetter is “M”, the Gender output value will be “Male”
The Gender output value will be either “Female” or “Male
null
What is wrong with SQL Query?
An Input Parameter is missing.
The Output Structure should have the Product, but not the Product Sales.
The Output Structure should have the Product Sales, but not the Product.
The output of a SQL Query can have either Entities or Structures, not both.
Regarding Web Blocks in OutSystems, which of the following options is correct?
You can instantiate Web Blocks only on Web Screens
you can instantiate Web Blocks on Web Screens and external HTML pages, by adding a special HTML tag
You can instantiate Web Blocks on Web Screens and other Web Blocks
You can instantiate Web Blocks on Screen Actions
Select the correct option regarding the output of an Aggregate
Returns Null when there are no results
Returns a List that is empty when there are no results
Throws an exception when there are no results
Returns – 1 if there no results
Regarding Web Blocks, which of the following options is correct?
A Web Block can be nested inside itself.
A Web Block can have Output Parameters.
A Web Block can only be instantiated inside Web Screens.
A Web Block can have its own Preparation.
Consider the Replace Data operation commonly used in Screens Created from Screen Templates … The following options is correct?
All widgets in Screens generated by Screen Templates support the Replace Data operation
The Replace data operation does not cause any True Change errors. All mismatches between the sample and user data result in warnings
The widgets associated with data that is not matched between the sample and the user data are automatically deleted from the Screens
The replace Data operation also works for Screens that were not created using screen Templates
A Static Entity is an Entity …
…that can only hold basic data type values, excluding references to other Entities
… whose attribute data types are limited to basic data types or Static Entities’ identifiers
… whose attributes must be always mandatory
… Used to define non-modifiable (constant) values with attributes limited to Id, Label, Order and Is_Active
Which of the following should be implemented using a Site Property?
The number of registered users
The minimum password length
The search filter of a list Screen
The list of Logged in users
Considering the behavior implemented through the following Database Entities and relationships, select the correct option.
A Customer with Orders can’t be deleted, but any individual Order can. Deleting an Order deletes all associated Order Lines but leaves the associated Order History entries.
A Customer with Orders can’t be deleted, but any individual Order History can. Deleting an OrderLine deletes the associated Order entries.
Referential integrity is only guaranteed between Orders and Customers. Entries in OrderLine and OrderHistory can break referential integrity with Orders.
Referential integrity is guarantee between Order and Order Line, and Customers with Orders are not deletable.
Regarding consuming a REST API using Service Studio, which of the following options is false?
The OnAfterResponse callback allows to handle and customize possible REST API errors. For instance, redefine the error message.
It is possible to define specific OnBeforeRequest or OnAfterResponse callbacks for each method of a REST API.
The OnBeforeRequest callback allows you to manipulate the REST method parameters. For instance, inject an API key.
It is possible to use both OnBeforeRequest and OnAfterResponse callbacks in the same REST API
In the following Aggregate…
…you cannot replace the existing sort Order.CustomerId because it is a reference attribute.
…you cannot add a sort by Customer.Name with Ascending order.
…you can only add a sort by Customer.Name if you remove the existing sort.
…you can also add a Dynamic Sort to the Aggregate.
Consider the following screenshot that displays a Table Records to the show existing Movies, and the List Navigation to navigate through the different set of results. When the user clicks the Page 2 link, the Table Records updates the set of Movies but the List Navigation doesn’t highlight Page 2. Which of the following options explains the problem?
The On Notify Screen Action tied to the List Navigation is not refreshing the query that retrieves the list of Movies.
The On Notify Screen Action tied to the List Navigation is not refreshing the Table Records that displays the list of Movies.
The Submit method of the List Navigation Web Block is set to Navigate.
The On Notify Screen Action tied to the List Navigation is not refreshing the List Navigation Web Block.
In the following Aggregate, we want to filter the results ton only return contacts that have ‘John’ anywhere in their name. To achieve this result, what is the correct expression to put in the Filter of the Aggregate?
Contact.Name = “John”
Contact.Name = “%John%”
Contact.Name like “%John%”
Contact.Name like “John”
Consider the Aggregate in the following screenshot. What would be the most computationally efficient way of obtaining the total price (including VAT) per Order?
Create a calculated attribute ProductTotalWithVAT with the expression: Product.WholesalPrice = (1 + Product.VAT/100) * OrderProduct.Quantity. Then, use a Sum aggregation function over that attribute.
Create a Server Action (marked as a Function) that calculates and returns the total price with VAT for that Order, based on the OrderId Input Parameter. Then, add a calculated attribute ProductTotalWithVAT to the Aggregate, using that Function.
This is not possible to do with an Aggregate. A SQL Query is required to determine the total price per Order.
Create a Sum aggregation function over the OrderProduct.Quantity, Product.VAT and Product.WholesalePrice, then add a calculated attribute ProductTotalWithVAT with the expression: SumQuantity SumWholesalePrice (1 + SumVAT/100).
How would you change the following Aggregate to return, for each team, the highest number of the touchdowns ever scored in a year and the average point score?
Group the results by Year, apply the Max function to Touchdowns, and the Average function to Points.
Group the results by Team, and the apply the max function to Touchdowns and the Average function to Points.
Sort the result by Points and Touchdowns, and the Group them by Team.
null
Consider that you need to change that database of your application, with the respective Data Model in the following image, to include the types of Products. A Product can only have one type. Examples of types are: Books, Music, Movies, Electronics. You have been told by the project manager that the Product Types have not changed since last year. Which of the following is the best way to implement this change?
Add a new Static Entity, ProductType, With 4 records, one for each type of Product. In addition, add an attribute to it of type Product Identifier.
Add a new Static Entity, ProductType, With 4 records, one for each type of Product. In addition, add an attribute to Product of type ProductType Identifier.
Add a new Static Entity, ProductType, to the Product Entity and set 1 for Books, 2 for Music, 3 for Movies, 4 for Electronics.
Add a new Static Entity, ProductType, to Product and set its values to “Book”, “Music”, Movies” and “Electronics”.
Considering the On Change Destination property of the Combo Box Widget, which of the following options is correct?
Web Screens and Screen Actions can be selected in the On Change Destination Property.
Screen Actions can be set as the On Change Destination. When an end – user changes the value of the combo box, a Submit request is made and then the Screen Action is executed.
Screen Actions can be set as the On Change Destination. When an end – user changes the value of the combo box, an Ajax Submit request is made and then the Screen Action is executed.
Web Screens can be set as the On Change Destination. When the end – user changes the value of the combo box, the end-user Navigates to the Wed Screen specified.
what is condition?
Product.Price > 0 and Product.QuantityInStock >= 0
ProductForm.Valid = False
ProductForm.Record.Product.Price >= 0 and ProductForm.Record.Product.QuantityInStock >= 0
ProductForm.Valid = True
To use a Table Records you are absolutely required to…
…enclose the Table Records in a named Container
…specify a Source Record List with the data to be displayed to the user in the Table Records.
…specify a Source Record to be displayed to the user in the Table Records.
…have a Preparation on the Screen or Web Block containing the Table Records.
When the user submits data in a Form to the server…
…the data in the Form is only available in the Preparation.
…the data is stored in the Form's Record implicit variable
…the Preparation runs, then the Screen Action runs
…a Screen Action runs with the data from the Form as Input parameter.
Select the correct option regarding the Input Widget
All Input widgets must be inside a Form widget
Input Widgets can only be bound to variables of Text data type.
The data typed by the user is saved in the Input widget itself
You always need to have a variable to hold the value typed by the user.
In OutSystems the Expression Widget…
…cannot contain JavaScript Code to be embedded in Web Pages
…can only contain static content to display to users
…cannot be used inside Link Widgets.
…can contain logic that is evaluated when performing server-side rendering
When using Server-side validations to avoid storing invalid data in the Database
you should add an Exception Handler to handle invalid user input
you just need to ensure the Form's Validation property is set to Server
you just need to ensure the Save Button's Validation property is set to Server
you should check the Form’s Valid property to see if it is set to False before storing the data
When a Form is submitted, what are the built-in validations that OutSystems performs?
The Mandatory fields are filed in, and the data submitted by the user matches the data type of the variables associated with the Inputs.
If the data submitted by the user matches the data type of the variables associated with the respective Inputs.
be Mandatory fields are filed in
be data submitted by the user matches the data type of the Source Record of the Form
Which of the following is the best method to restrict access to part of a Web Screen for users with a specific MovieAdmin Role
Untick all the Roles in the Screen except for the MovieAdmin Role.
Enclose that part in an If and use a Container to check if the user has permission
Enclose that part in a Container and use the Enabled property to hide the contents.
Encapsulate that part in a Web Block and change the Block's Role properties, to only allow the MovieAdmin Role
A Screen Preparation of a Web Screen …
…is mandatory for every Web Screen.
…requires at least one Input Parameter to filter the queries to the database.
…cannot execute other Server Actions.
…does not have Output Parameters.
In a Web Application, a Screen Action …
…can have multiple termination statements, but none of them can be a Destination.
…must always terminate with an End statement.
…can be set as On Change Destination property of an input widget.
…cannot have multiple Exception handlers.
A one-to-one relationship from Entity A to Entity B is created by …
…adding a new attribute to the Entity B with data type Identifier.
…adding a new attribute to the Entity A with data type Identifier.
…changing the Entity B identifier data type to Identifier.
…changing the Id attribute of Entity B to not be an auto-number and assigning a value to it programmatically, when creating a new record.
Which of the following is true if your Screens have the Registered Role checked?
Only users with more than one Role assigned to them are able to access these Screens.
Only users that you have granted explicitly the system Registered Role, in the Users application, will be able to access.
Authenticated users have access to these Screens, even if they don’t have any Roles.
Authenticated users that have Roles granted to them don’t have access to these Screens.
In the Web app, which of the following cannot be referenced from on Module to another Module?
Server Action
Static Entity
Session Variables
Web Blocks
In OutSystems, the Email and Phone Number …
… cannot be used as a Static Entity attribute data type.
… are basic data types
… cannot be used as Session Variables data type.
… can be used as an attribute data type, but not as a Screen Input Parameter’s data type.
The Countdown Web Block has a Start Screen Action, as defined below. What is expected when you add this Web Block to a Web Screen?
You only need to specify a Screen Action to run when the event is triggered if the event is mandatory.
You always need to specify a Screen Action to run when an event is triggered.
You only need to specify a Screen Action to run when the event is triggered if the Web Block’s parent is a Web Screen.
You can optionally specify a Screen Action to run when the event is triggered if all event’s parameters are non-mandatory
