Introduction
This guide is generic and applies to all Longview products (Close, Tax, Plans, Transfer Pricing).
Installation Prerequisites
CXO Version 21.3.3 (or higher)
.NET 5.0 has to be installed
Longview version 21.2 or newer
Installation
Install Longview Adapter
CXO
...
Configuration and Source Creation
Note: To be able to use the Longview Adapter you need require a license key with Longview enabled.
Create a new source system in the SSM for the correct source type: Longview
...
to create:
Fact database
SSAS cube
...
Initialize the Longview adapter and the source.
...
This is performed by running a few
...
commands which require few parameters as an input.
For more information on the available commands and their parameters, run theCXO.Adapter.LongviewTidemark.Cli.exe help
command for detailed descriptions.Open command line as Administrator, browse to the Longview adapter folder and run the initialize command to create the configuration database.
Info |
---|
Avoid using spaces in the parameter values. |
Command | initialize |
---|---|
Parameters |
|
Example |
|
...
4. Run the create-source-in-adapter command to create a new Longview source.
- IMPORTANT:
...
- At this point you can decide the type of Longview source
...
- as either Longview Close or Longview Tax. This selection cannot be changed after source creation!
...
Command
...
create-source-in-adapter
...
Parameters
...
- Longview Plan and Longview Close work the same way. Similarly, Longview Tax and Transfer Pricing work the same way. But if you want to integrate with Longview Plan, you need to select Longview Close, and if you want to connect to Transfer Pricing, you will have to select Longview Tax.
Command | create-source-in-adapter |
---|---|
Parameters |
|
Example |
|
After running these the above commands, the adapter is configured, and a first source is available. When multiple sources are required, run the create-source-in-adapter command for each source neededthat is required.
Each source is created with a default configuration for dimensions, Longview symbol names, etc. These defaults need to be changed for the source to function properly. The next section explains how to configure the Longview sources.
Longview Source Configuration
A newly created Longview source needs additional configuration to function properly. Since the Longview adapter currently does not have a user interface, these configurations have to be done by running SQL scripts on the Longview configuration database.
Longview Connection
To show the currently configured connection information for the sources in the Longview adapter, run the following query on the configuration database:
...
Code Block | ||
---|---|---|
| ||
select s.Name, Type = CASE WHEN s.Type = 1 THEN 'Longview Close' WHEN s.Type = 2 THEN 'Longview Tax' ELSE 'Unknown' END, sc.Url, sc.UserName, sc.Password, sc.ListenerPort, sc.Access, sc.UserGroup, sc.InstanceId from Source s join LVSourceConfiguration sc on sc.SourceId = s.Id |
The results result of this query shows per source the is shown for each source:
URL to the Longview instance
...
.
Username
Password to authenticate with the Longview
...
systems and
...
few
...
Longview-specific fields.
The values for these fields should be provided by people user managing the Longview system to connect to.
To update the connection fields, run the following query with the correct values and source name. When certain values do not need to be replaced, remove the particular those lines from the query.
QUERY 2
...
An example to replace just the URL and credentials for a source called MyLongviewSource:
Code Block | ||
---|---|---|
| ||
update sc set sc.Url = 'https://example-url-to-longview-source.com', sc.UserName = 'Administrator', sc.Password = 'secret_password' from LVSourceConfiguration sc join Source s on sc.SourceId = s.Id where s.Name = 'MyLongviewSource' |
Showing Dimension Configuration for a Source
To show the currently configured dimension mappings for a given source that has been configured, run the following query with the correct source name:
...
Code Block | ||
---|---|---|
| ||
select dm.LVSourceConfigurationId, dm.CxoDimension, dm.LVDimensionName from Source s join LVSourceConfiguration sc on sc.SourceId = s.Id join DimensionMapping dm on dm.LVSourceConfigurationId = sc.Id where s.Name = 'SOURCE NAME HERE' |
This The result shows which Longview dimension is mapped to which CXO dimension. If the LVDimensionName column has a NULL value, nothing is mapped to this CXO dimension.
For each Longview dimension we also have to must configure:
The symbol names to extract
The symbol attributes to extract
The description of the Longview dimension
To show display the currently configured values for these fields that are currently configured, run the following query:
...
Code Block | ||
---|---|---|
| ||
select dec.LVSourceConfigurationId, dec.DimensionName, dec.DimensionDescription, dec.SymbolNames, dec.SymbolAttributes from Source s join LVSourceConfiguration sc on sc.SourceId = s.Id join LVDimensionsExtractionConfiguration dec on dec.LVSourceConfigurationId = sc.Id where s.Name = 'SOURCE NAME HERE' |
Finally, it It is possible to extract additional attributes from the Longview system and link them to members in a configured dimension. To show display the currently configure member attribute mappings that are currently configured, run the following query:
...
Code Block | ||
---|---|---|
| ||
select dm.Id, dm.CxoDimension, dm.LVDimensionName, mam.CxoMemberAttribute, mam.SymbolAttribute from Source s join LVSourceConfiguration sc on sc.SourceId = s.Id join DimensionMapping dm on dm.LVSourceConfigurationId = sc.Id join MemberAttributeMapping mam on mam.DimensionMappingId = dm.Id where s.Name = 'SOURCE NAME HERE' |
Per For every dimension this shows the SymbolAttribute that needs to be extracted from Longview , plus and the CXO attribute on the member that needs to get the extracted value is displayed. For instance, the ZGPNativeCurrency attribute can be mapped to the Currency attribute of the CXO Entity dimension.
Updating Dimension Configuration for a Source
For updating dimension configuration of a Longview source we identify the following scenarios:
Create a new dimension mapping from a Longview dimension to a CXO dimension.
Remove an existing dimension mapping from a Longview dimension to a CXO dimension.
Update symbol names, symbol attributes and/or dimension description for a mapped Longview dimension.
Create a new member attribute mapping.
Remove an existing member attribute mapping.
...
If you want to map a Longview dimension mapping to a CXO dimension that already has a Longview dimension mapped to it, first remove the existing mapping before adding the new mapping.
Create a Dimension Mapping
To create a new dimension mapping from a Longview dimension to a CXO dimension, run the following query with correct values for LVSourceConfigurationId and CxoDimension (you get these from running QUERY 3) plus and the name of the LV Dimension you want to map.
...
Code Block | ||
---|---|---|
| ||
declare @lv_dimension_name varchar(255) = 'LV DIMENSION NAME HERE'; declare @lv_source_configuration_id uniqueidentifier = 'LV SOURCE CONFIGURATION ID HERE'; declare @cxo_dimension varchar(50) = 'CXO DIMENSION HERE'; update DimensionMapping set LVDimensionName = @lv_dimension_name where LVSourceConfigurationId = @lv_source_configuration_id and CxoDimension = @cxo_dimension insert into LVDimensionsExtractionConfiguration ( Id, DimensionName, LVSourceConfigurationId, SymbolNames, DimensionDescription, SymbolAttributes) values (newid(), @lv_dimension_name, @lv_source_configuration_id, '', '', '') |
After running this query, there will be no symbol names, symbol attributes or dimension description configured yet. Proceed to update these by following Scenario 3: Update Symbol Names, Symbol Attributes and Dimension Description which has not yet been configured.
Remove a Dimension Mapping
To remove a dimension mapping from a Longview dimension to a CXO dimension, run the following query with correct values for LVSourceConfigurationId and CxoDimension (you get these from running run QUERY 3).
QUERY 7
Code Block | ||
---|---|---|
| ||
declare @lv_source_configuration_id uniqueidentifier = 'LV SOURCE CONFIGURATION ID HERE'; declare @cxo_dimension varchar(50) = 'CXO DIMENSION HERE'; declare @lv_dimension_name varchar(255) = ( select LVDimensionName from DimensionMapping where LVSourceConfigurationId = @lv_source_configuration_id and CxoDimension = @cxo_dimension ); update DimensionMapping set LVDimensionName = NULL where LVSourceConfigurationId = @lv_source_configuration_id and CxoDimension = @cxo_dimension delete from LVDimensionsExtractionConfiguration where LVSourceConfigurationId = @lv_source_configuration_id and DimensionName = @lv_dimension_name |
Anchor |
---|
...
|
To update symbol names, symbol attributes and dimension description for a LV dimension, run the following query with the correct LVSourceConfigurationId and DimensionName (you get these from running run QUERY 4).
QUERY 8
Code Block | ||
---|---|---|
| ||
update LVDimensionsExtractionConfiguration set SymbolNames = '...', SymbolAttributes = '...', DimensionDescription = '...' where LVSourceConfigurationId = 'LV SOURCE CONFIGURATION ID HERE' and DimensionName = 'DIMENSION NAME HERE' |
Create a Member Attribute Mapping
To create a new member attribute mapping for a specific dimension, run the following query with the correct DimensionMappingId (you get this from running run QUERY 5).
QUERY 9
Code Block |
---|
insert into MemberAttributeMapping (Id, DimensionMappingId, CxoMemberAttribute, SymbolAttribute) values ( newid(), 'DIMENSION MAPPING ID HERE', 'CXO MEMBER ATTRIBUTE HERE', 'SYMBOL ATTRIBUTE HERE') |
Remove a Member Attribute Mapping
To remove an existing member attribute mapping, run the following query with the correct DimensionMappingId and SymbolAttribute (you get these from running run QUERY 5).
QUERY 10
Code Block | ||
---|---|---|
| ||
delete from MemberAttributeMapping where DimensionMappingId = 'DIMENSION MAPPING ID HERE' and SymbolAttribute = 'SYMBOL ATTRIBUTE HERE' |
Source Metadata and Data extraction
Performs a full extraction (metadata + data) for the given source and year/scenario slice.
Important: The command removes all existing data and metadata from fact database and imports data only for the years and scenarios specified in the arguments
...
Command
...
full-extract
...
Parameters
...
source: name of source for which metadata should be extracted
years: years for which data extraction is executed
scenarios: scenarios for which data extraction is executed
...
Example
...
.\CXO.Adapter.LongviewTidemark.Cli.exe full-extract source:longview-close years:17,18 scenarios:Actual
Performs a metadata extraction for the given source.
Important: The command removes all existing metadata from fact database and re-imports it again.
...
Command
...
metadata-extract
...
Parameters
...
source: name of source for which metadata should be extracted
...
Example
...
.\CXO.Adapter.LongviewTidemark.Cli.exe metadata-extract source:longview-close
Performs a data extraction for the given source and year/period/scenario slice.
Important: The command removes all existing data from fact database and imports data only for the years, periods and scenarios specified in the arguments
...
Command
...
data-extract
...
Parameters
...
source: name of source for which metadata should be extracted
years: years for which data extraction is executed
periods: periods for which data extraction is executed
scenarios: scenarios for which data extraction is executed
...
Example
...
.\CXO.Adapter.LongviewTidemark.Cli.exe data-extract source:longview-close years:17,18 periods:Jan,Feb scenarios:Actual
IMPORTANT:
...
If the scenarios contain empty space in their member name they need to be put in double quotes. Ex. .\CXO.Adapter.LongviewTidemark.Cli.exe metadata-extract source:longview-close years:17,18 periods:Jan,Feb scenarios:"Scenarios 001","Scenarios 002","Scenarios 003"
...