Update Guide (GTC version 22.09.xx)


Below you will find detailed instructions on how to proceed when updating the GlobalTaxCenter (GTC) software. Please follow the order given below (first database and then deployment) when updating. A different order can lead to incorrect system behaviour after the update.

This update includes some substantial adjustments to the GTC configuration, which will simplify future updates. In addition, this GTC version now requires Java 17.

1) Preparations

1.1) Check system requirements

Before you start the update, please check whether the application and database servers still meet the minimum requirements. The most important in brief:

  • The DBMS used must not be older than 5 years. If you use MSSQL, you must use at least version 2017.
  • The Tomcat server must be running at least version 9.0.x (with Java 17).

Java 17

With this release we have changed the GTC from Java 8 to Java 17. Therefore, please make sure that your Tomcat 9 runs with Java 17. Instructions on how to install Java 17 can be found via this link.

Once the Java installation is done, you can proceed with the GTC update.

1.2) Stopping the web application server

  1. Stop the web application server (e.g. Tomcat) in the usual way using either the command line or the Service Manager.
  2. Delete the contents of the “work” directory in the Tomcat installation.

1.3) Performing a database backup

As a first step, you should create a database backup that can be restored (rolled back) if the update fails. For information on how to do this, please refer to the user manual of your database management system.

1.4) Save old deployment

  1. In the subdirectory "\webapps" of the Web Application Server, you can find the deployment installed so far (usually with the name "\gtc" or "\ROOT").
  2. Rename this directory (e.g. "\gtc_<version>_old") and then move it to a directory outside the "\webapps" directory. Under no circumstances may the backuped deployment remain in the "\webapps" directory. This would lead to serious errors later on in the update process. 

1.5) Download the delivery package

Download the installation package via the link given to you in the delivery mail. Place it in a temporary folder. We will provide you with the deployment package as a war file.

If it is necessary to adapt contents in the package, the file must be unpacked with 7-zip beforehand. Alternatively, rename the file gtc.war to gtc.zip, then you can use Windows Explorer for this.

1.6) Switch Tomcat to Java 17

If you already had a GTC version 22.09.00 or newer installed, you can skip this step.

The document Upgrade from Java8 to Java17 describes how Java 17 is installed and made known to the Tomcat 9.

In addition, the following Java start parameters must be added to the Tomcat with the application "tomcat9w.exe" in the Tomcat/bin directory:

--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED

No Tomcat 10

Please note that the Tomcat 10 (due to the minimum requirement of the Servlet 5.0 API) cannot be used.

1.7) Store database driver in Tomcat

If you already had a GTC version 22.09.00 or newer installed, you can skip this step.

For licensing reasons, AMANA is not allowed to deliver the JDBC drivers for MySQL, Microsoft SQL Server and Oracle in the GTC deployment.

1. Please download the driver that matches your database version and Java 17 according to the manufacturer's specifications from the manufacturer.

2. Place the driver in the directory "<Tomcat-Root>/lib".

1.8) Update SAPJCO (optional for systems with a RfC connection to SAP)

The GTC is working with a new SAPJCO version. Check with the department whether RfC interfaces are used in the GTC in your company. If this is the case, you must carry out the following steps.

  1. Download the suitable connector for your system from this offical SAP-Site.
  2. Delete any old sapjco{*}.jar from this directory: "<Tomcat-root>/webapps/<gtc-root>/WEB-INF/lib".
  3. Paste the new sapjco{*}.jar in this directory:  "<Tomcat-root>/lib". If an old sapjco{*}.jar exists in this folder replace it with the new one.
  4. Delete the old sapjco{*}.dll from the system. It can be in different locations, but in most cases it is in the system32 folder from Windows.
  5. Paste the new sapjco{*}.dll in this directory: "<Tomcat-root>/bin"

If you get any problems with this please contact our hotline.

1.9) Update Kerberos SSO configuration (optional)

If single sign-on with Kerberos has been implemented in your installation, you must implement adjustments.

With Java 17, weak Kerberos authentication is no longer officially supported. In this chapter we provide detailed information on the configuration.

Kerberos-SSO when using Java 17

1.10) Configuration of the database connection in the GTC

Central in Tomcat (JNDI)

If you are already using the JNDI configuration, you can skip this step.

Oracle and JNDI (concerns only the versions until 22.09.02)

Do not use a JNDI connection if you have an Oracle database in use. We will inform you as soon as JNDI is also released for Oracle.

Configure the database connection as before within the GTC deployment (next chapter).

With version 22.09.03, the JNDI connection can also be used for Oracle databases.

The previous standard deployment of the GTC provided that the database connection was customised for each GTC delivery in the repository file matching the database. This process is now simplified to the extent that the standard deployment is configured with the JNDI datasource "gtcdatasource". For this purpose, the customer must expand the context.xml file in the Tomcat/conf directory once per Tomcat by defining the JNDI datasource there within the context tag. Using the JNDI configuration has the advantage that the database connection no longer has to be adapted within the GTC deployment.

"Resource" entry in Oracle
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver"
        maxTotal="20" maxIdle="10" maxWaitMillis="-1" name="jdbc/gtcdatasource" username="root" password="test" 
        type="javax.sql.DataSource" url="jdbc:oracle://hostname:3306/gtc" 
/>


When using the Microsoft SQL server, information on the encryption (encrypt) and the trustworthiness (trustServerCertificate) of the server certificate must be provided:

"Resource" entry in MSSQL
<Resource	auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"     
            maxTotal="20" maxIdle="10" maxWaitMillis="-1" name="jdbc/gtcdatasource" username="root" password="test" 
			type="javax.sql.DataSource" url="jdbc:sqlserver://hostname:1433;DatabaseName=...;encrypt=...;trustServerCertificate=..." 
/>

In the case of the Microsoft SQL server, AMANA also recommends an installation with Integrated Security, in which no username and password details need to be stored in the context.xml. Instead, the account under which the Tomcat service is run is used for the database connection.

Within the GTC deployment

Instead of a JNDI datasource, the database connection can be configured as before in the repository file matching the database.

Please note that in this case both the file "repository_mssql.xml", "repository_mysql.xml" or "repository_oracle.xml" and the file "repository.xml" must be adapted in each deployment. Read the section "Update Deployment" for details.

2) Update deployment

Automatic update

It is also possible to receive a Powershell script from AMANA to automatically update the GTC. The executing user must have administration authorisation.

Copy the new deployment into the subdirectory "\webapps", i.e. "<installation directory Tomcat>\webapps\gtc\". It may need to unzip the zip archive.

Similar to the GTC version installed so far, the new deployment must be told which type of database it should connect to. For this purpose, a reference to the correct database (MySql, Oracle, MS SQL) is created in the central "<gtc-root>\WEB_INF\classes\repository.xml" file. The connection parameters in the respective "repository_<xyz>.xml" must then be updated.

A note on copying configuration files

Avoid simply copying the repository.xml files from the old GTC deployment into the new GTC deployment. This can lead to errors as the contents of the repository files can change slightly over time.

  1. Customizing the "<gtc-root>\WEB_INF\classes\repository.xml" file:
    In this file you inform the GTC what kind of database it should connect to. Look for the line <!ENTITY datasource SYSTEM "repository_mysql.xml"> and replace the term "mysql" depending on your type of database if necessary. If you are using Oracle, use “oracle”. For using a MS SQL database write “mssql” (z.B. <!ENTITY datasource SYSTEM "repository_mssql.xml">).
  2. Transfer the connection settings from "repository_mysql.xml", "repository_oracle.xml" or "repository_mssql.xml" from the previous backup to the directory "<gtc-root>\WEB-INF\classes\" in the file of the same name of the new deployment.


If you know of any other modifications to the deployment (e.g. in the "web.xml" file), please copy these too by editing the respective file.

3) Update database

The database update can be done automatically or manually.

By default you'll get a delivery package without databasescripts and activated automatic datebase update feature.

Optionally, you have the possibility to update the database manually by scripts. We will provide you with the scripts on request. We need the version number of the already installed GTC for this. This is described in more detail in section 3.2.

3.1) Automatic update of the database

Please make sure to have a current database backup at hand, so it can be restored if needed 8see section 1.4).

Update of database doesn't need additional tasks. Upon start of application server (see section 4), the database is updated automatically by application.

Attention!

Update of the database is done without further notification at startup, please be sure to check the log file "gtc_dbMigration.log" for errors afterwards. 

After successful update, the logfile should show:

2021-10-22 15:12:57 [INFO ] ###################### Migration successful ######################
2021-10-22 15:12:57 [INFO ] ScriptLocationPath: C:\Tomcat 9.0_GTC\webapps\ROOT\migration/sql
2021-10-22 15:12:57 [INFO ] ConfigLocationPath: C:\Tomcat 9.0_GTC\webapps\ROOT\migration/flywayConfig.properties
2021-10-22 15:12:57 [INFO ] CSVPlaceholderPath: C:\Tomcat 9.0_GTC\webapps\ROOT\migration/FlywayPlaceholders.csv
2021-10-22 15:12:58 [INFO ] ############################################
2021-10-22 15:12:58 [INFO ] Current version: 20211001100000000_DELETE FROM TFLAGCONFIGURATION
2021-10-22 15:12:58 [INFO ] Pending Scripts: No pending scripts
2021-10-22 15:12:58 [INFO ] ############################################

3.2) Manual update of the database

Database permissions

To execute the database scripts use a database user who has full permissions to the database schema. Otherwise, it may happen that database tables cannot be created or updated correctly or that the GTC cannot access the tables properly at runtime.

In any case, check the results in the log files to see if there are any anomalies. If you find any errors, please get in touch with the Hotline GlobalTaxCenter.

If you are using the manual update, please follow the steps below:

  1. Start the DBMS of your database server and select the database schema that belongs to the GTC application.
  2. Execute the supplied SQL update scripts in order of the file names or versions on this schema. Use a user who has full permissions on the database.

    Example:
    • 01_MSSQL_8.3.02_8.4.04.sql
    • 02_Insert_Reporting_MSSQL.sql
    • etc.

4) Final steps

  1. Start the Web Application Server as usual from the command line or the Service Manager. Autorun jobs may now be executed when the server is started. These are part of the update and must be executed successfully.
    Do not cancel the server start, even if it takes longer than usual. If in doubt, please get in touch with the Hotline GlobalTaxCenter.
  2. After starting the WAS server, test the access to the GlobalTaxCenter or inform your responsible department to have the access tested if you do not have access data for the GTC yourself.
  3. Change (or an authorized representative) in the Masterdata area to the Administration dialogue and there to the Log tab and open the file "gtc_autorun.log". Check whether the autorun jobs have run successfully or whether error messages are displayed. In case of an error, please contact the Hotline GlobalTaxCenter and send the log files "gtc_autorun.log" and "gtc_system.log".
  4. If errors occur in the web application after the update, please also contact the Hotline GlobalTaxCenter and send the log files.

5) Transfer to other instances

If you are working with different instances (development, test, integration, production, ...) please be careful that you are doing the same steps in each instance.

For example (only relevant if you continue to perform the database updates manually):

  1. In the testing and production environment the GTC is installed in version 22.00.01.
  2. Now you update the testing environment with version 22.00.03.
  3. A few weeks later you will receive a new delivery package and update the testing environment. This now has the version 22.00.07.
  4. The production environment still runs with version 22.00.01.
  5. You receive the permission from the business department to update the production system to version 22.00.07.
  6. In any case, you must first import the scripts of version 22.00.03 before you continue with the installation of version 22.00.07. This is the only way to prevent an inconsistency in the database.

6) TransferClient installation and integration into the GTC (optional)

If the GTC (Tax Return module) is also used for electronic transfers to the german tax authorities, the TransferClient (TC) version must also be updated at regular intervals. In this case, the GTC update provides a second installation package for the TC. This package has to be installed according to the instructions. During the installation the Web Service URL should be noted, because it has to be stored/updated in the administration area of the GTC.

If the GTC (Tax Return module) is also used to send electronic documents to the German tax authorities, the TransferClient (TC) module must be updated at regular intervals, as the documents are sent via this module.

If you have purchased the GTC module Tax Return, the delivery mail always includes the installation package for the TransferClient module. However, the TC version does not necessarily change with every GTC delivery. To avoid unnecessary effort on your side, please check before the update whether the already installed TC version and the version provided in the mail differ. You can see the version number (=file version) of the installed TC version in the properties of the TransferClient.exe file:

If the two TC versions differ, please install the new TC version with the help of the instructions linked here. During installation, please note the web service URL, as this must be stored or updated later in the GTC administration area.


Hint

Due to technical requirements by the tax authorities, the latest ERiC version of the tax authorities must be used from around mid-April of each year (minimum version increase). Otherwise, the tax authorities will refuse to accept the tax return from this point on.

In order to continue sending tax returns (also relevant for older assessment periods) with the GTC, the GTC and the associated TransferClient sending module must be updated in good time before the minimum version increase.


To configure the TC connection in the GTC, the following steps must be performed. For the configuration, editing authorisations for the area Master Data / Administration are necessary.

  1. Activate Web Service to TransferClient
  2. Setting up the proxy between GTC and TransferClient (optional)
  3. Testing the connection to the TransferClient
  4. Setting up the proxy between TransferClient and tax authorities (optional)

6.1) Activate Web Service to TransferClient

The following configuration must be carried out so that the Elster transmission is available as a web service. On the administration page, the connection to the TC is added. (The TC must be started as a web service).

A new connection of the category "WebService" is set up. The name must be "eric" (case sensitive). 

"Host" and "Port" must be entered according to the TC installation. If the Web Service URL of the TC does not end in "eric", the last part of the URL (e.g. eric29) in the connection must be entered in the field Parameter 1.

CategoryWebService
Nameeric
Host<http://ipOderDns>
Port<Port>
Parameter 1<"eric...">

6.2) Proxy between GTC and TransferClient

The proxy is maintained as a separate connection parameter on the administration page.

CategoryExternal system
NameatcProxy
Host<http://ipOderDns>
Port<Port>
User<UserName>
Password<Password>

6.3) Connection test to the TransferClient

Now the connection to the TC can be tested by clicking on the gear symbol (in the front of the line). A message is then displayed whether the test was successful or not.

With this test only the connection to the TC is tested. It can still happen that the TC itself cannot establish a connection to the tax administration. For this purpose, a proxy may have to be configured or ports may have to be released (see TC instructions).

6.4) Proxy between TransferClient and tax authorities

The proxy is maintained as a separate connection parameter on the administration page.

CategoryExternal system
NameericProxy
Host<http://ipOderDns>
Port<Port>
User<UserName>
Password<Password>
Parameter 1<"Any"/"Basic"/"Digest"/"DigestIE"/"GSS"/"NTLM">