Applicable Versions: All


With each successive version of DataPA, the functionality is extended. This means there are changes to not only the client, but also the to the business logic procedures that support the client. As a result, you should always use the version of the DataPA procedure libraries that are provided with the client installation on the AppServer, and failing to do so may cause unexpected behaviour.


This poses a problem if you want to use a single AppServer, and your clients have different versions of DataPA installed. For this configuration to work correctly, you need to be able to identify on the AppServer the version of DataPA the client is using, and change the PROPATH of the AppServer to reference the correct procedure library (and any supporting business logic) for each request.


If you are retrieving your setup files from an AppServer, you will need to change your Data Location to send through the details of the version for this client. For instance, on a client using version 3, you could set your Data Location as follows:

  1. Open the Data Location tab on the Security Screen
  2. Edit your Data Location to pass the string VERSION3 in the AppServerInfo parameter.

You will also need to make sure that any connections pass the same value using the AppServerInfo parameter. If you are retrieving your setup files from an AppServer, it would make sense to configure your AppServer to distribute the appropriate connections to each user so they are using the correct connection. You can do this by distributing a different set of systems (contained in the partitions.dat or partitions.xml file), or filtering the available connections.


To configure a connection to send the same VERSION3 string using the AppServerInfo, follow these steps:

  1. Open the Advanced Tab of the Connection Details screen for your connection.
  2. Enter the version string into the AppServer Information text box, and press OK.

Now we have the client sending the appropriate version information to the AppServer, we need to configure the AppServer to change the PROPATH accordingly.


If you do not already have one, you must first create a Progress ABL connect procedure that will store the version string in the server connection context. The Connect procedure must receive three string parameters, the username, the password and AppServerInfo.

/* *******************  Definitions  ********************** */
DEFINE INPUT  PARAMETER cUsername      AS CHARACTER   NO-UNDO.
DEFINE INPUT  PARAMETER cPassword      AS CHARACTER   NO-UNDO.
DEFINE INPUT  PARAMETER cAppServerInfo AS CHARACTER   NO-UNDO.


The procedure should then store the version string in the server connection context.


/* *****************  Main Block  ******************* */
SESSION:SERVER-CONNECTION-CONTEXT = cAppServerInfo.


Next, create an activate Progress ABL procedure that sets the PROPATH according to the value in the server connection context, for example:


CASE SESSION:SERVER-CONNECTION-CONTEXT:
  WHEN ""VERSION3"" THEN DO:
    PROPATH = ""C:\DATAPA\V3\DataPA10.pl,C:\DATAPA\V3\BL\"".
  END.
  WHEN ""VERSION2"" THEN DO:
    PROPATH = ""C:\DATAPA\V2\DataPA10.pl,C:\DATAPA\V2\BL\"".
  END.
END CASE.


Finally, the steps below show how to configure the AppServer to use these two procedures:

  1. In Progress Explorer, right click on your AppServer and select Properties.
  2. Expand the Agent tree, and select Advanced Features.
  3. Enter your startup and activate procedures for the AppServer.
  4. Press OK
  5. Restart your AppServer.