Skip to content

Carga Materiales a OTs de Mantenimiento

Proyecto Digitalización (REPSOL)

Área Almacén Repuestos

Lugar: C.I. Tarragona

Fecha: Enero, 2023 - Julio, 2023

Optimización GP2024

Miembros del equipo

NombreEmpresaContacto
Carlos GonzalezREPSOLcgonzalezv@repsol.com
Ángel A. UrbinaREPSOLaaurbinas@repsol.com
Manuel ColladoESERMANmanuelcollado@eserman.com
Antonio SabateESERMANantonio.sabate@servexternos.repsol.com

"Chance favors the connected mind."

― Steven Johnson, Where Good Ideas Come from: The Natural History of Innovation

"There is immense power when a group of people with similar interests gets together to work toward the same goals. Players focus on the wins and the loses. Builders focus on the team and future of the vision. Let’s move from team player to team builder."

― Idowu Koyenikan, Wealth for All: Living a Life of Success at the Edge of Your Ability

En los entornos altamente competitivos y desafiantes de una empresa industrial moderna la exigencia de optimización continua de los procesos es una necesidad básica. Uno de los caminos para conseguir esos objetivos es permitir hacer aflorar el valor oculto que reside en el conocimiento y experiencia de las personas que colaboran en el día a día en las diferentes áreas que componen cada equipo. En nuestro caso el servicios de almacén de repuestos del Centro Industrial de Tarragona de REPSOL.

El objetivo buscado en este trabajo ha sido la optimización del proceso de gestión de grandes paradas. Hemos de agradecer a todo el personal tanto de REPSOL como de ESERMAN su predisposición y apertura de miras que ha permitido el desarrollo de este proyecto.

Equipo Almacén

Centro Industrial REPSOL Tarragona, Julio 2024


Resumen ejecutivo

Este proyecto surge de la necesidad de optimizar el proceso de despacho de materiales del almacén cuando existen picos elevados de demanda de materiales. (Principalmente Paradas de Planta)

Esta necesidad surge por la concurrencia de procesos en el almacén que provocan interferencias en la gestión de materiales y por extensión en el trabajo de los servicios que son usuarios de los mismos durante las paradas.

Situación durante paradas

  • Gran número de materiales recepcionados.
  • Gran número de reservas generadas de materiales para ordenes de mantenimiento.
  • Alto número de materiales que están siendo preparados para ser retirados en bloques.
  • Retirada de bloques de materiales preparados con anterioridad.
  • Generación de un alto número de solicitudes de pedido nuevas.
  • Necesidad de realizar el proceso de planificación de materiales para mantener el stock de los almacenes.

La experiencia muestra que es critico que la información disponible sobre la situación de los materiales en el sistema de gestión SAP se correspondan con la real en el menor tiempo posible. La sistemática previa de trabajo provocaba retrasos en la gestión de información y cuellos de botella en los procesos internos del almacén.

En el marco de este proyecto se analizó el proceso interno de preparación de materiales en el almacén y se han identificado varios puntos de mejora. Como consecuencia se han diseñado y construido varios robots destinados a la automatización y simplificación de las siguientes actividades:

Robots Construidos

  • Generación automática de listados de soporte a la preparación de los materiales
  • Automatización proceso carga de consumos a las ordenes de mantenimiento.

El trabajo realizado es acorde la línea estratégica de digitalización adoptada por Repsol.

1. Objetivo del informe

El objetivo final de este informe es permitir que los resultados obtenidos en este proyecto y las metodologías utilizadas se conozcan y sean transferidas a otras áreas de la compañía que pudieran necesitarlas en un futuro.

Creemos que la divulgación de las lecciones aprendidas durante el proceso de desarrollo de las soluciones adoptadas facilitará el proceso de implantación de estas mismas soluciones o similares en áreas con problemáticas parecidas a las abordadas.

Este documento resume el proceso seguido en el desarrollo e implementación de las soluciones implantadas. Describe los desafíos a los que nos hemos enfrentado y cómo los hemos abordado para conseguir la meta final de optimizar el servicio al que pertenecemos.

2. ¿Qué se ha hecho?

Basándonos en la experiencia recopilada en paradas previas, se ha constituido un grupo de trabajo para intentar optimizar y resolver los cuellos de botella identificados en la gestión de paradas. Todo ello con la mirada puesta en la mejora del flujo de trabajo del almacén para la prevista GP2024.

Principales desarrollos realizados

Generación Listados Materiales para optimizar el trabajo de picking de los materiales. Se generará un listado con la siguiente información:

  • Orden: Orden de Trabajo
  • Operación: Operación dentro Orden
  • Reserva: Reserva del Material
  • LineaReserva: Línea de Reserva
  • Material: Material reservado
  • Texto: Descripción Material
  • CantNecesaria: Cantidad Necesaria
  • CantTomada: Cantidad Tomada
  • Preparar: Cantidad a Preparar
  • TIPO ALMACEN: Tipo Almacén
  • UBICACION ALMACEN: Ubicación
  • STOCKS: Stock
  • LOTES: Lote
  • CLASE: Clase Valoración
  • BLOQUE: Bloque
  • GENE/ESPE: Genérico Específico
  • PuestoTrabajo: Puesto de trabajo. Ejemplo Formato (TUB)
  • CANTIDAD: Cantidad realmente cogida
  • DESTINO: Destino de la mercancía
  • COLADA: Colada Material / si la hubiera

Proceso automático de Carga masiva de materiales a Ordenes de Trabajo

  • Reducción significativa de los procesos de gestión de materiales durante las paradas.
  • Permite actualización rápida de la situación de materiales servidos.

3. Impactos generados

Algunas estimaciones del impacto obtenido se resumen en la siguiente tabla:

Benefición Obtenidos

  • Generación Listados Materiales para optimizar el trabajo de picking de los materiales. En la situación previa el proceso era completamente manual. Teniendo el operador que consultar repetidamente el sistema SAP consultando varias transacciones con el objetivo de identificar, stocks disponibles y ubicaciones de los materiales. Una vez identificado por el operador tenia que proceder a realizar el picking manual. La solución implementada permite:

  • Liberar a los operarios del proceso de consultas manuales en SAP para cada material

  • Disponer de un listado ordenado en formato impreso con la información relevante para el picking automático de materiales

  • Carga masiva de materiales a Ordenes de Trabajo. En la situación previa los operadores tenían que descontar los vales de los materiales a las reservas de forma manual teniendo que consultar varias transacciones SAP. Esto generaba retrasos de semanas desde que el material había sido servido hasta que se descontaba en el sistema. La nueva sistemática permite:

  • Permitir que el responsable de almacén introduzca con facilidad en un formato electrónico la información real de los materiales preparados en el proceso

  • Carga automática en SAP de los materiales a las ordenes de trabajo

  • Entrega dos archivos ejecutables para facilitar el trabajo empresa colaboradora. Las soluciones desarrolladas se entregan para su uso en formato ejecutable en el entorno de trabajo SAP de REPSOL al contratista.

La tecnología utilizada en la solución de estos problemas es fácilmente replicable en otras áreas de la compañía donde este implantado SAP.

Las soluciones aportadas tienen especial relevancia en procesos en que el coste de desarrollo de soluciones por empresas externas o el coste de utilización de licencias de programas comercializados hagan inviable las soluciones estándares propuestas por la compañía.

Introducción

1.1 Objetivo1
1.2 Proceso seguido1
1.2.1 ¿Que nos ha motivado a generar esta sistemática?1
1.2.2 Estudio de alternativas1
1.2.3 Análisis enfoque autoservicio2
1.2.4 Solución propuesta3

Propuesta

2.1 Solución Implantada4
2.1.1 Consideraciones a tener en cuenta para todas las soluciones5
2.2 Generación de listados de trabajo6
2.2.1 Entrada a programa6
2.2.2 Salida del programa7
2.3 Carga de materiales preparados a las ordenes de mantenimiento8
2.3.1 Entrada8
2.3.2 Salida8

Generación listados de trabajo

3.1 Detalle de Pasos- (PDD)11
3.2 Código Programa11

Carga Materiales a OTs

4.1 Detalle de Pasos- (PDD)12
4.2 Código Programa12

References

Recursos Utilizados 13

A Recursos Utilizados

A.1 Recursos Auxiliares Utilizados 13

B Códigos Fuente

B.1 Código Programas generados para resolver el problema 14

C Control de versiones

Control de versiones 15

Listado de gráficos1.1 Aplicabilidad tecnología RPA2
2.1 Esquema conceptual10

Listado de tablas3
Soluciones Compañia3
Comparativa alternativas3
Esquema Conceptual proceso9
Control de versiones15

Objetivo

El objetivo del presente informe es documentar de forma detallada el proceso seguido para la optimización del proceso de preparación y carga en Ordenes de Trabajo de Mantenimiento de los Materiales reservados para paradas. Se ha diseñado el proceso para que sea escalable y repetible en los diversos centros Industriales de Repsol que utilizan el sistema de gestión SAP. Es nuestra intención poder servir de inspiración a otras organizaciones dentro de la compañía para poder repetir un sistema similar de trabajo en sus instalaciones.

Proceso seguido

¿Que nos ha motivado a generar esta sistemática?

Los factores que originaron este proyecto.

Factores desencadenantes proyecto

Necesidad de preparar un elevado numero de materiales reservados en múltiples ordenes de Trabajo para diferentes contratistas y en plazos concretos. Necesidad de disponer en todo momento de la información real de situación de los diferentes materiales necesarios. Necesidad de simplificar el trabajo necesario para la preparación física de los materiales.

Estudio de alternativas

Lo primero que se hizo fue contactar con los responsables del área de ERP del digital HUB de REPSOL. Se identificó que inicialmente estas iniciativas de robotización estaban basadas en la contratación de consultoras externas para su realización (Accenture, etc.). Estas empresas aprovechaban la experiencia que disponían en otras compañías para generar las aplicaciones.

Proceso seguido

¿Qué condiciones debe cumplir un proceso para ser robotizado?

Se trata de una tarea repetitiva basada en reglas con datos estructurados y frecuentes picos de trabajo.

Figura 1.1: Aplicabilidad tecnología RPA

Este hecho comportaba que los costes fueran bastante elevados dejando fuera del alcance de esta tecnología los procesos internos cuyos umbrales de rentabilidad no llegaban al mínimo económico definido.

Para evitar ese inconveniente la compañía en un segundo paso decidió apostar por que las iniciativas de robotización fueran lideradas por los propios empleados facilitando REPSOL las herramientas de desarrollo. Siendo los propios empleados beneficiarios de las posibles mejoras los que deberían liderar con su iniciativa los proyectos y además deberían hacerse responsables de dar soporte y uso a las soluciones desarrolladas.

Se pensaba que procediendo de esta forma se aceleraría el proceso de implantación de este tipo de soluciones en sitios todavía no identificados y simultáneamente los costes de implantación y mantenimiento serían bastante inferiores a los seguidos con las primeras implantaciones.

Es por ello que la compañía puso a disposición de los empleados dos herramientas, una disponible dentro del paquete office 365 de Microsoft (POWER AUTOMATE) destinada a la automatización de procesos que implicaran a las herramientas de Microsoft y otra más sofisticada (DO IT YOURSELF) que como ventaja principal permitía la interacción entre múltiples entornos como en nuestro caso SAP, etc.

Análisis enfoque autoservicio

Las dos herramientas propuestas por la compañía presentan las siguientes ventajas e inconvenientes. Se resumen en la Tabla 1.1

Proceso seguido

CapacidadSolo productos WindowsPosible usarlo con SAP
Coste usuario finalLicencia incluida>5000 euros/año-usuario
MantenimientoSin soporteSin soporte
AprendizajeAutoformacionAutoformacion
Facilidad usoSencilloMedio

El problema planteado en nuestro proceso implicaba la necesidad de que la herramienta tenía que ser utilizada en SAP. Simultáneamente el coste de la solución para SAP impedía su uso inmediato debido a que el ahorro de costes estimado no justificaba el elevado coste anual de licencia necesario para su uso.

Solución propuesta

Puesto que las soluciones estándares propuestas por la compañía no satisfacían de forma correcta nuestras necesidades se inició una búsqueda sistemática de posibles soluciones alternativas que implicaran los dos aspectos necesarios.

Requerimientos necesarios:

  • Coste reducido
  • Capacidad de utilización con SAP

Realizando una búsqueda de diferentes soluciones de fuentes abiertas se identificó que las herramientas de software abierto presentaban un gran potencial no explorado.

POWER AUTOMATEDO IT YOURSELFPYTHON
SAPNOSISI
TIPO LIC.PROPIETARIOPROPIETARIOLIBRE
LICENCIAINCLUIDA5000 euros/año-usuarioGRATIS
SOPORTEUSUARIOUSUARIOUSUARIO
COMPLEJIDADBAJOMEDIOALTO
USOSencilloMedioMedio

Se contactó con expertos de SAP y personas en la organización de sistemas que hubieran tenido experiencia en RPA identificándose que ya había habido enfoques en el pasado utilizando herramientas propietarias tales como visualbasic que habían dado muy buenos resultados.

Basándonos en esas experiencias previas se decide utilizar herramientas más modernas siguiendo el enfoque anterior. Por tanto se utilizará Python en un entorno Anaconda. Esta solución está acorde con la política corporativa de formar al personal en esta herramienta. El análisis se condensa en la tabla 1.2.

2.1. Solución Implantada

Propuesta 2 Una vez analizada las opciones técnicas disponibles se decide abordar el problema mediante el uso del scripts Python en un entorno Anaconda.

El enfoque adoptado se basará en la subdivisión del proceso global de carga de materiales a las ordenes de trabajo de mantenimiento en dos pasos. Esto permite abordar el problemas de una forma más óptima. Los pasos desarrollados son:

  • Generación de listados para simplificar trabajo del personal encargado de realizar los pickings de materiales.
  • Proceso de carga de materiales preparados a las ordenes de mantenimiento.

Para el desarrollo de cada uno de estos pasos se ha trabajado de la siguiente manera:

  • Conceptualización de las necesidades desde el punto vista usuario.
  • Desarrollo de programa Python sobre SAP en el entorno de pruebas.
  • Validación de la ejecución en el entorno pruebas SAP.
  • Validación y verificación por usuarios finales del aplicativo desarrollado.
  • Test de pruebas en el entorno productivo.
  • Construcción ejecutables de los programas.
  • Pase a producción.

2.1. Solución Implantada

2.1.1. Consideraciones a tener en cuenta para todas las soluciones

Los programas se desarrollaron en un entorno Anaconda en Python. En un segundo paso se compilaron para permitir ejecución en cualquier ordenador.

Requerimientos técnicos entorno producción • Maquina Windows sistema SAP instalado. Este sistema debera tener activado el entorno de ejecución de script del SAP GUI. • El usuario que ejecute el programa debera tener cuenta SAP activa con permisos de ejecución de las transacciones necesarias para la carga de materiales en las ordenes de trabajo. • Antes de ejecutar el script se debera haber activado la pantalla principal del SAP GUI. • No es necesario tener instalado Pypon en la maquina desde donde se va a ejecutar los scripts.

Estos requerimientos se basan en que los programas desarrollados en python habrán sido previamente compilados en un ejecutable para simplificar el trabajo. Así el usuario final dispondrá solo de unos ejecutables y archivos auxiliares que deberá copiar en su ordenador.

Los programas tienen unos requerimientos para su funcionamiento que se describen en los siguientes apartados:

Generación de listados de trabajo

El programa esta diseñado para simplificar el trabajo de picking masivo de materiales mediante la generación de un archivo excel con la información necesaria para simplificar la operativa de picking manual.

Entrada a programa

El primer paso es la generación de un documento que define la tanda de materiales a preparar por parte del personal de REPSOL.

El listado de materiales sobre los que se va a realizar el picking estará definido en un archivo Excel que sera la única entrada al proceso.

Datos de Entrada

Especificaciones

  • Directorio: Se selecciona en la aplicación
  • Archivo: ”RESERVAS.xlsx” proporcionado por REPSOL.

NOTA: El nombre del archivo proporcionado puede variar. Contendra:

  • Código: Código Material. Ejemplo de Formato (80021249)
  • Descripción: Descripción Material
  • OT: Numero Orden Trabajo
  • Operación: Numero Operación
  • Reserva: Numero de reserva
  • Posición reserva: Posición de la reserva. Ejemplo de formato (14)
  • Cantidad dif: Cantidad de Material a Preparar
  • UM: Unidad de medida
  • Status línea: Status de la linea. ejemplo formato (MACO)
  • Bloque: Bloque. ejemplo formato (B1)
  • Genérico/específico: Genérico / Especifico. ejemplo formato (G)
  • PstoTbjo: Puesto tipo. Ejemplo (TUB)
  • SumaDeCantidad dif: Cantidad de Material a Preparar
  • Clase: Clase de OT (correctivo, etc..)
  • Área: Area de planta (POL)
  • Especialidad: Especialidad Mantenimiento (ESTA,...)
  • Ubic técnica: Ubicación técnica (T-4-POL-22,..)
  • Equipo: Equipo sobre el que se trabaja
  • Descripción equipo: Descripción en texto del equipo sobre el que se trabaja

La información anterior alimentara el programa de generación de datos de picking.

Cada vez que sea necesario preparar una nueva tanta de materiales se ejecutara el programa.

En ese proceso el programa comprobara el stock actual de materiales, ubicaciones disponibles y demás información necesaria para el picking. Se generará un archivo excel con el resumen de la información que necesita el operador para poder realizar su trabajo sobre los materiales de la tanta de forma óptima.

A medida que se va desarrollando el proceso manual de picking el operador deberá incluir la información de lo realizado en la columna correspondiente del archivo generado en el proceso.

Generación de listados de trabajo

CANTIDAD: Cantidad real de material cogido

DESTINO: Ubicación donde se va a dejar el material

COLADA: Datos que puedan identificar la colada del material si fuera necesario.

Esto permitirá disponer de un archivo adecuado para la carga en excel efectiva en SAP de los materiales cogidos.

Salida del programa

La salida generada en este paso será un excel que contendrá toda la información relevante para el proceso de picking para el operario.

Requerimientos técnicos

Se generará un archivo con la información necesaria para el picking.

  • Directorio: /
  • Archivo: "DD-MM-YYYY-HH-MM-SS_PREPARAR.xlsx" Archivo resultado

NOTA: La información disponible en PREPARAR.xlsx será:

OrdenOperaciónReservaLínea de ReservaMaterial reservadoDescripción Material
Cantidad a PrepararCantidad a Preparar Global en un BloqueCantidad a PrepararUM, Unidad de MedidaTipo AlmacénUbicación Almacén
StockLoteClase ValoraciónBloqueGenérico EspecíficoPuesto de trabajo. Ejemplo Formato (TUB)
Clase de OT (correctivo, etc..)Area de planta (POL)Especialidad Mantenimiento (ESTA,...)Ubicación técnica (T-4-POL-22,..)Equipo sobre el que se trabajaDescripción en texto del equipo sobre el que se trabaja
Cantidad realmente cogidaDestino de la mercancíaInformación para identificar la colada Material / si la hubiera

2.3. Carga de materiales preparados a las ordenes de mantenimiento.

Una vez preparados los materiales a partir de la información del archivo ’PREPARAR.xlsx’. Se van completando los campos:

  • CANTIDAD: Cantidad de material realmente cogida
  • DESTINO: Ubicación donde se dejaran preparados los materiales
  • COLADA: Información sobre la colada del material si la hubiera.

Una vez rellena esa información en el archivo correspondiente se procederá a utilizar dicho archivo como entrada al programa que realiza las entradas de materiales en el sistema.

Se ejecuta el programa ejecutable.

2.3.1. Entrada

Requerimientos técnicos

  • Directorio: Se escoge en la aplicación
  • Archivo: ”DD-MM-YYYY-HH-MM-SS_PREPARAR.xlsx” Rellenado por el operador

2.3.2. Salida

La ejecución del programa producirá el siguiente resultado

Carga de materiales preparados a las ordenes de mantenimiento

Requerimientos técnicos:

  • Directorio: /CARGAMATERIALES
  • Archivo: InformeEjecuccion.xlsx (Salidas). Información de la ejecución del programa
  • 'Orden' - Orden de trabajo
  • 'Operacion' - Operación
  • 'Reserva' - Reserva del Material
  • 'LineaReser' - Linea de Reserva
  • 'Material' - Material reservado
  • 'Texto' - Descripción Material
  • Preparar - Cantidad a Preparar
  • PrepararAgruBloque - Cantida a Preparar Global en un Bloque
  • UM - UM , Unidad de medida
  • TIPO ALMACEN - Tipo Almacen
  • UBICACION ALMACEN - Ubicacion
  • STOCKS - Stock
  • LOTES - Lote
  • CLASE - Clase Valoración
  • BLOQUE - Bloque
  • GENE/ESPE - Genérico Especifico
  • 'PuestoTrabajo' - Tipo de puesto de trabajo
  • ClaseManto - Clase de OT (correctivo, etc..)
  • Area - Área de planta (POL)
  • Especialidad - Especialidad Mantenimiento (ESTA,...)
  • UbicaTecnica - Ubicación técnica (T-4-POL-22,..)
  • Equipo - Equipo sobre el que se trabaja
  • TextoEquipo - Descripción en texto del equipo sobre el que se trabaja
  • CANTIDAD - Cantidad realmente cogida
  • DESTINO - Destino de la mercancia
  • COLADA - Colada Material / si la hubiera
  • Archivo: MAXIMO.log Logs con información de la situación de carga de materiales.

Estructura de funcionamiento

Esquema conceptual

Creación ArchivoPaso Archivo
Programa: GeneDocumentov5.pyGEjecutablev5.py
Entrada: ENTRADAS.xlsxPREPARADO.xlsx
Salida: FECHA_PREPARAR.xlsxFECHA_SALIDA.xlsx

2.3. Carga de materiales preparados a las ordenes de mantenimiento.

InicIO MATERIALES A PREPARAR ESTRADAS.xlsx GeneDocumentov4 DD-MM-YYYY-HH-MM-SS_PREPARAR.xlsx PICKKING GEjecutablev- DD-MM-YYYY-HH-MM-SS_SALIDA.xlsx

Figure 2.1: Esquema conceptual

Generación listados de trabajo

3.1. Detalle de Pasos- (PDD)

Los pasos principales son:

  • REPSOL proporciona archivo con la identificación de reservas sobre las que habrá que trabajar.
  • ESERMAN identifica los materiales sobre los que desea realizar el picking de los listados de materiales proporcionados por REPSOL previamente.
  • Se ejecuta el programa GeneDocumentoEXEv5 para obtener el documento para trabajar en los pickings.

3.2. Código Programa

Código en Anexo

11

4.1. Detalle de Pasos- (PDD) Carga Materiales a OTs 4

El objetivo de este paso es optimizar la carga de materiales para las Ordenes de trabajo utilizando para ello los archivos Excel generados en el punto anterior completados con los datos obtenidos de la preparación física de los materiales realizadas por los operadores.

Los pasos principales son:

  • El operario que ha realizado el picking escribe en el documento la información necesaria
  • Se ejecuta el programa GEjecuv4 que descontara los materiales reservados a las ordenes
  • Se verifica posibles errores para identificar problemas como reservas borradas, anuladas, etc.
  • Se corrigen errores tanto físicamente como en el sistema si fuera necesario.

4.2. Código Programa

Se ha generado un ejecutable en Python que realizara:

  • Lectura Información de Materiales preparados

  • Conexión SAP

  • Para cada material servido

  • Generar Documento Carga Material para cada Reserva, LineaReserva, Lote, ClaseValoración, Cantidad, Destino.

  • Confirmar Documento

  • Generar Orden de Transporte

  • Confirmar Orden de Transporte

Generación Informe de Ejecución

El código está disponible en el Anexo

Recursos Auxiliares Utilizados

Recursos UtilizadosA
Recursos externos usados
(1) SAP Automation en 'Medium'.
(2) Documentación blog oficial SAP sobre scripting.
(3) Documentación SAP de referencia 'como usar SAP gui con Python'.
(4) Paquete Anaconda.
(5) Lenguage Python.
(6) Código fuente solución implantada.
(7) Articulo en Medium REPSOL sobre RPA.
(8) Introducción a Microsoft Power Automate.
(9) Analisis Herramientas RPA comerciales.
(10) Scripting Tracker

B.1. Código Programas generados para resolver el problema

Códigos FuenteNota
B- Con el objetivo de limitar el tamaño del informe no se anexan el código utilizado en la realización del proyecto. - El código generado tiene una longitud de 60 páginas. - Si estuviera interesado ponerse en contacto con Angel A. Urbina del equipo de Almacén