SAP on-premises ECC o R/3 usando BAPIs

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Integrar aplicaciones externas desde Bizagi > Integración con SAP >

SAP on-premises ECC o R/3 usando BAPIs

note_pin

SAP soportará el conector SAP con BAPI hasta el 31 de diciembre de 2022. Para obtener más información sobre el conector SAP .NET, haga clic aquí.

 

El conector SAP de Bizagi seguirá funcionando en sus proyectos. Sin embargo, es importante mencionar que SAP dejará de recibir tickets de soporte y hará mejoras a esa tecnología.

 

Bizagi continuará brindando soporte a la configuración de Bizagi, como entradas y salidas. Por lo tanto, recomendamos utilizar el conector de SAP Cloud Platform. Consulte SAP Cloud Platform usando OData.

 

Introducción

El conector nativo de Bizagi, provee la habilidad de interactuar con el sistema SAP y ejecutar funciones de negocio son la necesidad de codificación especial.

El conector funciona con el servidor de SAP enviándole peticiones y por el monitoreo y respuesta a eventos que ocurren en el servidor de SAP.

 

Bizagi se integra con SAP por medio del envío de peticiones (consultar un registro de cliente en una tabla de SAP o actualizar un documento de una orden) y por medio de la recepción de eventos del servidor de SAP (ser notificado de que un registro de cliente ha sido actualizado). El conector crean una interfaz estándar para las aplicaciones y la información en el servidor de SAP, de tal forma que Bizagi no tiene que entender detalles a bajo nivel (la implementación de la aplicación o las estructuras de datos) en el servidor de SAP

 

El conector soporta interfaces de integración con BAPIs de SAP.

BAPI (Business Application Programming) — Las BAPIs son métodos expuestos por objetos de negocio de SAP. Esta interfaz se usa para consultas en tiempo real y actualizaciones desde y hacia sistemas SAP. Las BAPIs son interfaces de integración de SAP recomendadas sobre las RFCs (Remote Function Call).

 

A través del conector de SAP, configure sus procesos para invocar las BAPI wrappers para consultar, crear o actualizar registros directamente en SAP.

 

SAP_Overview

 

Integre cualquiera de sus Experto de SAP como el de Contabilidad Financiera (FI), Ventas y Distribuciones (SD), Administración de Materiales (MM), Recursos Humanos (HR) o Controlling (CO), entre otros; ya sea desde el clic de un botón en la interfaz de usuario o a través de tareas de servicio.

 

Beneficios

La integración con SAP se configura usando las poderosas características gráficas de mapeo tanto para entradas como salidas, sin necesidad de programar:

 

Steps2_Mapping

 

Para ver un video, la introducción de el conector SAP, y cómo beneficia objetivos Bimodales refiérase a este video: https://vimeo.com/146790374.

 

Beneficios adicionales de la integración a través del conector de SAP sobre otros tipos de integración como por ejemplo a través de servicios web, son:

1. El conector de SAP ofrece capacidades poderosas de configuración para el manejo de errores.

A través de estas capacidades, podrá configurar un tratamiento o enrutamiento especial para errores funcionales del negocio (los predefinidos como excepciones de SAP en las mismas BAPIs).

2. El conector de SAP se autentica directamente con un usuario autorizado de SAP, en vez de delegar la seguridad a la configuración del servicio web.

A menudo, la configuración de seguridad para un servicio web requiere de mayor esfuerzo para completar al nivel adecuado (p.e la seguridad correcta que no sea tan restrictiva que cause problemas de acceso, ni muy permisiva que sea propensa a vulnerabilidades).

Esta configuración de seguridad no provee las mismas ventajas de mantenibilidad que la del usuario autorizado.

3. El conector de SAP ofrece un mejor rendimiento debido a la conexión RFC que utiliza, en vez de enviar la información sobre HTTP/HTTPS.

De manera similar, la conexión RFC directa acostumbra establecerse sobre un canal mucho más seguro, el cuál también puede apoyarse sobre medidas adicionales de seguridad (p.e puertos restringidos).

 

Preparando la integración con SAP

Para el uso de la funcionalidad del conector de SAP, usted necesita asegurarse de que instale las librerías de SAP.NET proporcionadas por SAP (como se especifica en la siguiente sección).

Las librerías de SAP.NET son aquellas propias del conector SAP .NET  (la documentación oficial sobre esta librería puede consultarse en http://help.sap.com/saphelp_dm40/helpdata/de/e9/23c80d66d08c4c8c044a3ea11ca90f/content.htm).

 

overview_sapco

 

Versiones soportadas y pre requisitos

La siguiente tabla resume las versiones, frameworks y prerrequisitos de las librerías SAP soportadas por Bizagi:

 

Plataforma

Sistemas 64 bits

Versión .Net

4.0

Prerrequisitos

Microsoft visual C++ 2010 redistributable

Versión del conector SAP

3.0.23 o superior  (cambios en versiones mayores no son soportados)

Librerías de SAP

sapnco.dll

sapnco_utils.dll

Sistemas SAP soportados

SAP R/3 (en versiones 4.0B o superiores).

SAP ECC en versiones 5.0 o 6.0 (ECC siendo la versión que sucede a R/3).

Servicios de Bizagi que soportan el conector SAP

Bizagi Studio

Studio Collaboration Services

Automation Services

Automation Server

Puerto

Por defecto, el número de puerto utilizado es el 3300. Si necesita cambiar el puerto en los servicios de Bizagi basados en la nube, debe abrir un ticket.

 

Consiguiendo las librerías de SAP.NET

Las librerías de SAP.NET se solicitan desde https://support.sap.com/en/product/connectors/msnet.html usando sus credenciales válidas de SAP para el acceso autorizado.

 

overview_sapco_2

 

Instalando las librerías de SAP.NET

 

note_pin

Si usa Studio Collaboration Services o Automation Service, debe enviar un ticket de soporte y enviar sus librerías x64 asociadas. Nuestro equipo de soporte instalará SAP para usted en el entorno de la nube. Si su sistema SAP no está expuesto como una aplicación lista para la nube, debe solicitar una VPN (esto implica cargos extra).

 

Una vez tenga las librerías de SAP.NET llamadas sapnco.dll y sapnco_utils.dll, asegúrese de instalarlas en el Caché Global de Librerías (GAC).

Para esto, puede contar con la herramienta gacutil de .NET (usando gacutil /i "[librería]") para asegurarse de que estas se almacenen en el GAC de .NET 4.0 (por defecto en C:\Windows\Microsoft .NET\assembly\GAC_32\ o en C:\Windows\Microsoft .NET\assembly\GAC_64\).

 

Nótese que en la imagen a continuación, se aprecia el uso de gacutil para instalar sean las dlls de 64 bits:

 

SAP_gacutil

 

Una vez las librerías estén instaladas, ejecute un iisreset.

 

note_pin

Si desea utilizar gacutil, debe instalar Microsoft Visual Studio junto con la Carga de trabajo .Net Desktop development. Para más información sobre la incorporación o eliminación de cargas de trabajo y componentes en Visual Studio, consulte https://docs.microsoft.com/es-es/visualstudio/install/modify-visual-studio?view=vs-2019.

 

Una vez completada la instalación, debe ejecutar el Símbolo del Sistema para Desarrolladores de VS como administrador para usar la herramienta gacutil en la instalación de librerías .NET dentro del GAC de su máquina. Tenga en cuenta que el símbolo del sistema predeterminado de Windows no le permitirá utilizar la herramienta. Para obtener más información sobre el Símbolo del Sistema para Desarrolladores de Visual Studio, consulte https://docs.microsoft.com/es-es/dotnet/framework/tools/developer-command-prompt-for-vs.

 

De manera similar a las opciones de instalación de gacutil, note que también puede usar esta herramienta para desinstalar librerías (opción /u) o listar aquellas que se encuentran instaladas (opción /l). Puede revisar las opciones completas de la herramienta Caché global de ensamblados global en https://docs.microsoft.com/es-es/dotnet/framework/tools/gacutil-exe-gac-tool.

Por ejemplo, utilice gacutil /l "sapnco_utils" y gacutil /l "sapnco" para verificar si estas librerías fueron instaladas correctamente.

 

Consideraciones importantes

1. Los sistemas SAP soportados por esta funcionalidad son:

SAP R/3 (en versiones 4.0B o superiores).

SAP ECC en versiones 5.0 o 6.0 (ECC siendo la versión que sucede a R/3).

Lo fundamental es que su sistema e infraestructura permita la conectividad entre Bizagi y SAP, basándose en el llamado remoto de funciones de SAP (RFC) y por medio de la configuración de SAP Gateway donde se utiliza el puerto asignado por defecto (p.e 3300).

Para otras versiones o ediciones de SAP no especificadas anteriorment, como por ejemplo SAP Hana O SAP Business One (B1), no se soporta el uso del Conector de SAP.

En estos casos se recomienda en vez, utilizar las alternativas de integración planteadas por el fabricante mismo (SAP AG), como lo son el uso de servicios Web u otras APIs (p.e la llamada DI API de Business One).

 

2. Si su proyecto está configurado para trabajo colaborativo, asegúrese de que cada miembro del equipo que vaya a configurar la integración con SAP, instale estas librerías de SAP.NET también en el GAC de su máquina.

 

3. Si por algún caso, no es posible la instalación de las librerías SAP.NET en el GAC de la máquina, entonces copie y péguelas en las rutas que se especifican a continuación, pero necesitará hacer backup de las librerías antes de actualizar una versión de Bizagi (tanto para la instalación del Studio como para la versión de su proyecto):

En C:\Program files\Bizagi\Bizagi Studio\Studio\

En una plataforma .NET, para la ejecución de los procesos:

En C:\Bizagi\Projects\[Su_proyecto]\WebApplication\bin

En C:\Bizagi\Projects\[Su_proyecto]\Scheduler\.

¿Qué necesita hacer en Bizagi?

Una vez haya instalado las librerías de SAP.NET, para usar el conector de SAP, siga estos pasos:

 

1. Configure la conexión a su sistema SAP.

En este paso, usted define los detalles de conectividad, asegúrese de usar un usuario autorizado para acceder a las BAPIs o a las funciones RFC de SAP:

 

Connection1_props

 

Esto se realiza desde el módulo de sistemas externos en Bizagi Studio.

 

2. Pruebe su conexión

Una vez haya completado los detalles de conectividad, haga clic en el botón de Probar conexión. Asegúrese que la conexión fue exitosa.

 

Connection2_props

 

Si hay un error al validar la información, la ventana emergente muestra el error correspondiente.

 

Connection3_props

 

Revise los parámetros ingresados y vuelva a intentarlo. Una vez la conexion sea exitosa haga clic en OK.

 

3. Configure en su proceso de Bizagi, dónde realizará la invocación a sus BAPIs o funciones RFC de SAP.

Podrá integrarse con SAP en cualquier punto del proceso.

Por ejemplo, usando una regla de negocio de conexión a SAP (recomendado, especialmente al hacer uso de tareas de servicio ejecutándose de manera asíncrona):

 

Steps0_ActivityActions

 

O también usando las acciones y validaciones de Bizagi para conectarse a SAP desde un botón de la interfaz de usuario:

 

Steps1_Button

 

4. Configure las entradas, salidas, y manejo del error de para su BAPI de SAP.

En este punto podrá usar las características gráficas del mapeo del Conector de SAP de Bizagi:

 

Steps2_Mapping

 

note_pin

Usted necesita conocer explícitamente cuáles funciones RFC o BAPIs va a a invocar en SAP.

Esto puede requerir una buena experticia en el uso de SAP (SAP Netweaver, SAP Logon).

 

Junto con lo anterior, deberá revisar qué información se requiere estrictamente de caracter obligatorio (parámetros import, de export, parámetros de tablas por referencia), y qué tipo de datos implican estos parámetros.

 

Ejemplo

Para ver un ejemplo típico sobre cómo integrar Bizagi con SAP a través de este conector, consulte Ejemplo de integración con SAP.

 

note_pin

Si desea integrar Bizagi con SAP a través de Web Services (p.ej usando SAP PI), usted puede hacerlo también y usar los puertos estándar HTTP o HTTPS para este tipo de integración.

Para integrar Bizagi con SAP a través de web services, se deberá usar el Conector de WS de Bizagi en vez de el Conector de SAP.

Para ver un ejemplo sobre este escenario, consulte Cómo crear un vendedor en SAP desde Bizagi.