During support situations, you might often be asked to upgrade the executables of your system (often called 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:
- Using SAPMMC
- Using sapcontrol.exe
- Using Windows Explorer
- Using Windows Powershell
- Using command line parameter -version
- Using transaction SM51
- Using System – Status
Right-click on System – Instance – All Tasks – Version Info
a new Dialog box will appear and show you the versions of some selected executables:
for all people, who 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 – or you have some executables in a working directory where you are interested in the version information, they will not help you.
Using Windows Explorer
Navigate to the …\DVEBMGS01\exe or …\D01\exe directory, right-click on the executable of your interest and click on Properties:
Unfortunately, Microsoft has removed some information in the Details Tab as of Windows Server 2008. Only in Windows Server 2003, you can use this method to find out whether this executable is an EXT one or not.
Using Windows Powershell
I love PowerShell: retrieving 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 patch level numbers 100,200,300,… Between the release dates of stack kernel corrections were 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 and r3trans.exe PL 525
Using command line parameter -version
The next method shown here is to invoke the executable with -version parameter.
Not all SAP executable will show there version information when invoked from 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 shown 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.
Using transaction SM51
Transaction SM51 provides the list of ABAP servers in your SAP System. It also provides a Release Information Push Button which delivers you the output of method 5.
This method does only deliver the release information of disp+work.exe . Of course, other executables (all contained in dw.sar) are depending on disp+work.exe and will have the same version – if not the system will not start at all. This method needs administrative rights within the ABAP System.
Using System – Status
The last method listed in this blog is available to all SAP ABAP users using the SAPGUI user interface.
Just click System – Status – and the Other Kernel Info Button (yellow arrow).