You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


ISNULL

This function checks whether a value is unknown

Syntax

ISNULL(expression)
  • expression - Expression that is checked.

Return type

  • boolean - TRUE of the attribute is unknown, FALSE otherwise

Examples

Suppose the following data model.

 

Person.namePerson.SequenceNumber
“Bob”654
“Jane”?

 

  • for Bob, ISNULL ( Person.SequenceNumber ) = FALSE
  • for Jane, ISNULL ( Person.SequenceNumber ) = TRUE

ISUNKNOWN

This function replaces a value if that value is unknown.

Syntax

ISUNKNOWN(expression, value)
  • expression- Expression of which the value has to be returned if that value is known.
  • value - Value to return if the attribute value is unknown.

Return type

  • any type, equals the attribute type

Examples

Suppose the following data model.

 

Person.namePerson.SequenceNumber
“Bob”654
“Jane”?
“Mary”667
“Rick”?
“Ron”?
“Jenny”765

 

  • for Jane, ISUNKNOWN ( Person.SequenceNumber , 999 ) = 999
  • for Mary, ISUNKNOWN ( Person.SequenceNumber , 999 ) = 667

IS A

Use this function to check the type of an instance. The function returns TRUE if the selected instance is of the specified entity.

Syntax

instance IS A entity_name
  • instance - Instance to check.
  • entity_name - Name of the entity as string.

Return type

  • boolean

Examples

Suppose a domain model in which there is a singleton entity Residence that has a multivalued relation hasRooms with Room. Room is the base entity for singleton Kitchen and not singletons Bedroom and Bathroom.

If you want to determine the number of bedrooms is the residence:

  • COUNT ( COLLECT Room FROM Residence.hasRooms WHERE ( Room IS A “Bedroom” ) )

If you want to determine the number of bathrooms is the residence:

  • COUNT ( COLLECT Room FROM Residence.hasRooms WHERE ( Room IS A “Bathroom” ) )

TYPE OF

Use this function to determine the type of an instance. The function returns the name of the entity.

Syntax

TYPE OF base_entity
  • base_entity - Name of the instance's base entity.

Return type

  • string

Examples

Suppose a domain model in which there is a singleton entity Residence that has a multivalued relation hasRooms with Room. Room is the base entity for singleton Kitchen and not singletons Bedroom and Bathroom.

  • for the Kitchen instance the expression TYPE OF Room = “Kitchen”
  • for the Bedroom instances the expression TYPE OF Room = “Bedroom” = TRUE

CHANNEL

You can get the name of the current channel by using the system attribute system.channel. This is a predefined system attribute, so you don’t have to create it yourself.

At run-time the system returns a string value with the channel you choose while logging on. This value is assigned to the attribute system.channel.

LANGUAGE

You can get the name of the current language by using the system attribute system.language. This is a predefined system attribute, so you don’t have to create it yourself.

At run-time the system returns a string value with the language that you choose while logging on. This value is assigned to the attribute system.language.

PAGE

You can get the name of the current page by using the system attribute system.currentpage. This is a predefined system attribute, so you don’t have to create it yourself.

At run-time the system returns a string value with the page name of the page you are on, this value is assigned to the attribute system.currentpage.

PRIVILEGES

You can get the name of the current privileges by using the system attribute system.privileges. This is a predefined system attribute, so you don’t have to create it yourself.

At run-time the system returns a list of string values of the privileges that you choose while logging on. These values are assigned to the attribute system.privileges.

AUTHORIZATIONROLES

Authorizationroles have been replaced with Privileges. For backwards compatibility, after logging on to the runtime, the system.authorization roles attribute will be filled with the user's privileges.

See also: 

EVENT

You can capture the parameters associated with an event by using the system attribute system.event. This is a predefined system attribute, so you don’t have to create it yourself.

At run-time the system returns the string values with the parameters associated with the event on the current page. This value is assigned to the attribute system.event.

Beside these user defined event parameters, there are some container types that come with their own built-in buttons. Standard container types with this behaviour are:

 

Container typeButtonAction
AQ_InstanceSelectorEdit_edit_instance, _edit_instance <entityName>, _edit_instance <relation_attr>
 Delete_delete_instance
 Add_edit_instance, _add_instance, _edit_instance <entityName>, _edit_instance <relation_attr>
Not applicableCancel_clear_instance, _void
 Save_save_instance
AQ_DecisionTreeSelectormatchButton_matchTree
 selectButton_selectTree
AQ_DecisionTreeEvaluatorcontinueButton_continueTree
 stopButton_stopTree
 retryButton_retryTree

 

Even though some action labels are the same, the system handles them in a different way, this depends on the context. For instance ‘Edit’ will open an existing instance, ‘Add’ will create a new instance, however the action ‘_edit_instance’ is the same.

Special behaviour of the AQ_InstanceSelector

The AQ_InstanceSelector adds the following actions to system.event, depending on the action that was taken in the instance selector:

  • _add_instance: this action is added when a new instance is created
  • _edit_instance: this action is added when an existing instance has been edited
  • _delete_instance: this action is added when an instance has been deleted
  • _update_instance: this action is added when an instance has been updated
  • instanceType<entity name>: this action describes the entity of the instance that has been edited. For example, adding an instance of type Person puts the following actions in system.event: “_add_instance, instanceType_Person”
  • No labels