Migrating from Anaplan Connect 1.3.x.x. to Anaplan Connect 1.4

This article covers the necessary steps for you to migrate your Anaplan Connect (AC) 1.3.x.x script to Anaplan Connect 1.4.

For more details and examples, refer to the Anaplan Connect User Guide v1.4.

The changes are:

  • New connectivity parameters
  • Replace reference to Anaplan Certificate with Certificate Authority (CA) certificates using new parameters
  • Optional Chunksize & Retry parameters
  • Changes to JDBC configuration

New Connectivity Parameters

Add the following parameters to your Anaplan Connect 1.4 integration scripts. These parameters provide connectivity to Anaplan and Anaplan authentication services.

Both of the urls listed below need to be whitelisted with your network team.

-service "https://api.anaplan.com/"
-auth "https://auth.anaplan.com"

Certificate Changes

As noted in our Anaplan-generated Certificates to Expire December 10, 2018 blog post, new and updated Anaplan integration options support Certificate Authority (CA) certificates for authentication. Basic Authentication is still available in Anaplan Connect 1.4, however, the use of certificates has changed. In Anaplan Connect 1.3.x.x, the script references the full path to the certificate file.

For example:

-certificate "/Users/username/Documents/AnaplanConnect1.4/certificate.pem"

In Anaplan Connect 1.4 the CA certificate must be stored in a Java Key Store (JKS). Refer to this video for a walkthrough of the process of getting the CA certificate into the key store. You can also refer to Anaplan Connect User Guide v1.4 for steps to create the Java key store.

Once you have imported the key into the JKS, make note of this information:

  • Path to the JKS (directory path on server where JKS is saved)
  • The Password to the JKS
  • The alias of the certificate within the JKS.

For example:

KeyStorePath="/Users/username/Documents/AnaplanConnect1.4/my_keystore.jks"
KeyStorePass="your_password"
KeyStoreAlias="keyalias"

To pass these values to Anaplan Connect 1.4, use these command line parameters:

-keystore {KeystorePath}
-keystorealias {KeystoreAlias}
-keystorepass {KeystorePass}

Chunksize

Anaplan Connect 1.4 allows for custom chunk sizes on files being imported. The -chunksize parameter can be included in the call with the value being the size of the chunks in megabytes.

-chunksize {SizeInMBs}

Retry

Anaplan Connect 1.4 allows for the client to retry requests to the server in the event that the server is busy. The -maxretrycount parameter defines the number of times the process retries the action before exiting. The -retrytimeout parameter is the time in seconds that the process waits before the next retry.

-maxretrycount {MaxNumberOfRetries}
-retrytimeout {TimeoutInSeconds}

Changes to JDBC Configuration

With Anaplan Connect 1.3.x.x the parameters and query for using JDBC are stored within the Anaplan Connect script itself.

For example:

Operation="-file Sample.csv' -jdbcurl 'jdbc:mysql://localhost:3306/mysql?useSSL=false' -jdbcuser 'root:Welcome1' -jdbcquery 'SELECT * FROM py_sales' -import 'Sample.csv' -execute"

With Anaplan Connect 1.4. the parameters and query for using JDBC have been moved to a separate file. The name of that file is then added to the AnaplanClient call using the -jdbcproperties parameter.

For example: 

Operation="-auth 'https://auth.anaplan.com' -file 'Sample.csv'  -jdbcproperties 'jdbc_query.properties' -chunksize 20 -import 'Sample.csv' -execute "

To run multiple JDBC calls in the same operation, a separate jdbcpropeties file will be needed for each query. Each set of calls in the operation should include then following parameters: -file, -jdbcproperties, -import, and -execute. In the code sample below each call is underlined separately. 

For example:

Operation="-auth 'https://auth.anaplan.com' -file 'SampleA.csv' -jdbcproperties 'SampleA.properties' -chunksize 20 -import 'SampleA Load' -execute  -file 'SampleB.csv' -jdbcproperties 'SampleB.properties' -chunksize 20 -import 'SampleB Load' -execute"

JDBC Properties File

Below is an example of the JDBCProperties file. Refer to the Anaplan Connect User Guide v1.4 for more details on the properties shown below. If the query statement is long, the statement can be broken up on multiple lines by using the \ character at the end of each line. No \ is needed on the last line of the statement. The \ must be at the end of the line and nothing can follow it.

jdbc.connect.url=jdbc:mysql://localhost:3306/mysql?useSSL=false
jdbc.username=root
jdbc.password=Welcome1
jdbc.fetch.size=5
jdbc.isStoredProcedure=false
jdbc.query=select * \
from mysql.py_sales \
where year = ? and month !=?;
jdbc.params=2018,04

Anaplan Connect Windows BAT Script Example (with Cert Auth)

@echo off

rem This example lists a user's workspaces

set ServiceLocation="https://api.anaplan.com/"
set Keystore="C:\Your Cert Name Here.jks"
set KeystoreAlias=""
set KeystorePassword=""
set WorkspaceId="Enter WS ID Here"
set ModelId="Enter Model ID here"
set Operation=-service "https://api.anaplan.com" -auth "https://auth.anaplan.com" -W

rem *** End of settings - Do not edit below this line ***

setlocal enableextensions enabledelayedexpansion || exit /b 1
cd %~dp0
set Command=.\AnaplanClient.bat -s %ServiceLocation% -k %Keystore% -ka %KeystoreAlias% -kp %KeystorePassword% -workspace %WorkspaceId% -model %ModelId% %Operation%
@echo %Command%
cmd /c %Command%
pause

Anaplan Connect Shell Script Example with Cert Auth

#!/bin/sh
KeyStorePath="/path/Your Cert Name.jks"
KeyStorePass=""
KeyStoreAlias=" "

WorkspaceId="Enter WS ID Here"
ModelId="Enter Model Id Here"

Operation="-service "https://api.anaplan.com" -auth "https://auth.anaplan.com" -W"

#________________ Do not edit below this line __________________

if [ "${CACertPath}" ]; then
    Credentials="-keystore ${KeyStorePath} -keystorepass ${KeyStorePass} -keystorealias ${KeyStoreAlias}"
fi

echo cd "`dirname "$0"`"
cd "`dirname "$0"`"

if [ ! -f AnaplanClient.sh ]; then
    echo "Please ensure this script is in the same directory as AnaplanClient.sh." >&2
    exit 1
elif [ ! -x AnaplanClient.sh ]; then
    echo "Please ensure you have executable permissions on AnaplanClient.sh." >&2
    exit 1
fi
Command="./AnaplanClient.sh ${Credentials} ${Operation}"
/bin/echo "${Command}"
exec /bin/sh -c "${Command}" 

 

The content in this article has not been evaluated for all Anaplan implementations and may not be recommended for your specific situation.
Please consult your internal administrators prior to applying any of the ideas or steps in this article.
Labels (2)
Contributors