Category Archives: SAP

  • 0

Implementación de DevOps para SAP ABAP con la solución de código personalizado SolMan: optimización del desarrollo y control de calidad

Category:Programación,SAP,SAP ABAP Tags : 

Este artículo profundiza en la implementación de prácticas de DevOps diseñadas específicamente para el desarrollo ABAP de SAP utilizando la solución de código personalizado Solution Manager (SolMan). Explora la arquitectura de esta solución y demuestra cómo puede optimizar eficazmente el proceso de desarrollo, garantizar la calidad del código y facilitar la colaboración entre los equipos de desarrollo y operaciones. Al adoptar los principios de DevOps en SAP ABAP, las organizaciones pueden lograr ciclos de entrega más rápidos, una mayor estabilidad del código y una mejor calidad general del software.

La arquitectura de la solución de código personalizado de SolMan comprende varios componentes clave que permiten una implementación eficiente de DevOps para el desarrollo de SAP ABAP:

  1. Solution Manager (SolMan): SolMan sirve como plataforma central para gestionar soluciones SAP, incluido el desarrollo ABAP. Proporciona herramientas y funcionalidades para respaldar diversos aspectos del ciclo de vida del desarrollo, como la gestión de proyectos, la recopilación de requisitos, las pruebas y el control de calidad..
  2. Custom Code Lifecycle Management (CCLM): CCLM es un componente dentro de SolMan que aborda específicamente el desarrollo ABAP. Ofrece funciones para gestionar todo el ciclo de vida del código ABAP personalizado, incluida la gestión de cambios, análisis de código, pruebas y documentación.
  3. Transport Management System (TMS): TMS es una parte integral de la arquitectura de la solución de código personalizado de SolMan, responsable de gestionar el transporte de cambios de código ABAP entre diferentes sistemas SAP. Garantiza un movimiento controlado y eficiente de código entre entornos de desarrollo, control de calidad y producción.
  4. Code Inspector and Quality Checks: SolMan proporciona herramientas como Code Inspector, que realiza análisis de código estático para identificar posibles problemas, el cumplimiento de las pautas de codificación y los cuellos de botella en el rendimiento. Esto facilita el monitoreo continuo de la calidad del código, asegurando el cumplimiento de las mejores prácticas y minimizando la introducción de defectos.
  5. Continuous Integration and Delivery (CI/CD) Pipelines: Al integrar SolMan con herramientas de CI/CD como Jenkins o GitLab, las organizaciones pueden establecer canales automatizados de compilación, prueba e implementación para el desarrollo ABAP. Esto permite ciclos de entrega rápidos, garantiza la identificación temprana de problemas y respalda prácticas de integración y entrega continuas.
  6. Collaboration and Documentation: SolMan facilita la colaboración entre los equipos de desarrollo y operaciones a través de funciones como documentación central del proyecto, gestión de solicitudes de cambios y seguimiento de problemas. Proporciona una plataforma consolidada para la comunicación, la promoción de la transparencia y la colaboración efectiva durante todo el ciclo de vida del desarrollo.

La implementación de prácticas de DevOps para SAP ABAP utilizando la solución de código personalizado SolMan ofrece varios beneficios. Agiliza el proceso de desarrollo al automatizar tareas clave, como el análisis, las pruebas y la implementación del código, lo que conduce a ciclos de entrega más rápidos y una mayor productividad. Las inspecciones y controles de calidad del código de la solución ayudan a mantener un alto estándar de calidad del código y reducir el riesgo de introducir defectos en el sistema.

Además, las funciones de colaboración proporcionadas por SolMan fomentan la comunicación efectiva y la alineación entre los equipos de desarrollo y operaciones. Permiten una coordinación perfecta de tareas, seguimiento de problemas y documentación, lo que conduce a una mejor colaboración y calidad general del software.

En conclusión, implementar prácticas de DevOps para el desarrollo de SAP ABAP utilizando la solución de código personalizado SolMan ofrece un marco poderoso para optimizar los procesos de desarrollo, garantizar la calidad del código y facilitar la colaboración entre equipos. Al adoptar este enfoque, las organizaciones pueden lograr ciclos de entrega más rápidos, una mayor estabilidad del código y una mejor calidad general del software en sus implementaciones de SAP ABAP.


  • 0

Cómo encontrar BADIS

Category:Programación,SAP,SAP ABAP Tags : 

Introduccion

“Business Add-In” en adelante BADi, son una tecnología de extensión en el entorno SAP (Systems, Applications, and Products in Data Processing). Las BADIs son puntos de extensión predefinidos en el código fuente de las aplicaciones SAP, que permiten a los desarrolladores añadir, modificar o personalizar la funcionalidad estándar sin modificar el código fuente original. Esta flexibilidad facilita la adaptación de los sistemas SAP a las necesidades específicas de una organización sin comprometer la integridad y la actualización futura de las aplicaciones. A través de interfaces claramente definidas, los BADIs permiten la incorporación de lógica de negocio adicional y la interacción con módulos estándar, contribuyendo así a una mayor agilidad y eficiencia en la gestión de procesos empresariales.

Para encontrar y trabajar con BADIs, sigue estos pasos:

  1. Identificación de BADIs: Primero, determina qué área o proceso de SAP deseas extender o personalizar. Investiga la documentación y manuales de SAP relacionados con esa funcionalidad para identificar si existen BADIs disponibles.
  2. Transacción “SE18”: Accede a la transacción “SE18” en la pantalla de inicio de SAP. Esta transacción te permite buscar y visualizar las definiciones de BADIs.
  3. Búsqueda de BADIs: En la transacción “SE18”, ingresa el nombre de la BADI o una palabra clave relacionada con la funcionalidad que deseas extender. Esto te proporcionará una lista de BADIs relevantes.
  4. Selección de BADI: Selecciona la BADI que mejor se adapte a tus necesidades. Aquí podrás ver la descripción, el nombre de la implementación estándar y otras informaciones útiles.
  5. Implementación de la BADI: Utiliza la transacción “SE19” para crear una implementación de la BADI seleccionada. Puedes proporcionar un nombre único para la implementación y elegir si es local (sólo para tu sistema) o global (se propaga a otros sistemas).
  6. Desarrollo de la Lógica: En la implementación de la BADI, puedes agregar tu propio código para extender o modificar la funcionalidad. Esto te permite integrar lógica de negocio adicional de acuerdo a tus requerimientos.
  7. Activación de la Implementación: Una vez que hayas completado la implementación de la BADI, actívala utilizando la transacción “SE19”. Esto vinculará tu implementación con la BADI correspondiente.
  8. Prueba y Validación: Realiza pruebas exhaustivas para asegurarte de que la implementación de la BADI se comporta como se espera y no afecta negativamente a la funcionalidad estándar.

Existen varias aproximaciones para encontrar BADIS, acá encontrara cuatro métodos para hacerlo

Método 1 : Para este método, deberá considerar que el primer paso tiene en cuenta que las BADIS se encuentran registradas en las tablas SXS_INTERSXC_EXITSXC_CLASS y SXC_ATTR y que se accede a ellas mediante las vistas V_EXT_IMP y V_EXT_ACT
De esta manera cada llamada existente a una BADI, el sistema hace uso de las tablas antes mencionadas. Por lo tanto, un método para encontrar la BADI que necesitamos se basa en el uso de la transacción ST05(Performance Analysis). Se realizará el siguiente procedimiento:

1. Ingresar a la transacción ST05 y una vez en ella seleccionar el check “Table Buffer trace” y pulsar el botón “Activate Trace“.

2. A continuación abrir un nuevo modo y ejecutar en ella la transacción sobre la que se desea encontrar una BADI.
3. Una vez halla realizado la ejecución del programa, regresamos a la pantalla donde se tenia la transacción ST05 y se hace clic en el botón “Deactivate Trace” con objeto de finalizar el trace.

4.Una vez el trace ha finalizado, hacer click en el botón “Display Trace” donde se va a filtrar el Trace con los objetos: V_EXT_IMP y V_EXT_ACT (vistas).
5. Pulsar el botón “Copy (F8)” , Fill Operations: OPEN y “Enter”.


Resultado : se obtendrá un listado con todas las “interface class names” de las vistas V_EXT_IMP comenzando con IF_EX_*. Este es el prefijo estándar de SAP para las “BADI class interfaces“. El nombre de la BADI se encuentra a continuación del prefijo IF_EX_. Por ejemplo, si el nombre de la interfase es IF_EX_ADDR_LANGU_TO_VERS, la BADI se llama ADDR_LANGU_TO_VERS.


Método 2 : Desde la transacción SE80, fijar un break-point en el método “ACT_IMPS_PER_FLT_VAL” de la clase “CL_BADI_FLT_DATA_TRANS_AND_DB” justo después del “SELECT” encabezado con el comentario “read BADI attributes”.

Luego ejecutar la transacción que se desea analizar. Por cada parada en el break-point del debugger, examinar los campos “exit_name” e “internal”.

Método 3

1. Ingresar a la transacción SE24 (Class Builder) colocar un break-point en el CALL METHOD cl_exithandler=>get_class_name_by_interface que está dentro del método GET_INSTANCE de la clase CL_EXITHANDLER .

Luego, ejecutar la transacción o programa a verificar. En la variable exit_name se muestran los nombres de las BADI’s que implementa el programa.Este método puede resultar engorroso porque detiene muchas veces la ejecución, pero ésto asegura que si una BADI existe se detendrá en ese punto. Lo que se está haciendo es poner un BREAK-POINT en el momento en que SAP verifica si una definición de BADI tiene alguna implementación activa; por lo tanto, aunque no exista ninguna implementación activa para esa BADI particular, el método detectará que existe una BADI en ese punto. Para ver si esa BADI está implementada o no, ir a la Transacción SE18 con el nombre de la BADI obtenida en la variable 

exit_name e ir a la opción de menú 

Implementaciones → Resumen.

Método 4

Obtener el paquete (Clase de desarrollo) de la transacción que se desea analizar mediante la

transacción SE93. En la transacción SE18, en la búsqueda ampliada, buscar filtrando por el paquete anteriormente encontrado y el sistema devolverá todas las BADI’s relacionadas a ese paquete. Tomado de http://www.teknodatips.com.ar/sap-netweaver/29-como-encontrar-e-implementar-badis.html


  • 0

Best Practices para crear vistas CDS en Eclipse

Category:Programación,SAP,SAP ABAP

Introducción:

Las vistas CDS (Core Data Services) se contituyen como una poderosa herramienta dentro el lenguaje de programación ABAP de SAP que te permite definir modelos de datos semánticamente ricos y crear vistas de base de datos.

Considere Eclipse como un entorno de desarrollo integrado (IDE) ampliamente utilizado por los desarrolladores ABAP para el desarrollo de CDS.

Esta guía te guiará a través de las mejores prácticas para crear vistas de CDS utilizando Eclipse, asegurando un código eficiente y mantenible.

Prerrequisitos:

Antes de comenzar, asegúrate de tener lo siguiente configurado:

  1. SAP NetWeaver ABAP Development Tools (ADT) instalado en tu IDE Eclipse.
  2. Acceso a un sistema SAP con la autorización necesaria para crear vistas de CDS. Si no se tiene instalada esta herramienta se puede descargar desde el siguiente link https://tools.hana.ondemand.com/#abap

Paso 1:

Crear una nueva vista de CDS Para crear una nueva vista de CDS en Eclipse, sigue estos pasos:

  1. En el IDE Eclipse, abre la Perspectiva de Desarrollo ABAP.
  2. Haz clic derecho en tu paquete o carpeta donde deseas crear la vista de CDS.
  3. Selecciona “Nuevo” → “Otros objetos de repositorio ABAP”.
  4. En el asistente “Nuevo objeto de repositorio ABAP”, selecciona “Servicios principales de datos” → “Definición de datos”.
  5. Haz clic en “Siguiente” y proporciona un nombre y una descripción significativos para tu vista de CDS.
  6. Elige el paquete y la solicitud de transporte para tu vista de CDS.
  7. Haz clic en “Finalizar” para crear la vista de CDS.

Paso 2:

Definir la estructura de la vista de CDS A continuación, define la estructura de tu vista de CDS utilizando el lenguaje de definición de datos de CDS (DDL). Aquí tienes un ejemplo de una vista de CDS simple:

abap

@AbapCatalog.sqlViewName: 'ZCDS_SAMPLE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sample CDS View'
define view Z_CDS_SAMPLE as select from spfli as Flight {
    key Flight.Carrid,
    key Flight.Connid,
    Flight.Fldate,
    Flight.Price,
    Flight.Currency,
    Flight.Planetype,
    Flight.Seatsmax
} 

Paso 3: Mejora tu vista de CDS Para mejorar tu vista de CDS, puedes agregar campos calculados, asociaciones, anotaciones y otras funciones avanzadas. Aquí tienes un ejemplo de cómo agregar un campo calculado y una anotación:

abap

@AbapCatalog.sqlViewName: 'ZCDS_SAMPLE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sample CDS View'
define view Z_CDS_SAMPLE as select from spfli as Flight {
    key Flight.Carrid,
    key Flight.Connid,
    Flight.Fldate,
    Flight.Price,
    Flight.Currency,
    Flight.Planetype,
    Flight.Seatsmax,
    (Flight.Price * 1.1) as PriceWithTax
} 

Paso 4:

Prueba y activa tu vista de CDS Después de definir tu vista de CDS, es esencial probarla y activarla. Para hacerlo, haz clic derecho en el archivo de tu vista de CDS y selecciona “Activar” en el menú contextual. Asegúrate de que no haya errores de sintaxis o problemas de activación.

Paso 5: Utiliza convenciones de nomenclatura y documentación Para mantener la consistencia y mejorar la legibilidad del código, sigue convenciones de nomenclatura para las vistas de CDS y sus elementos. Además, documenta tu vista de CDS utilizando anotaciones como @EndUserText.label para proporcionar descripciones significativas. Esta práctica facilita a otros desarrolladores comprender y utilizar tu vista de CDS.

Paso 6: Realiza revisiones de código regulares Realiza revisiones de código regulares de tus vistas de CDS para identificar posibles cuellos de botella de rendimiento, malos olores de código o áreas de mejora.

Realizar revisiones de código regulares de tus vistas de CDS es crucial para garantizar su eficiencia y mantenibilidad. Aquí tienes algunos puntos clave a considerar durante las revisiones de código:

  1. Optimización de rendimiento: Revisa tu vista de CDS en busca de posibles cuellos de botella de rendimiento. Evita cálculos, uniones o filtros innecesarios que puedan afectar el tiempo de ejecución de las consultas. Considera utilizar optimizaciones específicas de la base de datos, como índices de tablas o particionamiento.
  2. Legibilidad y mantenibilidad: Asegúrate de que el código de tu vista de CDS sea claro, conciso y siga convenciones de nomenclatura estándar. Utiliza nombres significativos para entidades, campos y anotaciones. Descompón la lógica compleja en entidades o subvistas más pequeñas y reutilizables.
  3. Manejo de errores: Verifica que se manejen adecuadamente los errores y se muestren mensajes de error en tu vista de CDS. Maneja las excepciones o situaciones inesperadas de manera adecuada y proporciona mensajes de error significativos para facilitar la depuración y solución de problemas.
  4. Documentación: Documenta minuciosamente tu vista de CDS, incluyendo su propósito, parámetros de entrada, estructura de salida y cualquier suposición o limitación. Agrega comentarios dentro del código para aclarar la lógica compleja o las reglas de negocio.
  5. Control de acceso a los datos: Considera aplicar anotaciones de control de acceso apropiadas (@AccessControl) para restringir el acceso a datos sensibles dentro de tu vista de CDS. Sigue el principio del menor privilegio al definir comprobaciones de autorización.
  6. Cobertura de pruebas: Asegúrate de que tu vista de CDS tenga una cobertura de pruebas completa. Escribe pruebas unitarias para validar diferentes escenarios y casos límite. Verifica que la vista de CDS devuelva los resultados esperados y maneje los errores de manera adecuada.

Paso 7:

Control de versiones y gestión de transporte

Para asegurar un control de versiones adecuado y una gestión de transporte de tus vistas de CDS, sigue estas mejores prácticas:

  1. Control de versiones: Almacena el código fuente de tus vistas de CDS en un sistema de control de versiones, como Git. Esto te permite realizar un seguimiento de los cambios, colaborar con otros desarrolladores y revertir fácilmente a versiones anteriores si es necesario. Utiliza mensajes de confirmación descriptivos para proporcionar claridad sobre los cambios realizados.
  2. Solicitudes de transporte: Crea una solicitud de transporte para tu vista de CDS para moverla entre diferentes paisajes de sistema (por ejemplo, desarrollo, aseguramiento de calidad, producción). Asigna la vista de CDS y sus artefactos relacionados (anotaciones, elementos de datos, etc.) a la misma solicitud de transporte para garantizar la consistencia.
  3. Ruta de transporte: Sigue la ruta de transporte establecida en el paisaje de tu organización. Asegúrate de que se realicen las aprobaciones y verificaciones de calidad necesarias antes de mover la vista de CDS a entornos superiores. Esto ayuda a mantener la integridad del sistema y evita cambios no deseados en producción.
  4. Pruebas adecuadas: Antes de incluir la vista de CDS en una solicitud de transporte, pruébala a fondo en el paisaje del sistema correspondiente. Realiza pruebas de integración, pruebas de regresión y verifica la compatibilidad con objetos o aplicaciones dependientes.
  5. Documentación de cambios: Documenta cualquier cambio o actualización realizado en la vista de CDS en la solicitud de transporte. Incluye detalles sobre el propósito de los cambios, posibles impactos e información relevante para futuras referencias.

Paso 8: Mejora continua

Las vistas de CDS son componentes vitales de tu sistema SAP, y la mejora continua es crucial para garantizar un rendimiento y funcionalidad óptimos. Considera las siguientes prácticas:

  1. Monitoreo de rendimiento: Supervisa el rendimiento de tus vistas de CDS e identifica áreas que se pueden optimizar. Analiza estadísticas de tiempo de ejecución, planes de ejecución SQL y registros del sistema para identificar cuellos de botella. Ajusta la estructura de la vista de CDS o implementa técnicas de ajuste de rendimiento según sea necesario.
  2. Comentarios y colaboración: Fomenta una cultura de colaboración y comentarios dentro de tu equipo de desarrollo. Anima a los desarrolladores a compartir conocimientos, intercambiar ideas y proporcionar comentarios constructivos sobre las vistas de CDS. Revisa y perfecciona regularmente tus vistas de CDS en función de las lecciones aprendidas y los comentarios recibidos.
  3. Mantente actualizado: Mantente informado sobre las últimas versiones, actualizaciones y mejores prácticas relacionadas con el desarrollo de CDS. Asiste a seminarios web, conferencias y sesiones de capacitación para estar al tanto de las nuevas características y mejoras en el modelado de CDS.
  4. Reutilización de código: Identifica oportunidades para reutilizar vistas de CDS o elementos existentes en nuevos desarrollos. Aprovecha la naturaleza modular de las vistas de CDS para crear componentes reutilizables, reduciendo la duplicación y promoviendo la consistencia en las aplicaciones.

Conclusión:

Siguiendo estas mejores prácticas para crear vistas de CDS en Eclipse y adoptando un enfoque proactivo para el control de versiones, la gestión de transporte y la mejora continua, puedes garantizar el desarrollo de vistas de CDS de alta calidad, eficientes y mantenibles. Aprovechar estas pautas te ayudará a crear soluciones robustas y escalables dentro del ecosistema SAP.

Recuerda adaptar estas prácticas a los requisitos y pautas específicas de tu organización y proyecto. Revisa y actualiza regularmente tus vistas de CDS en función de las necesidades empresariales cambiantes y las mejores prácticas emergentes.

¡Feliz desarrollo de CDS!


  • 0

Como instalar el XPI Inspector en SAP Netweaver 7.5

Category:Programación,SAP,SAP PI/PO

El XPI Inspector es una herramienta utilizada para monitorear y analizar mensajes en SAP Process Orchestration (SAP PO) 7.5. Te ayuda a obtener información sobre el procesamiento de mensajes y a solucionar problemas en escenarios de integración. Aquí tienes una guía paso a paso para instalar el XPI Inspector en SAP PO 7.5:

Paso 1: Obtén el XPI Inspector

  1. El XPI Inspector se proporciona como un paquete de soporte por SAP. Deberás descargar el paquete correspondiente desde el Centro de Descargas de Software de SAP. Asegúrate de tener los permisos necesarios para acceder y descargar software de SAP.

Paso 2: Prepárate para la Instalación

  1. Antes de continuar, asegúrate de tener los permisos necesarios para instalar software en tu sistema SAP PO. Es posible que necesites la ayuda de tu equipo técnico o de SAP Basis para esta etapa.

Paso 3: Carga el Paquete de Soporte

  1. Inicia sesión en la Consola de Administración de SAP PO (Repositorio de Servicios Empresariales) con un usuario que tenga los permisos suficientes.
  2. Navega hasta el Catálogo de Software seleccionando “Operaciones” en el panel de navegación izquierdo y luego eligiendo “Catálogo de Software”.
  3. Selecciona la opción para “Cargar Paquetes de Soporte”.
  4. Carga el paquete de soporte del XPI Inspector que descargaste previamente. Sigue las instrucciones en pantalla para completar la carga.

Paso 4: Despliega el Paquete de Soporte

  1. Después de cargar el paquete de soporte, navega hasta el “Gestor de Paquetes de Soporte” seleccionando “Operaciones” y luego “Gestor de Paquetes de Soporte”.
  2. Encuentra el paquete de soporte del XPI Inspector en la lista y selecciónalo.
  3. Elige la opción para “Desplegar”. Sigue las indicaciones para iniciar el proceso de despliegue. Este proceso podría demorar unos minutos.

Paso 5: Activa el XPI Inspector

  1. Una vez que el despliegue haya tenido éxito, regresa al “Gestor de Paquetes de Soporte”.
  2. Encuentra el paquete de soporte del XPI Inspector desplegado y selecciónalo.
  3. Elige la opción para “Activar”. Esta acción activará el XPI Inspector en tu sistema SAP PO.

Paso 6: Verifica la Instalación

  1. Para verificar que el XPI Inspector se ha instalado correctamente, puedes acceder a él a través de la interfaz de usuario del Administrador de SAP PO. Inicia sesión en la interfaz de usuario del Administrador de SAP PO.
  2. En el menú principal, navega hasta “Herramientas” y selecciona “XPI Inspector”.
  3. La interfaz del XPI Inspector debería ser accesible ahora, y puedes comenzar a usarlo para monitorear y analizar mensajes en tus escenarios de integración.

Paso 7: Explora y Utiliza el XPI Inspector

  1. Dentro del XPI Inspector, puedes buscar mensajes, ver detalles de los mensajes y realizar varios análisis para solucionar problemas en las integraciones y obtener información sobre los flujos de mensajes.

¡Felicidades! Has instalado con éxito el XPI Inspector en SAP Process Orchestration 7.5. Recuerda que los pasos proporcionados son pautas generales y los pasos específicos podrían variar según la configuración y el entorno de tu sistema SAP PO. Siempre consulta la documentación oficial de SAP y colabora con tu equipo técnico según sea necesario para asegurar una instalación exitosa.


  • 0

Como realizar trasportes en SAP PI/PO usando CTS (Change and Transport System)

Category:Programación,SAP,SAP PI/PO

En el mundo empresarial actual, la integración fluida y la automatización de los procesos son esenciales para lograr una operación eficiente. SAP Process Orchestration se ha establecido como una solución líder para la gestión de procesos empresariales y la integración de sistemas. Sin embargo, el despliegue de cambios en un entorno SAP puede ser un desafío, especialmente cuando se busca mantener la coherencia y la integridad del sistema en todo momento. Aquí es donde el sistema de transporte de cambios, o CTS (Change and Transport System), entra en juego como una herramienta crucial. En este artículo, exploraremos cómo aprovechar al máximo el CTS para facilitar y agilizar el transporte de cambios en SAP Process Orchestration, permitiendo una administración más eficiente de las modificaciones en el sistema y garantizando la continuidad operativa sin comprometer la estabilidad.”

1. Ingrese a la url

https://<SERVIDOR>:<PUERTO>/dir/start/index.jsp

2. De las opciones que se visualizan seleccione la siguiente:

3. Enterprise Service Repository

2. Ingrese a la opción trasferir objetos de diseño

5. Una vez seleccionada la opción se abre el wizard de transporte de objetos; se da la opción de exportar utilizando el CTS o de realizar exportación vía archivos

6. Paso siguiente es seleccionar que deseamos exportar, se tienen 4 opciones.

la primera opción es todos los objetos de un componente de software, es la mas indicada para sobreescribir un objeto o para una creación de un nuevo objeto; las demás permiten realizar transportes de manera selectiva

7. Se procede a seleccionar la orden de transporte y se finaliza el proceso

En conclusión, la implementación efectiva de SAP Process Orchestration se convierte en una realidad sostenible cuando se combina con una estrategia sólida de gestión de cambios y transportes mediante el uso de CTS. A lo largo de este artículo, hemos destacado cómo esta sinergia puede permitir a las organizaciones no solo desplegar cambios con mayor eficiencia, sino también mantener la integridad y la coherencia del sistema en constante evolución. La optimización de los procesos empresariales y la adaptación ágil a las demandas cambiantes del mercado dependen en gran medida de la capacidad de gestionar y controlar los cambios de manera efectiva. Al aprovechar las capacidades del CTS dentro de SAP Process Orchestration, las empresas pueden lograr una mayor confiabilidad en sus operaciones y mantenerse competitivas en un entorno empresarial en constante transformación.

Publicado originalmente en https://gds-tipsandtricks.blogspot.com/2019/11/como-realizar-trasportes-en-sap-pi.html


  • 0

Como procesar el código de estado http 500 en SAP PO

Category:Programación,SAP,SAP PI/PO Tags : 

Muchas veces hemos construido integraciones entre SAP PO y un sistema legado utilizando el canal SOAP, sin embargo después de haberlo hecho, también nos ha pasado al consumir un servicio web nos encontramos que el escenario no funciona y al momento de revisar el monitor de mensajes en la sección del log, nos encontramos con un escueto mensaje “error 500 internal server error“, el cual no suministra detalle de lo sucedido; no obstante existe una solución para esta situación:

Solución:

  • Asegurese de haber verificado la disponibilidad del servicio web. Puede hacer esto probando el servicio web directamente desde su navegador web.
  • Ingrese a SAP PI/PO y aperture el Integration Builder
  • Abrir el canal de comunicación tipo SOAP y adicionar la opción no usar Sobre SOAP
  • Ir a la sección Module
  • Agregar los siguientes valores en Module Configuration.

XMBWS.NoSOAPIgnoreStatuscode = true

Esto permite que el adaptador ignore el codigo de estatus HTTP pero solo sera efectivo si se usa en combinacion con Do Not Use SOAP Envelope.

noSOAPMakeSysErrFromResponseFault = false


  • 0

Como publicar servicios web directamente desde R3 o S4 usando la transaccion SOAMANAGER

Category:SAP,SAP PI/PO

Es muy común que al momento de realizar una implementación de un sistema SAP nos veamos obligados a tener que realizar interconexiones con sistemas legados, pero no siempre contaremos con un sistema middleware que nos permita realizar la integración, por lo que en estos casos SAP provee una alternativa para exponer servicios web tipo SOAP.
Pasos:
 1. Ingresamos en el sistema SAP a la transacción SE37, a continuación ubicamos la  BAPI que deseamos exponer como servicio WEB, en este caso utilizaremos para el ejemplo la BAPI_SALESORDER_GETSTATUS; a continuación nos  dirigimos a  Utilidades->Mas utilidades->Generar servicio web->Modulo de funciones.

2. Una vez hecho lo anterior, procedemos a ingresar un nombre y una descripción breve para el servicio Web y seleccione un tipo de punto final.

3. Seleccionamos  Name mapping y damos click continuar.

4. Seleccionamos el perfil para las parametrizaciones de seguridad y luego seleccionamos la opción Deploy Service. Damos click en Continuar.

5. Escoges el paquete en que lo vas a guardar y una orden de transporte. Damos click en Continuar.

6. Ingresar a la transacción SOAMANAGER en el mandante donde existan datos.

7. Se inicia automáticamente una ventana de internet explorer con las opciones de administración de los Web Services.

Nota: Dependiendo de la versión de instalación cambian los nombres de las pestañas , en este caso debemos ingresar a la pestaña “Application and Scenario Communication” pero en otras versión se ingresa a la “Business Administration” opción Web Services Administration.


  • 0

Como Integrar SAP PO con ANAPLAN

Category:Programación,SAP,SAP PI/PO

Ya pasaron un par de meses después de que desarrollé una integración entre nuestro sistema SAP BW que se ejecuta en los datos de Hana y Anaplan, para lograrlo, el proyecto utiliza SAP Process Orchestration 7.5 Durante el proceso de implementación, me enfrento a algunos desafíos que trato de resolver haciendo una investigación en diferentes foros, ya que no pude obtener una guía completa para lograr la solución, decido escribir una y compartir mi experiencia personal para ayudar a los lectores a desarrollar este escenario de integración.

Meta

Al final de esta publicación, podrá configurar una conexión entre Anaplan y SAP Process Orchestration que se ejecuta en SAP Netweaver 7.50 utilizando un canal de comunicación con el adaptador REST para establecer una conexión con Anaplan y un canal de comunicación con el adaptador SOAP XI 3.0 para establecer una conexión con los sistemas SAP Abap.

Arquitectura

Integration%20Architecture

1. Arquitectura de Integración

Supuestos

  • Existe un Usuario Técnico en Anaplan que podría ser utilizado para establecer la comunicación o un certificado emitido al Usuario Técnico.
  • El usuario técnico de Anaplan tiene acceso al espacio de trabajo y a los modelos.

Pasos

1. Para establecer una conexión entre SAP PO y Anaplan, el primer paso será crear un canal de comunicación usando REST Adapter.

2.%20Communication%20Channel%20for%20authentication

Canal de comunicación para autenticación, url: https://auth.anaplan.com/token/authenticate

Para establecer una conexión entre SAP PO y Anaplan, el primer paso será crear un canal de comunicación usando REST Adapter, el método de autenticación podría ser autenticación básica o autenticación de certificado solo con https.

Después de aplicar el método de autenticación y la URL, se deben agregar los siguientes módulos en la pestaña Módulo.

The modules added will be:

useAuthPreemptive: esto significa que el servidor esperará que se entreguen las credenciales de autorización sin proporcionar una respuesta no autorizada o un método no permitido.

useJDKSSF: esto evitará fallas de protocolo de enlace debido a TLS no coincidente o falta de protocolo SSL.

useResponseErrorMessage

2. Una vez que finalice el proceso de autenticación, Anaplan entregará un token de autenticación en respuesta y debe usarse en toda la integración hasta que se realice un cierre de sesión, la forma elegida en el proyecto usa el reemplazo de variable de patrón con una expresión xpath.

Después de eso, el nombre del elemento del patrón se usará en los encabezados HTTP adicionales

3. Para lograr la Integración el proceso necesita solicitar el Workspace y el modelo, considerar entregar el ID del workspace en minúsculas y los modelos en mayúsculas.

Una vez que se recuperan el espacio de trabajo y el modelo, los próximos pasos incluirán la recuperación de las importaciones, los archivos y los fragmentos.

4. Una vez que se recupera el fragmento, deberá cargar el archivo en el fragmento, ya que nuestra fuente se almacenó en una tabla de base de datos en el interior, todo el proceso para transformar la estructura ABAP en una línea de texto dividida por “;” el personaje fue desarrollado en ABAP Backend.

En el lado de la orden de compra de SAP, se ajustó el contenido para enviar un mensaje de texto sin formato a Anaplan mediante un mapeo de Java.

public void execute(InputStream in, OutputStream out) throws StreamTransformationException {

   String documento = “”;

   String linea = “”;

try {

      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

      DocumentBuilder db              = dbf.newDocumentBuilder();

      Document xml_in                   = db.parse(in);

      String encoding                     = “UTF-8”;

      NodeList nodeListLine           = xml_in.getElementsByTagName(“content”);

for (int i = 0; i < nodeListLine.getLength(); i++) {

         Node nodeLine = nodeListLine.item(i);

         Element elemLine = (Element) nodeLine;

         linea = elemLine.getTextContent();

if (i < nodeListLine.getLength()-1) {

           documento = documento + linea ;

         }else {

           documento = documento + linea ;

         }

      }

      out.write(documento.getBytes(encoding));

   } catch (IOException e) {

     System.out.println(“ERROR CLASE TestEncryption : ” + e.getMessage());

     throw new StreamTransformationException( “ERROR CLASE TestEncryption : ” +

                                                                          e.getMessage());

   } catch (Exception e) {

}

En el canal de comunicación establecer los siguientes valores:

Dado que el código de respuesta HTTP entregado por esta interfaz es 204 en una entrega exitosa, incluimos un Manejo de errores personalizado.

<?xml version=”1.0″ encoding=”UTF-8″?>

<ns0:MessageType_Res xmlns:ns0=”namespace”>

   <status>204</status>

   <message>success</message>

</ns0:MessageType_Res>

5. Una vez que los archivos se entregaron a los fragmentos, el siguiente paso será publicar el fragmento y completar las cargas, este paso cerrará el archivo.

6. Considere que el archivo en Anaplan será visible por el Usuario Técnico utilizado para lograr la carga.

7.Para liberar la sesión, se debe lograr un proceso de cierre de sesión, que incluirá un Manejo de errores personalizado para capturar el código de respuesta HTTP 202.

Conclusión

En resumen, este proceso lo ayudará a habilitar la conexión entre SAP PO que se ejecuta sobre SAP Netweaver 7.5 y Anaplan, guiándolo a través de varios pasos del proceso que nuestro equipo ya enfrenta y supera.

Feliz Integración!


  • 0

Introducción a la transacción SXI_MONITOR

Category:Programación,SAP,SAP PI/PO

La transacción SXI_MONITOR es una herramienta en el sistema SAP utilizada para monitorear y administrar el estado de las interfaces de entrada y salida. Le permite ver el estado actual de las interfaces de su sistema y solucionar cualquier problema que pueda surgir.

Aquí hay una guía para comenzar con SXI_MONITOR:

  • Acceda a la transacción ingresando “SXI_MONITOR” en el campo de comando del sistema SAP.
  • Aparecerá la pantalla del monitor de interfaces con una lista de todas las interfaces disponibles.
  • Use las opciones de filtro para acotar la lista a la interfaz específica que desea monitorear.
  • Seleccione la interfaz y haga clic en “Mostrar” para ver los detalles.
  • La pantalla de detalles de la interfaz mostrará información como el estado, la hora de inicio y la hora de finalización de la interfaz, así como cualquier error o advertencia.

  • Si ocurre un error, use el botón “Error Information” para acceder al archivo de registro y ver una explicación detallada del error.
  • La pestaña “Monitor” proporciona una visión general de la ejecución de la interfaz, incluyendo el número de mensajes procesados, el número de mensajes con error y el tiempo total de procesamiento.
  • La pestaña “Detalles” proporciona una mirada más profunda en los mensajes individuales procesados por la interfaz, incluyendo el estado, la fecha y hora y cualquier mensaje relevante.
  • Use el botón “Reanudación” para borrar el estado de una interfaz completada y comenzar una nueva ejecución.

Con la transacción SXI_MONITOR, tiene una ubicación central para monitorear y administrar el estado de las interfaces de su sistema. Esto le ayuda a asegurarse de que sus interfaces estén funcionando sin problemas y a identificar y resolver rápidamente cualquier problema que pueda surgir.


  • 0

Cómo asegurar una conexión JMS en SAP PI con TLS 1.2 a IBM MQ

Category:Programación,SAP,SAP PI/PO

Hay muchos recursos sobre este tema, pero esta publicación, basada en mi experiencia, tiene la intención de permitir que los Clientes de SAP que todavía usan SAP PI como la mejor solución de integración en su panorama, permitan asegurar sus escenarios de integración entre un sistema SAP como CRM (Cliente Relationship Management), ERP (Enterprise Resource Planning), SOLMAN (Solution Manager) entre otros y el sistema IBM MQ.

Objetivo

El objetivo de esta publicación es permitirle configurar una conexión TLS entre un sistema IBM MQ versión 7.5 o superior y un sistema SAP PI que se ejecuta sobre Netweaver (NW) 7.4 o superior utilizando un canal de comunicación tipo JMS versión 1.xo 2 .X.

Supuestos

Los controladores JMS ya están implementados en el sistema Netweaver.

La JVM ya está actualizada a la última versión disponible.

Los componentes de Netweaver ya están actualizados a la última versión disponible.

Pasos

1. Oracle suele ser el proveedor de la máquina virtual Java (JVM) que se utiliza en el nivel del sistema operativo donde está instalado Netweaver, ya que el sistema MQ utiliza IBM JVM, esto podría crear el problema “2393 MQRC_SSL_INITIALIZATION_ERROR / MQRC_UNSUPPORTED_CIPHER” una vez que el canal esté empezado. Para evitar que se desactive la asignación de Cipher Suite, esto se logrará siguiendo los pasos descritos en la Nota 2218025.

1.1. Inicie sesión en la NWA y, una vez allí, busque la pestaña Configuración -> infraestructura -> Propiedades del sistema Java

Paso 1.1 Pestaña de configuración -> infraestructura -> Propiedades del sistema Java

1.2. Una vez allí, se debe seleccionar el nodo Z * y navegar a la pestaña System VM Parameters, allí agregar el siguiente parámetro.

com.ibm.mq.cfg.useIBMCipherMappings = false

Paso 1.2 Nodo-> Parámetros de VM del sistema

2. Ajustar los protocolos de seguridad permitidos que podrían usarse para establecer un protocolo de enlace en el sistema; Para ello debe seguir los mismos pasos definidos en el punto 1.1, una vez allí agregar el siguiente parámetro:

jdk.tls.client.protocols = TLSv1, TLSv1.1, TLSv1.2

Tenga en cuenta que este es solo un ejemplo ilustrativo.

3. Para evitar el problema “error de conexión debido a que falta la clase com.ibm.mq.jms.MQQueueConenctionFactory” , se debe aplicar la nota de SAP 1751177, esto permitirá precargar las clases relacionadas del controlador MQ.

3.1 Inicie sesión en NWA y siga esta ruta Propiedades del sistema Java → Aplicaciones; una vez allí, tenga en cuenta que debe seleccionar la propiedad com.sap.aii.adapter.jms.app y modificar el valor de la propiedad.

MQ 7.50

Establezca la propiedad “preloadClasses” como: com.ibm.mq.MQEnvironment, com.ibm.mq.internal.MQCommonServices, com.ibm.mq.jms.MQQueueConnectionFactory, com.ibm.mq.jms.MQTopicConnectionFactory.