Todos somos conscientes de lo rápido que evoluciona la tecnología.

Cada día surgen nuevas herramientas y servicios que nos ofrecen más contenidos que probablemente podamos consumir.

Esta «tendencia» no es, en realidad, una tendencia, sino la forma habitual en que transcurren las cosas. Mientras nos mantengamos centrados en lo que intentamos conseguir, podremos incluso beneficiarnos enormemente de esas «revoluciones» con las que nos topamos continuamente.

No obstante, la mayoría de nosotros (incluido su servidor) nunca abandonamos del todo el antiguo «enfoque heredado» que, de alguna manera, ha marcado la pauta y ha sentado las bases, desde hace años, de muchos de los nuevos enfoques que utilizamos hoy en día.

La única pregunta real es cómo podemos aprovechar el progreso y combinar enfoques más nuevos y avanzados con enfoques heredados para facilitar nuestras tareas organizativas y acelerar los procesos para que podamos ser más eficientes en el desempeño de nuestro trabajo.

 

El escenario

Por ejemplo, imagine que su empresa tiene una gran cantidad de números de pieza que se almacenan en un almacén y, efectivamente, su controlador de inventario tiene que ejecutar un informe semanal de recomendación de MRP utilizando el módulo MRP de SAP Business One.

Sin embargo, aunque no voy a tratar los conceptos de MRP en este blog (quizás merezca la pena que lo haga en algún momento pronto…), aquellos de vosotros que realmente utilizáis el Módulo MRP ya sabéis que para conseguir un fiable Informe de recomendación MRPes imperativo que sus previsiones MRP sean mantenimiento regular en SAP Business One, especialmente cuando las previsiones de ventas cambian constantemente.

Potencialmente, su Controlador de Inventario necesitaría regresar al MRP Forecast dentro de SAP Business One y modificar los valores pronosticados para cada uno de sus SKUs/Lugares de Almacenamiento.

El uso de algunas de las herramientas especializadas que ofrece SAP Business One puede ayudarle a conseguirlo un poco más rápido. Aun así, esas herramientas están diseñadas de tal forma que requieren un profundo conocimiento de los esquemas de tablas de SAP Business One y pueden provocar graves daños si se gestionan mal.

Y para hacer las cosas un poco más interesantes, añadiré otro nivel de complejidad al escenario empresarial: supongamos que los valores pronosticados NO se están generando en SAP Business One, sino que se extraen a un «Archivo Plano» (*.CSV) desde otros sistemas SAP/No SAP, como SAP-ECC o incluso un sistema SAP S/4HANA o quizás una interfaz web que esté utilizando. Digamos que su controlador de inventario sólo desea soltar ese archivo de salida en su sistema de archivos local, sabiendo que esto será atendido en segundo plano por un proceso automatizado que empujará esos valores en el lugar correcto en SAP Business One – asegurándose de que su Informe de recomendaciones MRP tiene en cuenta los últimos cambios realizados en los valores de ventas previstos y puede seguir con su jornada realizando otras tareas.

¿Te parece difícil? Bueno, no es «pan comido», pero es definitivamente factible con las herramientas que Microsoft Azure y la increíble Power Platform tienen para ofrecernos.

 

Cómo conseguirlo

Lo primero que tenemos que entender es que nuestro sistema de archivos local (On-Premises Data Source) tiene que ser capaz de «hablar» con Azure y este último tiene que ser capaz de «escuchar» a nuestra estructura de carpetas locales.

Esto puede conseguirse instalando y configurando el «On-Premises Data Gateway» en su máquina local.

La pasarela de datos local actúa como «puente».

Proporciona una transferencia de datos rápida y segura entre los datos locales, es decir, los que no están en la nube, y varios servicios en la nube de Microsoft en Azure, para los que Microsoft dispone de conectores preconstruidos.

El siguiente diagrama ilustra el funcionamiento de la pasarela de datos local y permite ver la arquitectura subyacente:

 

Por lo tanto, el primer paso es descargar e instalar el Gateway local. Tenga en cuenta que Microsoft publica cada mes una nueva actualización para las pasarelas de datos.

Microsoft proporciona una documentación bastante clara sobre cómo instalar y configurar el Gateway, por lo que no voy a entrar en una especificación paso a paso aquí. Pero cubriremos lo básico y también algunas de MIS PROPIAS mejores prácticas mientras trabajaba en algunas de mis soluciones.

Puede encontrar toda la documentación aquí:

Algunas Buenas Prácticas al instalar la Instancia Gateway en su máquina local:

1.Utilice una clave de recuperación: nunca se sabe cuándo puede resultar útil la opción de restauración y, en lugar de volver a crear la instancia, puede recuperarla con bastante facilidad.

2. Asegúrese de crear también una instancia de puerta de enlace en Azure

uso de la pasarela de datos local para sistemas de archivos locales

3. Si ha configurado correctamente el Gateway, debería poder ver que el recurso está disponible para usted:

4. Cuando el Gateway local termine de instalarse, tendrá su propio nombre de servicio predeterminado (cuenta):

Querríamos cambiar esa cuenta para que apunte al Usuario Local en la máquina donde se instaló el Gateway, preferiblemente una cuenta de Administrador.

Nota importante: no utilice la cuenta de administrador local; debe desactivarla y sustituirla por una cuenta alternativa que sea miembro del grupo de administradores locales del servidor. La cuenta de administrador local es la primera que persiguen los hackers en cualquier violación de datos.

Una vez que hayas pulsado «Cambiar cuenta», aparecerá un cuadro de diálogo que te sugiere reiniciar el Gateway, lo que restablecerá sus credenciales :

Ahora tienes dos opciones:

  • La primera es abrir el símbolo del sistema y escribir «WHOAMI» para obtener el usuario local en la máquina
  • La forma más segura es navegar hasta las Propiedades del Sistema y coger el «Nombre del dispositivo», que es básicamente el «Nombre del ordenador» que sirve como «nombre de dominio local»:

Si todo ha ido bien, deberías poder iniciar sesión en el nuevo nombre de servicio y ver los cambios aplicados:

5. Tenga en cuenta que la máquina debe permanecer conectada a Internet en todo momento si pretende utilizarla como una fuente de datos que «hable» constantemente con Azure e intercambie información.

Si existe la posibilidad de que esta instancia de puerta de enlace deje de estar disponible en algún momento, es posible que desee considerar la posibilidad de añadir esta instancia de puerta de enlace a un «clúster» cuando se requiera una alta disponibilidad.

 

6. El nombre de usuario que utilice para instalar la puerta de enlace de datos local debe ser un usuario de máquina local, es decir, no puede utilizar usuarios de la nube (como Azure AD o M365) para activar el flujo, aunque ese usuario sea el que utiliza para iniciar sesión en su máquina. Yo recomendaría activar «Administrador» o configurar otro usuario local con privilegios administrativos.

 

Ahora que hemos configurado la conexión entre nuestro sistema de archivos local y Azure, podemos pasar al siguiente paso: crear la lógica necesaria para permitir que los valores de previsión MRP se actualicen en SAP Business One.

En este caso, el mejor enfoque sería crear una Logic App que «escuche» a su carpeta local asignada (vamos a cubrir esto pronto) de modo que cada vez que un nuevo archivo se deja caer en esa carpeta, nuestro flujo se activa.

Este enfoque, en el que reaccionamos a los eventos en lugar de sondear la carpeta periódicamente, garantiza menos ejecuciones, lo que conlleva menos tarifas basadas en el consumo (especialmente si utiliza las Logic Apps de «consumo» y no las «estándar»). Azure Logic Apps ofrece todo un conjunto de conectores integrados para manejar nuestro sistema de archivos local.

En nuestro caso, tendríamos que empezar con dos:

  • El «disparador» – que el conector «escucha» a nuestra carpeta local – «Cuando se crea un archivo (sólo propiedades)«.
  • La «acción»– que el conector obtiene el contenido real de nuestro archivo (Comma Separated Delimited content)-» Get file content.»

 

Antes de poder utilizarlos, debe establecerse una conexión con nuestra pasarela de datos local:

pasarela de datos del sistema de archivos local

Una vez autenticada la conexión, podemos empezar a utilizar tanto el disparador como la acción.

El disparador, como su nombre indica, se disparará sólo cuando un nuevo archivo se deje caer en la carpeta local que hemos asignado – este archivo contendrá los valores de previsión que nos gustaría actualizar en SAP Business One.

previsión de sistemas de archivos locales

La estructura del fichero, que recoge los valores previstos, podría tener el siguiente aspecto:

También sugeriría, para soluciones productivas, pensar en una convención de nomenclatura para este archivo y añadir lógica que compruebe que se está cumpliendo la convención de nomenclatura. Eso evitará que se active el flujo cada vez que alguien deje «algún archivo» en esta carpeta. Trataré esta lógica más adelante en este blog.

Suponiendo que hemos iniciado sesión con éxito en nuestro Gateway y lo hemos habilitado, deberíamos poder soltar un archivo CSV en la carpeta y comprobar si nuestra aplicación Logic reconoce el nuevo evento.

Si lo ha configurado correctamente, debería ver lo siguiente en «Historial de activaciones» :

Y luego echar un vistazo a la ejecución de Logic App:

Como puede ver, el contenido de nuestro archivo CSV se obtiene ahora mediante la acción «Get_file_content».

Si, por alguna razón, ves que la creación del nuevo archivo no está siendo reconocida por tu aplicación Logic, intenta comprobar la sección «Conexión API» en tu aplicación Logic para ver si has mapeado correctamente la ruta del archivo y has proporcionado todas las credenciales necesarias para que se conecte con éxito a tu sistema de archivos local a través de la puerta de enlace:

Recapitulación de la integración de sus sistemas de archivos locales con SAP Business One y Microsoft Azure – Parte 1

  • Cubrimos algunos conceptos básicos de enfoques «Legacy» y la necesidad de integrar sistemas de archivos locales con nuestras soluciones para leer/escribir datos desde/hacia nuestro sistema SAP Business One.
  • Sugerimos un escenario empresarial en el que un gran número de artículos necesitan que sus valores de previsión se actualicen regularmente en SAP Business One con un pequeño esfuerzo, mientras que los datos de origen podrían ser otro sistemade terceros SAP/no SAP.
  • También cubrimos conceptos básicos sobre cómo instalar y configurar On-Premise Data Gateway para generar la conectividad entre cualquier máquina local y Azure Logic Apps.
  • Probamos el evento «creación de archivo» para comprobar que nuestra Logic App podía identificarlo y obtener el contenido del archivo.

 

Qué esperar en la integración de sus sistemas de archivos locales con SAP Business One y Microsoft Azure – Parte 2

  • Añadir validación al nombre del archivo para filtrar los archivos no deseados que caen en nuestra carpeta, activando nuestra Logic App.
  • Convertir el contenido del archivo en un cuerpo JSON legible con el que podamos trabajar
  • Conversión de números de semana en fechas que representarán el primer día laborable de la semana en el que podría actualizarse una previsión para un artículo. Esto se debe a que la Capa de Servicio de SAP Business One sólo puede aceptar fechas al invocar la actualización de la Previsión Semanal, a diferencia de la IU de B1.
  • Generación de la carga útil para la previsión e incorporación de la generación de previsiones en nuestra solución.
  • Algunos conceptos de gestión de errores

 

Vea la segunda parte en la página del blog de la comunidad SAP Business One.