7 methods to retrieve the version of SAP executables
During support situations for SAP NetWeaver or S/4 HANA based systems, you might often be asked to upgrade the executables of your system (often called “SAP kernel”) to a current release.
But which version is running in your system?
Here are several methods to determine the version of an SAP executable:
- 1. Using SAPMMC
- 2. Using sapcontrol.exe
- 3. Using Windows Explorer
- 4. Using Windows Powershell
- 5. Using command line parameter -version
- 6. Using transaction SM51
- 7. Using System – Status
1. Using SAPMMC
Right-click on System – Instance – All Tasks – Version Info:
A new dialog box will appear and show you the versions of some selected executables:
2. Using sapcontrol.exe
For all people, which like command line tools or need a command line tool output for scripting, there is a second method available in sapcontrol.exe:
./sapcontrol.exe -prot PIPE -nr 01 -function GetVersionInfo
The first two methods have the disadvantage, that you need a running sapstartsrv.exe (or SAP<SID>_<NR> Windows service) in order to get this information. In situations where the service did not start, this method cannot be used.
3. Using Windows Explorer
Navigate to the …\DVEBMGS01\exe or …\D01\exe directory, right-click on the executable of your interest and select Properties:
4. Using Windows PowerShell
Use PowerShell to retrieve the full version information for a single executable:
(dir disp+work.exe).VersionInfo | Format-List -Property *
or for multiple files in a directory:
(dir *.exe,*.dll).VersionInfo | Select-Object FileName, ProductVersion
This last method has the advantage, that you can see at a glance whether you are running with mixed versions or not. The kernel executables are delivered in two main packages: SAPEXE.SAR and SAPEXEDB.SAR. These two packages are delivered in the 720 code line as stack kernels 3-4 times a year. Stack kernels do have patchlevel numbers 100,200,300,… Between the release dates of stack kernel corrections where delivered in smaller packages dw.sar and libdbsl.sar (db-specific) or other smaller archives if the corrected executable is not part of dw.sar or libdbsl.sar.
When updating a kernel you should therefore unpack the last stack kernel (sapexe and sapexedb) followed by the last dw.sar, libdbsl.sar and possible other executable specific archives.
Following this rule you will never end up with a version mix like this one:
- disp+work.exe PL 514
- dbmssslib.dll PL 100
- r3trans.exe PL 525
5. Using command line parameter -version
The last method shown here is to invoke the executable with -version parameter.
Not all SAP executable will show the version information when invoked from the command line. On Windows, method 3 or 4 is more reliable.
The disp+work.exe -v method has the advantage that it also delivers information about the corrections supplied with this kernel: a list of SAP Notes describing the fixes contained in this kernel is appended to the release information. All SAP Notes listed here are supposed to be fixed.
While all methods show up to here do need access on operating system level to the server where the SAP system is installed on, the last two methods are working from within an SAP Gui session:
6. Using transaction SM51
Transaction SM51 provides the list of ABAP servers in your SAP System. It also provides a “Release Information” button, which delivers the output of method 5.
This method does only deliver the release information of disp+work.exe. Other executables or DLLs (all contained in dw.sar) are depending on disp+work.exe and will have the same version – if not, the system will not start!
This method needs administrative rights within the ABAP System.
7. Using System – Status
The last method listed in this blog is available to all SAP ABAP users using the SAPGUI user interface.
Click System – Status – and the “Other Kernel Info” button (yellow arrow).
saphostctrl -function ListInstances
That's indeed another option using SAP host agent:
PS C:\Program Files\SAP\hostctrl\exe> .\saphostctrl.exe -function ListInstances
Inst Info : BOG - 00 - ascs-bog - 753, patch 919, changelist 2110717
Inst Info : BOG - 10 - wsiv1200 - 753, patch 919, changelist 2110717