Fabric Project functions are user-defined Java functions that are added to the project implementation to perform complex data manipulations or to execute queries on a specific Instance ID. Project functions can be either connected in a map (Table Population or Parser), to other Fabric objects or invoked from another function using Java code.
Functions can be created in Logical Units, References, Web Services, Shared Objects or from existing Table Populations. A function can be defined as a Shared Object and can be used in any object in a project. If a function is defined in an LU, Reference or Web Services, it is accessible only within that specific object.
Project Function Types
- A function that executes the business logic required within a project and can be invoked from any Fabric object like a Table Population, Parser, Web Services or from another function.
- A Regular function has a specific category known as an Enrichment function which is executed once all LU tables have been populated to extract data from any LU table and use it as needed. An Enrichment function must not have Input parameters and must not return any value.
Click for Code Examples of an Enrichment Function.
- A function that is used as a Table Population Source Object.
- The output of a Root function serves as input for the Table Population. This function cannot be used for data-mapping logic.
- A Root function must have at least one Input parameter and at least one Output parameter. The Root function of a Root Table must have only one parameter.
Click for Code Examples of a Root Function.
- A function that is invoked from an SQL query to perform more complex logic operations on LU data than those performed using standard SQL statements.
- An LUDB function is invoked from an SQL statement.
- An LUDB function must have at least one Output value.
Click for Code Examples of an LUDB Function.
- A function that assesses whether a sync is performed on an LUI.
- A Decision function can be defined on LU schema, LU table or Table Population levels.
- A Decision function must have no Input parameter and return a Boolean (True or False) parameter. An LUI sync is performed or not performed based on the returned result.
Click for Code Examples of a Decision Function.
- A function that is triggered when an LU table's data is modified.
- A trigger function is invoked from the On Change LU table property that contains a list of Trigger functions on a Shared and LU level.
Click for Code Examples of a Trigger Function.
- A function that is triggered on one of the following events:
- Post Sync success, post Sync failure, post Delete Instance success.
- An Event function is invoked from the Events LU Schema property that contains a list of Event functions on a Shared and LU level.
Click for Code Examples of an Event Function.
- A specific Fabric Project function used by Parsers to split records to populate more than one record type in the Parser map.
- A Switch function enables users to define different types of records for the same parser.
- A specific Fabric function used by the Job’s mechanism. Fabric Jobs can only invoke functions of this type.