Puntos de entrada > Módulo Stocks > Script estándar FUNCBN 

LECORD: Lectura de 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: Cálculo del 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: Cálculo de la 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

WNBBUC - Número de agrupaciones

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: Lectura de los parámetros de 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 de cálculo de las 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

WPRO

Contiene 1 si MPS.

Contiene 2 si MRP.

Clase [F:PCB]

Contiene los parámetros de la planta.

 

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 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 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: Creación de 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 inicio", "Fecha fin" 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 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 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 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: Modificación del 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: Modificación de 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, puede asignar otro valor a esta variable

 

Tablas abiertas

Todas las tablas del cálculo de necesidades.

COR_STOSEC: Aplicación de la 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: Consideración del 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

Siguiente

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: Plazo de preparación considerado

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

    Cuando 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 en la cantidad que hay que reaprovisionar. 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 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: Optimización del vínculo 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 proceso 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.

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: Optimización de 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 proceso 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: División de 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 proceso 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 Balance 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 primera 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 segunda 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 tercera 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 proceso 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.

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

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: Ajuste del 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.

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.

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: Control de 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 sea "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 Cálculo necesidad neta (MRP) (CBNHEA), 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".