Einsprungpunkte > Modul Lager > Standardskript MTOLINKLIB 

MTOLINK_PRP: Auswahl der Aufträge oder Hinzufügen von Kriterien

Mit diesem Eingabepunkt können bestimmte Ressourcenanforderungen für die Zuweisungsberechnung ignoriert oder individuelle Zuweisungskriterien in Kombination mit dem Eingabepunkt MTOLINK_RULES untersucht werden.

Kontext und Funktionsmodus

Bei der Belegung der Tabellen (Speicher) Aufträge und Ressourcen kann die Variable GPE auf den Wert 1 gesetzt und so der aktuelle Auftrag ignoriert werden (in der Klasse [F:ORDB]). Weiterhin können bis zu drei Benutzerfelder ausgewertet werden (max. 50-stellige Zeichenketten), wofür der Wert von MTOLINK_PE_MODE zu bestimmen ist:

- MTOLINK_PE_MODE = "D" für Anforderungen:

TDEM_USRFLD1(NDEM)
TDEM_USRFLD2(NDEM)
TDEM_USRFLD3(NDEM)

- MTOLINK_PE_MODE = "R" für Ressourcen:

TRESS_USRFLD2(NRESS)
TRESS_USRFLD2(NRESS)
TRESS_USRFLD3(NRESS)

Alle von der Berechnung betroffenen Aufträge werden in den Speicher geladen. Aus Performancegründen ist es von zentraler Bedeutung, alle zu berücksichtigenden Elemente hier zu speichern.
In diesem Zusammenhang wird empfohlen, die Benutzerfelder direkt in die Tabelle ORDERS hinzuzufügen, um die Performance zu optimieren.

In nachstehendem Codebeispiel wird das Benutzerfeld XUSRFLD in die Speichervariable übertragen.

MTOLINK_RULES : Hinzufügen einer Regel.

Mit diesem Eingabepunkt können in Kombination mit dem Eingabepunkt MTOLINK_PRP dem Berechnungsalgorithmus für die Zuweisungen Zusatzbedingungen (Regeln) hinzugefügt werden.

Kontext und Funktionsmodus

Zu Beginn der Zuweisungsberechnung, werden die Ressourcenpriorisierungsregeln (siehe Zuweisungsregeln) mit WUSRFLT(I_RULE)=1 in den Speicher geladen.

Unmittelbar davor wird der Eingabepunkt MTOLINK_RULES mit MTOLINK_PE_MODE = 'ACT' ein erstes Mal im Modus "Aktivierung" aufgerufen. Mit dem Eingabepunkt können folgende Informationen an die Berechnung weitergegeben werden:

- 1 bis 3 individuelle und prioritäre Zusatzregeln. Hierfür ist WUSRFLT(WNBRULE) mit dem Wert 2 zu belegen und der Nummerkreis für Regeln (WNBRULE) zu inkrementieren.

- Verwaltung von individuellen Bedingungen, die zu den Parametern für die Standardregeln hinzugefügt werden.

Dann wird der Eingabepunkt MTOLINK_RULES ein zweites Mal im Modus "Anwendung" aufgerufen mit:

- MTOLINK_PE_MODE = 'APP' bei individuellen Regeln (sofern WUSRFLT(I_RULE)=2)

- MTOLINK_PE_MODE = 'BPP' bei beliebigen individuellen oder Standardregeln (unabhängig vom Wert von WUSRFLT(I_RULE))

Um auf eine Inkompatibilität zwischen der aktuellen Anforderung (Variablen TDEM_...(I)) und den aktuellen Ressourcen (Variablen TRESS_...(K)) für die aktuelle Regel (W...(I_RULE)) hinzuweisen, ist GPE auf den Wert 1 zu setzen.

Hinweis: R_USRFLD1..3 = TDEM_USRFLD1..3 (I)

Verwendungsbeispiel:

#----------------------------------------------------------------------------------
$ACTION

When "MTOLINK_PRP" : Gosub MTOLINK_PRP
When "MTOLINK_RULES" : Gosub MTOLINK_RULES
Endcase
Return

#----------------------------------------------------------------------------------
# Anstoß des Eingabepunktes beim Laden von Anforderungen und Ressourcen
# Entweder Speicherung der Benutzerdaten (für spätere Anwendung)
# oder Auslassen eines Auftrags (Rückgabe GPE = 1)
$MTOLINK_PRP
# In diesem Beispiel speichern wir XUSRFLD in Benutzerfelder
GPE = 0
Case MTOLINK_PE_MODE
    When "D": TDEM_USRFLD1(NDEM) = [F:ORDB]XUSRFLD
When "R": TRESS_USRFLD1(NRESS) = [F:ORDB]XUSRFLD
Endcase
Return


#----------------------------------------------------------------------------------
# Hier verwenden wir die mit dem Eingabepunkt MTOLINK_PRP gespeicherten Benutzerfelder
# Zuweisungen werden nur für kompatible Benutzerfelder generiert.

$MTOLINK_RULES
Case MTOLINK_PE_MODE
    When "ACT": # Regelaktivierung
WUSRFLT(WNBRULE)    = 2
WNBRULE += 1
When "APP": #Regelaktivierung
# Entsprechende Benutzerfelder
GPE = 0
If TRESS_USRFLD1(K) <> R_USRFLD1 : GPE = 1 : Endif
Endcase
Return

BEFMLKCRE: Vor der Anlage einer Zuweisung in der Tabelle MTOLINK

Mit diesem Eingabepunkt kann vor der Anlage eines neuen Zuweisungsdatensatzes in der Tabelle MTOLINK gearbeitet werden.

Kontext und Funktionsmodus

Maskensteuerung

Eine Maskensteuerung ist aktiv.

Um die Maskensteuerung im Problemfall abzubrechen, muss die Variable GOK auf den Wert 0 gesetzt werden.

Verfügbare Dateiklassen und Masken

Bei Aufruf des Eingabepunkts wird der Buffer [F:MLK1] geladen.

Die Maskenklasse [M:MLIK]wird mit den Aufrufparametern in der Verarbeitung MTOLINKLIB geladen:

- [M:MLIK]STOFCY und [M:MLIK]ITMREF gibt den betroffenen Artikel-Standort an

- [M:MLIK]DEMTYP, DEMNUM, DEMLIN, DEMSEQ, DWIPTYP gibt die aktuelle betroffene Anfrage an

- [M:MLIK]RESSTYP, RESSNUM, RESSLIN, RESSSEQ, RWIPTYP gibt die aktuelle betroffene Ressource an

- [M:MLIK]MAJCOD gibt den Verarbeitungstyp an

C

Neue Zuweisung anlegen

M

Zuweisung ändern

A

Zuweisung löschen

P

Neue generierte Zuweisungen nach der Zuweisungsregel des Artikel-Standorts vorschlagen

Z

Zurücksetzen der Zuweisungen einer Ressource oder einer Anfrage

E

Eingabe einer Ressource

Geöffnete Tabellen

In nachstehender Tabelle weist das Kennzeichen "Wichtiger Inhalt" auf Inhalte hin, die im Kontext kohärent sind.

Tabelle

Abkürzung

Wichtiger Inhalt

Tabellentitel

MTOLINK

MLK1

Ja

Zuweisungen

ORDERS

ORDB

Nein

Lfd. Vorgänge

PARMTO

PTO

Ja, wenn [M:MLIK]MAJCOD="P" oder "E"

Zuweisungsregeln

BEFMLKUPD: Vor der Änderung einer Zuweisung in der Tabelle MTOLINK

Mit diesem Eingabepunkt kann vor der Änderung eines Zuweisungsdatensatzes in der Tabelle MTOLINK gearbeitet werden.

Kontext und Funktionsmodus

Maskensteuerung

Eine Maskensteuerung ist aktiv.

Um die Maskensteuerung im Problemfall abzubrechen, muss die Variable GOK auf den Wert 0 gesetzt werden.

Verfügbare Dateiklassen und Masken

Bei Aufruf des Eingabepunkts wird der Buffer [F:MLK1] geladen. Der Aufruf erfolgt innerhalb einer Schleife For [MLK1].

Die Maskenklasse [M:MLIK]wird mit den Aufrufparametern in der Verarbeitung MTOLINKLIB geladen:

- [M:MLIK]STOFCY und [M:MLIK]ITMREF gibt den betroffenen Artikel-Standort an

- [M:MLIK]DEMTYP, DEMNUM, DEMLIN, DEMSEQ, DWIPTYP gibt die aktuelle betroffene Anfrage an

- [M:MLIK]RESSTYP, RESSNUM, RESSLIN, RESSSEQ, RWIPTYP gibt die aktuelle betroffene Ressource an

- [M:MLIK]MAJCOD gibt den Verarbeitungstyp an

C

Neue Zuweisung anlegen

M

Zuweisung ändern

A

Zuweisung löschen

P

Neue generierte Zuweisungen nach der Zuweisungsregel des Artikel-Standorts vorschlagen

Z

Zurücksetzen der Zuweisungen einer Ressource oder einer Anfrage

E

Eingabe einer Ressource

Geöffnete Tabellen

In nachstehender Tabelle weist das Kennzeichen "Wichtiger Inhalt" auf Inhalte hin, die im Kontext kohärent sind.

Tabelle

Abkürzung

Wichtiger Inhalt

Tabellentitel

MTOLINK

MLK1

Ja

Zuweisungen

ORDERS

ORDB

Nein

Lfd. Vorgänge

PARMTO

PTO

Ja, wenn [M:MLIK]MAJCOD="P" oder "E"

Zuweisungsregeln

BEFMLKDEL: Vor dem Löschen einer Zuweisung in der Tabelle MTOLINK

Mit diesem Eingabepunkt kann vor dem Löschen eines Zuweisungsdatensatzes in der Tabelle MTOLINK gearbeitet werden.

Kontext und Funktionsmodus

Maskensteuerung

Eine Maskensteuerung ist aktiv.

Um die Maskensteuerung im Problemfall abzubrechen, muss die Variable GOK auf den Wert 0 gesetzt werden.

Verfügbare Dateiklassen und Masken

Bei Aufruf des Eingabepunkts wird der Buffer [F:MLK1] geladen. Der Aufruf erfolgt innerhalb einer Schleife For [MLK1].

Die Maskenklasse [M:MLIK]wird mit den Aufrufparametern in der Verarbeitung MTOLINKLIB geladen:

- [M:MLIK]STOFCY und [M:MLIK]ITMREF gibt den betroffenen Artikel-Standort an

- [M:MLIK]DEMTYP, DEMNUM, DEMLIN, DEMSEQ, DWIPTYP gibt die aktuelle betroffene Anfrage an

- [M:MLIK]RESSTYP, RESSNUM, RESSLIN, RESSSEQ, RWIPTYP gibt die aktuelle betroffene Ressource an

- [M:MLIK]MAJCOD gibt den Verarbeitungstyp an

C

Neue Zuweisung anlegen

M

Zuweisung ändern

A

Zuweisung löschen

P

Neue generierte Zuweisungen nach der Zuweisungsregel des Artikel-Standorts vorschlagen

Z

Zurücksetzen der Zuweisungen einer Ressource oder einer Anfrage

E

Eingabe einer Ressource

Geöffnete Tabellen

In nachstehender Tabelle weist das Kennzeichen "Wichtiger Inhalt" auf Inhalte hin, die im Kontext kohärent sind.

Tabelle

Abkürzung

Wichtiger Inhalt

Tabellentitel

MTOLINK

MLK1

Ja

Zuweisungen

ORDERS

ORDB

Nein

Lfd. Vorgänge

PARMTO

PTO

Ja, wenn [M:MLIK]MAJCOD="P" oder "E"

Zuweisungsregeln

MTOLINK_ENT2: Zuweisung der Anfragen einer Ressource

Dieser Eingabepunkt ermöglicht bei der Eingabe die Verwendung einer Ressource (Wareneingang oder Fertigungserklärung) für die spezifische Verwaltung der Zuweisung der Anfragen der Ressource.

Kontext und Funktionsmodus

Maskensteuerung

Eine Maskensteuerung ist aktiv.

Um die Maskensteuerung im Problemfall abzubrechen, muss die Variable GOK auf den Wert 0 gesetzt werden.

Verfügbare Dateiklassen und Masken

Die Maskenklasse [M:MLIK] wird mit den Aufrufparametern in der Verarbeitung MTOLINKLIB geladen:

- [M:MLIK]STOFCY und [M:MLIK]ITMREF gibt den betroffenen Artikel-Standort an

- [M:MLIK]RESSTYP, RESSNUM, RESSLIN, RESSSEQ, RWIPTYP gibt die aktuelle betroffene Ressource an

- [M:MLIK]LIKQTY gibt in der Bestandseinheit die Menge der Eingaberessource an

- [M:MLIK]MAJCOD gibt den Verarbeitungstyp an und hat den Wert "E" für Eingabe der Ressource

- [M:MLIK]TRTNAM hat den Wert "MTKMTOLIB" für eine Fertigungserklärung, "PURMTOLIB" für einen Wareneingang

Verwendung

Eine Tabelle der NDEM-Anfragen (TDEM_OFF, TDEM_TYP, TDEM_NUM, TDEM_MTO, TDEM_DAT) der Eingaberessource wird erstellt und sortiert nach TDEM_OFF:

TDEM_TYP,TDEM_NUM,TDEM_DAT: Typ Nummer und Enddatum der aktuellen Anfrage

TDEM_MTO: zugewiesene Menge zwischen der Anfrage und der Ressource

TDEM_OFF: Sortierreihenfolge für die Anfrage, berechnet nach den Priorisierungsparametern der Anfragen der Zuweisungsregel

Im Standard gilt folgende Verarbeitung:

WREQQTY = [M:MLIK]LIKQTY: WCOVQTY = 0

For I=0 to NDEM-1

Lesen der aktuellen Anfrage(I)

Gosub FILL_LINKD: # Zuweisung von [M:MLIK]DEMTYP, DEMNUM, DEMLIN, DEMSEQ, DWIPSTA, DWIPTYP nach aktuellem Vorgang

[M:MLIK]LIKQTY = min(TDEM_MTO(I), WREQQTY-WCOVQTY)

Gosub MAJ_MTO_ALLOCATION From =[M:MLIK]TRTNAM: # Zuweisung basierend auf der Zuordnung

WCOVQTY += [M:MLIK]LIKQTY

Erh. aktuelle Anfrage(I) mit zugewiesener Menge -= [M:MLIK]LIKQTY

If [M:MLIK]LIKQTY = TDEM_MTO(I)

Gosub MTOLINK_DEL: # Löschen der Zuweisung zwischen der Ressource und der Anfrage(I)

Else

[M:MLIK]LIKQTY = TDEM_MTO(I) - [M:MLIK]LIKQTY

Gosub MTOLINK_MOD: # Ändern der Zuweisung zwischen der Ressource und der Anfrage(I)

Endif

If WCOVQTY >= WREQQTY: break: Endif

Next I

Erh. aktuelle Ressource mit zugewiesener Menge -= WREQQTY

Positionierung der globalen Variable auf den Wert 1 um diese Standardbearbeitung zu verhindern

Geöffnete Tabellen

In nachstehender Tabelle weist das Kennzeichen "Wichtiger Inhalt" auf Inhalte hin, die im Kontext kohärent sind.

Tabelle

Abkürzung

Wichtiger Inhalt

Tabellentitel

MTOLINK

MLK1

Nein

Zuweisungen

ORDERS

ORDB

Nein

Lfd. Vorgänge

ITMFACILIT

ITF

Ja

Artikel-Standorte

PARMTO

PTO

Ja

Zuweisungsregeln