sábado, 14 de noviembre de 2009
Recomendaciones
Últimamente estamos con mucho trabajo en los proyectos asignados por lo cual estamos algo inactivos en el blog, aunque ya algunos de nuestros integrantes están elaborando algunos otros artículos que posteriormente estarán publicando, sin embargo nos gustaría saber:
¿Qué temas en especial les gustaría que tratemos?
Esperando sus comentarios me despido.
martes, 27 de octubre de 2009
URLs Importantes SAP PI
Ya que algunas veces olvidamos la ruta o no nos acordamos los "patrones" de las paginas web para acceder a los módulos de PI.
Urls . XI- PI 7.0 and 7.1

Aqui un Listado de Transacciones igual de importantes.

Aquí les dejo en formato excel. FileUrlXIPI
Cualquier duda o comentario me la pueden hacer saber.
Luis.
Runtime WorkBench.
Bueno luego de un mediano tiempo volvemos con mas artículos.
Esta vez hablaremos de otro Tool de PI - XI .- Runtime Workbench .- (Integration Monitoring PI 7.0 y Configuration and Monitoring PI 7.1)

The Runtime Workbench (RWB) esta basado en una interface Java , y es la herramienta que es utilizada para monitorear centralmente SAP PI y todos sus componentes, message, process,adaptadores. etc.
Proposito.
Para obtener un overview del status de un componente de PI
Para visualiar el status de los communication channels o adaptadores .
Para testear la conectividad de la memoria cache si está funcionando adecuadamente.
Para visualizar el performance de los objetos.
Estos son los componentes principales.
Message monitoring
End-to-end monitoring
Performance monitoring
Index administration
Alert configuration
Cache monitoring
Runtime Workbench provee acceso para todas esas actividades de monitoreo. Tu también puedes ejecutar un tool especial de monitoreo llamado CCMS (Alert Monitor) el cual se podra monitorear componentes individuales de XI.
lunes, 31 de agosto de 2009
Transacciones para PI
Despues de mucho tiempo vuelvo con un nuevo aporte que me parece que nos va a servir a todos y en todo momento.
Hablo de un listado de todas las transacciones utiles para PI.
Claro que esto no solo va a ser mi aporte sino tambien el de Uds. Por eso para cualquier aporte que deseen hacer, les pido que envien un email a luis.diaz02@gmail.com con el subject "PI Transacciones" y como contenido el nombre de la transaccion y una explicacion de para que sirve y como se utiliza. Esto nos va a servir mucho como referencia.
Poco a poco esta lista ira creciendo gracias a todos.
Saludos Luis.
¿Que les parece?
SXI_MONITOR : Acceso directo al PI Monitor para listar todos los mensajes de acuerdo a los filtros utilizados. (Creo que no necesita mayor explicacion)
SMQ1 y SMQ2: Se utilizan estas transacciones para monitorear el status de las Unidades Logicas de Trabajo (LUW), reiniciarlas o desbloquearlas en caso ocurra algun problema.
SXMB_IFR: Abre el browser y nos lleva al SAP Netweaver Exchange Infrastructure.
SLDCHECK: Permite realizar una revisión de la configuración del System Landscape Directory (SLD) y la instancia ABAP.
SM59: Configuracion de conecciones RFC. Aqui vas a poder configurar conecciones entre PI y otras cajas de SAP. Ej.:ECC, BI, etc. Conecciones externas. Es normal que estas conecciones sean configuradas por BASIS pero no esta demas saber donde podemos revisar que la comunicacion esta bien.
RZ10: Revisar los perfiles SAP como default profile e instance profile. Podremos ver datos de creación, modificación, ubicación, etc.; así como modificar o crear parametros.
RZ70: Configuración de envío de datos entre la instancia ABAP y el SLD para que pueda reconocerlo como technical system y sus respectivos clientes.
viernes, 17 de julio de 2009
PI HTTP Stress Simulator
En esta oportunidad quiero compartir con ustedes una herramienta que desarrollamos internamente en el trabajo para hacer pruebas de "stress" via HTTP al servidor de PI.
El instalador incluye un pequeño manual acerca de lo que se necesita para que el programa funcione correctamente y además de como utilizar las opciones que tiene.
Les dejo el link donde pueden descargar el instalador. Cualquier comentario o sugerencia serán bien recibidos.
PISS HTTP 1.0
Hasta la siguiente.
miércoles, 8 de julio de 2009
Free tool para enviar y recibir mensajes via AS2
Hola a todos,
Hace tiempo estuve buscando una herramienta free que me permita enviar/recibir mensajes vía AS2 a/de PI. Felizmente encontré una, muy útil, aunque tiene limitaciones (una de ellas es que solo te permite tener un party registrado a la vez) por lo mismo que es free.
Aquí les dejo el link y algunas imágenes.
Una vez instalada la aplicación (stand alone) verán un icono rojo que aparece en la “area de notificación”
Imagen: Icono en area de notificación
Fuente: sapxiperu
Haciendo doble clic sobre el icono se abre una aplicación cuyo inicio tiene el siguiente aspecto.
Fuente: sapxiperu
Para una configuración básica (vamos a enviar mensaje a un trading partner):
Vamos al tab “Setup” y ingresamos nuestros datos de configuración:
Fuente: sapxiperu
Después de haber guardado los cambios. Vamos al tab “Trading Partner” y registramos los datos de configuración de este.
Fuente: sapxiperu
Finalmente vamos al tab “outgoing”, El en directorio indicado ponemos nuestros archivos de prueba y hacemos clic en “Create Test Files”
Fuente: sapxiperu
Una vez listado los archivos, hacemos clic en “send” del archivo que queremos enviar.
Finalmente en la parte superior de la ventana se mostrará un mensaje acerca del estado del envío.
Si ocurrió algún error, podemos ver en el tab “logs” algunos detalles.Existen cosas configuraciones como para recibir y enviar MDN (Message delivery notification), encriptar, comprimir y firmar el mensaje que también están disponibles en la version “free”.
Como mencione a un inicio, la herramienta en esta versión es solo para hacer pruebas simples.
Espero esta información les resulte útil.http://www.freeas2.com/download/
Hasta la próxima.
jueves, 25 de junio de 2009
Message Mapping - Parte II
Algunas veces se necesita sastifacer algunos requerimientos, ciertas funcionalidades que no están contempladas por las funciones propias de PI. Para esto es necesario crear funciones propias , dichas funciones se desarrollan como te comentaba antes bajo el lenguaje JAVA.
A continuacion en el siguiente grafico podrás ver las característiscas al crear una función dentro del message mapping.
Simple Function
Bien vamos a crear un ejercicio simple, vamos a reemplazar una funcion estándar por una UDF, para esto de acuerdo al post anterior sobre message mapping vamos a crear una funcion que reemplaze el requerimiento Nro 6 , que translade los valores del Título por valores de género.
Pues como ves en el gráfico esta es una funcion simple pues retorna un valor. Es una función de tipo simple del cual (translate_Genero)
Ahora si deseas utilizar funciones ya creadas anteriormente por ti, simplemente compila tu clase en java y creas un .jar , luego importas dicho archivo (Mapping Objects- Import Archive) y lo cargas, y lo puedes utilizar como indica en el siguiente gráfico.

Funciones Avanzadas
En este tipo de funciones se puede trabajar con mas de un valor , dicho valores vienen en un arreglo.
En el gráfico a continuación veremos la diferencia en definir una funcion por contexto o en cola(queue).

Estas son las diferencias entre los tipos de funciones.
| Funciones Simples | Funciones Avanzadas |
Parámetros de Entrada | String, …, Container | String[], …, ResultList, Container |
Values de Retorno | Devuelve un String | Deveuelve Result. addValue(String); |
Procesamiento | Función que es llamada por cada ocurrencia del elemento. | Función que es llamada por cada contexto o por cola . Los valores son almacenados en un array de cadenas. |
A continuación mostrare los métodos utilizados en las funciones avanzadas.
Métodos | Description |
void addValue(String) | Método que agrega un valor al array de retorno. |
void addContextChange() | Método que agrega un cambio de contexto al array de retorno |
void addSuppress() | Método que agrega un valor de Supress |
void clear() | Permite limpiar los valores del arreglo |
ResultList.CC (context change) | Método que te permite comprobar si el valor de entrada es un cambio de contexto |
ResultList.SUPPRESS (suppressed value) | Método que te permite verificar si el valor de entrada es valor suppress. |
martes, 9 de junio de 2009
¿Para qué el SLD? (parte 2)
Ahora seguiremos con la descripción del Landscape. Para esto vamos a registrar los sistemas presentes en el SLD:
- ‘Technical System’ (Sistema Técnico)
- ‘Landscpaes’
- ‘Business System’ (Sistema de negocio)
Technical Systems (sistemas técnico)
Son los sistemas que están presentes en el Landscape. Ellos pueden ser SAP o sistemas de terceros (Legacy Systems). Estos sistemas suelen estar instalados en los productos o SWCV, creados en la información del componente. (tienen 5 tipos: AS ABAP, AS JAVA, Standalone Java, Third Party, SAP Netweaver Process Integration).Mayor detalle
Landscapes
Representa un sistema lógico complejo que consta de múltiples componentes distribuidos. Algunos de estos componentes pueden ser sistemas, otros pueden ser los servicios, los productos instalados, o elementos gestionados.
Tiene los siguientes tipos: (Administración, General, NWDI Sistemas, Escenario, Transporte, web service) Mayor detalle
Business Systems (sistemas de negocio)
Son sistemas lógicos que se comunican uno con otros dentro de SAP PI mediante el envío y recepción de mensajes. Ellos pueden ser SAP o sistemas de Terceros. (lo más común es que sean sistemas de SAP)
Un sistema SAP tiene uno o más clientes que funcionan independientemente unos de otros como unidades lógicas en tiempo de ejecución. Cada uno de estos clientes representa un Business system en SAP PI.
Los Business Systems son representaciones lógicas del Techinical system.
Definir los Technical system en el SLD:
- Un technical system de tercero, Plant_Maintenance_Sender, correspondiente al sistema emisor.
- Un technical system WebAS ABAP, Plant_Maintenance_Receiver, correspondiente al sistema receptor
Primero del System Landscape Directory, click en el link Technical Systems and click in New Technical Systems.
Figura 1: Crear New technical system, tipo de technical system - SAP XI PERÚ
En el Technical System Wizard, seleccionar el tipo de Technical system que se señalo. (Third party)Figura 2: Technical system wizard.Third Party step 1- SAP XI PERÚ
Agregar el producto y software component creados anteriormente. (para este caso es el Client_Sender) y finalmente “finish”
Para entrar los detalles para el sistema receptor, repetiremos algunos pasos, nuevamente en Technical systems, click en New Technical System y seleccionar el tipo Web AS ABAP.
Ingresar los datos solicitados. Los detalles del installacion number puede ser obtenido del sistema AS ABAP usando la transacción “slicense”, el database host name puede ser obtenido del SAP logon.
Luego ingresar la informacion solicitada de su sistema para el Message Server y el Central Appication ServerLa siguiente información se agrega si necesitas definer application servers adicionales. (es opcional), sino continuamos a ‘Clients’. Agregamos el Client Numer y luego “Add”. El Client Logical Name es opcional. Finalmente se escoge el producto creado para el sistema receptor.
Figura 7: Technical system wizard, AS ABAP step 5- SAP XI PERÚ
Definir los Business Systems en el SLD.
- Un business system de tercero, Plant_Maintenance_Sender, correspondiente al sistema emisor.
- Un business system WebAS ABAP, Plant_Maintenance_Receiver, correspondiente al sistema receptor.
En el System Landscape Directory, click en el link Business Systems, luego click en New Business system.
Ingresar el tipo de Third-Party que representa al que envia. Escoger el technical system, que hemos creado para el sender y el Logical System Name lo dejamos en blanco.
Luego ingresamos el nombre que habíamos señalado.Luego te mostrara los productos disponibles que están relacionados con los technical system. Escoge el producto que fue creado para el “sender”.
Para concluir con el Business para el que ‘sender’ elegimos el servidor integrador SAP XI relacionado que manejará el flujo del mensaje. (puede estar en sandbox, desarrollo, QA)
Figura 13: Business system wizard, Third Party step 5- SAP XI PERÚ
Ahora crearemos el Business systema para el sistema receptor. Los pasos son repetitivos: click en New Business system. Escogemos el tipo Web AS ABAP y siguiente. Escogemos el technical system creado para el receiver. Agregamos el nombre y el producto para receiver y seleccionar el Integration Server relacionado.Figura 13: Business system wizard, AS ABAP step 2,3,4- SAP XI PERÚ
viernes, 5 de junio de 2009
Message Mapping - Parte I
Nro | Elemento Destino | Elemento Origen | Regla de negocio | |||
1 | Cliente | Datos | Se creara un cliente por cada elemento origen (nombre) ademas solo para persona mayor o igual de 23 años | |||
2 | Client Id | RefID | Extraer los 5 primeros digitos. | |||
3 | Correlativo | Generar un numero correlativo con el formato “ | ||||
4 | Fecha Proceso | Se pondra la fecha del dia | ||||
5 | Hora Proceso | Se pondra la hora del dia. | ||||
6 | Genero | Titulo | De acuerdo al titulo (Sr , Srta,Sra) se generara el codigo M,F | |||
7 | Nombre Completo | Apellido Paterno Apellido Materno Primer Nombre Segundo Nombre | Se concatenara los nombres con una separacion de una “,” entre los nombres y apellidos tener en consideraicon que no todos tienen segundo nombre. | |||
8 | FechaNacimiento | Edad | En base a la edad calcular la fecha de nacimiento | |||
9 | Direccion | Direccion | De acuerdo al segmento dirrecion | |||
10 | Direccion1 | Direccion Nro | Se concatenara a la direccion 1 de acuerdo al numero | |||
11 | Ciudad1 | Ciudad | Se concatenara a la ciudad 1 de acuerdo al numero | |||
12 | Direccion1 | Direccion Nro | Igual (7) | |||
13 | Ciudad1 | Ciudad | Igual (8) | |||
14 | Direccion3 | Direccion Nro | Igual (7) | |||
15 | Ciudad3 | Ciudad | Igual (8) |
Estas son las funciones propias de la herramienta

Caso resuelto
1 | Datos | Nombre | Se creara un cliente por cada elemento origen (nombre) ademas solo para persona mayor o igual de 23 años. |
2 | Client Id | RefID | Extraer los 5 primeros digitos. |
3 | Correlativo | Generar un numero correlativo con el formato “ |
4 | Fecha Proceso | Se pondra la fecha del dia | |
5 | Hora Proceso | Se pondra la hora del dia. |
6 | Genero | Titulo | De acuerdo al titulo (Sr , Srta,Sra) se generara el codigo M,F |


7 | Nombre Completo | Apellido Paterno Apellido Materno Primer Nombre Segundo Nombre | Se concatenara los nombres con una separacion de una “,” entre los nombres y apellidos tener en consideraicon que no todos tienen segundo nombre. |
8 | AnnioNacimiento | Edad | En base a la edad calcular la fecha de nacimiento |
Para esto simplemente se restara la fecha actual con la edad para hallar la fecha de nacimiento.e utilizaran dos funciomes currentdate(formato YYYY) y sub (Substract categoria Arithmetic) del cual restara un valor de otro

9 | Direccion | Direccion | De acuerdo al segmento dirrecion |
10 | Direccion1 | Direccion Nro | Se concatenara a la direccion 1 de acuerdo al numero |
11 | Ciudad1 | Ciudad | Se concatenara a la ciudad 1 de acuerdo al numero |
12 | Direccion1 | Direccion Nro | Igual (7) |
13 | Ciudad1 | Ciudad | Igual (8) |
14 | Direccion3 | Direccion Nro | Igual (7) |
15 | Ciudad3 | Ciudad | Igual (8) |