Scripts varios para preparar un sistema SAP
Acerca de byebyetimer: es un script para evitar que la VM de SAP sincronice la hora con el host en aquellos sistemas con licencia vencida, puede servir para continuar utilizando sap.
scripts probados en SAP GUI, en caso de presentar fallas instalar gui750_11-80001468.exe
ADVERTENCIA: Las operaciones que se realicen, deben hacerse en la medida de lo posible en un cliente diferente a 000 y 001
Se puede crear un cliente más en la transacción SCC4
Usar las instrucciones solamente como referencia en pruebas iniciales pero crear un mandante independiente
-
Se debe instalar el OS elegido (se ha probado Win2016 para ECC6 EHP6 y Win2012 R2 para ECC EHP8)
-
Ejecutar el preset correspondiente
-
Verificar que se hayan instalado los pre-requisitos necesarios (puede requerirse un seteo de PATH en caso de instalar Java)
-
Copiar los archivos de instalación en un disco aparte
-
Copiar el archivo .bat correspondiente
(por ejemplo, para SAP ECC6 EHP8 bajo Win2012R2 se requiere una estructura así:
para la ECC6 debe tener una estructura similar a la siguiente:
y el ejemplo del .bat funcionando:
-
Ejecutar .BAT y seguir las instrucciones y notas de este README
Esta advertencia que podemos llegar a ver dentro del sapmmc.mmc es debido a que no se encuentra instalada Java en el sistema. Para ello deberemos instalar Java en el sistema.
En caso de requerir descargar el instalador de Java 2, usar el siguiente enlace (testeado con ECC6 EHP6):
https://archive.org/download/j2sdkfb-1_4_2_29-windows-amd64/j2sdkfb-1_4_2_29-windows-amd64.exe
Puede dar un error en la primera ejecución pero después funciona correctamente.
Después se requiere configurar los PATH del sistema (se agregará un script .ps1)
Nota: tener en cuenta que la configuración de disco puede cambiar a nivel OS si se hacen discos dinámicos. Los datos son de referencia y puede ser que haya mejoras en una reconfiguración previa o posterior.
Configuración | Detalles |
---|---|
Sistema Operativo | Windows Server 2016 |
RAM | 8192MB |
CPU | 2 Núcleos |
Tarjeta de Video | VBoxSVGA (Sin 3D) |
Memoria de Video | 128MB |
Disco Principal | 100GB VHD |
Disco Secundario | 100GB VHD |
Disco Terciario | 180GB VHD |
Configuración de Red | NAT / Puente |
Configuración | Detalles |
---|---|
Sistema Operativo | Windows Server 2012 R2 |
RAM | 10127MB |
CPU | 2 Núcleos |
Tarjeta de Video | VBoxSVGA (3D) |
Memoria de Video | 256MB |
Disco Principal | 100GB VHD |
Disco Secundario | 250GB VHD |
Disco Terciario | 64GB VHD |
Configuración de Red | NAT / Puente |
Descripción rápida de uso de cada archivo (no necesariamente se requiere el uso de todos por eso ver la tabla).
Nombre del Archivo | Descripción |
---|---|
preset_machine.ps1 | Preconfigura la máquina con el nombre "sapsrv" y establece PageFile en 20500MB |
win2008_preset_machine.ps1 | [WIN2008] Preconfigura la máquina con nombre, muestra extensiones de archivos, establece PageFile y deshabilita UAC |
preset_all.ps1 | Preconfigura el nombre del host, PageFile, muestra extensiones de archivos, abre el puerto TCP 3200 y deshabilita UAC |
ws2016_fw_rules.ps1 | Abre los puertos TCP 3200 entrantes y salientes en el cortafuegos |
2016_DISABLE_UAC_EHP6.ps1 | Deshabilita UAC en Windows Server 2016 |
SAP_ECC6_EHP6_Source.bat | [WIN2016] Prepara la instalación para ECC6 EHP6 |
ECC6_EHP8_ws2012.bat | [WIN2012] Prepara la instalación de ECC6 EHP8 en Windows 2012 |
ECC6_EHP8.bat | Prepara la instalación de ECC6 EHP8 |
comp-readme.txt | Notas sobre el Código de la Compañía y PFCG |
byebyetimer.bat | Desactiva la configuración de hora y realiza varias configuraciones para SAP Netweaver en Windows Server 2003 |
Linux_Ubuntu-1810.sh | Prepara sistema Linux para SAP (Script parcial) |
enable_rds.ps1 | Habilita el uso de RDS para conexión remota al equipo |
disable_ipv6-loopback.ps1 | Desactivar IPV6 (WinServer 2012) |
Seguir instrucciones de guía:
https://blogs.sap.com/2022/11/14/sap-netweaver-as-abap-developer-edition-installation-pitfalls/
Algunos pasos se encuentran parcialmente cubiertos en script Linux_Ubuntu-1810.sh (paso 5 a 8 incluyendo hostname)
Ejecutar realizando:
chmod +x Linux_Ubuntu-1810.sh
./Linux_Ubuntu-1810.sh
Es requerida la actualización KB3004394 (https://support.microsoft.com/en-us/topic/support-for-urgent-trusted-root-updates-for-windows-root-certificate-program-in-windows-a4ac4d6c-7c62-3b6e-dfd2-377982bf3ea5) para poder instalar los NTPATCH que se requieren en el proceso de instalación.
podemos comprobar esto al intentar instalar manualmente tanto el vcredist como alguna update de windows y nos salga el siguiente mensaje:
Una vez instalada la update, reiniciar el sistema y continuar el proceso.
Durante el proceso de instalación, en la etapa de start instance, nos puede salir un error que figura que no ha podido iniciarse la instancia de sap requerida
Si ingresamos al "SAP Management Console" podremos ver el status de las process list de cada instancia. En caso de que se encuentren en "STARTING" podremos hacer click en "Retry" para que el proceso de instalación continúe.
Este problema puede deberse a una falta de memoria por lo que aumentar la RAM asignada a la VM parece solucionar el problema Recomendado: asignar por lo menos 10127MB de memoria.
Es requerida la desactivación para la instalación de ECC6 EHP6 bajo Windows 2016
Se ha incluido el script 2016_DISABLE-UAC_EHP6.ps1 para tal tarea
La alternativa es el siguiente código pero requiere reinicio manual:
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name 'EnableLUA' -Value 0
En el primer paso de instalación, se solicitará al usuario que cierre su sesión. En caso de fallar se requiere que se cambien las siguientes configuraciones (secpol.msc):
Act as part of the operating system, Increase quotas and Replace a process level token.
En primera instancia, con que el usuario que usamos para instalar se encuentre en esas configuraciones, es suficiente para permitir la instalación. Puede ser que "Increase quotas" no se encuentre en windows server 2019
Es importante generar una clave segura tanto para mantener el sistema seguro como para que la instalación sea correcta en todo el proceso. En cuanto el instalador requiera establecer una contraseña a los usuarios que se crean y se encuentre con la limitación de haber elegido una clave que no cumple con los requisitos, puede encontrarse con un error que impida continuar.
ESET Password Generator: https://www.eset.com/int/password-generator/
Secure Password Generator: https://passwordsgenerator.net/old.php
RECORDAR LA CLAVE YA QUE SERÁ REQUERIDA PARA LA ADMINISTRACIÓN DEL SISTEMA SAP
Se requiere utilizar el archivo ASEBS16003P_14-10013281.SAR para el paso. Antes debe ser descomprimido utilizando la herramienta sapcar.exe el paso ha sido incluido a partir del commit 10ce30f en el script ECC6_EHP8.bat
Debería quedar de esta forma:
Nota: el script run.bat fue un script realizado con el siguiente comando (mismo comando incluido en script ECC6_EHP8.bat):
sapcar.exe -xvf *.SAR
Debido a un bug visual del instalador, es posible que los números de exports solicitados no sean iguales a los requeridos. En el mismo error que figura en pantalla puede verse un número de este estilo:
SAP:ECC:618:EXPORT(1/11):ERP 6.0 EhP8 Installation Export CD 1/11:CDxxxxxxxx_1
donde el x/xx indica el número que debe ser idéntico al solicitado. En los primeros dos pasos pide el export 1 y 11 en lugar del export 2 en el tercer paso requiere (en la prueba realizada) que se pongan en el siguiente orden:
nota: el ejemplo de arriba obvia el export 2 debido a que fue cargado anteriormente si respetamos la solicitud cargando 1 y 11 debería ser así:
Una vez iniciado el proceso, el SPM comenzará a verificar todos los archivos
En lugar de establecer la ruta de cada carpeta, podremos en el paso 1 o 2, decirle que los busque en la carpeta 51050708
por ejemplo:
E:\ECC6 EHP8\ECC6 EHP8 Exports\51050708\
El SPM se encargará de buscarlos dentro de la carpeta DATA_UNITS
Durante el proceso de instalación puede ocurrir el siguiente error, que indica que nos faltan instalar unas runtimes en el sistema para poder continuar. Podemos bajarlo desde: https://archive.org/download/visual-c-redistributable-for-visual-studio-2012-update-4/Visual%20C%2B%2B%20Redistributable%20for%20Visual%20Studio%202012%20Update%204.zip/vcredist_x64.exe para instalarlo y continuar con el proceso.
En caso de realizar NAT, es requerido un port forwarding para poder comunicar
el cliente local con el servidor de la vm
Para el resto de los servicios se deberá hacer lo mismo
NOTA: Es recomendable usar un puente en lugar de NAT, si se utiliza una máquina host diferente al cliente o si se desea permitir varios clientes o que la vm tome el dominio (p.e: sapprd.dominio.com.ar)
Una vez finalizada la instalación, aparecerá el siguiente mensaje:
Al continuar y finalizar, aparecerá esto despues de darle click a "OK" haremos click en Close y cerraremos el navegador
Al ingresar al SAP Management Console (sapmmc.msc) deberemos ver algo de la siguiente forma:
En caso de intentar acceder a la instancia y que devuelva este mensaje, podremos revisar el log de la consola MMC encontraremos errores del tipo "SAP Basis System: Error in DB rollback/SyFlush, return code 000256" o "Database: SQL error 30046 occurred; work process in reconnect status", podremos solucionar esto reiniciando los servicios de Sybase a través de la services.msc y reintentar abrir el servidor desde el SAPGUI. Con reiniciar el servicio Sybase SQLServer _ SID debería bastar para permitir que la instancia vuelva a conectar hacia la base de datos, caso contrario reiniciar la instancia.
Se requiere instalar una nota o support package en el sistema afectado
En caso de tener la VM configurada como red puente en lugar de NAT, deberemos usar o bien la IPV4 o bien desactivar la IPV6 en la máquina virtual para permitir que SAPGUI pueda comunicarse al servidor
Una vez configurado, setearemos la entrada en SAPGUI e ingresaremos para comprobar que nos podemos comunicar al servidor:
En caso de reiniciar el servidor, es posible que tenga que ejecutar de nuevo el .ps1 para abrir los puertos asignados a sapgui (incluso tras cambiar de NAT a Adaptador Puente)
En caso de haber desactivado el ipv6 se debe usar el hostname para comunicarse, o dominio completo en caso de que el router haya asignado de esa forma la comunicación.
Se debería poder hacer persistente ejecutando esto despues del script (no probado) (puede requerir agregar un -Enabled True al script):
Set-NetFirewallRule -DisplayName "SAP Inbound" -Enabled True
Set-NetFirewallRule -DisplayName "SAP Outbound" -Enabled True
En el primer inicio, nos puede salir un error de ABAP que nos pida que ejecutemos la transacción SICK al ejecutarla nos advierte que debemos solucionar el problema antes de usar el servidor y nos da un error como "CPU timers not synchronized. Check note 1036194"
El problema puede ser solucionado si entramos al SAP Management Console y reiniciamos la instancia completa de SAP En caso de no quedar persistente ejecutar el siguiente comando en cmd y reiniciar:
bcdedit /set {current} useplatformclock true
Si en el futuro necesitamos acceder al error que figuró, podremos ejecutar la transacción ST22
A RAISE statement in program "CL_GUI_HTML_VIEWER============CP" has raised exception condition "CNTL_ERROR".
Este problema sucede al intentar ejecutar un comando de una transacción que requiera el uso del navegador de sistema
pero no se puede realizar.
Al no poder mostrar el contenido en el navegador, se realiza una excepción en el programa:
La solución se encuentra investigando, puede deberse a una falta de instalación de Java en el sistema.
Primero ejecutar la RZ10, importar los perfiles y editar login/no_automatic_user_sapstar cambiando el valor a 0 Después en la SCC4, crear un nuevo cliente, en caso de no tener un logical system creado, obviar el campo. Despues reiniciar el servidor sap desde el sapmmc.
Loguear con SAP*, contraseña PASS
Abrir la consola cmd y ejecutar. reemplazar SID por la id de sap y password por la contraseña del usuario de administrador
cd S:\usr\sap\<SID>\SYS\exe\uc\NTAMD64
sapcontrol -nr 00 -user Administrator <password> -function Stop
sapcontrol -nr 00 -user Administrator <password> -function Start
comp-readme.txt
Se necesita crear una dirección de compañía a través de la transacción SUCOMP para poder configurar
el TMS en el cliente 000, sino dirá "Could not create user TMSADM" y no avanzará.
Ingresaremos a la transacción SUCOMP, pondremos un nombre y haremos click en el botón de "Create"
Llenaremos los datos obligatorios:
nota: sap verificará la consistencia de algunos datos por lo que hay datos que tienen que ser correctos
Si todo va bien nos dirá "Address data was saved"
NOTA: A partir de este punto, la creación de un usuario es opcional y basta con seleccionar como "Standard Address" para poder configurar el STMS
Si ingresamos a los usuarios del sistema por SU01, veremos que no tienen asignada una compañía:
A través de la SU10 podremos asignar la nueva compañía a todos los usuarios que hayamos elegido:
Tener en cuenta las posibles advertencias que salgan:
En caso de querer asignar la dirección y no querer modificar los campos requeridos, podremos hacer una copia del usuario:
Lo haremos a través de la transacción SU01:
Al copiar el usuario, nos saldrán advertencias similares a estas:
Guardaremos el usuario, llenaremos apellido y nombre cuando nos requiera y asignaremos una compañía.
Luego, a través de la SUCOMP, definiremos a la compañía que creamos como "Standard Adress":
Volveremos a repetir el proceso de STMS para crear el DOMAIN y TMS y ya debería salir este mensaje al terminar:
Logueados en el cliente 000, vamos a "Transport Routes"
Agregamos un single system y configuramos de la siguiente forma:
Es importante tambien configurar la ruta como "Consolidation" y el Target system/client en .001 con Transport Layer en SAP. Esto puede ser configurado desde el menú de Edit. Tener en cuenta que una vez activada la ruta, las opciones aparecerán en gris.
Ejecutar /osm04
Podremos cerrar las sesiones seleccionandolas y haciendo click en "Delete Session"
Tener en cuenta que esto puede provocar el cierre abrupto de tareas activas, usar con cuidado
Al intentar realizar un transporte de roles, nos pueden aparecer estos errores:
Algo que podemos hacer para pasar este error a modo de workaround es marcar la siguiente opción antes de importar:
Podemos ver que ahora logra importar la OT al cliente/mandante:
Igual deberemos comprobar, en este caso por la transacción PFCG si el rol o componente fue impactado correctamente
En caso de que nos salga este error (por ejemplo en la transacción OBD4)
podremos cambiar de forma temporal el status de modificable a través de la transacción SE06:
Dentro de "system change option" podremos modificar los parámetros:
Podremos escoger entre los siguientes estados:
En la transacción SCC4 podremos ver los clientes (mandantes) del sistema:
Si nos aparece este mensaje al intentar ingresar a una tabla o transacción,
podremos ejecutar la transacción SM04 para así desbloquear el acceso.
A través de la SE38, ejecutaremos RSTRANSP para el transporte de variantes. Luego a través de la transacción SE10 deberíamos poder liberarla.
##System unknown in Transport Management System
En caso de que aparezca este error al hacer un Add manualmente, se debe hacer sin establecer un target client. Después de agregar la orden a la cola de stms, se debe agregar, no en el mismo momento de añadirla
Deberemos ejecutar SU25 en caso de ser necesario.
Las vms creadas desde los instaladores TRIAL ofrecidos por SAP, deberan crear una licencia tanto para ampliar el tiempo como para habilitar el acceso a la transacción SE38:
https://go.support.sap.com/minisap/#/minisap
La licencia deberá ser reemplazada por medio de la transacción SLICENSE.
Temporal: RZ11 sapgui/user_scripting
Permanente: RZ10 https://success.panaya.com/docs/how-to-set-server-parameters-to-enable-gui-scripting-server-side
ref: https://abapacademy.com/blog/category/how-to-install-free-sap/sap-nw-as-750-installation/
https://aancos.com/2017/05/12/sap-gui-for-windows-7-50/
unzip para SAP_ECC6_EHP6_Source: https://sourceforge.net/projects/gnuwin32/files/unzip/5.51-1/unzip-5.51-1-bin.zip/download?use_mirror=sitsa&download=