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:
- 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
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, 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.
Navigate to the …\DVEBMGS01\exe or …\D01\exe directory, right-click on the executable of your interest and select Properties:
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 and r3trans.exe PL 525
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 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:
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 need administrative rights within the ABAP System.
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).