jueves, 27 de noviembre de 2014

CMMS y CCMS_OnAlert_Email_V2

SAP tiene un monitor que permite controlar una serie de alertas. Se puede configurar de tal forma que cuando salte una de ellas mande un correo a una persona o varias mediante una lista de distribución.
Para ello, lo primero que haremos será ir a la RZ20 y elegir el monitor que queremos controlar.
Pondré un ejemplo con las cadenas de procesos que es con lo que tenía necesidad de activar.
Para que la modificaciones que hagamos, las pille cualquier cadena que se lance o se monte, lo que haremos será modificar todo esto en el padre para que lo herede los hijos.



Nos posicionamos en Process chain y le damos a propiedades, en la pestaña de métodos, seleccionamos asignación de métodos. 



 Al pulsar nos llevará a la siguiente ventana y en la pestaña de autoreacción, le indicaremos Method Name y le ponemos el método: CCMS_OnAlert_Email_V2



Yo en el control de ejecución lo he puesto para que se lance por job


Una vez guardado el método, dandole doble clic sobre él configuraremos los parámetros necesarios para el envio de correo.



SENDER: será un usuario creado en el mandante donde se este configurando esto. Si la configuracion del metodo la haces en el mandante de trabajo, el usuario SENDER tendrá que existir en dicho mandante, sino podra darte el siguiente error al ejecutarse el método de autoreacción.



RECIPEINT: Será la cuenta de correo o la lista de distribucción (Tx:SO23) y en función de lo que queramos pondremos el RECIPIENT-TYPEID
RECIPIENT-TYPEID: U para dirección de correo ó C si es una lista de distribución.

Para ver que funciona nos iremos a la RZ20 y si falla alguna cadena pues lo veremos en rojo, si no ha mandado el correo todavía, lo que hay que hacer es mirar en el monitor la vista de autoreacción para ver el motivo. Hay veces que tarda en enterarse, si no está en estado de CHECKED, se puede forzar lanzado el job SAP_CCMS_MONI_BATCH_DP



Si lo que queremos es que al mandar el correo complete la alerta, añadiremos el siguiente parámetro CCMS_COMPLETE_ALERT a X al metodo de envio. Depende de la version que tengamos, esta nota puede ayudar a activarlo.  1641156 - Repeated execution of CCMS autoreaction methods

Leer más...

jueves, 30 de octubre de 2014

DBCONNECT de BW 7.40 a MSSQL

Para poder extraer informacion de una base de datos MSSQL y poder cargarlas en un BW, lo que haremos será crearnos un sistema fuente de tipo DB Connect.
Lo primero que haremos será crearnos el nombre del sistema lógico desde la SALE.


Una vez creado, nos iremos a la RSA1 - Sistemas fuente y en la parte del DB Connect con el botón derecho crearemos el conector. Escogeremos al crearlo el sistema lógico creado anteriormente y como clase de conexión "Sistema fuente = Conexión de BD"


Si la conexión al MSSQL la hacemos con un usuario de base de datos tendremos que poner usuario y contraseña, si lo dejamos en blanco la conexión la hará mediante autenticación windows utilizando el usuario con el que se arranca el SAP BI (tiene que ser WINDOWS) SapServiceSID.
Tener en cuenta que si la BBDD tiene una instancia que no sea la de por defecto, habrá que indicarle el nombre_del_servidor\nombre_de_instancia en el parámetro MSSQL_SERVER.



Para probar esto, tendremos dos opciones o cargar algo desde la RSA1 o visualizar las tablas/vistas desde la RSDBC


Una vez seleccionada la tabla, solo pulsaremos sobre tratar fuente de datos,


Y se nos abrirá una nueva ventana que nos permitirá visualizar el contenido de la misma.



NOTA: Tener en cuenta que si la tabla o vista lleva mayúsculas y minúsculas, el sistema no lo verá por lo que tendreis que crear una vista con todo en MAYÚSCULAS.
Y luego en la instancia MSSQL donde nos conectaremos, necesitaremos haberle dado permisos de login y datareader al usuario con el que se arranca el sistema sap desde el que nos conectamos. Acordaros que lo normal en sistemas windows sea DOMINIO\SAPServiceSID.
Leer más...

martes, 28 de octubre de 2014

Shutdown immediate ORACLE no hace nada

Hoy me paso una cosa curiosa... al ir a parar el sistema se quedo enganchado en la parada de la base de datos.



Mirando el alert aparentemente no se veía nada, había espacio en los filesystem y el proceso no continuaba... Cancele el proceso e intente parar directamente con un shutdown immediate quedandose el proceso de nuevo enganchado, a este punto y sin ver nada (SAP estaba parado, los filesystem tenian espacio, ...) solo quedaba ver si había sesiones inactivas enganchadas o ya tirar por la calle de en medio y hacer el shutdown abort (cosa que no mola).
Para poder ver estas conexiones inactivas, existe una forma:

ps -ef |grep SID | grep LOCAL=NO

Los procesos que nos aparezcan, los podremos matar con un kill -9. Al matarlos veremos como el shutdown immediate vuelve otra vez a trabajar parando la base de datos ordenadamente.


Leer más...

domingo, 5 de octubre de 2014

STMS en alta disponibilidad

Cuando quieres configurar la STMS en la que el domain transport sea el entorno de producción para aprovechar la alta disponibilidad, nos encontramos con que la configuración del sistema no dispone para indicarle que entre por el message server, para que pregunte por el paquete de los ASCS para acceder a a ruta de tranportes.

Para configurar esto, existe una nota 943334 - TMS setup in high availability systems, que te permite indicar que el sistema ira con balanceo de carga. 

Lo que haremos será ejecutar el programa TMS_MGR_LOADBALANCING 


y seleccionaremos el domain transport y el sistema que queramos que entre por balanceo de carga, lo normal será el entorno productivo. Marcando el flag "Load Balancing Mode" indicaremos que active esto, y en caso de querer quitarlo pues lo lanzaremos de nuevo desmarcandolo.


El siguiente paso será indicar el message server y la instancia de los ASCS y distribuir a todo los sistemas dicha configuración.




Leer más...

jueves, 25 de septiembre de 2014

RSTABLESIZE: Ver tamaños base de datos por mandante

Hoy os contaré una cosa muy sencilla pero que me parecio bastante interesante. Con este report (RSTABLESIZE) podremos sacar los tamaños en base de datos pero por mandante. 



Lo cual me parece bastante interesante a la hora de tener que estimar copias, borrados, o sizing del sistema.


Leer más...

jueves, 18 de septiembre de 2014

SPAM en modo test no coge todos los parches

Hoy me paso una cosa curiosa. Iba a pasar unos parches en modo test para ver dependendecias y objectos bloqueados, y la cola de parches no me mostraba mas que los primeros parches de cada modulo.




Raro, porque si mirabas las dependencias estaban todas cumplimentadas y los parches que necesitaba descargados. Tras mirar el log de la cola ví que el error al final era que el certificado de mantenimiento no estaba actualizado y por eso no te hace el calculo de la
cola. Una vez actualizado el certificado y ya te visualiza todos los parches sin problemas.




Leer más...

viernes, 5 de septiembre de 2014

Como acceder al sistema, sin conocer la clave

Cuando vas a pasar parches en un sistema, como es una cosa que no se hace con mucha periodicidad, nos podemos encontrar con que no conocemos la contraseña del usuario x en el mandante 000. 

Para acceder al  sistema existen varias formas, una podría ser si tenemos acceso a base de datos borrando el usuario SAP* del mandante 000 y activando el parametro login/no_automatic_user_sapstar = 0 para activar el usuario de emergencia, luego solo bastaria con parar y arrancar el sistema y acceder con la password por defecto.
Pero existen otros metodos, hoy os contare otro... la tabla USR02 contiene un campo PASSCODE que es el que encripta la contraseña. Si desconocemos la contraseña del mandante donde queremos entrar, pero tenemos acceso a algun otro sistema del landscape (desarrollo, integracion, ...) con la misma instalación, etc. Y conocemos la contraseña de ese sistema, podremos copiar el valor del PASSCODE y actualizarlo en el sistema en donde no conocemos la contraseña, entrando una vez actualizado con la misma contraseña que el otro sistema.
Para esto, tener en cuenta, que el mandante y el usuario de uno y otro sistema debe ser el mismo. 


SISTEMA 1 - En el que podemos acceder con el mismo usuario y mandante

SQL> select PASSCODE from sapr3.usr02 where BNAME='USUARIO' and MANDT=000;


PASSCODE
----------------------------------------
5C441943242342344DF871639eeeeeeee7616C8E

SISTEMA 2 - En el que no podemos acceder con el mismo usuario y mandante

SQL> update sapr3.usr02 set PASSCODE='5C441943242342344DF871639eeeeeeee7616C8E' where BNAME='USUARIO' and MANDT=000;

1 row updated.

SQL> commit;

Commit complete.

Una vez hecho esto, simplemente nos logaremos en el SISTEMA 1 y meteremos la misma contraseña que el SISTEMA 2.

Bueno , y esta claro que esto solo debe usarse para casos muy concretos, y con cuidado.
Leer más...

viernes, 27 de junio de 2014

Conceptos básicos de BW (1)

Cuando se replica metadatos de un sistema, lo que hacemos es traernos las fuentes de datos de ese sistema. Esto lo que hace realmente, es traerse una fuente de datos por cada extractor que tengamos en el sistema R3 al que nos conectemos
.

Con esa fuente de datos, lo que haremos será cargar datos en nuestro ODS, cubo, maestro, … para ello se utilizarán las reglas de transferencia que son las que mapearan los campos entre las fuentes de datos y por ejemplo nuestro ODS.



En la versión 7.x, para cargar un ODS, tendremos que hacerlo desde la PSA, por lo que deberemos crearnos un infopaquete para que cargue en PSA. El infopaquete carga los datos desde el sistema origen, SAP R/3, hasta la PSA en BW que está a nivel de la fuente de Datos. 
Luego mediate un DTP cargaremos en el cubo, ODS, … 


Poco a poco ire poniendo más entradas de cosillas que vaya viendo sobre BW.
Leer más...

martes, 10 de junio de 2014

Realizar despliegue .ear en el portal

Para desplegar .ear en el portal lo que haremos sera logarnos en el servidor e ir al path  \usr\sap\<SID>\JC01\SDM\program
Ejecutamos el RemoteGui.bat. El SMD GUI se abrirá. Para logarnos, pincharemos sobre "Connect to SDM Server" en la esquina superior izquierda y meteremos la contraseña.


Nos iremos a la pestaña "Deployment" y pulsaremos sobre el botón "Add SCA/SDA to Deployment List (Local File Browser)"


Seleccionaremos el fichero EAR que deberá estar ubicado en el servidor desde el que estemos ejcutando el SDM.
Pulsaremos dos veces "Next" y pulsaremos sobre "Start Deployment", al acabar ya solo nos quedará confirmar el despliegue.
Si no encuentra errores, querrá decir que el fichero EAR habra sido desplegado correctamente y podremos deslogarnos del SDM GUI.
Leer más...

lunes, 9 de junio de 2014

Como ver equivalencias entre parches

Con la aparición de los paquetes de mejora, nos encontramos en muchas ocasiones que al buscar una nota, nos hablan de un nivel parches para una version concreta, y nosotros estamos con un paquete de mejora aplicado. 
Para saber la equivalencia de nuestros nivel parches, lo que haremos será buscar el parche que tengamos en la sapnet.



Luego pulsaremos sobre información del parche

Y en atributos podremos ver nuestro nivel parches a que nivel de parches corresponde con la version estandar sin aplicación de paquetes de mejora.


Aqui veremos las equivalencias con las distintas versiones.


De esta forma podremos ver si nuestra nota es aplicacable, esta ya aplicada o que hacer con ella.
Leer más...

viernes, 30 de mayo de 2014

Que hacer cuando no tenemos un certificado con cadena completa

Cuando generamos un certificado y lo pedimos firmar por una CA concreta, SAP necesita que ese certificado este firmado con la cadena completa. Hay veces que no nos lo firman así y una forma rápida de poder generar ese certificado sin volver a pedirlo es generarlo nosotros mismos.
Para ello abriremos con el notepad el .cer e iremos añadiendo uno a uno los certificados que componen toda la cadena (con Firefox, podremos exportarnos facilmente todos y cada uno de los certificados que componen la cadena completa, o abriendonos una consola MMC donde tengamos el certificado seleccionando la descarga en “Base-64 encoded X.509 (.CER)”)
El formato del fichero quedaría de esta forma:

                     BEGIN CERTIFICATE
                     <encrypted part of the actual certificate response>
                     END CERTIFICATE
                     BEGIN CERTIFICATE
                      <encrypted part of the 
CA intermediate certificate(if it exists)>
                     END CERTIFICATE
                     BEGIN CERTIFICATE
                     <encrypted part of the 
CA ROOT certificate>
                     END CERTIFICATE

Es decir la primera ponemos la del servidor y vamos bajando hasta llegar a la raiz.

El .cer que generemos será el que podremos importar luego en la STRUST



Leer más...

jueves, 29 de mayo de 2014

SUPM: Error al abrir la gestión de scripts automatizados

Al intentar abrir la gestion de scripts automatizados en SUPM, y modificar uno de ellos o crear alguno que tire de una consulta SAP BW sin datos, genera un error en la instancia JAVA

y el siguiente dump en la instancia ABAP OBJECTS_OBJREF_NOT_ASSIGNED en /SRCORE/SAPLBWQUERY


La solución será cargar datos en el cubo del que extrae los datos la query, para que devuelva información y no genere el error, dejando abrirlo.

Leer más...

domingo, 18 de mayo de 2014

Fallo en las traducciones, reimportación de lenguajes tras parches

A veces cuando se pasan parches, nos encontramos que el sistema pierde las traducciones y nos aparece el sistema con textos en ingles o alemán. Para solucionar esto, una de las cosas que debemos mirar es la SMLT, si las importaciones del lenguaje de los nuevos parches se han pasado correctamente. Para ello, nos iremos a la SMLT, seleccionaremos el lenguaje en cuestion, y nos iremos a Languages - Special Actions - Import Support Packages.


Aqui veremos, la lista de parches y el estado de importación del lenguaje de cada uno. Si alguno de los parches esta pendiente de importar el lenguaje (nos aparecerá en rojo), en caso de quedar alguno, lo lanzaremos, acordandonos siempre de lanzar esto en el mandante 000 y en ingles.

Leer más...

miércoles, 14 de mayo de 2014

Transacciones para monitorizar workflows

Buenas, aquí os dejo unas cuantas transacciones chulas sobre workflows


Análisis de work ítems
Cuando buscamos una tarea o bien por usuario o tipo de workflow tenemos varias opciones:
SWI2_FREQ: Para obtener las tareas o workflows lanzados en un período de tiempo para un tipo de tarea o de workflow, indica la fecha en que se ha lanzado quien lo ha lanzado y su estado, muestra los datos agrupados por tipo de workflow/tarea. Con doble click se ven los workflows lanzados y se puede consultar el log.
SWI5: Para consultar las tareas pendientes que tiene un usuario en su bandeja de workflow.
SWI1: Para seleccionar los workflows lanzados en un periodo de tiempo, permite seleccionar por periodo, tipo de tarea, estatus o ID  de work ítem, una vez que se muestra el listado podemos consultar el log.
SWPR: Obtiene los workflows que están erróneos y permite relanzarlos una vez subsanado el error que los ha provocado.
SWPC: Relanzar workflows tras fallar el sistema, si se ha caído el entorno y se han quedado workflows colgados se pueden relanzar desde este punto
SWIA: Transacción para gestionar workflows, se pueden ejecutar los workflows que no tienen responsable o bien finalizarlos o bien apartártelos para que se queden en tu bandeja como administrador de workflows.

Eventos
SWEL: Visualizar trace de eventos, desde este punto podemos consultar los eventos que se han lanzado en un periodo y por tipo de objeto y evento, consultando si han sido recepcionados por un workflow  o no.
SWEQBROWSER: Se visualiza la cola de eventos, pudiendo ver si hay eventos lanzados que no se han movido a la cola, es decir, que están pendientes de entregar.
SWEQADM: Gestión de la cola de eventos, para revisar si está activo el job , o si hay eventos por entregar.

Otros
SWU_OBUF: Refresca el entorno organizativo, en algunas ocasiones tras un transporte es necesaria su ejecución.
SWU3: Verificación de customazing de workflow automático, te muestra paso a paso los puntos necesarios en la parametrización de workflows.
Funcion RH_LOCAL_INBOX_GET: que nos permite ver los workitem que tiene un usuario en su bandeja.
Leer más...

jueves, 24 de abril de 2014

Desbloquear usuario con pasword expirada

Muchas veces nos encontramos que usuarios que solo utilizamos de mucho en mucho, al intentar acceder al sistema nos devuelve un mensaje de pasword expirada. Una forma rápida de solucionar esto si tenemos acceso a nivel de base de datos será actualizando los campos PWDLGNDATE y PWDSTATE en la tabla USR02 .

SQL> update sapr3.usr02 set PWDLGNDATE=20140221, PWDSTATE=0 where BNAME='USUARIO' and MANDT=000;

1 row updated.

SQL> commit;

Commit complete

En mi caso, me suele ocurrir a la hora aplicar parches que como se hace de tiempo en tiempo, siempre que entramos en el mandante 000 se encuentra expirado el usuario al no haber entrado en mucho tiempo..
Leer más...