Technics:CoPlanner-Server: Difference between revisions

From CoPlanner 11
Jump to navigationJump to search
No edit summary
No edit summary
Line 282: Line 282:
|style="color:#3a3aff;"|DoVersionCheck
|style="color:#3a3aff;"|DoVersionCheck
|defines, if a version check between clients and server takes place or not  
|defines, if a version check between clients and server takes place or not  
|-
|style="color:#3a3aff;"|UseNewDBSync
|Ab 9.5 HF 2.1: defines, whether new DB Sync is used or not. True means that the new DB Sync is active.
|-
|style="color:#3a3aff;"|DBSyncMaxThreads
|Ab 9.5 HF 2.1: Defines the number of threads that can be used to write to the database when new DB Sync is active. If no value is entered, two threads are used. If the system utilization is to high, reduce the number of threads.
|-
|style="color:#3a3aff;"|SSLCertificate
|Ab 9.5 HF 2.4: Is empty if the communication between server and clients is not encrypted. If you want to encrypt the communication you have to set this entry to the fingerprint of your certificate. The ClientConfig.xml of all clients in this case also have to be updated. Set the SSLCommonName to the CN of the certificate.
|-
|style="color:#3a3aff;"|DBCommandTimeout
|Ab 9.5 HF 2.6: Database command timeout for certain commands. This timeout is used e.g. for the data processing of imports.
|-
|style="color:#3a3aff;"|UseNewCaching
|Ab 9.5 HF 3.5: defines, whether the new caching is used or not.
|-
|style="color:#3a3aff;"|CacheSizeFaktor
|Ab 9.5 HF 3.5: Has only effects when UseNewCaching is true. The new caching prepares the data in a column-oriented cache for showing in masks. To avoid that the memory usage gets to high, you can define the CacheSizeFactor. The CacheSizeFactor limits the relation from the cache size to the table size. 0.5 means that the cache is allowed to have half of the data of the table in the cache.
|}
|}



Revision as of 12:40, 12 April 2019

A folder, referenced to as "CoPlanner Server directory", has to be configured on the system which will act as the server. The folder contains some required sub folders, application and configuration files - which have to be configured accurately.

SysCommands.xml

This file is located in the CoPlanner Server directory. It contains information about system settings for the CoPlanner server instance. Please note in which language the SQL Server has been installed. If the German version is installed, then no further change is required. If the English version was used, then the file „SysCommands.xml“ has to be deleted or renamed (for example to „SysCommands_DeSql.xml“) and the file „SysCommands_EnSql.xml“ (within the same folder) has to be renamed to „SysCommands.xml“.

SvrConfig.xml

This file is located in the CoPlanner Server directory and defines several parameters of the CoPlanner Server instance.

<?xml version= "1.0" standalone="yes"?>
<SvrConfig.xml>
   <CopSettings>
      <Version>4</Version>
      <ConnectionString>Server=CopServer;Initial Catalog=COP_BIKE;Integrated Security=SSPI;pooling=false</ConnectionString>
      <DataBaseName>COP_BIKE</DataBaseName>
      <PortNumber>8963</PortNumber>
      <WebAppUrl>https://+:4443/coplanner</PortNumber>
      <FiscalYear>0</FiscalYear>
      <TcpFormatter>Native</TcpFormatter>
      <ServiceName>copService</ServiceName>
      <TelnetDebugPort>6900</TelnetDebugPort>
      <DefaultLanguage>german</DefaultLanguage>
      <BackupPath>C:\temp\</BackupPath>
      <BackupRestoreLimitinMB>50</BackupRestoreLimitinMB>
      <WebAuthenticateUrl>http://copsupport.coplanner.com/licence/get_cop_lic_v3.php</WebAuthenticateUrl>
      <LicenceID>123</LicenceID>
      <SSPIPort>11000-11100</SSPIPort>
      <ClientConnectionTimeOut>1440</ClientConnectionTimeOut>
      <EntitySecurity>true</EntitySecurity>
      <AllowNonPowerUserDeleteDimElementsWithData>false</AllowNonPowerUserDeleteDimElementsWithData>
      <SSPIServicePrincipalName></SSPIServicePrincipalName>
      <EventLogEntryLevel>ERROR</EventLogEntryLevel>
      <ServerLogPath></ServerLogPath>
      <IsAliveClientTypes>Windows|Web|Excel|PowerPoint|Word</IsAliveClientTypes>
      <MultiThreadCommand>true</MultiThreadCommand>
      <ProActiveCaching>true</ProActiveCaching>
      <SkipImportHistory>true</SkipImportHistory>
      <SecurityProxyLoad>false</SecurityProxyLoad>
      <NTLogonTypes>INTERACTIVE|NETWORK|BATCH</NTLogonTypes>
      <CopSysIDStartOffset>0</CopSysIDStartOffset>
      <DynamicMode>false</DynamicMode>
      <MaxRows>300000</MaxRows>
      <MaxSvrLogFileSize>0</MaxSvrLogFileSize>
      <DebugMode>false</DebugMode>
      <SSPITimeOut>20</SSPITimeOut>
      <SSPITimeToKeepReservedPorts>300</SSPITimeToKeepReservedPorts>
      <StoredProcedureTimeout>3600</StoredProcedureTimeout>
      <ShowLostDBConnectionWaruning>true</ShowLostDBConnectionWaruning>
      <IISUserName></IISUserName>
      <TransportUserName></TransportUserName>
      <PowerUserModeViaADOnly>false</PowerUserModeViaADOnly>
      <ADGroupPowerUser></ADGroupPowerUser>
      <ADGroupPartnerUser></ADGroupPartnerUser>
      <ADGroupManufacturerUser></ADGroupManufacturerUser>
      <LoadAllEntityDimensionEntriesToClient>false</LoadAllEntityDimensionEntriesToClient>
      <ReportServerUrl>https://servername:4445/coplanner/reporting</ReportServerUrl>
      <DoVersionCheck>true</DoVersionCheck>
      <UseNewDBSync>true</UseNewDBSync>
      <DBSyncMaxThreads>10</DBSyncMaxThreads>
      <SSLCertificate></SSLCertificate>
      <DBCommandTimeout>600</DBCommandTimeout>
      <UseNewCaching>false</UseNewCaching>
      <CacheSizeFactor>0.5</CacheSizeFactor>
   </CopSettings>
   <SSASSettings>
      <Server>CopServer</Server>
      <DataBaseName>cop_olap</DataBaseName>
      <XmlaLoadActive>true</XmlaLoadActive>
      <UseRealElementIDs>true</UseRealElementIDs>
      <UseMultipleHierarchies>true</UseMultipleHierarchies>
      <MultiSelectFilterActive>false</MultiSelectFilterActive>
      <LoadMeasureFormatAndType>true</LoadMeasureFormatAndType>
      <ReplaceNullValues>false</ReplaceNullValues>
      <DimensionLoadMode>AsDimAndHierarchy</DimensionLoadMode>
      <LoadDimensionsByAlias>true</LoadDimensionsByAlias>
   </SSASSettings>
   <SSRSSettings>
      <ReportServerUrl>http://CopServer/reportserver</ReportServerUrl>
      <ReportWebServiceUrl>http://CopServer/reportserver/reportservice2005.asmx</ReportWebServiceUrl>
      <RootFolder>/CoPlanner/Reports</RootFolder>
      <UserFolder>/CoPlanner/User</UserFolder>
      <TempFolder>/CoPlanner/Temp</TempFolder>
      <SharedDataSourceReference>/CoPlanner/DataSources/CoPlanner</SharedDataSourceReference>
      <Parameters></Parameters>
   </SSRSSettings>
   <DBCon>
      <Stage>Server=CopServer;Initial Catalog=COP_STAGE;Integrated Security=SSPI</Stage>
   </DBCon>
   <SupportConfig>
      <SupportButton>True</SupportButton>
      <SendAsMail>True</SendAsMail>
      <EmailToSendTo>support@coplanner.com</EmailToSendTo>
      <IncludeSvrCommands>True</IncludeSvrCommands>
      <IncludeNavigation>True</IncludeNavigation>
      <IncludeSystemInfo>True</IncludeSystemInfo>
      <IncludeCPU>True</IncludeCPU>
      <IncludeMemory>True</IncludeMemory>
      <IncludeGraphics>True</IncludeGraphics>
      <IncludeScreenShot>True</IncludeScreenShot>
      <SendAsPost>True</SendAsPost>
      <DestUrlPost>http://copsupport.coplanner.com/coplanner/support/supportExtended.php</DestUrlPost>
      <SendAsGet>True</SendAsGet>
      <DestUrlGet>http://copsupport.coplanner.com/coplanner/support/{Culture}/support.php?UserInput={UserInput}&Version={Version}&ServerCommands={ServerCommands}&Navigation={Navigation}&SysInfo={SysInfo}&CPU={CPU}&Memory={Memory}&Graphics={Graphics}</DestUrlGet>
   </SupportConfig>
</SvrConfig.xml>

CopSettings

The following parameters are defined in the CopSettings area:

Inscription Description
ConnectionString This parameter describes a typical "connection string" used to connect to a Microsoft SQL Server instance.
Server Name of SQL Server database server (if the default instance is used) or name\instance, if a named SQL Server database instance is used. It is recommended to use the fully qualified domain name (FQDN) as name to avoid issues to connect with the database server from different domains/networks (e.g. if the server is named "myserver" and is installed in the domain "mycompany.internal" the name would be myserver.mycompany.internal).

Additional information about SQL Server database instances: It is possible to configure more than one SQL Server database instance per server (an instance is a completely separate environment - one instance can contain several databases). The first or only instance per server is referenced to as "default instance". If only a default instance is configured or only the first instance should be adressed, then using the server name, only, would be sufficient. To identify exactly the used instance, use "name\instance" (e.g. myserver\instance01 or as FQDN myserver.mycompany.internal\instance01).

Initial Catalog Name of the main CoPlanner database
Integrated Security If a domain account is used to connect to the database server (recommended), then the CoPlanner Server service has to be configured to use the domain account to execute the service (to "run as"). In this case, specify "Integrated Security=SSPI" to use integrated Windows authentication (between CoPlanner Server service and the database server) - the parameters "User id" and "Password" are NOT specified. Just for information: "SSPI" stands for "Security Support Provider Interface" and is a Microsoft term to describe an authentication layer (here: the integrated Windows authentication).
User id If no domain account/integrated Windows authentication is used, "User id" has to be specified and the name of the user to connect to the SQL Server database by the CoPlanner Server instance has to be specified. By default, the SQL server default account „sa“ should already exist and may be used. But as the "sa" account has major permissions on the SQL server instance it is recommended to create a separate SQL server account to connect to the database. Please contact CoPlanner about the required permissions.
Password If no domain account/integrated Windows authentication is used, "Password" has to be specified and contains the password of the SQL server user used to connect to the database server.
Pooling Set to false. This provides the possibility to use the Restore Database feature (integrated in the development menu).
DataBaseName Name of the SQL server database used as the main CoPlanner database (usually identical with the content of "Initial Catalog" paramater from above)
PortNumber Default: 8963. Permitted and unused TCP/IP port number used for the communication between CoPlanner Server instance and the CoPlanner clients. For a list of commonly used (and to be avoided) port numbers see Wikipedia (external). Additionally, other services on the same server and firewalls may limit the usable port numbers.

The port number can be changed later, but the same port has to be configured both on the server and on the clients (ClientConfig.xml).

WebAppUrl Defines the basic URL to comunicate with the internal web server, which includes the REST-API and other features. Empty means that the internal web server will not run.
FiscalYear Determines posting of financial year of the company to calendar year.
It is calculated based on January.
  • 0: none posting of financial year
  • -1: start of financial year in December of previous year
  • 1: start of financial year in February of the same year
TcpFormatter Default: Native. Determines the mode of transmission between client and server. Possible values: „Bin“ for binary transmission, „Text“ for text transmission and "Native" for native transmission with the highest compression.
Hint  "Native" is recommended. The same mode has to be configured both on the server and on the clients (ClientConfig.xml).
ServiceName Name of the CoPlanner server service (as it should appear after installation as Windows service).
TelnetDebugPort Default: 6900. It is possible to establish a viewing window to CoPlanner Server with the aid of telnet. The parameter has to contain a permitted and unused TCP/IP port number used as telnet server port. For a list of commonly used (and to be avoided) port numbers see Wikipedia (external). Additionally, other services on the same server and firewalls may limit the usable port numbers.

To start the telnet session, open a DOS prompt in Windows (Start Run cmd), type "telnet hostname port" (without quotation marks, e.g. telnet myserver 6900) and press the enter/return key.

DefaultLanguage The default language of the server is adjustable with this setting (ML routine CoPlanner). The default setting is German. If for example English is used, in the actual tables those entries are stored, which are seized by means of „English Client Logon“. Settings for example in German are stored in the ML system table. All available languages are available in the documentation of the ML routine.
BackupPath Determines the (local) path to a directory on the server which provides temporary disk space for a database backup (which can be requested by a client). The SQL Server database server account has to have write permissions to the specified directory.
BackupRestoreLimitinMB The maximum size of the database backup file in MB.
WebAuthenticateUrl CoPlanner licence validation url.
LicenceID License ID as provided by CoPlanner. The CoPlanner Server instance cannot be started without a Licence ID.
SSPIPort port for SSPI-Login communication.
ClientConnectionTimeOut after the expiration the client session on the server is deleted.
EntitySecurity with this inscription the company security can be deactivated. If there is no entry the default is set to true.
AllowNonPowerUserDeleteDimElementsWithData defines whether non PowerUser can delete elements with data.
SSPIServicePrincipalName Service Principal Name: Can be empty per default. Only in use in case of SSPI and double hop P.ex.: "cop/mycomputer.mydomain.com"
EventLogEntryLevel it steers, which inscriptions are written in event log, it can be distinguished after severity code of errors
  • Warning: Warnings and errors (red and yellow Cop-Cubes)
  • Error: Only errors(red Cop-Cubes)
  • None: No entries
ServerLogPath if this option isn't available or empty, the CoPlanner server folder will be used to store the file "Serverlog.txt". If a valid folder is entered, this folder will be used to write log file. If the folder isn't available, a message will be displayed and writing log file will be deactivated. The value "NoLog" deactivates writing log file too.
IsAliveClientTypes entered client types send periodically "AliveCommands" to CoPlanner server. If the client sends no "AliceCommands" to the CoPlanner server for an extended period of time, the session will be deactivated. Following client types are valid: Excel, Windows, Web and from version 9.5 HF 1.5 also Word and PowerPoint. The types must be separeted by a pipe. It is recommended to set the clienttypes.
MultiThreadCommand with this option the parallel access of Clients can be activated.
ProActiveCaching with this option the "Tupel Caching" of CoPlanner cubes can be activated. This means, that interim results will be cashed.
SkipImportHistory is this inscription on true, error messages will not be written to the history table.
SecurityProxyLoad is this inscription on true, the security will be processed at the logon for the user.
NTLogonTypes all listed NT logon types will be used in case of NT authentication. Following types are available: INTERACTIVE, NETWORK, BATCH
CopSysIDStartOffset this offset will be added to the first created CopSysID. If there are several models in use, you avoid double CopSysIDs.
DynamicMode activates dynamic loading.
MaxRows maximum number of datasets send to the client.
MaxSvrLogFileSize maximum size of serverlog-files. If the file will be greater it will be compressed. Zero means no compression. The size is defined in KB.
DebugMode Ist dieser Eintrag auf true wird am Server detailierter gelogged.
SSPITimeOut defines the timeout for the SSPI LogOn communication between the Active Directory and the Coplanner Server.
SSPITimeToKeepReservedPorts defines the time in seconds, how long ports are reserved. The reservation starts by click on Logon.
StoredProcedureTimeout optional defines the timeout in seconds after which the sql procedure will be cancelled. By default it is set to 3600 seconds.
ShowLostDBConnectionWarning on true, the information that the server lost the connection to the database is shown at the client.
IISUserName This entry is necessary for the login via SSPI via web client. The IISUserName is the identity of the application pool. For example IIS APPPOOL\.NET v2.0.
TransportUserName necessary for the automated transport feature. Please note that that user has manufacturer rights also when logged on with a client. This user has to be a fully qualified domain user.
PowerUserModeViaADOnly defines, if it is necessary to be member of the following AD groups to be able to log on as manufacturer, partner or PowerUser.
ADGroupPowerUser defines the AD group for the access as PowerUser.
ADGroupPartnerUser defines the AD group for the access as Partner.
ADGroupManufacturerUser defines the AD group for the access as manufacturer.
LoadAllEntityDimensionEntriesToClient defines whether the filtering of entity dimensions is made on the server or on the client. False is the filtering on the server.
ReportServerURL defines the URL for the communication with the Reportserver. Only necessary when the web reporting is in use.
DoVersionCheck defines, if a version check between clients and server takes place or not
UseNewDBSync Ab 9.5 HF 2.1: defines, whether new DB Sync is used or not. True means that the new DB Sync is active.
DBSyncMaxThreads Ab 9.5 HF 2.1: Defines the number of threads that can be used to write to the database when new DB Sync is active. If no value is entered, two threads are used. If the system utilization is to high, reduce the number of threads.
SSLCertificate Ab 9.5 HF 2.4: Is empty if the communication between server and clients is not encrypted. If you want to encrypt the communication you have to set this entry to the fingerprint of your certificate. The ClientConfig.xml of all clients in this case also have to be updated. Set the SSLCommonName to the CN of the certificate.
DBCommandTimeout Ab 9.5 HF 2.6: Database command timeout for certain commands. This timeout is used e.g. for the data processing of imports.
UseNewCaching Ab 9.5 HF 3.5: defines, whether the new caching is used or not.
CacheSizeFaktor Ab 9.5 HF 3.5: Has only effects when UseNewCaching is true. The new caching prepares the data in a column-oriented cache for showing in masks. To avoid that the memory usage gets to high, you can define the CacheSizeFactor. The CacheSizeFactor limits the relation from the cache size to the table size. 0.5 means that the cache is allowed to have half of the data of the table in the cache.

SSASSettings

The following points have to be defined in area SSASSettings:

Inscription Description
Server name of Server, on which OLAP-Database is located. If ClientBasedOlap is in use, you have to insert the name of server or IP address. Following names are not valid: localhost, ., 127.0.0.1 or local.
DataBaseName name of OLAP-Database
XmlaLoadActive is this inscription on true, structure data will be loaded by XMLA.
UseRealElementIDs is this inscription on true, real OLAP keys will be used, under the premise that they are numeric.
UseMultipleHierarchies is this inscription on true, alternative hierarchies of OLAP dimensions will be loaded and can be used (since SSAS 2005).
MultiSelectFilterActive is this inscription on true, dimensions, used as filter, support multiselect.
LoadMeasureFormatAndType with this option it can be declared, if connectors (c3, combined …) should be loaded directly at the Server start. This is not advisable at any OLAP console, due to the first user does not have to await the loading time.
ReplaceNullValues is this inscription on true, all null values will be replaces with 0 by the connector.
DimensionLoadMode defines the load mode of OLAP dimensions. Following entries are valid: AsDimension (default), AsDimHierarchy and AsDimAndHierarchy. Further information: Excursion SSAS Settings
LoadDimensionsByAlias OLAP dimensions will be loaded by alias. Further information: Excursion SSAS Settings
Important  If the SSAS settings LoadDimensionByAlias or DimensionLoadMode will be changed afterwards all cubes which refer to OLAP must be rebuild.

SSRSSettings

The following points have to be defined in the area SSRSSettings:

Inscription Description
ReportServerUrl (required) The report server’s virtual directory.
ReportWebServiceUrl (required) SOAP endpoint for managing objects in the report server.
RootFolder (required) Root folder for reports on the reportserver.
UserFolder (optional) Folder for reports which will be created using the report assistant in the BI-Center. If this folder is missing or empty the root folder will be used.
TempFolder (optional) Folder for reports which will be created using the report assistant in the Analyzer. If this folder is missing or empty the root folder will be used.
SharedDataSourceReference path and name to an existing data source on report server, which is used by the report assistant to create a new report. Is this tag missing, the report assistant creates an embedded data source. The report builder can show no preview for reports with an embedded data source.
Parameters Not in use.

The following points have to be defined in the area DBCon:

Inscription Description
Stage
Server name of server, on which database is located
Initial Catalog name of database
User id name of the user, which is used to login on SQL-Server by CoPlanner Server (as standard, ID „sa“ should already exist). Alternatively, an user can or has to be set up with relevant rights on SQL-Server.
Password password of the user
Pooling to bring Restore Database (fix integrated in the development menu) into action, in Connectionstring Pooling has to be false there!

Further variables:
Variables can be used e.g. at imports. Import objects require a Connectionstring to establish e.g. a connection to a previous system database. It is recommended to define such Connectionstrings as variables. On this way some objects can be changed at once and changes can be carried out more quickly.

<add key="Variable name" value="Value or inscription of the variable"></add>

SupportConfig

The following points have to be defined in the area SupportConfig:

Inscription Description
SupportButton defines the visibility of the support button.
SendAsMail send the information via email. Hidden parameters will be delivered as not provided. Please select a wise choice of information due to the text limits of emails.
If information should be delivered only via email, please deactivate the options SendAsPost and SendAsGet.
EmailToSendTo the email adress for the delivery of the mail.
IncluceSvrCommands defines, if the server commands is shown and delivered or not.
IncludeNavigation defines, if the last steps of the navigation should be shown and delivered or not.
IncludeSystemInfo defines, if the system information is shown and delivered or not.
IncludeCPU defines, if the information about the CPU is shown and delivered or not.
IncludeMemory defines, if the information of the memory is shown and delivered or not.
IncludeGraphics defines, if the information of the grafic card is shown and delivered or not.
IncludeScreenshot defines, if the screenshot is shown and delivered or not
SendAsPost true = delivery through post.
DestUrlPost The data will be send to that URL. Hidden parameters will be delivered as not provided.
Namen of the parameters: UserInput, Version, ServerCommands, Navigation, SysInfo, CPU, Memory und Graphics.
If information should be delivered only via post, please deactivate the options SendAsMail and SendAsGet.
SendAsGet true = delivery through get.
DestUrlGet URL with the parameters to send the information to. Hidden parameters from above will be transfered as not provided. Please select a wise choice of information due to the limitation of URL from browsers from about 2000 characters.
If information should be delivered only via get, please deactivate the options SendAsMail and SendAsPost.

WebConfig

The following points have to be defined in the area WebConfig:

Eintrag Description
WebAppUrl Defines the base url on which the internal webserver is available. Via this webserver the REST-API and some features are accessible. If you do not want to use the REST functionalities you can leave this entry empty.

In case of use the steps which are available at Voraussetzungen für die Verwendung der REST-Funktionalitäten have to be executed.

ReportServerUrl URL which is used to communicate with the reportserver. Only necessary if web reporting is used.
LogonLanguages Defines which languages are available at the web client login.
LogonWithCoPlannerSecurity Defines if CoPlanner Security is available in the web client. If false, the option is not available.
LogonWithSSPI Defines if Single Sign-on is available in the web client. If false, the option is not available.

Excursion SSAS Settings

CoPlanner server offers several possibilities to load SSAS-Dimensions. Following table shows valid settings.

DimensionLoadMode LoadDimensionByAlias Setting Result
AsDimension False
AsDimension True
AsDimHierarchy True
AsDimAndHierarchy True
Important  Follwing settings are applied by default: DimensionLoadMode = AsDimHierarchy and LoadDimensionByAlias = True.
Important  If the SSAS settings LoadDimensionByAlias or DimensionLoadMode will be changed afterwards all cubes which refer to OLAP must be rebuild.


These are the allowed OLAP settings explained in detail

Entry Description
XmlaLoadActive
  • Default value = true, this value will be set by CoPlanner if setting has not be done in the SvrConfig
  • This setting defines with with method the OLAP dimension elements are loaded:
   - False: The DimensionsMembers are loaded with Level.GetMembers()
   - True: The DimensionsMembers are loaded from SchemaDataSet. (The ADOMD method GetSchemaDataSet(...) is used.)


Excursion FormulasUsePriorityQueue

There is a possibility in formula work to define a execution order for formulas. To use this order the parameter "FormulasUsePriorityQueue" in the svrconfig.xml file has to be set to true. By using this option for formula execution formulas are not executed by sequence as before where the formulas have been triggered by changes in tables but now by priority.

By using a simple example the old and new behavior will be compared: If sales changes in profit and loss then the undistributed net profit will be changed and the balance has to be recalculated.

Without adaption of the priority the undistributed net profit-/undistributed net loss for february will be adapted and the balance will be recalculated when sales in january are updated. Due to the change of the undistributed net profit-/undistributed net loss in february also the undistributed net profit-/undistributed net loss in march has to be recalculated. By writing this change another calculation of the balance will be triggered.

From a sales update a undistributed net profit-/undistributed net loss is a result which has to be written monthly and with every writing the balance needs to be recalculated.

It would make sense to finish calculation of profit and loss( to write the undistributed net profit until the end of the year) and to transmit afterwards data to the balance.

This can be achieved by using the FormulasUsePriorityQueue: if the formula for profit and loss has e.g. a priority of 1 and the formula which updates the balance a priority of 2 an additional calculation of profit and loss and balance will be added to the calculation queue.

In the priority queue the formula with priority 1 will be preferred and therefore the calculation of profit and loss will be finished before the calculation of the balance. Additionally the system checks that there is already a request to recalculate the balance in the queue and no additional request will be added to the queue.


Definition of order

The priority of the execution of a formula will be determined by the table which triggers the calculation of the formula. Therefore formulas with different priorities can be executed (e. g. variable costs: if the recalculation of variable costs will be triggered through an update in the variable costs planning the mask will wait for the result, but will the calculation be triggered by an update in the sales planning the calculation should be done in the background. That can be done by assigning different priorities to the tables net sales and variable costs in the formula designer)

If no sequence is given or no order can be determined (e.g. Formula will be called by a macro) the sequence will be set to 1.


Avoidance Queue Starvation

If there is the danger that a calculation request has to wait a long time in the queue, the system can see this and new requests will be added to the queue behind the affected request - independently of the given priority.


Masks: Wait for calculations on the first level

In matrix masks can be defined to wait for calculations by setting the flag "WaitForCalc". In the actual implementation of the determination of the sequence it will be waited for all calculations which are triggered directly by writing in a table(this will be marked by calculation level 1). Here will be waited for all formulas of calculation level 1 independent of who has started the calculation.

With the PriorityQueue this behavior can be controlled more in detail, it will be waited for the execution of all formulas which have been triggered whose sequence < 0 (independent of user). To wait for a formula which calculates not on the source table this formula has to be triggered by the source table and needs a priority(< 0). This could be an use case: In a sales table the sales tax rate will be added to the actual record and the sales tax will be calculated and with another formula the sales for a profit and loss calculation written. The mask will now wait for an update formula because sales tax and sales tax rate are showed to the user but to write it to the profit and loss will be waited.


Exceptional position of SAME-Formula

If the calculation of SAME-Formulas will be triggered by a data input, these formulas will be calculated synchronly when saving the data record (and not added to the list). The calculation is not done by the list with calculations to execute.


Notes

It is recommended not to use the PriorityQueue without testing the behavior of existings model extensively. The change of duplicates had to be adapted by the process of this new implementation as well; this can lead to a change of calculation order in existing model in exceptional cases.


Configuration Tool

To edit CoPlanner Server settings you can use the configuration tool "SvrConfig.exe" which you will find at CoPlanner/Server folder.

CoPlanner-Server as service

The CoPlanner server can also be installed as a service. It is important that you have administrator rights to run the installation. You can start it using the button "Install Service", which can be found under CopSettings. The service starts with the name that is listed under Service Name. To uninstall the CoPlanner server as a service, select "Uninstall service".

Install some CoPlanner Services on one computer

On a computer several CoPlanner Services can be installed. Therefore you only have to change the service name among CopSettings and to reinstall the service again. Then under Windows services 2 independent services are available.


CoPlanner Server as a console

Start of the Server as a console

The installation has finished by copying of Server-directory onto the computer. You only have to start file CopServer.exe. A console window appears. Here you can see which operations the CoPlanner Server is carrying out.

CoPlanner Server and 64 Bit Systems

The CoPlanner Server can be operated on 64 bit systems. The advantages are faster process cycle times and the possibility to use more than 1.3 Gb of memory

Requirements

The CoPlanner Server and Client needs the 64 bit components of the standard 32 bit components.

  • Windows Server 2008/2008 R2/2012/2016 x64
  • Net Framework 4.6.2 x64
  • XML Parser 4 with SP2
  • XML Parser 6 x64
  • AdoMD.Net
  • SQL Server 2008 R2/2012 with SP2/2014/2016
  • Analysis Services 2008 R2/2012 with SP2/2014/2016

Additional Requirements for using REST functionalities

It is not necessary that the user who runs the CoPlanner Server/Service is an administrator but if he is a normal user this command has to run with administrator rights and the given WebAppUrl in the command line:

netsh http add urlacl url=<WebAppUrl> user=<DOMAIN\user>

Parameter Description
url WebAppUrl which is defined in svrconfig
user User which runs CoPlanner Server/Service


Example: netsh http add urlacl url=https://+:4443/coplanner user=Cop\Serviceuser


Use the following command to delete an entry: delete urlacl url=<WebAppUrl>

Example: delete urlacl url=https://+:4443/coplanner


Binding of SSL certificate

To bind the SSL certificate this command has to run with administrator rights in the command line:

netsh http add sslcert ipport=0.0.0.0:<Portnummer> certhash=<fingerprint> appid=<GUID>

Parameter Description
Port number Port number which is used in the WebAppUrl. e.g. for WebAppUrl https://+:4443/coplanner it would be 4443
certhash Fingerprint of certificate. The fingerprint can be found in details section of the certificate and has to be typed in whitout spaces.
GUID GUID differs between using CoPlanner as server or service
  • Service: {82880fad-ad78-4531-99ba-533f4c8e5840}
  • Server: {6ef7e594-5b5e-4626-904a-47b513e81e30}


Example: netsh http add sslcert ipport=0.0.0.0:4443 certhash=2170950415ef045f6cb314c92e124411dd0590bf appid={6ef7e594-5b5e-4626-904a-47b513e81e30}


To delete a binding use netsh http delete sslcert ipport=0.0.0.0:<Portnummer>

Example: netsh http delete sslcert ipport=0.0.0.0:4443

Conversion of existing systems

SQL Server 2000 Database can be imported on SQL Server Systems up to version 2008 R2. For higher versions it is necessary to recover the database in a version lower or equal than SQL Server 2008 R2, backup the database in that version and recover it in the target version.

DTS Packages (Data Transformation Services) and Analysis Server 2000 Databases (OLAP) cannot be imported. The packages need to be recreated with the SQL Server Integration Services (SSIS). No downward compatibility is given from Microsoft.

Analysis services data bases can be ported. But errors can occur and/or ported data bases can be limited in function or not to be used at all. Here we recommend a reconstruction of the data base.