Script FUNCBN: FUNCBN
LECORD: Leer un registro ORDERS
Filtrar las órdenes en curso en el cálculo de necesidades
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) cada vez que se lee con bloqueo un registro de la tabla ORDERS para crear el fichero de trabajo de la cabecera del cálculo.
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ORD] |
Contiene el registro ORDERS. |
Variable integer I |
I = 0 para procesar la orden I = 1 para ignorar la orden |
STRSTO: Calcular stock inicial
Stock inicial del cálculo de necesidades
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa justo antes de escribir cada registro de la tabla CBNHEA ([F:CBH]).
El campo de stock inicial ya está calculado y se puede modificar según el contexto.
Variables
Variable o máscara |
Definición |
WPRO |
Contiene 1 si MPS. Contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
CALCOUV: Calcular cobertura
Cálculo no estándar de la cobertura de todas las agrupaciones
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de la cobertura de los artículos correspondientes.
Tablas abiertas
Todas las tablas del cálculo de necesidades
[CBH] Cálculo necesidad neta
[ITF] Artículos - Plantas
Variables disponibles
Variables en entrada
"WNBJOU" - Número de días de procesos (fecha de fin - fecha de inicio + 1)
"WBUCDEB (0..WNBBUC-1)" - Tabla de fechas de inicio de las agrupaciones
"WBUCFIN (0..WNBBUC-1)" - Tabla de fechas de fin de las agrupaciones
"WQTY (0..WNBJOU-1)" - Tabla de necesidades por día
"I" - Indicador = 0
Variables a devolver
"WCOUV (0..WNBBUC-1)" - Tabla de coberturas por agrupación
"I = 0" si hay que realizar el cálculo estándar.
"I <> 0" si la tabla de coberturas se ha alimentado con el punto de entrada.
AFTREAPCB: Leer parámetros del cálculo
Inicio del proceso de una planta
Contexto y modo de funcionamiento
Transacción
No hay ninguna transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) después de leer los parámetros del cálculo de necesidades (tabla PARMRP) y antes de cargar los parámetros en las variables de trabajo. Se puede modificar el contenido del registro para tener en cuenta otros valores de parámetro.
Clases y variables disponibles
Variable |
Definición |
Clase [F:PCB] |
Contiene los parámetros de la planta. |
WPRO |
Contiene 1 si MPS. Contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
BEFWRICBH: Antes de escribir la cabecera de la tabla de trabajo
Punto de entrada que interviene antes de escribir cada registro de la tabla de trabajo CBNHEA/PDPHEA.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) después de cargar el buffer de la clase [CBH].
Ya se han escrito los registros de la tabla CBW (tabla de trabajo de lotes caducados).
Clases y variables disponibles
Clases de variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se van a escribir. |
WPRO |
Contiene 1 si MPS. Contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
BEFWRICBD: Antes de escribir el detalle de la tabla de trabajo
Punto de entrada que interviene antes de escribir cada registro de la tabla de trabajo CBNDET/PDPDET.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) después de cargar el buffer de la clase [CBD] a partir de la tabla en curso ORDERS.
Clases y variables disponibles
Clases de variable |
Definición |
Clase [F:CBH] |
Contiene los datos de cabecera del artículo procesado. |
Clase [F:CBD] |
Contiene el buffer que se va a escribir. |
WPRO |
Contiene 1 si MPS. Contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
CRESUG: Crear sugerencias en la tabla de trabajo
Punto de entrada que interviene antes de escribir cada sugerencia de la tabla de trabajo CBNDET/PDPDET.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) después de cargar el buffer de la clase [CBD] de cada sugerencia de compra/fabricación.
El buffer se carga con la excepción de los campos "Fecha inicial", "Fecha final" y "Fecha necesidad". La variable WDATS contiene la fecha de referencia para crear la sugerencia (fecha de la necesidad). Se puede modificar para intervenir en las fechas de la sugerencia.
Clases y variables disponibles
Clases de variable |
Definición |
Clase [F:CBH] |
Contiene los datos de cabecera. |
Clase [F:ITF] |
Contiene los datos de gestión del artículo-planta. |
Clase [F:CBD] |
Contiene el buffer que se va a escribir (excepto los campos de fecha). |
Variable fecha WDATS |
Contiene la fecha de referencia para crear la sugerencia (fecha de la necesidad). Se puede modificar para intervenir en las fechas de la sugerencia. |
WPRO |
Contiene 1 si MPS. Contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
ENDSTEP4: Después de la fase 4 (generación del fichero de detalle MRP)
Punto de entrada que interviene al final de la fase 4.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa al final de la fase 4 (generación de la tabla CBNDET). Permite, por ejemplo, notificar al usuario el final de esta fase mediante un mensaje.
Clases y variables disponibles
Clases de variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se van a escribir. |
WPRO |
Contiene 1 si MPS. Contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
ENDSTEP6: Después de la fase 6 (actualización del encurso)
Punto de entrada que interviene al final de la fase 6.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa al final de la fase 6 (actualización del fichero CBNDET). Permite, por ejemplo, notificar al usuario el final de esta fase mediante un mensaje.
Clases y variables disponibles
Clases de variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se van a escribir. |
WPRO |
Contiene 1 si MPS. Contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
CUSMODLTI: Modificar plazo del control de calidad en las OF
Posibilidad de modificar el plazo del control de calidad en las órdenes de fabricación.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) cuando se escribe el fichero de trabajo detallado ([F:CBD], justo después de recuperar el plazo del control de calidad de las órdenes de tipo WOF y WOP. Permite modificar el valor de dicho plazo asignando la variable de trabajo "Q".
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ORD] |
Contiene el registro ORDERS. |
Variable integer Q |
Contiene el plazo del control de calidad. Si es necesario, puedes asignar otro valor a esta variable. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
MRPQTYSUG: Modificar la cantidad que hay que reaprovisionar
Posibilidad de modificar la cantidad que hay que reaprovisionar.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) cuando se calculan las sugerencias para los artículos gestionados en stock. Permite intervenir en la cantidad que hay que reaprovisionar.
En todos los casos, el proceso estándar se encarga de aplicar cualquier posible pérdida y generar las sugerencias correspondientes respetando la política de reaprovisionamiento (cantidad neta/económica, división...)
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Variable decimal WBES |
Contiene la cantidad que hay que reaprovisionar calculada en estándar. Si es necesario, puedes asignar otro valor a esta variable. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
COR_STOSEC: Aplicar estacionalidad del stock de seguridad
Posibilidad de reemplazar el modo de aplicación estándar de la estacionalidad del stock de seguridad.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) cuando se calculan las sugerencias para los artículos gestionados en stock. Permite intervenir en la aplicación de la estacionalidad del stock de seguridad.
En todos los casos, el proceso estándar se encarga de aplicar cualquier posible pérdida y generar las sugerencias correspondientes respetando la política de reaprovisionamiento (cantidad neta/económica, división...)
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ITF] |
Contiene los datos del artículo-planta procesado. |
Variable fecha WDAT |
Contiene la fecha de inicio de la agrupación correspondiente. |
Variable decimal WSAISON |
Esta variable debe alimentarse con el stock de seguridad calculado. |
Variable global GPE |
Debe tener asignado el valor 1 para ignorar la aplicación estándar de la estacionalidad. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
XTRA_ORD: Considerar el encurso en artículos adicionales
Este punto de entrada permite añadir encursos de artículos adicionales.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) al final de la fase de carga de los encursos de artículo. Permite integrar encursos adicionales, como los procedentes de otra planta.
Ejemplo del algoritmo:
###########################################################################
$ACTION
Case ACTION
When "XTRA_ORD": Gosub XTRA_ORD
Endcase
Return
#---------------------------------------------------------------------
$XTRA_ORD
Filter [ORD] Where STOFCY = "XXX" &
& ITMREF = [F:CBH]ITMREF &
& FMI < 2 &
& WIPSTA < 4
& Order By Key ORD1
For [ORD]
Readlock [ORD] Curr
If fstat = 0
I = 0
If [F:ORD]ENDDAT <= WCALDATF
If I = 0
# Importante: reinicializa la planta en [ORD] debido a la transferencia de datos [CBD] = [ORD] de TRT_ORD.
[F:ORD]STOFCY = [F:CBH]STOFCY
Gosub TRT_ORD From FUNCBN
If GOK <>1
Break
Endif
Endif
Endif
Else
GOK = -1
Break
Endif
Next
Filter [ORD]
Return
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando (planta, artículo…). |
Clase [F:ITF] |
Contiene los datos del artículo-planta procesado. |
SUGREQAVA: Considerar plazo de preparación
Este punto de entrada permite tener en cuenta el plazo de preparación en el cálculo de las fechas de sugerencias.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) cuando se calculan las fechas de las suferencias.
Ejemplo de algoritmo:
$ACTION
Case ACTION
When "SUGREQAVA": Gosub SUGREQAVA
Endcase
Return
$SUGREQAVA
Case [F:ITF]REOCOD
When 3,5: # orden de fabricación sugerida
WDATR = WDATF
If [F:ITF]PRPLTI = 0
WDATF = WDATR
Else
WCOR = 8
WCOD = 2
WDEL = [F:ITF]PRPLTI
Call CALDAT("-",WCOR,WDATR,WCOD,WDEL,WCAP,WCALDATD,WDATF) From CBNLIB
Endif
When Default: # orden de compra/orden interplanta sugerida
Endcase
Return
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ITF] |
Contiene los datos del artículo-planta procesado. |
CHECK_CBNDET: Control antes de actualizar los encursos
Este punto de entrada permite intervenir después de calcular las sugerencias para cada artículo y antes de actualizar el encurso (ORDERS).
Permite controlar, modificar o purgar las tablas de trabajo PDPDET y CBNDET antes de la actualización.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) cuando se calculan las sugerencias para los artículos gestionados en stock. Permite intervenir antes de actualizar el encurso (actualización de la tabla ORDERS a partir de las tablas PDPDET/CBNDET según el proceso).
Tablas abiertas
Todas las tablas del cálculo de necesidades
REPLANNING: Antes de replanificar las sugerencias
Posibilidad de reemplazar el modo de aplicación estándar de la estacionalidad del stock de seguridad.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
La variable GREPLANNING permite identificar dónde se activa el punto de entrada:
- "RPL_INIT" al inicio del proceso de replanificación de una planta determinada.
- "RPL_TRTSUGITM" en el cálculo de sugerencias de un artículo.
- "RPL_CUMSTODIS" en el cálculo del acumulado de stock disponible.
- "RPL_CALSUGSTO" en el cálculo de las sugerencias de un artículo en stock.
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ITF] |
Contiene los datos del artículo-planta procesado. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
LOAD_BUCKET: Antes de corregir las agrupaciones
Hacer específica la preparación de agrupaciones y/o evitar las correcciones estándar.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS) después de cargar los parámetros. Permite evitar el cálculo estándar de la corrección de agrupaciones activando el parámetro GPE>0.
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ORD] |
Contiene el registro ORDERS. |
Variable integer I |
I = 0 para procesar la orden I = 1 para ignorar la orden |
ENDSTEP5: Después de la fase 5 (cálculo de necesidades)
Punto de entrada que interviene al final de la fase 5.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa al final de la fase 5 (cálculo de sugerencias). Permite, por ejemplo, añadir OF específicas a CBNDET antes de generar los encursos.
Clases y variables disponibles
Clases de variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se van a escribir. |
WPRO |
Contiene 1 si MPS; contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
NOHINT: Optimizar el enlace ITM-ITF
Este punto de entrada permite añadir la instrucción "With Nohint" cuando surgen problemas de rendimiento en la instrucción "Link" entre las tablas [F:ITM] y [F:ITF].
Se activa en el script FUNCBN.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas, justo antes del bucle en los artículos con un modo de reaprovisionamiento MRP/MPS.
Se utiliza la variable GPE, que tiene asignado el valor 0 por defecto. Para añadir la instrucción "With Nohint" a la consulta utilizada, debe tener asignado el valor 1 en el proceso específico vinculado al punto de entrada.
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ORD] |
Contiene el registro ORDERS. |
Variable integer I |
I = 0 para procesar la orden I = 1 para ignorar la orden |
NOLOCK: Optimizar la purga de los resultados anteriores
Este punto de entrada permite evitar los "Readlock ... Delete", que se alargan demasiado en una base de datos voluminosa, y utilizar en su lugar el modo monousuario con un bloqueo global de las tablas correspondientes PUR_TABLES_MONO.
Se activa en el script FUNCBN.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas, justo antes de purgar los resultados anteriores.
Se utiliza la variable GPE, que tiene asignado el valor 0 por defecto. Si el usuario quiere utilizar el modo monousuario con un bloqueo global de las tablas correspondientes, debe tener asignado el valor 1 en el proceso específico/personalizado vinculado al punto de entrada.
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ORD] |
Contiene el registro ORDERS. |
Variable integer I |
I = 0 para procesar la orden I = 1 para ignorar la orden |
CRE_SUG_SPLIT: Dividir las sugerencias
Este punto de entrada permite intervenir en la generación de las sugerencias para proceder a una división, por ejemplo, entre varios proveedores.
Se activa en el script FUNCBN.
Contexto y modo de funcionamiento
Transacción
No hay ninguna transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas, justo antes de generar una sugerencia en las tablas de cálculo.
Están disponibles las siguientes variables:
- WSUG Cantidad de la sugerencia
- WDATS Fecha de la sugerencia
- WNBR Número de divisiones según la política de reaprovisionamiento
- WSTO Saldo de stock para el cálculo en curso
Ejemplo de origen
#--------------------------------------------------------------------------------------
# Punto de entrada CRE_SUG_SPLIT
# Para personalizar la división de sugerencias
# [F:CBH] está en línea
# Variables:
# - WSUG = ctd. sugerida
# - WDATS = fecha sugerida
# - WNBR = n.º divisiones según política de reaprovisionamiento
# - WSTO = saldo de stock
#--------------------------------------------------------------------------------------
$ACTION
Case ACTION
When "CRE_SUG_SPLIT": Gosub CRE_SUG_SPLIT
Endcase
Return
#--------------------------------------------------------------------------------------
$CRE_SUG_SPLIT
# Pantalla de parámetros
If clalev ([M:ZCSP]) <= 0: Local Mask ZCSP [ZCSP]: Endif
# Test del caso >> solo para el artículo comprado "SPLIT" (GX3APP)
If [F:CBH]ITMREF <> "SPLIT": Return: Endif
# Solo para las sugerencias de pedido de compra
If [F:CBH]REOCOD <> 2: Return: Endif
# Completar pantalla de parámetros ZCSP
Raz [M:ZCSP]
[M:ZCSP]STOFCY = WFCY
[M:ZCSP]ITMREF = [F:CBH]ITMREF
[M:ZCSP]QTY = WSUG
[M:ZCSP]DAT = WDATS
[M:ZCSP]STOBAL = WSTO
[M:ZCSP]PROCESS = "ZFUNCBN"
Gosub POS_SPLITTING
GPE = 1
Return
#--------------------------------------------------------------------------------------
$FEEDBACK
WSUG = [M:ZCSP]QTYOUT
WDATS = [M:ZCSP]DATOUT
WBPRO = [M:ZCSP]BPROUT
WSTO = [M:ZCSP]STOBAL
Gosub CRE_UNE_SUG From FUNCBN
Return
#--------------------------------------------------------------------------------------
# División de sugerencias de pedido de compra
#--------------------------------------------------------------------------------------
# La pantalla de parámetros ZCSP debe estar abierta y completa (hay que crear la pantalla ZCSP).
#--------------------------------------------------------------------------------------
$POS_SPLITTING
Local Char TSUG_BPR(GLONBPR)(3)
Local Integer TSUG_BPRPCT(3)
Local Decimal TSUG_BPRMINQTY(3)
Local Decimal WWRK, WREO, WREOTOT, WDELTA
Raz TSUG_BPR, TSUG_BPRPCT, TSUG_BPRMINQTY
# Test de (GX3APP) división entre 3 proveedores
TSUG_BPR(0) = "FOU001"
TSUG_BPRPCT(0) = 40
TSUG_BPRMINQTY(0) = 250
TSUG_BPR(1) = "FOU002"
TSUG_BPRPCT(1) = 40
TSUG_BPRMINQTY(1) = 200
TSUG_BPR(2) = "FOU003"
TSUG_BPRPCT(2) = 20
TSUG_BPRMINQTY(2) = 150
# -------------------------------
# Proceso de la 1.ª división - proveedor 1
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(0)) / 100)
If WWRK < TSUG_BPRMINQTY(0): WREO = TSUG_BPRMINQTY(0): Else: WREO = WWRK: Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(0)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
If WREOTOT >= [M:ZCSP]QTY: Return: Endif
# -------------------------------
# Proceso de la 2.ª división - proveedor 2
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(1)) / 100)
If WWRK < TSUG_BPRMINQTY(1): WREO = TSUG_BPRMINQTY(1): Else: WREO = WWRK: Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(1)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
If WREOTOT >= [M:ZCSP]QTY: Return: Endif
# -------------------------------
# Proceso de la 3.ª división - proveedor 3
WWRK = int(([M:ZCSP]QTY * TSUG_BPRPCT(2)) / 100)
If WWRK < TSUG_BPRMINQTY(2): WREO = TSUG_BPRMINQTY(2): Else: WREO = WWRK: Endif
WREOTOT += WREO
[M:ZCSP]QTYOUT = WREO
[M:ZCSP]DATOUT = [M:ZCSP]DAT + 1
[M:ZCSP]BPROUT = TSUG_BPR(2)
# Última división, regularización del saldo de stock para el cálculo MRP
[M:ZCSP]STOBAL += (WREOTOT - [M:ZCSP]QTY)
Gosub FEEDBACK From =[M:ZCSP]PROCESS
Return
CTLSTOSEC: Caso particular del stock de seguridad en la 1.ª necesidad
Este punto de entrada permite intervenir en el reinicio de la variable "Stock de seguridad".
Se activa en el script FUNCBN, cuando el parámetro "Respeto stock de seguridad" tiene asignado el valor "1.ª necesidad", solo en la primera agrupación y si WBESBUC = 0. Esto significa que no hay necesidades o que la necesidad está cubierta o asignada en el stock disponible.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ITF] |
Contiene los datos del artículo-planta procesado. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
NOADJUST: Ajustar stock inicial
Stock inicial del cálculo de necesidades
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa antes de ajustar el stock inicial cuando se solicita el stock físico.
El ajuste consiste en no tener en cuenta los albaranes de entrega/vales de preparación en espera de validación.
La activación de la variable GPE = 1 permite evitar el ajuste del stock inicial y volver al funcionamiento V5, en el que todas las asignaciones se deducen del stock disponible.
Clases y variables disponibles
Variable o máscara |
Definición |
WPRO |
Contiene 1 si MPS. Contiene 2 si MRP. |
Tablas abiertas
Todas las tablas del cálculo de necesidades
BEFWRICBD1: Antes de escribir el resultado de MRP
Este punto de entrada permite controlar y/o corregir ciertos datos antes de generar la necesidad en la tabla CBNDET o PDPDET.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS), justo antes de insertar la necesidad en el resultado de MRP/MPS (2 llamadas).
Se utiliza la variable GPE, que tiene asignado el valor 0 por defecto. Para evitar la escritura de la línea en curso, debe tener asignado el valor 1 en el proceso específico vinculado al punto de entrada.
Las variables accesibles/modificables se encuentran en el buffer [F:CBD1].
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ITF] |
Contiene los datos del artículo-planta procesado. |
CTLDATSUG: Controlar la fecha de sugerencia
Este punto de entrada permite controlar y/o corregir ciertos datos antes de generar la necesidad en la tabla CBNDET o PDPDET.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa en el cálculo de necesidades netas (MRP y MPS), después de calcular las fechas de inicio y fin de la sugerencia ($CALDATSUG).
Las variables accesibles/modificables son WDATD = fecha de inicio de la sugerencia y WDATF = fecha de fin de la sugerencia.
Los demás datos de la sugerencia se encuentra en el buffer [F:CBD1].
Clases y variables disponibles
Variable |
Definición |
Clase [F:CBH] |
Contiene los datos que se están procesando. (planta, artículo…) |
Clase [F:ITF] |
Contiene los datos del artículo-planta procesado. |
CTLSTO: Recurso de stock del control de calidad
Este punto de entrada da acceso a la creación de un recurso (vario) para un stock en control de calidad.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa durante el MRP y MPS, antes de crear un recurso vario para un stock en control de calidad ($CTL_STO).
Se encuentra justo antes de la instrucción "Write [CBD]".
La variable GPE se puede modificar: GPE = 0 se crea el recurso; GPE <> 0 no se crea el recurso. Los valores de los campos de la clase [F:CBD] (cálculo detallado de necesidades netas) se pueden modificar antes de crear el recurso, como la cantidad y la fecha de la necesidad.
Si GOK < 1, la transacción se detiene.
STARTSTOCKECC: Reorganizar el stock inicial versionado
Este punto de entrada permite reorganizar el stock inicial versionado después del cálculo por versión.
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Distintos casos de llamada
Este punto de entrada se activa durante el MRP y MPS, justo después del cálculo del stock inicial para un artículo versionado.
Se puede utilizar para reorganizar el stock inicial calculado. Por ejemplo, para asignar el stock inicial total de todas las versiones a una versión determinada (la última).
El stock inicial de cada versión se encuentra a nivel de WECCSTODIS(N) y las versiones menor y mayor correspondientes se encuentran a nivel de WECCVALMAJ(N) y WECCVALMIN(N). N corresponde al número máximo de versiones (código de actividad ECCMX).
Si GOK < 1, la transacción se detiene.
REOMGT: Ignorar artículos no gestionados
Ignorar los artículos (plantas) cuyo modo de reaprovisionamiento es "Sin gestión".
Descripción del contexto
Este punto de entrada permite ignorar todos los artículos (plantas) del proceso MRP cuyo modo de reaprovisionamiento sea "Sin gestión". Para estos artículos no se crea ningún registro en la tabla CBNHEA - Cálculo necesidad neta (MRP), lo que puede mejorar el rendimiento.
Nota: En el caso de los artículos fabricados, cuando los artículos ignorados se consideran componentes de estructura, se realiza una lectura adicional de la base de datos, lo que puede empeorar el rendimiento.
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Variable disponible
Integer WREOMGT:
- Valor 0 (por defecto) para incluir todos los artículos en el proceso MRP.
- Valor 1 para ignorar todos los artículos (plantas) del proceso MRP cuyo modo de reaprovisionamiento sea "Sin gestión".
BUCKETBALECC: Reorganizar saldo de agrupamientos versionados
Contexto y modo de funcionamiento
Transacción
Hay una transacción en curso.
Fichero de traza
Hay un fichero de traza abierto.
Contexto de código
Este punto de entrada se activa durante el MRP y MPS, justo después de calcular el saldo de agrupamiento de un artículo versionado.
Se puede utilizar para reorganizar el saldo de agrupamiento calculado. Si, por ejemplo, el saldo de la versión actual es negativo y el de la versión anterior es positivo, se puede mover el de la versión anterior a la actual para reducirlo.
Variables y máscaras disponibles
El saldo de agrupamiento de cada versión se encuentra a nivel de WECCSTODIS(N) y las versiones menor y mayor correspondientes se encuentran a nivel de WECCVALMAJ(N) y WECCVALMIN(N). N corresponde al número máximo de versiones (código de actividad ECCMX).