Verfassen von anwenderdefinierten Batch-Freigaberegeln

In der Reihenfolgeplanung werden Batch-Freigaberegeln verwendet, um die Menge zu definieren, die mit eingehenden Fertigungsaufträgen den zu bildenden Batches hinzugefügt wird. Diese Regel wird manchmal auch als Batch-Mengenregel bezeichnet.
Hinweis:  Eine Zusammenfassung der beim Erstellen anwenderdefinierter Regeln durchzuführenden Schritte finden Sie unter Verfassen von anwenderdefinierten Reihenfolgeplanungs-Regeln. Weitere Informationen zu den in diesem Thema beschriebenen Funktionen finden Sie im Handbuch für die Anpassung der Reihenfolgeplanung, das Sie von unserer Support-Website herunterladen können.

Logik von Batch-Freigaberegeln

Bevor Sie anwenderdefinierte Batch-Freigaberegeln erstellen und die entsprechenden Batch-Freigabefunktionen verfassen können, müssen Sie die von der Batch-Freigabefunktion verwendete Logik verstanden haben. Wenn ein Fertigungsauftrag bei einem Arbeitsgang mit spezifizierter Batch-Definition eingeht, wird die Batch-Freigabefunktion aufgerufen.

Die aufgerufene Batch-Freigabefunktion ermittelt, welche Menge dem zu bildenden Batch hinzugefügt wird, wodurch wiederum bestimmt wird, wann der zu bildende Batch freigegeben wird.

Benennen der Funktion

Sie können einen beliebigen Namen für die Batch-Freigabefunktion wählen, solange es sich nicht um den Namen einer von Anwendern aufrufbaren Standardfunktion handelt.

Argumente


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

Die Funktion verwendet zwei Argumente: einen Zeiger auf die Ladung (Typ: LOAD *) und einen Zeiger auf den Batch (Typ: BATCHDEF *).

Rückgabewert

Die Funktion gibt einen Wert zurück, der zu dem zu bildenden Batch hinzugefügt werden soll (Typ: double).

Im folgenden Beispiel für eine Batch-Freigabefunktion wird als Basis die Menge im Fertigungsauftrag verwendet:


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

Installieren der anwenderdefinierten Funktion

Um Ihre anwenderdefinierte Freigabefunktion für die Reihenfolgeplanung verfügbar zu machen, müssen Sie sie mit der Funktion ucini1 installieren, indem Sie die Funktion sedfbq aufrufen. Diese Funktion hat zwei Argumente in der folgenden Reihenfolge:

  • Die Nummer der Batch-Freigaberegel, für die Sie das anwenderdefinierte Programm geschrieben haben.
  • Die Adresse Ihrer Batch-Freigabefunktion.

So installieren Sie die obige Beispielregel "brrl" an Regelposition 39:


sedfbq (39, brrl);