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).