Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
mike_dehart
Advisor
Advisor
2,812
Introduction
This guide will walk through returning a checked out license from InfoMaker (IM) or PowerBuilder (PB) to a SySAM server using SySAM's lmutil command-line tool.

Purpose
When a developer is leaving the company or moving machines, it may be necessary to forcibly remove an old license so it can be re-used again on a new machine.

First, the steps in Knowledge Base Article 2088264 should be followed. If it is determined a manual return is necessary, this article will provide details on how to do that.

Prerequisites
A license must be returned by the same user and from the same machine that first checked out the license. As such, an administrator must have access to the list below to return a license.

  • Access to the user's account who holds the license

  • Access to the SySAM license server

  • Administrator access to the client machine holding the license


These requirements can be broken up between users (i.e. if the user returns the license from the license side and the admin provides the details from the SySAM server side).

To differentiate for users with a client and license server on separate machines, the sections below will either start with Server for steps to perform on the SySAM server machine or Client for steps on the machine with PB or IM installed.

(Server) License Information
First, we will gather the information required to return a license from the SySAM server's lmtools application.

  • Launch lmtools.exe from the SySAM server installation directory's bin folder (default C:\Sybase\SYSAM-2_0\bin)

  • Navigate to the Server Status tab and click the button "Perform Status Enquiry". This will display a list of licenses for each product and details on which are currently checked out:
    SySAM Server license output



  • Above, we have a single license checked out. Generally one PB_ENTERPRISE license will be checked out as well as either InfoMaker or PowerBuilder or both depending on what the client has installed. The important information for each license is explained below:

    1. Username - This is the name of the user that has checked out this license. This is the user that must return the license from the client install (see Prerequisites)

    2. Machine name - This is the name of the machine where the license is checked out. This could be a virtual machine if installed on a VM. Additionally we need to make note that above the fully-qualified domain name (FQDN) is being used as well.

    3. Display name - This is the display being used when the license was checked out. If PB / IM is installed on a local machine, this will match the machine name. If installed on a VM or remote machine, this will be the name of the local PC used to access the remote machine.

    4. Server name/port - This is the name, port, and display of the SySAM server. This may not be necessary but can be if the license is not lingered.



  • Make note of whether or not the license is lingered (at the very end of the license line). If the license is not currently in use, it should be listed as linger and is easier to return. If it is not, make sure neither IM nor PB are running.


Make note of all the information above as we will need it for the return command.
(Client) Running return command
Confirm that the same user, display, and machine name from the license details above is used to return the license.

You can check the status of currently used licenses for the user/machine by executing lmutil lmborrow -status from a command window in the SYSAM-2_0 directory of the PB / IM installation folder (default: C:\Program Files (x86)\Sybase\PowerBuilder 12.6\SYSAM-2_0\bin😞


lmutil lmborrow -status output

We can see above this user/machine has both an InfoMaker and PowerBuilder license checked out.

The basic command will look similar to below

lmutil lmborrow -return -c "path_to_license_file" -d "display_name" [-fqdn] FeatureName

  • -c is the path to the local license file on the client machine’s initialization path. This is generally named PB12x.lic. The default initialization directory is C:\Users\<username>\AppData\Local\Sybase\PowerBuilder 12.6. However you can confirm this by navigating to Tools > System Options in PB / IM.

  • -d is the display name we recorded from the SYSAM server output in the first step.

  • [-fqdn] is needed only if the hostname from the first step was a fully qualified domain name (full domain listed rather than just the machine name) in the example above the full domain name IS listed so we will need this flag.

  • FeatureName is the name of the license feature being returned. This should be either ‘PowerBuilder’ or ‘InfoMaker’. Please note that the feature name is case sensitive!


In the same command window used to execute lmutil lmborrow -status we will run the full return command.

Below is my sample output given the information from the SYSAM server in step one:

lmutil lmborrow -return -c "C:\Sybase\PB\PB12.6.lic" -D <MY_HOSTNAME> -fqdn PowerBuilder



If the only output is the 'Copyright' line then the command was successful. You can confirm by issuing lmutil lmborrow -status once more:


After successful PB return, the PB feature is no longer listed

If an error did occur, see the next section for troubleshooting.

(Client) Common Errors

  • Cannot connect to license server system.This error is thrown if there is an issue connecting to the license server.The -c license file is read for the host and port information of the server to verify this was the server used to check out the license that is being returned. If the client machine cannot access the server due to network issues or the server is down, this error is thrown.



  • No such feature exists.This error occurs when lmutil cannot match the feature/license being returned to the server.This can occur if the license file/path is incorrect, the feature trying to be returned is incorrect or misspelled or other license information is incorrect (fqdn not used or used when not needed, connecting to wrong license server, etc.)