Introduction
When configuring Adabas as a service in Linux, you may encounter challenges related to user exits. In this guide, we’ll explore the steps to activate Adabas as a service while considering user exits. (In this case, uex4).
Pre-requisites
Product | Adabas |
---|---|
Versions | 7.0.1, 7.1.1, 7.2, 7.3 |
Platforms | Linux and Cloud |
Problem
You may encounter such an issue by creating a daemon (as example db012.service) with the command:
create_systemd_service_file.sh 012 sag
and starting the database as a service with:
systemctl start db012
Cause
If the adanuc.log entries include “shared library ADAUEX_4, path name () could not be loaded” and “invalid environment variable” error messages, it implies difficulties in starting the database as a service, with a user exit defined.
Setting the environment variable ADAUEX_4 in a command shell is not adequate when the database is configured as a systemd service. To solve this stumbling block, define an entry in the DBXXX.INI file of the database in the [ENVIRONMENT] section.
The inability to start a database with a user exit defined could manifest in the form of loading errors in the shared library ADAUEX_4.
Resolution
Setting the environment variable ADAUEX_4 in a command shell is not sufficient when a database is configured as a systemd service.
A possible solution is to define an entry in the DBXXX.INI file of the database in the section [ENVIRONMENT]:
Example:
[ENVIRONMENT]
...
ADAUEX_4 = <SAG directory>/Adabas/examples/libadauex4.so
...
[ENVIRONMENT-END]
(This requires an entry "USEREXITS = 4" in the [NUCPARMS] session, too)
[NUCPARMS]
...
USEREXITS = 4
...
[NUCPARMS-END]