Binding an Application to the Correct Version of EMS Clients

If you have multiple versions of the EMS clients installed, you can bind your application statically or dynamically to a service program.

If you have multiple versions of the EMS client installed, you must be aware of which version of the EMS client you bind and/or run your application with. If you have two different versions of the EMS client installed, you can either bind your application statically to one specific service program, or you can dynamically bind the service program and control which version of the EMS client is used at run time.

For example, suppose you have two different versions of TIBCO EMS Client for IBM i installed:
  • Software Release 8.4.0 in product library TIBEMS840
  • Software Release 8.5.0 in product library TIBEMS850

Bind Statically

To bind the application statically to one specific service program, for example, to bind to software release 8.5.0, run the following command:

CRTPGM PGM(samplib/SXJ3MP) MODULE(samplib/SXJ3MP samplib/SXJ3UTIL)
BNDSRVPGM((TIBEMS850/LIBTIBEMS)) ACTGRP(*NEW)

where samplib is your development library.

Bind Dynamically

To bind the application dynamically, add one of the product libraries to the library list, and then bind the program. Therefore, you can control which version of the EMS client is used by modifying the library list. For example:

ADDLIBLE TIBEMS850
CRTPGM PGM(samplib/SXJ3MP) MODULE(samplib/SXJ3MP samplib/SXJ3UTIL)
BNDSRVPGM((*LIBL/LIBTIBEMS)) ACTGRP(*NEW) TGTRLS(*CURRENT)

where samplib is your development library.

To check how your application has been bound, run the following command to see in which library service program LIBTIBEMS is found:

DSPPGM PGM(samplib/SXJRMC) DETAIL(*SRVPGM)