System Data Blocks

      System Data Blocks


        Article summary

        These are the data blocks required for the Assette Application to work. Some of these system blocks are mandatory for the application to work, while the others are required based on the additional modules purchased by the client (E.g. Commentary)

        These blocks come with a default implementation from Assette. Clients must change them to meet their needs, without modifying their interface (the format of the expected inputs and the outputs). Assette will not introduce any breaking changes to these interfaces. However, it is possible to introduce new parameters or columns, that the client can support later, if they want to take advantage of the new features.

        Inventory of System Data Blocks

        ProductMaster

        AccountMaster

        AttributeMaster

        AsOfDates

        AssociatedAccounts

        RecipientMaster

        CurrencyCodes

        Countries

        Vehicles

        Strategies

        Of the above SDBs, the data sources of the below must reside within Assette and Sync’d with the remote data sources as needed.

        • AccountMaster (Mandatory) – Need to be maintained locally in Assette using Account Code and sync’d via a Sync Data Block periodically. Should there be any PII data (such as Account name, Email address etc.) these can be accessed remotely.

        • ProductMaster (Mandatory) - Need to be maintained locally in Assette. It is possible to sync via a Sync Data Block periodically, based on need.

        • AttributeMaster (Mandatory) - Need to be maintained locally in Assette. It is possible to sync via a Sync Data Block periodically. It is possible to load attribute values such as countries, currencies, etc. from remote data sources.

        The remaining SDBs could be accessed remotely. Please refer sample datasets to verify output(s) from System Data Blocks. Data blocks which depend on Sync Blocks are called out below.

        System Block

        Name

        Dependency Blocks

        Special Remarks

        Sample dataset to Verify Output

        ProductMaster

        CalculationEnv

        No change

        { "ID": "", "ClientSegment": "", "Strategy": "", "Country": "", "Shareclass": "", "Code": "", "Assetclass": "", "GeographicScope": "" }

        ProductAttributeByIdCodeLocalDB

        ProductMasterLocalDB

        AccountMaster

        AccountAttributesLocalDB

        No Change

        {"AttributeFilter":"", "AsOfDate":"2023-04-30", "IsOpen":"1", "Category":"ALL", "ProductCodes":"", "AssetClassCodes":"", "ShareClassCodes":"", "GeographicScope":"", "AccountCodeList":"", "ID":"", "Code":""}

        AccountsByAttributesWithDescriptionLocalDB

        No Change

        GetClientConfigLocalDB

        No Change

        PythonDataCalculationModules

        Default Python Library Block.

        GetAccountMetaDataForSystemBlock

        Change according to the client data source and structure.

        AsofDates

        PythonEnvForDateCalculation

        Default Python Library Block.

        {}

        AsOfDatesLocalDB

        This Block is relevant only for existing clients.

        For new clients using the BYODB model, a Python block returns a fixed list containing 24 months of AsOfDate(s). If the client wants to derive AsOfdate from an external source the necessary changes need to be made in the Python Block.

        GetClientConfigLocalDB

        No Change.

        AssociatedAccounts

        CalculationEnv

        Default Python Library Block.

        GetAssociatedAccountsLocalDB

        No Change.

        RecipientMaster

        CalculationEnv

        Default Python Library Block.

        {}

        GetRecipientPersonMetaData

        No Change.

        GetRecipientPersonAddressesMetaData

        No Change.

        GetRecipientInfoLocal

        No Change.

        GetRecipientsLocalDB

        No Change,

        CurrencyCodes

        CalculationEnv

        Default Python Library Block.

        {}

        GetCurrencyCodesLocal

        Assette's local database maintains a list of currency codes and this Data block is used to derive currency data. If the client wants to maintain a separate list of currency codes need to replace this Data block.

        Countries

        CalculationEnv

        Default Python Library Block.

        {}

        CountriesLocaldb

        Assette's local database maintains a list of country codes and this Data block is used to derive country data. If the client wants to maintain a separate list of Data block.

        Vehicle Types

        CalculationEnv

        Default Python Library Block.

        {}

        VehiclesLocaldb

        No change.

        Can be used as is after Sync’ing data to Assette.

        Strategies

        CalculationEnv

        Default Python Library Block.

        {}

        StrategiesLocalDB

        No change.

        Can be used as is after Sync’ing data to Assette

        ContentTypes

        CalculationEnv

        Default Python Library Block.

        {}

        ContentTypesLocalDB

        No Change.

        Periods

        CalculationEnv

        Default Python Library Block.

        {}

        PeriodsLocalDB

        Determine if data can be maintained on the Assette side or if clients can derive it from their own data sources. If the data needs to be handled on the Assette side, need to write a Sync block.

        ShareClasses

        CalculationEnv

        Default Python Library Block.

        {}

        ShareClassesLocalDB

        No Change.

        Note: To obtain a list of share classes, you need to update the ProductMaster with the relevant share class through the ProductMasterSync block .

        SectorSchemes

        CalculationEnv

        Default Python Lib Block.

        {}

        SectorSchemesLocalDB

        Determine if data can be maintained on the Assette side or if clients can derive it from their own data sources. If the data needs to be handled on the Assette side, need to write a Sync block.

        Sectors

        CalculationEnv

        Default Python Library Block.

        {}

        SectorsLocalDB

        Determine if the data can be maintained on the Assette side or if clients can derive it from their own data sources. If the data needs to be handled on the Assette side, need to write a Sync block.

        AssetClasses

        CalculationEnv

        Default Python Library Block.

        {}

        AssetClassesLocalDB

        Need to change according to the client data source.

        Note: The Asset class should match the details in the ProductMaster Asset class. Both should reference the same list. If syncing data to the local database is desired, please maintain a separate Sync block to update the Asset class list.

        Sync Data Blocks

        Sync Data Blocks are used to synchronize source data with key artefacts such as AccountMaster, ProductMaster, Attribute Master and Recipient Master that reside in the Assette Azure DB. These blocks will be scheduled via the Assette Workflow scheduler to synchronize data on a periodic basis.

        Main Data Sync Block Name

        Description

        Dependency Block Name

        Remarks

        AttributeTypeValuesSync

        In this block, Assette compiles the list of distinct strategies and vehicles, and inserts them into Assette local database. The dependancy block (eg: DEMO_SnowFlakeAccountAttributes) which refers client data source data should be populated with all strategies and Vehicle types list along with associated attribute type.

        CalculationEnv

        Default Python Library Block.

        AttributeTypesLocal

        No change, use as is.

        DEMO_SnowFlakeAccountAttributes

        Need to change according to the client data source and structure.

        AccountMasterSync

        In this block, Assette retrieves the list of all accounts and updates the AccountMaster. Along with Account Assette expecting associated product details as well.

        CalculationEnv

        Default Python Library Block.

        ProductMasterLocal

        No change, use as is.

        AccountCategoriesLocal

        No change, use as is.

        DEMO_SnowFlakeExtarctAccountsDetails

        Need to change according to the client data source and structure.

        ProductMasterSync

        After inserting the Strategy, Vehicle and Accounts list, the ProductMasterSync block is executed. It updates/inserts all products along with the relevant strategy, vehicle type, rep account, composite accounts, etc.

        CalculationEnv

        Default Python Library Block.

        AccountsLocal

        No change, use as is.

        AttributeTypeValuesLocal

        No change, use as is.

        DEMO_SnowFlakeProductMasterExtract

        Need to change according to the client data source and structure.

        AccountAttributeMappingSync

        This block inserts all attributes (Strategy, Vehicle, ClientType, InvestmentStyle etc.) and account mapping which can be used in our application for future requirements.

        CalculationEnv

        Default Python Library Block.

        AccountsLocal

        No change, use as is.

        AttributeTypeValuesLocal

        No change, use as is.

        DEMO_SnowFlakeAccountAttributes

        Need to change according to the client data source and structure.

        ProductOfferedCountriesSync

        This block is used to update Product and Offered country mapping in local db.

        CalculationEnv

        Default Python Library Block.

        ProductMasterLocal

        No change, use as is.

        CountriesLocaldb

        No change, use as is.

        DEMO_SnowflakeProductOfferCountries

        Need to change according to the client data source and structure to get the list of products and countries association.

        Notes:

        1. At the point of setting up a new Client, SDBs will point to Assette Database by default. The implementation team will need to customize these SDBs to point to client data sources right at the outset for the Assette Application to function correctly.

        2. SDB Implementation will involve changes to the Definition and Dependencies of System Data Blocks to point to client data source. But one cannot change metadata as Assette app always expects standard parameters. (Only columns can be added as optional metadata)

        Optional System Data Blocks (Additional Modules)

        If a client purchases an additional module the respective System Data Blocks will be shipped out with Assette.

        E.g. Commentary, Client Portal