En este apartado voy a ir poniendo mi aprendizaje personal con SAP.
SAP son las siglas de Systems, Applications, Products in Data Processing. Es un sistema informático basado en módulos integrados, que abarca prácticamente todos los aspectos de la administración empresarial y que se adapta a todas las necesidades de una empresa. Está creado para abarcar todos los sectores del negocio. El lenguaje de programación que usa SAP es el ABAP y es muy parecido al SQL.
El sistema SAP está compuesto de una serie de áreas funcionales o módulos, que responden de forma completa, y en tiempo real, a los procesos operativos de las compañías. Aunque pueden ser agrupados en tres grandes áreas (financiera, logística y de recursos humanos), funcionan de un modo integrado, dado que existe una conexión natural entre los diferentes procesos.
En el área financiera, el módulo FI proporciona una visión completa de las funciones contables y financieras, e incluye un amplio sistema de información y de generación de reportes para facilitar la toma de decisiones. El módulo CO (Controlling) se utiliza para representar la estructura de costos y los factores que tienen influencia, lo que genéricamente se conoce como contabilidad interna de las compañías. Otros módulos son IM (Gestión de inversiones) y TR (Tesorería).
En el área logística, el módulo LO brinda las herramientas e informes necesarios para analizar y gestionar el estado de la logística de la compañía y realizar previsiones en la cadena de suministros. El módulo MM (Gestión de materiales) comprende todas las actividades con la adquisición y control de los inventarios, en tanto PM (Mantenimiento) se encarga de los sistemas de control de plantas y PP (Planificación y de la producción) engloba las diferentes tareas y metodologías utilizadas en el proceso mismo de la producción, SD (Ventas y distribución) es el módulo comercial.
El módulo de Recursos Humanos (HR) incluye todos los procesos necesarios para controlar y gestionar de una manera eficaz las necesidades de recursos humanos de las empresas: desde la gestión de candidatos hasta la elaboración del desarrollo del personal, así como el control de tiempos. Sus componentes abarcan el soporte total para la administración de salarios y nóminas, modelos de turnos, planificación de trabajo, gestión de viajes, entre otros.
El módulo de Gestión de Relaciones con los Clientes nos sirve para administrar todos nuestros contactos con nuestros clientes mediante un registro de cualquier actividad que hubiéremos entablado con el mismo. Si el cliente nos llamó para consultarnos, esto queda registrado en la base de datos, si llamamos nosotros al cliente para ofrecerle un producto esto queda registrado, si a raíz de ese llamado el cliente realizó una compra esto también queda registrado.
Además de los módulos estrictamente funcionales existe una arquitectura técnica -denominada SAP Netweaver- con sus correspondientes módulos técnicos que se enumeran a continuación:
El sistema ERP está compuesto de una serie de módulos funcionales que responden de forma completa a los procesos operativos de las empresas.
CA-Cross Application (Aplicación Cruzada, aplicable a todos los módulos de SAP)
FI-Financial Accounting (Contabilidad financiera)
La contabilidad financiera sigue unos requerimientos legales, ya que es la que se presenta a personas externas a la empresa.
CO-Controlling (Contabilidad Analítica)
El Controlling ayuda en la gestión de la empresa. Es por tanto de uso interno.
IM-Capital Investment Management (Gestión de Inversión y su Capitalización)
Permite el control y seguimiento de proyectos de inversión. Gestiona la planificación, presupuesto, contabilizaciones reales y capitalización de la inversión.
EC-Enterprise Controlling (Control de Empresa)
TR-Treasury. (Tesorería)
PS-Project System (Sistema de Proyectos)
LO-Logistics General. Logística General
HR-Human Resources (Recursos Humanos)
HR-PA Personnel Administration (Administración de Personal)
Ambientes que componen un sistema SAP
Cuando hablamos de SAP Basis, nos referimos a la capa de base de las aplicaciones SAP, el consultor Basis se encarga de instalar la plataforma SAP y los módulos requeridos.
Podemos ver la nota referida a configuración de páginas grandes memoria : Hugepages. Si utilizamos VMware, posiblemente necesitemos tambien cambiar el planificador de disco de la máquina virtual.
1999 | First Linux certified for SAP software |
---|---|
2006 | First operating system certified for SAP Adaptive Computing Controller (ACC) Selected operating system for use with SAP BWA SAP's Linux/UNIX software development platform |
2007 | First virtualization (Xen) validated for SAP First joint seamless and integrated Linux support through SAP Solution Manager |
2008 | Co-development of SUSE Installation Wizard for faster deployment of SAP and SUSE software Selected operating system for use with SAP Business ByDesign SAP Pinnacle Award 2008 Winner |
2009 | Selected operating system for use with SAP HANA SAP Pinnacle Award 2009 Finalist |
2010 | Four validated high availability best practices for SAP environment First Linux supported on Amazon Web Services |
2011 | Availability of SUSE Linux Enterprise Server for SAP Applications, the most optimized operating system for SAP workload with built-in high availability, faster deployment, page cache management, enterprise support services |
2012 | Distribution of ClamSAP (anti-virus connector to ClamAV) with SUSE Linux Enterprise Server for SAP Applications First Linux distributor to certify High Availability solution for integration with SAP NetWeaver |
2013 | SUSE ads new channel program for SAP Business One HANA |
In summary, SUSE Linux Enterprise is:
Aspectos generales a tener en cuenta a la hora de implementar un monitoreo integral de un sistema SAP
Algunas cosas que podemos monitorear con el CCMS de SAP :
Para poder ver algunas cosas de monitoreo de SAP desde Nagios por medio de CCMS podemos referirnos a los tips de Nagios.
Uso permitido del usuario SAP* para tareas de configuración: en todas las instalaciones Sap existe un usuario SAP* (mientras no este creado como tal a propósito), que tiene la contraseña por defecto PASS y todas las autorizaciones disponibles (SAP_ALL). Esto es un agujero de seguridad grave que Sap soluciono con el parámetro login/no_automatic_user_sapstar. Por defecto, el parámetro vale 1 e impide utilizar este usuario. Para poder activarlo, habrá que poner el valor 0. Lo lógico es activarlo para tareas de configuración, y una vez terminado el proceso, volver a desactivarlo. Este usuario es HARDCODED.
Las Órdenes de Transporte se utilizan para implementar modificaciones del ambiente de desarrollo DEV a los sistemas de calidad QAS y productivos PRD. También podemos implementar modificaciones externas generadas en otros landscapes de sistemas SAP.
Para acceder al sistema de transportes de SAP, deberemos entrar al sistema SAP que necesitamos y ejecutar la transacción STMS.
Se puede dar el caso de que nos envíen ordenes de transporte de un desarrollo externo para importarlas en nuestro sistema de desarrollo DEV.
La convención standard de SAP para estos archivos es R<6 digitos>.<sistema fuente> y K<6 digitos>.<sistema fuente> (El sistema fuente es el nombre del sistema del cual proviene el transporte)
K902506.SAP es un Cofile – no contiene muchos datos, son los atributos del archivo data. Clases de objeto, comandos o tipo de información.
R902506.SAP es el Datafile – Contiene los datos del Transporte – Son los cambios que van a ser aplicados al sistema.
Deberemos ingresar al sistema de desarrollo en el cual queremos importar los archivos dentro del directorio /usr/sap/tran o D:\usr\sap\trans (según el sistema operativo)
Dentro del la transacción STMS deberemos ingresar a la opción (dependiendo del idioma)
Agregar el transporte ej SAPK902506 Donde DEV es la extension del archivo y el resto es el nombre del archivo.
Mediante estra transacción podemos transportar una orden de un ambiente a otro y ver su histórico
SAP NetWeaver Gateway es una tecnología que proporciona una forma sencilla de conectar dispositivos, entornos y plataformas de software de SAP en base a los estándares del mercado. Permite el desarrollo de soluciones en cualquier interfaz de usuario llevando el entorno SAP a otros entornos como los sociales y de de colaboración, dispositivos móviles y tabletas y aplicaciones de Internet. Ofrece conectividad a aplicaciones SAP utilizando cualquier lenguaje de programación o modelo, sin necesidad de conocimientos de SAP mediante el aprovechamiento de los servicios REST y protocolos OData / ATOM.
Nota de seguridad de conexiones
Apartado : SAP HANA
Hay un apartado acerca de la configuración de backups online de SAP en el manual de administración de backups con Tivoli TSM, donde se indica la configuración necesaria a implementar.
brbackup -u / -c force -t online -m all -p initSID.sap -a -c force -p initSID.sap -sd
Examples of BRRESTORE Runs Locate the document in its SAP Library structure
Update the Oracle database statistics with BRCONNECT as follows:
Hay un script script filtrador de Logs para parsear los resultados del alert.log de Oracle y enviarlos por email.
alert.log
$ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log
$ORACLE_BASE/admin/$ORACLE_SID/background/alert_$ORACLE_SID.log
$ORACLE_BASE/saptrace/background/alert_$ORACLE_SID.log
listener.log
$ORACLE_BASE/network/log/listener.log
sqlplus "/ as sysdba" ALTER system SET sga_max_size=12G scope=spfile; ALTER system SET db_cache_size=8G scope=spfile; ALTER system SET shared_pool_size=2G scope=spfile;
SQL> SHOW parameters log_archive_max_processes; log_archive_max_processes INTEGER 4 SQL> ALTER system SET log_archive_max_processes=1; System altered. SQL> ALTER system SET log_archive_max_processes=4; System altered.
SQL> SHOW parameter db_writer_processes NAME TYPE VALUE ------------------------------------ ----------- ------- db_writer_processes INTEGER 1 SQL> ALTER system SET db_writer_processes=2 scope=spfile sid='*'; System altered.
si nos da un error como este :
SQL> ALTER system SET db_writer_processes=2 scope=spfile sid='*'; ALTER system SET db_writer_processes=2 scope=spfile sid='*' * ERROR at line 1: ORA-32001: WRITE TO SPFILE requested but no SPFILE specified at startup
SQL> SHOW parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string SQL> CREATE spfile FROM pfile; File created. SQL> SQL> shutdown IMMEDIATE SQL> startup SQL> SHOW parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /oracle/SID/102_64/dbs/spfileSID.ora SQL> ALTER system SET db_writer_processes=2 scope=spfile sid='*';
SQL> SHOW parameter block_size; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_block_size INTEGER 8192 SQL>
SET serveroutput ON SIZE unlimited DECLARE texto varchar2(2000); indice_anterior varchar2(30) := 'XXXXXXXXXX'; BEGIN DBMS_OUTPUT.ENABLE (buffer_size => NULL); FOR c1 IN (SELECT TABLE_NAME,index_name,column_name FROM dba_ind_columns WHERE index_owner = 'SAPSR3' AND index_name NOT LIKE '%~0' ORDER BY TABLE_NAME,index_name,column_position) loop IF c1.index_name <> indice_anterior THEN IF indice_anterior = 'XXXXXXXXXX' THEN indice_anterior := c1.index_name; texto := c1.table_name||';'||c1.index_name||';'||c1.column_name||';'; ELSE dbms_output.put_line(texto); texto := c1.table_name||';'||c1.index_name||';'||c1.column_name||';'; indice_anterior := c1.index_name; END IF; ELSE texto := texto||c1.column_name||';'; END IF; END loop; dbms_output.put_line(texto); END; /
SELECT username, account_status FROM dba_users;
ALTER USER SAPSR3 account LOCK;
ALTER USER SAPSR3 account UNLOCK;
SELECT COUNT(*) FROM SAPSR3.SNAP WHERE ROWNUM <= 5;
El área funcional de SAP es la que se encarga de parametrizar el sistema SAP instalado de acuerdo a lo que se requiera. Igualmente vamos a separar en otro apartado lo que se refiere a desarrollo y programación en ABAP
TBTCO Tabla de resumen del estado de jobs
TBTCP Resumen step de un job de fondo
Un JOB o proceso de fondo en SAP se compone de estas propiedades principales :
Para comenzar a la creación de nuestro proceso de fondo, deremos utilizar la Trx. SM36.
java -jar PlatinGUI-Linux-700.jar
~/SAPClients/SAPGUI7.00/bin$ ./guilogon To create servers, touch at new and go to "advanced".
Ejemplo:
Para el servidor 10.1.1.6 con el system number 01:
conn=/H/10.1.1.6/S/3201
Command line
Para el servidor 10.1.1.6 conel system number 01:
~/SAPClients/SAPGUI7.00/bin$ ./sapgui /H/10.1.1.6/S/3201
El archivo se guarda en C:\Users\USUARIO\AppData\Roaming\SAP\Common
/home/usuario/.SAPGUI/connections
Ejemplo sin logon balance
SID:conn=/M/190.1.1.19/S/3600/G/Empresa&expert=true
Ejemplo con logon balance
SID [Empresa]:conn=/M/190.1.1.19/S/3600/G/Empresa&expert=true
SAP Note 618104 - “sapsysinfo” - Compiling system information on Linux
Para realizar esta tarea sea el sistema operativo que fuere, debemos tener todo el sistema SAP R3 bajo y en lo posible para evitar complicaciones la base de datos también.
Ejemplo del Kernel de SAP 701 al Kernel de SAP 720_REL
Primero deberemor limpiar el directorio exe donde estan los binarios principales de SAP
rm -rf /sapmnt/<SID>/exe cd /sapmnt/<SID>/exe
Luego dentro de ese directorio deberemos descomprimir los paquetes SAR de SAP
SAPCAR -xvf SAPEXEDB_100-10011223.SAR SAPCAR -xvf SAPEXE_100-10011224.SAR SAPCAR -xvf DBATL720O10_33-10007263.SAR
Luego de eso deberemos ejecutar la orden sapcpe para que SAP tome las configuraciones del Kernel nuevo :
Asignamos permisos de sap
chown -R <SID>adm:sapsys /sapmnt/<SID>/exe
sapcpe pf=/usr/sap/<SID>/SYS/profile/<SID>_DVEBMGS00_<hostname> sapcpe pf=/usr/sap/<SID>/SYS/profile/START_DVEBMGS00_<hostname>
Y luego como usuario root ejecutamos el script saproot.sh :
cd /sapmnt/<SID>/exe ./oraroot.sh <SID> ./saproot.sh <SID>
Para verificar errores o ver mas info de debug deberemos ejecutar :
R3trans -d disp+work -V
Luego de la actualización del Kernel recordemos que las transacciones en SAP tardaran bastante en ejecutar ya que deberan ser compiladas para una primera ejecución.
/usr/sap/<SID>/<INSTANCIA>/j2ee/os_libs/# jcmon pf=/usr/sap/<SID>/SYS/profile/<SID>_<INSTANCIA>_<hostname>
Dentro de /usr/sap/<SID>/<INSTANCIA>/SDM/program/inBox, colocar los archivos (usualmente *.ear). Luego ejecutar /usr/sap/<SID>/<INSTANCIA>/SDM/program/RemoteGui.sh.
Seleccionar : Deployment→Carpeta SCAs/SDAs for Deployment→(botón derecho)→Add SCA/SDA(Server Side File Browser)→Elegir paquete→Proceder Next→Start deploy→Confirm
Si perdemos la contraseña la podemos resetear de la siguiente forma
Debemos bajar el servicio SDM y ejecutar
/usr/sap/<SID>/<INSTANCIA>/SDM/program/inBox/sdm.sh changepassword “sdmhome=/usr/sap/<SID>/<INSTANCIA>/SDM/program” “newpassword=Password123”
En nuestro caso, si por ejemplo usamos SuSE Linux como Sistema Operativo para la implementación de SAP, podemos seguir este simple procedimiento para su actualización.
Ejemplo Destinos RFC
R3trans -w exp_rfc.log rfc_export
rfc_export
Export File=rfc_dump Select * from rfcattrib Select * from rfcdes Select * from rfcdoc
R3trans -w imp_rfc.log rfc_import
rfc_import
import file = 'rfc_dump' client = 200
En algunas ocasiones, debemos modificar un sistema SAP, ya sea por una separación o modificación del negocio que lo utiliza etc.
Antes de migrar el sistema, deberemos verificar
Algunas formas de recuperación requieren que la base de datos se inicie y acceda como montada. Para poner la base de datos en modo de montaje, deberemos inicia de la siguiente manera :
SQL> startup mount
Si ya se ha iniciado la instancia de la base de datos con la opción de inicio nomount, se puede cambiar el nomount para montar la base utilizando el comando alter database :
SQL> alter database mount;
DBNEWID es una utilidad de la base de datos para poder cambiar el identificador interno de dicha base de datos (DBID) y el nombre de base de datos (DBNAME) para una base de datos operativa.
# nid target=/ setname=yes dbname=<NEWDBID> DBNEWID: Release 12.1.0.2.0 - Production on Tue May 29 14:50:57 2018 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. Connected to database <OLDDBID> (DBID=497546318) Connected to server version 12.1.0 Control Files in database: /oracle/<OLDDBID>/origlogA/cntrl/cntrl<OLDDBID>.dbf /oracle/<OLDDBID>/origlogB/cntrl/cntrl<OLDDBID>.dbf /oracle/<OLDDBID>/sapdata1/cntrl/cntrl<OLDDBID>.dbf Change database name of database <OLBDBID> to <NEWDBID>? (Y/[N]) => Y Proceeding with operation Changing database name from <OLDDBID> to <NEWDBID> Control File /oracle/<OLDDBID>/origlogA/cntrl/cntrl<OLDDBID>.dbf - modified Control File /oracle/<OLDDBID>/origlogB/cntrl/cntrl<OLDDBID>.dbf - modified Control File /oracle/<OLDDBID>/sapdata1/cntrl/cntrl<OLDDBID>.dbf - modified Datafile /oracle/<OLDDBID>/sapdata1/system_1/system.data - wrote new name Datafile /oracle/<OLDDBID>/sapdata7/undo_1/undo.data - wrote new name Datafile /oracle/<OLDDBID>/sapdata1/sysaux_1/sysaux.data - wrote new name ...
# orapwd file=$ORACLE_HOME/dbs/orapw<SID> password=<PASSWORD>
SQL> STARTUP NOMOUNT SQL> CREATE SPFILE='/oracle/<NEWSID>/12102/dbs/spfile<NEWSID>.ora' FROM PFILE='/oracle/<NEWSID>/12102/dbs/init<NEWSID>.ora'; File created. SQL> ALTER SYSTEM SET DB_NAME=<NEWSID> SCOPE=spfile; System altered. SQL> startup OPEN SQL> ALTER DATABASE RENAME global_name TO <NEWSID>.WORLD; SQL> UPDATE global_name SET global_name = '<NEWSID>'; SQL> commit ; SQL> STARTUP NOMOUNT SQL> ALTER SYSTEM SET DB_NAME=<NEWSID> SCOPE=spfile; System altered. SQL> ALTER system SET instance_name=<NEWSID> scope=spfile; SQL> startup SQL> CREATE pfile FROM spfile; File created.
SQL> startup ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance ORACLE instance started. Total System Global Area 6.8719E+10 bytes Fixed Size 5304248 bytes Variable Size 2.8857E+10 bytes Database Buffers 3.9728E+10 bytes Redo Buffers 128913408 bytes ORA-00205: error in identifying control file, check alert log for more info
alert_<NEWSID>.log
ALTER DATABASE MOUNT Tue May 29 15:27:57 2018 ORA-00210: cannot open the specified control file ORA-00202: control file: '/oracle/<NEWSID>/sapdata1/cntrl/cntrl<NEWSID>.dbf' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3 ORA-00210: cannot open the specified control file ORA-00202: control file: '/oracle/<NEWSID>/origlogB/cntrl/cntrl<NEWSID>.dbf' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3 ORA-00210: cannot open the specified control file ORA-00202: control file: '/oracle/<NEWSID>/origlogA/cntrl/cntrl<NEWSID>.dbf' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3
Renombramos los control file de cntrl<OLDSID>.dbf hacia cntrl<NEWSID>.dbf y luego iniciamos la base de datos
Deberemos modificar el nombre del host de nuestro servidor, para que se adapte al SID que necesitamos y también deberemos ajustar su resolución local en el archivo /etc/hosts.
También deberemos agregar el servicio en el archivos /etc/services
sapms<SID> 3600/tcp # SAP System Message Server Port
En el HOME del usuario administrador de SAP y del HOME del usuario administrador de la base de datos (en nuestro caso Oracle), usualmente dicho usuario tiene la siguiente nomenclatura :
Estos archivos suelen encontrarse con el mismo nombre en los directorios HOME de dichos usuarios
Archivos con variables de entorno de la shell del usuario :
Archivos con variables de entorno para la ejecución de la base de datos :
Archivos con variables de entorno del motor JAVA de SAP :
Archivos con variables de entorno para la ejecución de SAP :
Perfiles de SAP : /sapmnt/<SID>/profile
Perfiles de Oracle para SAP : /sapmnt/<SID>/profile/oracle
Configuración del Listener :
Variables de configuración de Oracle para SAP :
Podemos hacer un cambio brusco y rápido de los valores de configuración del viejo <SID> hacia el nuevo <SID> :
# sed -i -e 's/<SIDVIEJO>/<SIDNUEVO>/g' * # sed -i -e 's/<sidviejo>/<sidnuevo>/g' *
Posteriormente a modificar la configuración de los prefiles de Oracle, iniciamos el Listener
# lsnrctl start LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 29-MAY-2018 15:31:47 Copyright (c) 1991, 2014, Oracle. All rights reserved. Starting /oracle/<NEWSID>/12102/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 12.1.0.2.0 - Production System parameter file is /oracle/<NEWSID>/12102/network/admin/listener.ora Log messages written to /oracle/<NEWSID>/saptrace/diag/tnslsnr/<NEWHOSTNAME>/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=<NEWSID>.WORLD))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=<NEWSID>))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<NEWFQDN>)(PORT=1527))) Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=<NEWSID>.WORLD)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date 29-MAY-2018 15:31:50 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /oracle/<NEWSID>/12102/network/admin/listener.ora Listener Log File /oracle/<NEWSID>/saptrace/diag/tnslsnr/<NEWHOSTNAME>/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=<NEWSID>.WORLD))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=<NEWSID>))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<NEWFQDN>)(PORT=1527))) Services Summary... Service "<NEWSID>" has 1 instance(s). Instance "<NEWSID>", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
Revisar /usr/sap y mover el directorio de <OLDSID> hacia <NEWSID>
Modificar los enlaces hacia los ejecutables de SAP en el directorio /usr/sap/<NEWSID>/DVEBMGS00/work
De la siguiente forma :
ln -s /usr/sap/<NEWSID>/DVEBMGS00/exe/rslgcoll co.sap<NEWSID>_DVEBMGS00 ln -s /usr/sap/<NEWSID>/DVEBMGS00/exe/disp+work dw.sap<NEWSID>_DVEBMGS00 ln -s /usr/sap/<NEWSID>/DVEBMGS00/exe/igswd_mt ig.sap<NEWSID>_DVEBMGS00 ln -s /usr/sap/<NEWSID>/DVEBMGS00/exe/msg_server ms.sap<NEWSID>_DVEBMGS00 ln -s /usr/sap/<NEWSID>/DVEBMGS00/exe/rslgsend se.sap<NEWSID>_DVEBMGS00
Modificar los enlaces global y profile /usr/sap/<NEWSID>/SYS :
Como :
ln -s /sapmnt/<NEWSID>/global ln -s /sapmnt/<NEWSID>/profile
Modificar los enlaces /usr/sap/<NEWSID>/SYS/exe :
Como :
ln -s /sapmnt/<NEWSID>/exe dbg ln -s /sapmnt/<NEWSID>/exe/nuc ln -s /usr/sap/<NEWSID>/SYS/exe/dbg run ln -s /sapmnt/<NEWSID>/exe/uc
Revisar la ruta de SSFS (Secure Storage in File System) :
RSEC_SSFS_DATAPATH=/usr/sap/<NEWSID>/SYS/global/security/rsecssfs/data RSEC_SSFS_KEYPATH=/usr/sap/<NEWSID>/SYS/global/security/rsecssfs/key
Renombrar SSFS_<OLDSID>.DAT como SSFS_<NEWSID>.DAT
Reset de usuario SAP* :
SQL> SELECT UFLAG, BNAME, MANDT FROM SAPSR3.USR02 WHERE BNAME='SAP*'; SQL> DELETE FROM SAPSR3.USR02 WHERE BNAME='SAP*' AND MANDT=000;
SAP Profile <NEWSID>_DVEBMGS00_<NEWHOSTNAME> :
login/no_automatic_user_sapstar=0
# startsap Checking <NEWSID> Database Database is running ------------------------------------------- Starting Startup Agent sapstartsrv OK Instance Service on host <NEWHOSTNAME> started ------------------------------------------- starting SAP Instance DVEBMGS00 Startup-Log is written to /home/<NEWSID>adm/startsap_DVEBMGS00.log ------------------------------------------- /usr/sap/<NEWSID>/DVEBMGS00/exe/sapcontrol -prot NI_HTTP -nr 00 -function Start Instance on host <NEWHOSTNAME> started
Luego dentro de SAP, deberemos cambiar el nombre lógico por medio de la Trx. BDLS o del programa RBDLS2LS. Luego rearmamos el landscape de SAP con los equipos de DEV y QA. Para después rearmar sistema de transporte.
Muchas veces en SAP nos topamos con problemas poco descriptivos, para analizarlos deberemos analizar principalmente estos achivos de log dentro del directorio work :
Windows → <Drive>:\usr\sap\<Sys-ID>\DVEBMGS<Sys-Nr>\Work
Linux → /usr/sap/Sys-ID/DVEBMGS<Sys-Nr>/work
Y para analizar mas a fondo, si tenemos SAP corriendo sobre GNU/Linux podemos hacer uso de la herramienta strace.
Referencias útiles :
sapcpe pf=/usr/sap/<SID>/SYS/profile/<SID>_DVEBMGS00_<hostname> sapcpe pf=/usr/sap/<SID>/SYS/profile/START_DVEBMGS00_<hostname>
Symptom
After you upgrade to 7.00, you can no longer log on to the ABAP system. The system issues an error message on the logon screen to tell you this. Reason and Prerequisites
There is a conflict with the port numbers. These parameters are valuated as follows:
rslg/collect_daemon/listen_port 39xx rslg/collect_daemon/talk_port 40xx rdisp/msserv_internal 39xx
Solution
Delete these from the default profile to ensure that the system uses the default values 14xx and 15xx.
If these ports are already used by other programs, choose unused port numbers.
- See more at: http://www.stechno.net/sap-notes.html?view=sapnote&id=1069225#sthash.0nPTQ8aF.dpuf
nohup rfcexec -a PROG_TRANSPOR -g server_host -x sapgw00 &
sapgenpse import_p12 -p Certificado.pse Certificado.pfx
http://hostsap:50000/webdynpro/dispatcher/sap.com/bi~plan~blablabla1/Modeler
Si tenemos un error como este :
503 Service Unavailable SAP WebAS Engine is starting... If this state does not change within a few minutes, please contact your system administrator. Check the recommendations in SAP Notes: 943498, 764417 Message: Dispatcher running but no server connected! Details: No details available
Lo primero que debemos revisar son los archivos de Log en /usr/sap/<SID>/<InstNo>/j2ee/cluster/server0/log
Si vemos dentro del trace un error como este :
"Start of UME Service Failed". Technical details: User is locked. Please notify the person responsible
Deberemos revisar desde ABAP que los usuarios
Esten correctos. Si queremos podemos resetearle la contraseña al usuario SAPJSF Ademas deberemos ejecutar la configtool /usr/sap/<SID>/<InstNo>/j2ee/configtool y actualizar alli la contraseña del usuario del servicio UME
Luego de eso por medio de jcmon pf=/usr/sap/<SID>/<InstNo>/<SID>_<InstNo>_<hostname>, podremos arrancar el proceso server0
Si nos da un error como el de abajo, deberemos referinos a la SAP Note 971249 - JMSServerSecurityException thrown accessing JMS resources
{0}#1#javax.jms.JMSSecurityException: You do not have permissions: action create_queue and instance ALL. at com.sap.jms.protocol.notification.ServerExceptionResponse.getException(ServerExceptionResponse.java:231) at com.sap.jms.client.session.Session.checkReceivedPacket(Session.java:2598) at com.sap.jms.client.session.Session.createQueue(Session.java:2425) at com.sap.ip.collaboration.core.api.rtmf.core.RTMFMessaging$JMSPolling.startRunning(RTMFMessaging.java:1244) at com.sap.ip.collaboration.core.api.rtmf.core.RTMFMessaging$JMSPolling.run(RTMFMessaging.java:1182) at java.lang.Thread.run(Thread.java:770)
Como TIP de como analizar podemos leer la SAP Note 764417 - Information for troubleshooting of the SAP J2EE Engine 6.40
Ejemplo del caso un proovedor puede ser privado o una agencia Gubernamental modificó un certificado SSL en su servicio web que necesitamos para ejecutar nuestros procesos de negocio.
Modificaron su certificado SSL (el cual todavia era válido ) por otro certificado autofirmado el cual por lo tanto no es válido y ninguna librería de SSL por lógica - NO LO VÁLIDA.
ANTERIOR CERTIFICADO
CERTIFICADO DEL DIA DE HOY
Deberemos hacer uso de esta opcion icm/HTTPS/verify_client con un valor 0 dentro del profile de SAP por medio de la Trx. RZ11
https://help.sap.com/saphelp_nw70/helpdata/en/0d/88153a1a5b4c2de10000000a114084/content.htm
Se copia esta librería dbmssslib.so.gz a /usr/sap/<SID>/DVEBMGS00/exe/
Luego de esto se ejeucuta :
# odbcinst -u -d -n "SQL Server Native Client 11.0" # odbcinst -i -d -f template.ini
Luego de esta ejecución deberia quedar un contenido como este en /etc/odbcinst.ini
[ODBC Driver 11 for SQL Server] Description=Microsoft ODBC Driver 11 for SQL Server Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2260.0 Threading=1 UsageCount=1 [SQL Server Native Client 11.0] Description=Microsoft ODBC Driver 11 for SQL Server Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2260.0 Threading=1 UsageCount=5
El ODBC de Microsoft se puede instalar en :
/opt/microsoft/msodbcsql/
Microsoft® ODBC Driver 11 for SQL Server® - SUSE Linux Community Technology Preview - http://www.microsoft.com/en-us/download/details.aspx?id=34687
./build_dm.sh --prefix=/opt/microsoft/msodbcsql/ ./install.sh install
Y el paquete unixODBC esta instalado en :
/usr/local/unixodbc/
ftp://ftp.unixodbc.org/pub/unixODBC/
ln -s /usr/local/unixodbc/bin/* /usr/local/bin
Como el cliente de SAP depende de una version mas vieja de unixODBC que la que esta soportada por el ODBC de Microsoft, debemos instalar los paquetes de la version anterior, ejemplo en SuSE :
unixODBC-2.2.12-198.17.x86_64.rpm unixODBC-32bit-2.2.12-198.17.x86_64.rpm unixODBC-devel-2.2.12-198.17.x86_64.rpm unixODBC-devel-32bit-2.2.12-198.17.x86_64.rpm
/usr/bin/odbcinst -u -d -n "SQL Server Native Client 11.0" /usr/bin/odbcinst -i -d -f template.ini
Para testear la conexion podemos hacerlo desde la transacción DB02.
En caso de que tengamos problemas deberemos ver los archivos de los dev_w* que se encuentran dentro de /usr/sap/<SID>/DVEBMGS00/work
sapguiinitosapcconverter.jar.gz
java -jar [complete path to SapGuiIniToSapcConverter.jar] [path to source saplogon.ini file] [path to target connections file]
/home/scayuqueo/.SAPGUI/connections