Insight BI Platform R16 Multi-Company Table of Contents 2 High Level Requirement ........................................................................................................................ 4 3 T24 Multi-Company Data....................................................................................................................... 4 3.1 3.1.1 3.2 3.2.1 3.3 3.3.1 Multi-Company Joins in Insight ................................................................................................... 5 T24 File Types ........................................................................................................................ 5 General Procedure to determine what the join should be .......................................................... 7 T24 Company Metadata ......................................................................................................... 8 Primary and Foreign Natural Keys ........................................................................................... 10 Currency ................................................................................................................................ 10 4 Challenges ........................................................................................................................................... 10 5 Implementation Requirements ............................................................................................................ 10 6 5.1 DW.Export ................................................................................................................................ 10 5.2 InsightImport ............................................................................................................................. 10 5.3 InsightLanding .......................................................................................................................... 10 5.4 InsightStaging ........................................................................................................................... 10 5.5 InsightWarehouse ..................................................................................................................... 10 5.6 Cubes ....................................................................................................................................... 10 5.7 Reports ..................................................................................................................................... 11 Phase II................................................................................................................................................ 11 6.1.1 Security ................................................................................................................................. 11 Disclaimer The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. Temenos does not warrant that this document is errorfree. T24 and jBASE are registered trademarks of Temenos Holdings NV. Other names may be trademarks of their respective owners. 1 High Level Requirement Create a ModelBank configuration that will work for many different multi-company scenarios without the need to change v_source views, any downstream data models, reports and analysis. It should be possible to view multi-company data at the detailed or consolidated level. For example it should be possible for someone with the correct security permissions to create a report that shows total balance by lead company across time using tables in the existing InsightWarehouse data model. 2 T24 Multi-Company Data Possible T24 multi-company scenarios are listed here. T24 Set-up Extract Single Company/ Single Company Multi-book Single Extract Multi-company Single Extract Extended Multicompany Single Extract All above Multiple Extract Extract Type Shared? Note In Scope NA Single Company Implementati on Y Merge Company Extract Customer Merge Company Extract Customer Multiple extracts Customer Y Currency Y Currency Not tested Y Multicurrency at lead company level, will require cross rates to convert to base currency Phase 2? This scenario will not be catered for since there will be clashes between master companies. Additional work would be required N Currency Multiple Extract Multiple Extracts from multiple instances of T24 into one Insight Instance Multiple extracts Customer to model this data correctly. 2.1 Multi-Company Joins in Insight 2.1.1 T24 File Types The following table type need to be joined in v_source views. Table Type Description INT - Installation There is only one copy of installation level tables in a T24 database so the actual table name does not include a company mnemonic. Examples of INT level tables include COMPANY, USER, VERSION and ENQUIRY CUS - Customer The CUSTOMER and related tables, often include the customer number in the key. Examples include CUSTOMER.DEFAULT and LIMIT. This type of table can be shared between lead companies. CST - Customer table Parameter tables related to customer examples include INDUSTRY and SECTOR, together with parameter tables for limits, collateral and position management. This type of table can be shared between lead companies. FIN - Financial There will always be one copy of a financial table per Lead Company. All branches linked to a Lead Company will share the same financial table. Lead Company’s do not share FIN tables. Examples include ACCOUNT,FUNDS.TRANSFER and TELLER FRP - Financial Reporting There will be one copy of a financial table for every company in the system, examples include the COB job list tables and REPGEN work files like RGP.TRANS.JOURNAL2 FTD - Financial Table Descriptive Financial parameter tables that do not contain data with amounts or rates linked to a particular local currency. Examples include the AA.PRODUCT type tables and BASIC.INTEREST. This type of table can be shared between lead companies. FTD tables can be shared between Companies, the Id of the owner Company is specified in the DEFAULT.FINAN.COM Field If a Company owns only a few FTD type files, they are specified in SPCL.FIN.FILE to SPCL.FIN.MNE Fields. FTF - Financial Table Financial Financial parameter tables that contain financial data, often contain local currency amounts. Examples include GROUP.DEBIT.INT, GENERAL.CHARGE and TAX. This type of table can be shared between lead companies. CCY - Currency Tables containing currency related information examples include CURRENCY and PERIODIC.INTEREST. This type of table can be shared between lead companies. NOS - Nostro Tables related to NOSTRO accounts. Examples include AGENCY and NOSTRO.ACCOUNT. This type of table can be shared between lead companies. An example of a required join is a join from the Account (FIN) table to the Customer (CUS) table. Account Table – Not share between companies LEAD_CO_MNE BRANCH_CO_MNE MIS_DATE @ID CUSTOMER BNK BNK 2014-08-12 EUR199610001 NULL BCH BCH 2014-08-12 120000000097 100101 BNK BNK 2014-08-12 110000002698 630001 Customer Table – Shared between all lead companies LEAD_CO_MNE BRANCH_CO_MNE MIS_DATE @ID BNK BNK 2014-08-12 100100 BNK BNK 2014-08-12 100101 BNK BNK 2014-08-12 100103 Clearly it is not possible to join the Account table to the Customer table without figuring out the Customer Company associated with Branch_Co_Mne BCH. The company table (below) is used to determine this based on the File Type of the CUSTOMER table in Table 1. In the column [Used to join to table type] we see that we should join on Company.Customer_Mnemonic. Company Table – Shared Between lead companies @ID MNEM CUSTOMER_M FINANCIA CURRENCY_M DEFAULT_FI ONIC NEMONIC L_MNE NEMONIC NAN_MNE SPCL_CU ST_MNE FINAN_FIN AN_MNE CH001 BCH 0002 BNK BCH BNK BNK NULL BNK LU001 BNK 0001 BNK BNK BNK BNK NULL BNK LU001 NII 9003 BNK NII BNK BNK NULL BNK So the SQL join would be: Select a.LEAD_CO_MNE Account_Branch_Co_Mne, a.CUSTOMER, a.ONLINE_ACTUAL_BAL, a.[@id] Account_id, c.lead_co_mne as Customer_Lead_Co_Mne, com.mnemonic as Company_Mmnemonic, com.Customer_Mnemonic as Company_Customer_Mnemonic, A.Customer as Customer_ID from [InsightSource].[BS].[ACCOUNT] a LEFT JOIN [InsightSource].BS.COMPANY COM ON COM.MNEMONIC = A.BRANCH_CO_MNE LEFT JOIN [InsightSource].[BS].[CUSTOMER] c ON COM.CUSTOMER_MNEMONIC = c.LEAD_CO_MNE and a.CUSTOMER = c.[@ID] Resulting in: Account_Bra nch_Co_Mne CUST ONLINE_AC Accou OMER TUAL_BAL nt_id Customer_Le Company_M Company_Custo Custo ad_Co_Mne mnemonic mer_Mnemonic mer_ID BCH 10010 -57776.19 1 120000 BNK 000022 BCH BNK 100101 BCH 10010 NULL 1 120000 BNK 000038 BCH BNK 100101 BCH 10010 -107624.27 1 120000 BNK 000049 BCH BNK 100101 2.2 General Procedure to determine what the join should be 1. Determine the type of table of the core (the first table referenced in the From Clause of a v_source view) table. In the case of v_sourceAccountBSAA_Accounts it is AA_ARRANGEMENT, by refering to the FILE_CONTROL table we determine that AA_ARRANGEMENT is a FIN table. 2. Then by referring to Table 1 and the column [Used to Join Table Type], we look for FIN and find that FIN relates to Financial_mne. 3. Therefore the join from the Company table to the Joined to (ACCOUNT) table would be ON COM.FINANCIAL_MNE = A.LEAD_CO_MNE and AA. LINKED_APPL_ID = A.[@ID] 4. The first part of the join is usually the same. 5. Select * FROM [InsightSource].[BS].[AA_ARRANGEMENT] aa LEFT JOIN [InsightSource].[BS].[COMPANY] COM ON COM.MNEMONIC = AA.BRANCH_CO_MNE, the first table always links on BRANCH_CO_MNE. 6. The Complete join would be Select * FROM [InsightSource].[BS].[AA_ARRANGEMENT] aa LEFT JOIN [InsightSource].[BS].[COMPANY] COM ON COM.MNEMONIC = AA.BRANCH_CO_MNE LEFT JOIN [InsightSource].[BS].[ACCOUNT] a ON a.LEAD_CO_MNE = COM.FINANCIAL_MNE AND A.[@ID] = aa.LINKED_APPL_ID The other table always links on LEAD_CO_MNE. 7. Any subsequent joins can (generally) we joined on the Company table which has already been joined to the first table in the v_source view. 2.2.1 T24 Company Metadata The company table is used to determine the Branch/Company hierarchy, as well as to serve as an intermediary table so that tables of different file types can be joined. Table 1 – Company Metadata Field Description @id The most granular level of company and or branch, the bottom of the hierarchy Mnemonic The mnemonic of the @id record Financial_com The parent of the @id record Financial_mne The mnemonic of Financial_com Used to join to table type FIN, FRP Customer_company Customer_mnemonic CUS Detail Currency_company Currency_mnemonic SPCL_FIN_FILE CUR If a Company owns only a few FTD type files, they can be specified in SPCL.FIN.FILE to SPCL.FIN.MNE Fields DEFAULT_FINAN_MNE FTD = Case When SPCL_FIN_FILE is null THEN Default_Finan_Mne ELSE SPCL_FIN_MNE END INT SPCL_FIN_MNE Company Type case when Financial_com = customer_company then 'Master' The logic here determines which records are lead companies, master company or branch when [@id] = financial_com then 'lead' else 'Branch' end Default_Com Used to identify the company record that will provide the data to default values into the new company record being created SPCL_CUST_FILE CST = CASE WHEN COM.SPCL_CUST_ FILE IS NULL THEN COM.DEFAULT_CU ST_MNE ELSE COM SPCL_CUST_MNE END DEFAULT_CUST_MNE SPCL_CUST_MNE Finan_Finan_Mne FTF 2.3 Primary and Foreign Natural Keys It should be ensured that all foreign keys will match to primary keys. For example the method used to calculate the SourceBranchID (Foreign Natural Key) in v_SourceAccountBS should be the same as that used to calculate SourceBranchID (Primary Natural Key) in v_SourceBranchBS. So if the SourceBranchID is Company/ Branch Mnemonic + Company Code, Branch should be the lowest level of granularity in the company table, eg. 'BS:' + COM.MNEMONIC + ':' + CAST(A.[CO_CODE] as varchar) as [SourceBranchId]. 2.3.1 Currency In the case of multiple currencies at the lead company level additional data will be required. More to Come in subsequent phase. 3 Challenges Liking to tables such as SC_POS_ASSET (INT Table Type) from other FIN tables will be challenging since it links on COMPANY.DEFAULT_FINAN_MNE. There is no information in the table which shows which Branch each record in the table is associated with. 4 Implementation Requirements 4.1 DW.Export Needs to be run as Merge Company. 4.2 InsightImport T24 data is extracted into one set of tables in Insight Import. For example the following files from DW Export, SGL_AA_ARRANGEMENT_0002.csv and BNK_AA_ARRANGEMENT_0008.csv are extracted into one table called AA_Arrangement in Insight. Branch_Co_Mne/Lead_Co_mne are the key field to distinguish between files inserted into the same table. 4.3 InsightLanding Additional index fields may need to be added into the ExtractList.PrimaryIndexColumns field. 4.4 InsightStaging V_source views need to use the join methodology described in this document. 4.5 InsightWarehouse New field(s) will be added to the datadictionary so that the company hierarchy can be represented. Lead_company needs to be added at the very least. The company hierarchy will need to be represented in the DimBranch table. 4.6 Cubes A Company Hierarchy has been added to the Branch Dimension in the cubes. 4.7 Reports All reports will need to have the data separated by Branch_Co_Mne/ Lead_Co_Mne. Parameters will need to be added so that users can request only a certain Lead Company or Branch Company or a consolidated view. 5 Phase II FactCurrency? In order to handle multiple currencies per DW.Export. 5.1.1 Security Security will be at the record level, based on Branch_Co_Mne.