Products
Partners
Services
Support

US/Canadian Site

U2 WebDE logo

U2BusinessConnect

How To Get The Latest Version of the XTOOLSUB Subroutine

The XTOOLSUB program is a U2 Database server-side BASIC program used by various U2 Client Tools. This includes U2 Data Vu, U2 Web DE, Basic Developer's Toolkit (BDT), Extensible Administration Tool (XAdmin), Web Services Developer, and more. It also includes any tool that uses the U2 Resource View.

Periodicially, the XTOOLSUB program needs to be updated to support new functionality. The latest version is attached to this document.

The attached versions are currently based on UniVerse 11.1.1 and UniData 7.2.8.

Attachments
There are eight files attached to this document. The file to download depends on your OS version, database version, and database type:

UniData 6.1 and lower:
Windows
UNIX/Linux

UniData 7.1 and higher:
Windows
UNIX/Linux


UniVerse 10.3 and lower:
Windows
UNIX/Linux

UniVerse 11.1 and higher:

Windows
UNIX/Linux


The distinction between the database versions is needed due to EDA support being added to the XTOOLSUB program.  EDA was added to the databases at UDT 7.1 and UV 11.1.

The zip and tar files below include three or four files, depending on the environment. The XTOOLSUB program is used by all the tools, but the other files included are only used for the Basic Developer's Toolkit (BDT). The XTOOLSUB_EXECPRE/XTOOLSUB_XPRE programs are for pre-execution functionality and XTOOLSUB_EXECPOST/XTOOLSUB_XPST are for post-execution functionality. These programs are discussed further in the related article, 'BDT Extensibility Details'. If you have added your own code to the pre- and post-functionality, copy those modified programs to the older database versions rather than the pre- and post- files located here.

The files included for UniData are:

XTOOLSUB
XTOOLSUB_EXECPRE
XTOOLSUB_EXECPOST
EDAMAPSUB (UDT 6.1 and lower)

The files included for UniVerse are:
XTOOLSUB
XTOOLSUB_XPRE
XTOOLSUB_XPST
EDAMAPSUB (UV 10.3 and lower)

Do not catalog the EDAMAPSUB subroutine when using UDT 7.1 or UV 11.1 and higher. This program already exists on those versions.

There is a difference between the databases because UniVerse's catalog environment is a type 1 file and has a 14 character filename limit.

Only extract the file that is needed for the database server/version and OS type you are using. The ...UX.tar (Unix) files come from AIX. You will need to run fnuxi/convcode if you use other UNIX/linux operating systems. Files are not included for all operating systems in order to avoid unnecessary confusion. The files in the zip/tar files are the object code for the given programs; do not open them in a text editor.

Note 1: Log in as a root or administrator user when doing these steps to avoid any permissions errors.
Note 2: If an overwrite message occurs, select "yes" to overwrite the file in question.

UniData for UNIX & Linux
Note: The $UDTBIN referenced below is an environment variable pointing to your UniData bin directory, i.e. /usr/ud##/bin (where ##, is 61,71,72, etc.). If this variable is not set, then reference the full path to the UniData bin directory in the commands

1. Copy the XTOOLSUB_UDT_UX.tar or XTOOLSUB_UDT_61_UX.tar file to a temporary directory on your server (ie. /tmp). If transferring using ftp, remember to use binary format.

2. Extract the file to the $UDTHOME/sys/SYS_BP directory.

With UniData 6.1 and lower, the commands will be:

cd $UDTHOME/sys/SYS_BP
tar -xvf /tmp/XTOOLSUB_UDT_61_UX.tar

With UniData 7.1 and higher, the commands will be:

cd $UDTHOME/sys/SYS_BP
tar -xvf /tmp/XTOOLSUB_UDT_UX.tar

3. If you are using a non-AIX operating system, run convcode $UDTHOME/sys/SYS_BP:

$UDTBIN/convcode .

Note: The command includes a period at the end of the line. This will convert everything in the SYS_BP file to the current format. All files report that they were converted but this is the default answer for convcode. The existing files should already be in the correct format.

4. cd to $UDTHOME/sys and execute udt

cd .. (or cd $UDTHOME/sys)

$UDTBIN/udt

5. Catalog the three XTOOLSUB programs, as follows:

CATALOG SYS_BP XTOOLSUB FORCE

CATALOG SYS_BP XTOOLSUB_EXECPRE FORCE
CATALOG SYS_BP XTOOLSUB_EXECPOST FORCE

6. If you are using UniData 6.1 or lower, also run this command:

CATALOG SYS_BP EDAMAPSUB FORCE

7. Connect with your U2 client tool to the U2 database server.

UniData for Windows
1. Copy the XTOOLSUB_UDT_NT.zip or XTOOLSUB_UDT_61_NT.zip file to a temporary directory on your server (i.e. c:\temp).

2. Extract the file to the c:\u2\ud##\sys\SYS_BP (## refers to the UDT major version, i.e. 61, 71, 72, etc.) directory using your preferred unzipping utility. If UniData is installed in another location, change the path accordingly.

3. Log into the sys account via telnet or execute a udt shell in the sys directory on the server.

4. Catalog the three XTOOLSUB programs, as follows:

CATALOG SYS_BP XTOOLSUB FORCE
CATALOG SYS_BP XTOOLSUB_EXECPRE FORCE
CATALOG SYS_BP XTOOLSUB_EXECPOST FORCE

5. If you are using UniData 6.1 or lower, also run this command:

CATALOG SYS_BP EDAMAPSUB FORCE

6. Connect with your U2 client tool to the U2 database server.

UniVerse for UNIX & Linux
Note: `cat /.uvhome` references include back quotes. This retrieves the current value for the UniVerse home directory prior to executing the command.

1. Copy the XTOOLSUB_UV_UX.tar or XTOOLSUB_UV_103_UX.tar file to a temporary directory on your server (i.e. /tmp). If transferring using ftp, remember to use binary format.

2. Extract the file to the /usr/uv/BP.O directory. If UniVerse is installed in another location, change the path accordingly. Use 'cat /.uvhome' to find the path if needed.

For UniVerse 10.3 and lower, the commands are:

cd `cat /.uvhome`/BP.O

tar -xvf /tmp/XTOOLSUB_UV_103_UX.tar

For UniVerse 11.1 and higher, the commands are:

cd `cat /.uvhome`/BP.O
tar -xvf /tmp/XTOOLSUB_UV_UX.tar

3. If you are using a non-AIX operating system, run fnuxi, as follows:

`cat /.uvhome`/bin/fnuxi XTOOLSUB*

4. cd to the UniVerse home directory and execute uv:

cd `cat /.uvhome`

bin/uv

5. Press Escape to get out of the menu.

6. Catalog the three XTOOLSUB programs, as follows:

CATALOG BP *XTOOLSUB FORCE

CATALOG BP *XTOOLSUB_XPRE FORCE
CATALOG BP *XTOOLSUB_XPST FORCE

Note: You will receive a catalog error if you try to catalog all three programs on that same command line.

7. If you are using UniVerse 10.3 or lower, also run this command:

CATALOG BP *EDAMAPSUB FORCE

8. Connect with your U2 client tool to the U2 database server.

UniVerse for Windows
1. Copy the XTOOLSUB_UV_NT.zip or XTOOLSUB_UV_103_NT.zip file to a temporary directory on your server (i.e. c:\temp).

2. Extract the file to the c:\u2\uv\BP.O directory using your preferred unzipping utility. If UniVerse is installed in another location, change the path accordingly.

3. Log into the UV home account via telnet. The account name is UV or uv in the UV.ACCOUNT file.

4. Catalog the three XTOOLSUB programs, as follows:

CATALOG BP *XTOOLSUB FORCE

CATALOG BP *XTOOLSUB_XPRE FORCE
CATALOG BP *XTOOLSUB_XPST FORCE

Note: You will receive a catalog error if you try to catalog all three programs on that same command line.

5. If you are using UniVerse 10.3 or lower, also run this command:

CATALOG BP *EDAMAPSUB FORCE

6. Connect with your U2 client tool to the U2 database server.

FAQ
Q: I am getting the error 'Unable to load the subroutine on the server' when connecting via BDT. How do I resolve this?

A: This message means that the XTOOLSUB programs were not properly cataloged on the server. Review the steps above. You may be pointing to the wrong entry in the unirpcservices file. Check that the 'RPC Service Name' in the connection's advanced properties matches an entry in the server's unirpcservices file and that the server path is correct.

Send feedback to u2support@rocketsoftware.com.