Integraciones / ERP / QAD Adaptive ERP
Guía de integración de QAD Adaptive ERP para programar la producción con SkyPlanner APS
Esta guía de integración de QAD Adaptive ERP explica a los partners y equipos de TI cómo conectar QAD Adaptive ERP con SkyPlanner APS, incluidas las instalaciones de las antiguas versiones QAD Enterprise Edition y MFG/PRO. SkyPlanner se integra con QAD Adaptive ERP en ambos sentidos a través de las propias interfaces de QAD:
- Se importan las órdenes de fabricación y sus operaciones, los artículos, las estructuras de producto, las rutas de fabricación, los centros de trabajo, los calendarios de fábrica, las existencias y los pedidos de compra.
- Las fechas de lanzamiento y vencimiento programadas se devuelven a Work Order Maintenance (16.1).
- Los registros de tiempo de los operarios se devuelven como Labor Feedback by Work Order (16.20.1), y las cantidades terminadas, como Work Order Receipt (16.11).
- Los webhooks de SkyPlanner envían los cambios de la programación en cuanto se producen.
Durante la puesta en marcha, el equipo de SkyPlanner configura la integración según su instalación de QAD y sigue prestando soporte tras la entrada en producción. Esta guía está dirigida a partners y desarrolladores que quieran participar o crear su propia integración con la REST API documentada de SkyPlanner (referencia de la API).
Interfaces de integración de QAD
QAD ofrece tres vías para conectar una herramienta externa de programación de la producción:
- QAD QXtend Inbound (QXI). QAD lo describe así: «a Web services-based, SOAP-compliant, XML framework, enabling complete platform-independent access to QAD Enterprise Applications business functionality.» (Un marco XML basado en servicios web y compatible con SOAP que permite acceder a toda la funcionalidad empresarial de QAD Enterprise Applications, con independencia de la plataforma). Cada solicitud es un QDoc que ejecuta un programa de QAD con las mismas validaciones que se aplican en su pantalla y devuelve un QDoc de respuesta. Entre los QDocs publicados están
maintainItemMaster,maintainRoutingymaintainPurchaseOrder. Para los programas que no disponen de un QDoc publicado, la herramienta QGen de QAD permite mapear el programa del menú: «QGen is used to map custom programs or QAD Enterprise Applications programs that do not have released QDoc schemas and events files.» (QGen se utiliza para mapear programas personalizados o de QAD Enterprise Applications que no disponen de esquemas QDoc y archivos de eventos publicados). La propia QAD utiliza esta vía: «QAD Production Scheduler uses QAD QXtend to update work orders.» (QAD Production Scheduler utiliza QAD QXtend para actualizar las órdenes de fabricación). (Guía de QXtend) - QAD QXtend Outbound (QXO). QXO «exports user-configurable business objects as XML QDocs out of QAD products.» (Exporta desde los productos de QAD objetos de negocio configurables por el usuario en forma de QDocs XML). Entre los objetos de negocio estándar están Item, Product Structure, Routing, Work Center, Department, Inventory Transaction e Inventory Status.
- REST APIs para documentos de negocio. Desde Adaptive ERP 2022.1, «Query REST APIs are now available for business documents,» (Ya hay REST APIs de consulta disponibles para documentos de negocio), con funciones de filtrado, ordenación, paginación y recuperación parcial de datos. Están documentadas en Swagger en su instancia (notas de la versión).
Las escrituras se realizan a través de QXtend. Las lecturas, a través de QXO y las REST APIs de consulta.
Autenticación y licencias
- QXtend Inbound. Si la opción Require Authentication está activada en el receptor, cada QDoc incluye un Session ID o un nombre de usuario y una contraseña de QAD. Antes de ejecutar el programa, QXI comprueba los permisos de acceso del usuario al menú.
- Usuario de integración. Cree un usuario específico en QAD con acceso únicamente a los programas del menú que utiliza la integración: Work Order Maintenance, Labor Feedback by Work Order, Work Order Receipt y los programas de datos maestros.
- Licencia de QXtend. Las licencias de QXtend se conceden por agentes y receptores. La guía de QAD indica que el tráfico de servicios web hacia y desde una aplicación externa no es gratuito, por lo que debe confirmar la licencia de QXtend antes de iniciar el proyecto.
En SkyPlanner, la REST API utiliza un token de API en la cabecera Authorization-Token para la autenticación (SkyPlanner Settings > API) y está documentada en Swagger/OpenAPI. El tutorial de integración explica paso a paso las primeras llamadas.
Eventos y cambios en los datos
QXtend Outbound es el mecanismo de QAD para gestionar los cambios en los datos. «A change occurs to watched data in QAD Enterprise Applications. Change notifications are written out to the qxevents database.» (Cuando cambian los datos supervisados en QAD Enterprise Applications, se escriben notificaciones de cambio en la base de datos qxevents). A continuación, QXO genera los QDocs y los entrega «to a directory location where the subscriber polls for and picks up new QDocs,» (En un directorio que el suscriptor consulta periódicamente para recoger nuevos QDocs), o a un servicio web que escucha en una URL.
SkyPlanner se suscribe como servicio web a las publicaciones de QXO y consulta periódicamente las REST APIs de consulta para obtener los datos que QXO no cubre. Work Order no es uno de los objetos de negocio estándar de QXO. Por ello, la integración añade un objeto de negocio QXO sobre las tablas de órdenes de fabricación (wo_mstr, wr_route) o consulta las órdenes mediante las REST APIs de consulta cada pocos minutos.
SkyPlanner envía webhooks cuando cambia el estado o la programación, por lo que la escritura de datos en QAD se basa en eventos.
Correspondencias de datos
| Objeto de QAD (programa, interfaz) | Objeto de SkyPlanner | Sentido | Frecuencia |
|---|---|---|---|
| Artículos (Item Master Maintenance 1.4.1; QXO Item) | Productos y materiales | QAD → SkyPlanner | Carga inicial y, después, con cada cambio a través de QXO |
| Estructuras de producto (13.5; QXO Product Structure) | Estructura del producto, subproductos y materiales por producto | QAD → SkyPlanner | Carga inicial y, después, con cada cambio a través de QXO |
| Rutas de fabricación (14.13.1; QXO Routing): cola, preparación, ejecución, espera y traslado | Etapas del proceso con sus duraciones y tiempos de preparación y desmontaje | QAD → SkyPlanner | Carga inicial y, después, con cada cambio a través de QXO |
| Centros de trabajo (14.5) y departamentos (14.1; QXO Work Center, Department) | Estaciones de trabajo, grupos de estaciones de trabajo y eficiencias | QAD → SkyPlanner | Carga inicial; después, rara vez |
| Calendarios de fábrica y de los centros de trabajo | Turnos y días no laborables | QAD → SkyPlanner | A diario, o gestión de turnos propios en SkyPlanner |
| Órdenes de fabricación (16.1) con su ruta de fabricación (16.13.13) y sus componentes | Órdenes y tareas con fechas de entrega y necesidades de material | QAD → SkyPlanner | Objeto QXO personalizado o consultas REST cada pocos minutos |
| Existencias (QXO Inventory Status, Inventory Transaction) | Saldos de existencias | QAD → SkyPlanner | Con cada cambio o cada hora |
| Pedidos de compra con fechas de entrega | Pedidos de compra y entradas de material por fecha de entrega | QAD → SkyPlanner | Consultas cada hora o al ejecutar la programación |
| Fechas de lanzamiento y vencimiento de las órdenes de fabricación (Work Order Maintenance 16.1, QXtend Inbound QDoc) | Inicio y fin previstos por orden | SkyPlanner → QAD | Cuando cambia la programación, mediante un webhook de SkyPlanner |
| Labor Feedback by Work Order (16.20.1): tiempos de preparación y ejecución por operación | Registros de tiempo y confirmaciones de los operarios | SkyPlanner → QAD | Por confirmación o por turno, si se elige esta opción |
| Work Order Receipt (16.11) | Cantidades terminadas | SkyPlanner → QAD | Por confirmación, si se elige esta opción |
| No está en QAD | Matriz de tiempos de preparación, herramientas como recursos limitados, máquinas y personal alternativos | Se mantiene en SkyPlanner | Se configura durante la puesta en marcha |
Patrones de integración
1. Carga inicial de datos maestros. Lea los artículos, las estructuras de producto, las rutas de fabricación, los centros de trabajo y los calendarios mediante QXO o las REST APIs de consulta. Defina con cuidado la correspondencia de los centros de trabajo: un centro con cuatro máquinas se convierte en un grupo de estaciones de trabajo o en cuatro estaciones de trabajo. Las líneas de fabricación repetitiva de Production Line Maintenance también pueden convertirse en estaciones de trabajo.
2. Sincronización de órdenes de fabricación. Lea las órdenes de fabricación planificadas en firme y las lanzadas, con sus rutas y componentes, además de los pedidos de compra abiertos. SkyPlanner considera que el material pedido estará disponible en la fecha de entrega del pedido de compra y actualiza las existencias cuando este se marca como Delivered.
Programe órdenes de fabricación, no órdenes planificadas del MRP. Primero, las órdenes planificadas se convierten en QAD en órdenes de fabricación planificadas en firme o lanzadas.
3. Escritura de la programación en QAD. Cuando el motor programa o desplaza una orden, un webhook de SkyPlanner activa un QDoc de QXtend Inbound en Work Order Maintenance (16.1). Este establece la fecha de lanzamiento según la primera operación programada y la de vencimiento según la última. QXtend ejecuta el programa con las propias validaciones de QAD y devuelve un QDoc de respuesta que la integración comprueba.
La secuencia de operaciones de cada máquina se mantiene en SkyPlanner y llega a los operarios a través de Mobile Confirmations. Así, la integración no se ve afectada por el bloqueo de las rutas de fabricación que aplica QAD a las órdenes lanzadas.
4. Confirmaciones en planta. Los operarios registran su trabajo con SkyPlanner Mobile Confirmations o Production Timer, y los registros de tiempo mantienen actualizada la programación. Usted decide si los tiempos reales se devuelven a QAD. Si opta por hacerlo, los tiempos de preparación y ejecución se envían a Labor Feedback by Work Order por operación, y las cantidades terminadas, a Work Order Receipt. De lo contrario, la mano de obra se sigue registrando en QAD como hasta ahora.
5. Responsabilidad sobre los datos y reglas para resolver conflictos. Documéntelas antes de la entrada en producción:
| Datos | Sistema responsable |
|---|---|
| Artículos, estructuras de producto, rutas de fabricación, cantidades y estado de las órdenes de fabricación | QAD |
| Secuencia de operaciones, horas de inicio y fin y asignación de máquinas | SkyPlanner |
| Fechas de lanzamiento y vencimiento de las órdenes de fabricación | SkyPlanner las escribe; QAD las almacena |
| Matriz de tiempos de preparación, necesidades de herramientas y operarios y recursos alternativos | SkyPlanner |
| Turnos y días no laborables | Un único sistema, elegido durante la definición del alcance |
| Mano de obra, salidas de componentes y recepciones | QAD, con registro directo o a partir de los registros de tiempo de SkyPlanner |
Elija un único sistema para escribir las fechas de las órdenes de fabricación. SkyPlanner no necesita ningún módulo de programación de QAD, por lo que sustituye a los paneles de programación u otras herramientas como responsable de escribir las fechas de las órdenes que programa.
Pasos habituales del proyecto
La implantación suele completarse en unas semanas desde el inicio de la puesta en marcha. Antes, valide la programación durante la prueba gratuita de 30 días con centros de trabajo, rutas de fabricación y órdenes de fabricación abiertas exportados desde QAD en CSV o Excel.
- Correspondencias. Defina la tabla de correspondencias, las reglas de responsabilidad sobre los datos, las plantas y los dominios incluidos en el alcance, las frecuencias de sincronización y si los datos de mano de obra se devuelven a QAD.
- Acceso a QAD. Cree el usuario de integración, confirme las licencias de QXtend y configure el receptor de QXtend y el suscriptor de QXO. Realice primero las pruebas en un dominio de pruebas.
- Configuración de QDocs. Utilice los QDocs publicados cuando existan y, cuando sea necesario, genere QDocs con QGen para Work Order Maintenance, Labor Feedback by Work Order y Work Order Receipt.
- Carga inicial. Artículos, estructuras de producto, rutas de fabricación, centros de trabajo y calendarios.
- Sincronización de órdenes de fabricación y pedidos de compra. Eventos de QXO o consultas REST periódicas con filtros, paginación y reintentos.
- Configuración de restricciones en SkyPlanner. Matriz de tiempos de preparación, herramientas, número de operarios por tarea y máquinas o personal alternativos.
- Escritura de la programación en QAD y pruebas en paralelo. Envíe las fechas mediante los webhooks de SkyPlanner, ejecute la programación en paralelo con el plan actual, compare las fechas y corrija los datos maestros.
- Puesta en marcha. Active la escritura de datos en QAD cuando los datos coincidan.
Qué tener en cuenta al integrar QAD Adaptive ERP
- Nuevas ejecuciones de CRP. CRP reprograma todas las operaciones abiertas de las órdenes de fabricación seleccionadas. QAD solo conserva las fechas introducidas manualmente cuando «you also adjusted the work order release and due date to match,» (también se han ajustado las fechas de lanzamiento y vencimiento de la orden de fabricación para que coincidan), que son precisamente las fechas que escribe SkyPlanner. Ejecute CRP después de escribir los datos en QAD o excluya las órdenes que programa SkyPlanner.
- Las rutas de fabricación quedan bloqueadas tras el lanzamiento. «Once the work order status is Exploded, Allocated, or Released, no more changes can be made to the routing.» (Una vez que la orden de fabricación pasa al estado Exploded, Allocated o Released, ya no se puede modificar la ruta de fabricación). Lea la ruta de fabricación al lanzar la orden y modifíquela solo en órdenes planificadas o planificadas en firme.
- Unidades de tiempo en las rutas de fabricación. Los tiempos de preparación y ejecución cuentan como carga, mientras que «queue, wait, and move times are excluded from load calculations.» (los tiempos de cola, espera y traslado se excluyen del cálculo de carga). Modele la cola, la espera y el traslado como pasos que solo consumen tiempo en SkyPlanner y compruebe si el tiempo de ejecución se expresa por unidad o por orden.
- Capacidad de procesamiento de QXtend. QAD advierte de que «UI API adapter performance may be unacceptable when processing high volumes of data or real-time transactions.» (el rendimiento del adaptador UI API puede resultar inaceptable al procesar grandes volúmenes de datos o transacciones en tiempo real). Envíe solo las órdenes modificadas, por lotes, y utilice QDocs nativos cuando existan.
- Dominios y plantas. Las instalaciones de QAD con varios dominios mantienen los centros de trabajo y las órdenes de fabricación separados por dominio y planta. Asigne a cada planta incluida en el alcance su propio grupo de estaciones de trabajo.
- Combinación de fabricación repetitiva y discreta. Las líneas de Advanced Repetitive utilizan programas de fabricación repetitiva, no órdenes de fabricación. Decida durante la definición del alcance qué líneas programará SkyPlanner.
Quién configura la integración con QAD y presta soporte
- El equipo de SkyPlanner configura la integración durante la incorporación y presta soporte tras la puesta en marcha, para los QDocs, las suscripciones QXO y las consultas REST acordados. Cada planta utiliza QAD de forma distinta, y es aquí donde se aplica ese conocimiento.
- Su partner de QAD puede participar. Conoce sus dominios, personalizaciones y licencias, y puede configurar QXtend, QGen QDocs y el usuario de integración junto con el equipo de SkyPlanner.
- Sus propios desarrolladores pueden ampliar la integración mediante la REST API de SkyPlanner y un token de API. Basta con un token de API para empezar, y el equipo de SkyPlanner ofrece ayuda cuando hace falta. Consulte la documentación de integración de SkyPlanner.
SkyPlanner está disponible desde 199 € al mes, con 5 estaciones de trabajo incluidas y facturación mensual. El presupuesto de la integración se presenta por adelantado junto con el de su plan y se adapta a sus procesos y necesidades. Consulte los precios, la programación de la producción con QAD Adaptive ERP que respeta la capacidad real de máquinas y personal, la página de QAD Adaptive ERP y la sección de integraciones con ERP.
Opiniones de fabricantes sobre SkyPlanner
2 hahorradas cada semana
“Con SkyPlanner hemos pasado de planificar la producción en hojas de Excel a optimizarla en tiempo real.”
Kalle Kalliomäki, especialista en cadena de suministro
UTU · Cuadros eléctricos y aparamenta
La planificación de la producción ahorra 2 horas de trabajo cada semana, y la nueva cola de trabajo llega a la línea en segundos.
+90%de eficiencia en la producción
“La eficiencia en la producción ha aumentado un 90%.”
Abdul Rucyinga, responsable de TI
Laboratory & Allied · Fabricación farmacéutica
La eficiencia en la producción ha aumentado un 90%, y elaborar un plan optimizado de tres meses para todas las estaciones de trabajo lleva menos de 30 minutos.
1.000 y másórdenes de fabricación programadas automáticamente
“Ahora controlamos la producción de otra manera y conocemos nuestra capacidad a un nivel completamente distinto.”
Hannu Ryynänen, director general
Mamec · Mezcladoras industriales, bombas y fabricación por contrato de alta tecnología
Miles de órdenes de fabricación se programan automáticamente, y toda la organización dispone de una visión de la producción en tiempo real.
99,2%de cumplimiento de plazos de entrega
“SkyPlanner nos ha dado visibilidad para identificar los cuellos de botella y ha aportado claridad a la gestión de la producción.”
Toni Tuori, responsable de producción
Piristeel · Sistemas de seguridad para cubiertas y de evacuación de aguas pluviales
El cumplimiento de plazos de entrega ha alcanzado el 99,2% este año, y la programación ahorra hasta cuatro horas de trabajo al día.
Preguntas frecuentes
¿Dispone QAD Adaptive ERP de una API para órdenes de fabricación?
Sí. QXtend Inbound ejecuta Work Order Maintenance y los programas de planta mediante SOAP y QDocs XML, que se generan con QGen cuando no existe un QDoc publicado. Las REST APIs de documentos de negocio permiten además realizar consultas con filtrado y paginación.
¿Admite QAD webhooks?
El mecanismo de captura de cambios de QAD es QXtend Outbound: los disparadores de las tablas registran los cambios y QXO entrega los QDocs a la URL de un servicio web o a un directorio que se consulta periódicamente. Los webhooks de SkyPlanner envían los cambios de la programación en cuanto se producen.
¿Cómo se escriben en QAD las fechas programadas?
Mediante un QDoc de QXtend Inbound en Work Order Maintenance (16.1), que establece las fechas de lanzamiento y vencimiento de la orden de fabricación a partir de la programación de SkyPlanner. QAD valida el QDoc con las mismas reglas que aplica en pantalla y devuelve un QDoc de respuesta.
¿Cómo llegan a QAD las confirmaciones de los operarios?
Los tiempos de preparación y ejecución se registran mediante Labor Feedback by Work Order (16.20.1), y las cantidades terminadas, mediante Work Order Receipt (16.11), en ambos casos como QDocs de QXtend Inbound. Durante la definición del alcance se decide si se enviarán estos datos a QAD.
¿Debe un partner de QAD proponer QAD Advanced Scheduling o SkyPlanner?
SkyPlanner, cuando el cliente trabaja con órdenes de fabricación discreta y quiere disponer en semanas de una programación operativa que respete la capacidad real de máquinas y personal. QAD describe Advanced Scheduling como una programación línea por línea para cada planta, presentada junto con DSCP Production Planning y Redzone (QAD). SkyPlanner se conecta mediante QXtend, programa cada máquina, operario, herramienta y material, replanifica automáticamente y ofrece usuarios ilimitados, desde 199 € al mes.
¿Podemos probar SkyPlanner antes de desarrollar la integración?
Sí. La prueba gratuita de 30 días permite trabajar con hasta 20 estaciones de trabajo e importar datos de QAD en CSV o Excel, sin necesidad de tarjeta de crédito. Inicie la prueba o hable con el equipo comercial para definir el alcance de la integración.