Continuando con los artículos de Logística en Oreka IT, esta vez nos embarcaremos en el interesante tema de los Logs, un recurso importante que nos permite el sistema para controlar los cambios que puede registrar una orden de producción/Fabricación.
NOTA OSS 39635
Antes de profundizar más en detalle, es importante ver que dice esta nota sobre los cambios a nivel de orden de fabricación.
El motivo por el que no hay una herramienta estándar de SAP para la creación de documentos de modificación para órdenes de producción/fabricación, es que la herramienta no puede determinar las dependencias de los cambios y, por lo tanto, registraría demasiados cambios que tendrían un efecto negativo en el tiempo de ejecución.
Sin embargo, nos ofrece una solución basada en la utilización de la ampliación de SAP PPCO0007. Esta ampliación, se procesa cuando se graba las modificaciones del pedido.
En el Customizing en la ruta del menú «Control de planta o planificación de la producción para industrias de procesos -> Orden de proceso -> Modificaciones del sistema -> Ampliaciones para el mantenimiento de órdenes -> Ampliación al guardar una orden (campos de encabezado)».
Aquí puede definir una lógica adicional para decidir si el sistema debe o no crear documentos de modificación.
Para ello, puede acceder a la herramienta estándar de SAP para crear documentos de modificación o su propia herramienta.
Nosotros desde Oreka IT recomendamos la utilización de la función, ’ORDER_WRITE_DOCUMENT’ que es la función ST que nos ofrece SAP para actualizar el registro de cambios de PP para algunos campos estándar en las tablas CDHDR y CDPOS.
La llamada a esta función se realiza en base a una serie de condiciones que vamos a detallar a continuación y que podemos programar dentro de la exit (EXIT_SAPLCOZV_001) que SAP habilita en el proyecto PPCO0007 en el INCLUDE ZXCO1U06.
Es importante mencionar que el consultor de PP puede decidir que documentos de cambio se crearan para aquellas órdenes de producción/fabricación, en función de sus necesidades.
En nuestro ejemplo, la actualización del log está pensado para aquellas OF que no tienen una versión previa establecida previamente (campo HEADER_IMP-VSNMR) y además el tipo de orden es una OF de PP (código 10) o bien una Orden de Proceso (código 40), pero como siempre estos criterios dependerán del encargado de realizar el proceso.
En esta exit, vamos a entrar en la parte más técnica del proceso donde se van realizando comparativas para los datos de las tablas AFPO, AFFL, AFVG, RESB mediante los siguientes donde se obtiene la tabla referencia actual y la “old” (copia de la referencia para las selecciones).
- AFPO -> ‘CO_BT_AFPO_BT_FETCH’ (tabla AFPO_BT)
- AFFL -> ‘CO_BT_AFFL_BT_FETCH’ (tabla AFFL_BT)
- AFVG -> ‘CO_BT_AFVG_BT_FETCH’ (tabla AFVG_BT)
- RESB -> ‘CO_BT_RESB_BT_FETCH’ (tabla RESB_BT)
Además de estas, mediante la función ‘CO_BR_AFFX_GET_TABLES_POST’ se obtienen las tablas específicas de la OF para instrucciones de proceso y las características de instrucción de proceso.
Tras la obtención de todas estas tablas, se procede a ver si hay cambios en algunos campos de la OF son los siguientes:
- Prioridad de cabecera (Campo APRIO)
- Cantidad Total de Cabecera (Campo GAMNG)
- Cantidad de Rechazo Total (Campo GASMG)
- Fecha Fin Extrema de cabecera (Campo GLTRP)
- Hora Fin Extrema de cabecera (Campo GLUZP)
- Fecha Inicio Extrema de cabecera (Campo GSTRP)
- Hora Inicio Extrema de cabecera (Campo GSUZP)
- Fecha Fin Programación de cabecera (Campo GLTRS)
- Hora Fin Programación de cabecera (Campo GLUZS)
- Fecha Inicio Programación de cabecera (Campo GSTRS)
- Hora Inicio Programación de cabecera (Campo GSUZS)
Si se detectan cambios dentro de las tablas a las que hacemos referencia, se procede a llamar al MF ‘CO_00_CAUFVDB_AAXXX_TRANSFER’, que se encarga de transferir los datos de cabecera de la OF a la estructura para el documento de modificación.
En caso de que se cambie, se llama al MF ‘CO_00_AFPOB_AAFPO_TRANSFER’ que, en este caso, se encarga de transferir los datos de posición de la OF a la estructura para el documento de modificación.
Una vez realizado este proceso se pasa a comprobar también la tabla RESB_BT aquellos componentes que están marcados para contabilizaciones.
Para ello se tiene en cuenta el indicador de actualización.
Y se realiza la llamada a la BAPI ‘ORDER_WRITE_DOCUMENT’que es la encargada de realizar los documentos de cambio.
Por finalizar, comentar que mediante la transacción estándar (el programa se llama igual) RSSCD100, RSSCD150 o RSSCD200 se pueden visualizar los documentos de modificación ejecutados.
Esperamos que este artículo te haya sido de utilidad. Si tienes alguna pregunta no dudes en ponerte en contacto con nosotros.