Function
Definition
A Function is one of the core concepts of the platform. It allows to specify individual Platform Requests to get data from a Source Systems (to be more precise: data from a specific System Line) and can be executed in any application or integrated in any Model. It incorporates both technical logic and considerations regarding data usage to enable access at any time. This facilitates virtually real-time data access without the need for physical storage between processing steps.
Additional Information
Dynamic Parametrization Dynamic parametrization is achieved through Parameters, enabling users to modify received data without direct coding on the Source System side (e.g., writing SQL statements). This concept is crucial for data virtuality, offering advantages such as allowing users to focus on required data and avoiding unnecessary data loads that may overload the application. For example, a Parameter could be a date range which is used to filter the original raw data before it is loaded into the application. Or it could be a client ID, which allows to load only the the relevant sales data for this client.
Predefined Data Access Logic A Function is directly linked to a Source System through a Query Handler, encompassing all necessary logic to retrieve data from that specific system.
Handover of Technical Information Functions are designed to transfer technical information to the source system, necessary for loading the data. This is achieved through technical configuration, such as the name of a table in a SQL Server or a url to a JSON REST Api. This eliminates the need for users to make changes at the System level.
Handles Authentication The definition outlines how the Source System can be accessed, either at the function level or the Source System level. This configuration includes authentication settings. For example one can share the user credentials (The option is: Shared Basic Auth) or simple use the credentials from the user logged in via Azure AD OAuth2.
Specific Information Specific information, such as the 'Short Name,' uniquely identifies each Function. Other customizable details include 'Caching' (either 'Not cached' or 'User-based cache (short term)') and the 'State.' Caching facilitates repeated loads in a short period, while the state informs the user whether a function is in 'preview', 'stable', or 'deprecated'.
In general, the functionalities of a function are constrained by those of the source system. For instance, if the source system cannot handle a specific type of data, it is likewise not possible within a Function. Similarly, if data filtering is intended within the Platform Request but the Source System lacks this capability, the same limitation applies.
To structure and organize Functions in Virtual Data Platform, they can be grouped by using Workspaces and Categories. All Functions are created and maintanined in the Portal in the menu Virtual Dataset. There you will fined more details and practical information.