viernes, 30 de enero de 2015

Como hacer debug de ventanas emergentes.

Cuando queremos debugear una ventana emergente se nos complica el tema, averiguando cual es la dynpro o trozo de código donde poner el breakpoint, pero es más sencillo de lo que creemos.
Simplemente crearemos un fichero txt en nuestro pc con el nombre: Debugger.txt

Dentro pondremos las siguientes líneas:

[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommand

Y entrar a debugear será tan sencillo como arrastrar el fichero sobre la ventana a debugear, activando el modo debug a partir de ese momento.



Como veis sencillo y super útil para encontrar cualquier problema.
Leer más...

miércoles, 7 de enero de 2015

Problemas al publicar un catálogo CCM 200_640

Algo antiguo por el tipo de catálogo, pero bueno que si yo me lo encontré lo mismo a alguno le viene bien... 
Al intentar publicar un catalogo en SAP SRM con CCM 200_640 se queda enganchado con el siguiente error:
"Publication  of the catalog is already in process"
Para ver el status del catalogo nos iremos a la tabla /CCM/D_UPD_STATE y filtraremos por el catalog_id del catalogo que nos esta dando problemas.
Si el status es 03 querrá decir que esta en ejecución  para cambiar ese estado, una vez asegurado que no hay ninguna publicación lanzada, ejecutaremos el siguiente report /CCM/CLEANUP_UPDATE_STATUS y seleccionaremos el catalog_id, el usuario y todos los datos necesarios para filtrar dicha entrada, ya que este report entre otras cosas borra la entrada de la tabla en cuestión.
La otra tabla es la /CCM/D_PUB_ST que deberemos mirar si el catalogo esta con status R, si lo estuviese solo tendremos que aplicar la nota 1092047 - Zreport to update status of catalog in /ccm/d_pub_st table y lanzar el ZREPORT que cambia dicho status.
Una vez hecho esto, volveremos a publicar el catalogo, desde la bbpstart --> edit catalog --> ... y chequearemos el log para ver que todo es correcto.
Leer más...

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...