@echo off Rem ************************************************************************** Rem Create the restart script Rem ************************************************************************** set SRVARG_RESUME=-srvarg=/SDTExecutionService/resume=true echo %~f0 %* echo %~f0 %* %SRVARG_RESUME% > restart_slc.bat Rem ************************************************************************** Rem Test if CMD Extensions are available Rem ************************************************************************** verify other 2>nul setlocal enableextensions if errorlevel 1 ( if not "%SERVERSTARTED%" == "1" ( set SERVERSTARTED=1 goto restartext ) ) Rem ************************************************************************** Rem Check if the first parameter is sapjvm="" Rem ************************************************************************** if %1==sapjvm ( set JAVA_HOME=%2 )else ( echo WARNING: No sapjvm path in command, try to use JAVA_HOME. ) Rem ************************************************************************** Rem Check if the second parameter is debug="true" Rem ************************************************************************** if %3==debug ( set DEBUG=true echo Starting SL Controller in debug mode )else ( set DEBUG=false echo Starting SL Controller in normal mode ) Rem ************************************************************************** Rem Determine java executable Rem ************************************************************************** if DEFINED JAVA_HOME ( set JAVA_CMD="%JAVA_HOME%\bin\java" echo Using JDK %JAVA_HOME%. ) else ( echo WARNING: Environment variable JAVA_HOME not set, try to launch java from current PATH. set JAVA_CMD=java ) Rem ************************************************************************** Rem Set extra parameters for the Java virtual machine Rem ************************************************************************** Rem Set maximum heap size: set JAVA_CMD=%JAVA_CMD% -Xmx256m Rem Create heap dump on out of memory error: Rem This option is not supported by all JVM versions Rem Uncomment only if needed and the JVM used supports the -XX:+HeapDumpOnOutOfMemoryError option Rem set JAVA_CMD=%JAVA_CMD% -XX:+HeapDumpOnOutOfMemoryError Rem ************************************************************************** Rem We are coming from work-dir of sapstart - take care about trex difference Rem ************************************************************************** cd ..\.. cd SYS if %ERRORLEVEL%==1 ( cd .. set IS_TREX_START=1 echo Starting SL Controller from working directory of a TREX instance ) else ( set IS_TREX_START=0 echo Starting SL Controller from working directory of an ABAP or JAVA instance ) if %IS_TREX_START%==1 ( set SDTSERVER_HOME=%CD%\SYS\global\SDT ) else ( set SDTSERVER_HOME=%CD%\global\SDT ) Rem ************************************************************************** Rem change to root directory of SDTServer and delete old jar lib\sdt_server.jar Rem ************************************************************************** cd %SDTSERVER_HOME% && DEL /F /Q lib\sdt_server.jar set SDTSERVER_CLASSPATH=%SDTSERVER_HOME%\lib\sdt_compatibility.jar set SDTSERVER_CLASSPATH=%SDTSERVER_CLASSPATH%;%SDTSERVER_HOME%\lib\sdt_slctrl.jar set SDTSERVER_CLASSPATH=%SDTSERVER_CLASSPATH%;%SDTSERVER_HOME%\lib\sdt_mxp.jar set SRVARG=-srvarg=/SDTExecutionService/restart set RESTART_OPT=%SRVARG%=false :restartloop if %DEBUG% == false ( %JAVA_CMD% -cp %SDTSERVER_CLASSPATH% SDTServer rootdir=%SDTSERVER_HOME% %RESTART_OPT% %* ) else ( %JAVA_CMD% -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -cp %SDTSERVER_CLASSPATH% SDTServer rootdir=%SDTSERVER_HOME% %RESTART_OPT% %* ) set RETCODE=%ERRORLEVEL% if %RETCODE% == 42 goto selfpatch goto exit :selfpatch rename exe\slmLaunchSDTServer2.bat exe\slmLaunchSDTServer2_old.bat call SAPCAR.EXE -xvf LUP.SAR set RETCODE=%ERRORLEVEL% if NOT %RETCODE% == 0 ( echo ERROR: SDTServer self patch failed with rc=%RETCODE% goto exit ) set RESTART_OPT=%SRVARG%=true goto restartloop Rem ************************************************************************** :restartext echo *** Restarting script enabling CMD extensions cmd /E:ON /C call %0 %* goto exit :exit