Escribir reglas de liberación de lotes personalizadas

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

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 de devolución

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 del 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);