Escribir reglas de liberación de lotes personalizadas

Nota:  Consulte Escribir una regla de programador personalizada para obtener un resumen de los pasos necesarios para crear reglas personalizadas. Para obtener más detalles acerca de las funciones descritas en este tema, consulte la Guía de personalización de la programación disponible para su descarga en nuestra página de asistencia.

El Programador utiliza reglas de liberación de lotes para definir la cantidad que los trabajos de entrada añaden a los lotes que se están formando. En ocasiones, se hace referencia a esta regla como regla de cantidad de lote.

Lógica de las reglas de liberación de lotes

Antes de crear reglas de liberación de lotes personalizadas y escribir las correspondientes funciones, debe comprender la lógica que utiliza la función en cuestión. Cuando llega un trabajo a una operación con una definición de lote especificada, se invoca la función de liberación de lotes.

Cuando se invoca la función de liberación de lotes, esta determina qué cantidad ha de añadirse al lote en formación, que a cambio determina cuándo se liberará dicho lote.

Denominar la función

La función de liberación de lotes personalizada puede tener cualquier nombre que no sea un nombre de función estándar invocable por el usuario.

Arguments


#include "factor.h"
double brrl(ldp, batch)
LOAD *ldp;        /* pointer to the load */
BATCHDEF *batch;  /* pointer to the batch definition */

La función acepta dos argumentos, un indicador a la carga (Type: LOAD *) y un indicador al lote (Type: BATCHDEF *).

Valor devol

La función devuelve un valor que se añadirá al lote en formación (Type: double).

A continuación presentamos un ejemplo de la función de liberación de lotes en función de la cantidad presente en el trabajo:


double brrl (LOAD *ldp, BATCHDEF *batch)
/*-----------------------------------------------------------------
     Batch release rule which adds the quantity on the job.
     ARGS:
       ldp - pointer to the arriving load (job)
       batch - pointer to the batch that this load will follow
                RETURNS: job quantity
-----------------------------------------------------------------*/
{
     
     return((double)ldp->losize);
{

Instalación de la función personalizada

Para poner la función de liberación personalizada a disponibilidad del Programador, debe "instalarla" desde ucini1 invocando a la función sedfbq. Esta función tiene dos argumentos en el siguiente orden:

  • El número de la regla de liberación de lotes para la que la función contiene lógica personalizada.
  • La dirección de la función de liberación de lotes.

Por ejemplo, para instalar la regla del ejemplo anterior "brrl" en la posición de regla 39:


sedfbq (39, brrl);
Temas relacionados