Tables used for Data Level Entitlements Configuration

Before we proceed with the description of the tables and their purpose, we must know a few important points when it comes to defining entitlement criteria.

  • You do not have to define entitlement criteria when a person has access to all products or services (for example, cards, loans) and if there is no restriction on the information displayed in the app for that person.
  • You can define your own entitlement criteria which can be reused for a different product and sub product.
  • As products and sub products are the most commonly used criteria for filtering data, Canvas provides two predefined entitlements – CT_INPUT_PRODUCT and CT_INPUT_SUB_PRODUCT. If the table used for the view also consists of columns for product and sub product, and if you want to make the product and sub product as the entitlement criteria, you can make use of these predefined criteria.

To be clear, it is not mandatory for the table used for the view to have columns named 'PRODUCT' or 'SUBPRODUCT' only. The columns could be named anything, for example PRODUCT CATEGORY, PRODUCT DIVISION, and so on.


  • When the $ALL keyword is used for the entitlement criteria

The $ALL keyword (provided in the OD_USER_FUNCTION_MB) with source type V, C, and Q is used under the following circumstances:

  • When a user has access to all products or services but due to some reason only data pertaining to a few of the products or services must be shown in the app.
  • When new products or services are either added or deleted from the user's supervision.
  • When a user's entitlement gets enriched from time to time (say super user) who are expected to automatically get newly launched products and services.

For the descriptions of the three source types that can be used for the $ALL keyword refer source type and source value fields.
Note: When new products or services get added or removed, ensure to update the source values against the entitlement criteria in the OO_CRITERIA_TYPE_MASTER table. This is a mandatory step when the $ALL keyword is used for the entitlement criteria. If you specify let's say three source values in the OO_CRITERIA_TYPE_MASTER table but only two in the OD_USER_FUNCTION_MB table, Canvas will filter data respecting the values provided in the OD_USER_FUNCTION_MB table.

  • When the $ALL keyword is not used for the entitlement criteria

If you are not using the $ALL keyword for the entitlement criteria, use the default source type V and specify the possible values in the SOURCE VALUE column. Ensure to provide the same source values in the OD_USER_FUNCTION_MB table as well. If you specify let's say three source values in the OO_CRITERIA_TYPE_MASTER table but only two in the OD_USER_FUNCTION_MB table, Canvas will filter data respecting the values provided in the OD_USER_FUNCTION_MB table.
For more information on the entitlement criteria, please read the upcoming sections.

VIEW_COLUMN_DEFINITION

This table is used by the Canvas framework to store the view level information. The table has been explained just for your understanding.


To create apps in different formats, you have to link the appropriate view to the app in Canvas Studio. The best view for a particular purpose depends on the information the user needs.

When you create a view in Canvas Studio, the details of the view including the entitlement criteria mapping for the view columns/fields gets stored in the VIEW_COLUMN_DEFINITION table. Please note that Canvas currently enables you to define entitlement criteria at the database level only. However, the defined criteria can be mapped to the View columns in the App Designer screen in Studio. For more information on configuring Views and Apps, refer Designing Apps using App Designer.

Following is a sample screen shot of the VIEW_COLUMN_DEFINITION table. In this table, the entitlement criterion (for example, LOAN_CRI) is mapped to the column LOAN_TYPE for the CT_LOAN_SUMMARY_VIEW.

OO_CRITERIA_TYPE_MASTER

This is the default table provided by Canvas to define the entitlement criteria. You can use your own entitlement criteria definition table. However, you must make necessary changes in the EntitlementsHelper class for the framework to read the table.


Data level entitlement criteria must be defined in this table. Canvas expects that the data level entitlements are mapped to the Product – Sub Product combination and not directly to functions. This goes with the concept that all functions under a Product – Sub Product combination automatically derive the data level criteria applicable. There could be scenarios where a function may not work with any data level criteria. In such cases, the function could be marked as read-only to indicate that scenario.

Following is a sample screen shot of how the entries can be provided in the OO_CRITERIA_TYPE_MASTER table:

Column Name

M / O

Type

Purpose

CRITERIA_TYPE

M

String

The criteria type (key) against which the data level entitlement is captured as part of profiling.
For example, LOAN_CRI.

DESCRIPTION

O

String

This is a column provided to the developer for storing any meaningful comment for quick identification of the entitlement criteria. For example, Loan type criteria.
Though this is an optional column, providing a meaningful description of the criteria will help you in future to understand the purpose of the defined criteria.

SOURCE_TYPE

M

String

Indicates how the possible values for the criterion can be fetched. The default source type is V.
Possible source types when the $ALL keyword is used are as follows:

  • V – Product or service values whose data is to be fetched based on the criteria defined. This is the default source type and can be used without the $ALL keyword also.
  • Q – Indicates that the source is the result of a query.
  • C – Indicates that the source is through a Java class.

SOURCE_VALUE

M

String

Provides the actual value corresponding to the source type.
If the SOURCE_TYPE is V, this is the product or service values whose data is to be fetched based on the criteria defined. To provide multiple values separate the values with comma. For example, Home Loan, Personal Loan.
If SOURCE_TYPE is Q, this is the query to be fired. For example, select LOAN_TYPE from LOAN_TYPE_MASTER where LAUNCHED='Y'.
If the SOURCE_TYPE is C, this is the class that should be invoked. For example, com.intellectdesign.modelhouse.LoanTypesEntitlmentProvider.
This source type is recommended if you want to apply some logic to filter data in a scenario or if the source is a Web service, database, Excel file, text file, and so on. There is no restriction with respect to the data source when you use a Java class.

PRODUCT_CODE

M

String

This is the product code that is recognized by Canvas and is used as part of its internal storage of profiles, etc.

SUBPRODUCT_CODE

M

String

This is the sub product under the provided product that is to be used. This is the code that is recognized by Canvas and is used as part of its internal storage of profiles, etc.


OD_USER_FUNCTION_MB

This is the default user entitlement table provided by Canvas. You can use your own user entitlement table. However, you must make necessary changes in the EntitlementsHelper class for the framework to read the table.


In this table, the entitlements defined in the OO_CRITERIA_TYPE_MASTER table must be mapped to the user. Following is a sample screen shot of how the entries can be provided in the OD_USER_FUNCTION_MB table:

Column Name

M / O

Type

Purpose

OD_USER_NO

M

String

Unique ID provided to the user.
Example, 201206000010

OD_ACC_NO

M

String

Product or service values whose data is to be fetched based on the criteria defined. Example, Home Loan.
Note: You cannot provide multiple values with comma separation in this column. You will have to add a row to specify the possible values for the defined entitlement criteria.

CRITERIA_TYPE

M

String

In this column, specify the entitlement criteria to be respected for the view fields/columns in App Designer screen in Studio.

OD_PRODUCT_CODE

M

String

This is the product code that is recognized by Canvas and is used as part of its internal storage of profiles, etc.

OD_SUBPROD_CODE

M

String

This is the sub product under the provided product that is to be used. This is the code that is recognized by Canvas and is used as part of its internal storage of profiles, etc.