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.
Mit diesem Eingabepunkt können in Kombination mit dem Eingabepunkt MTOLINK_PRP dem Berechnungsalgorithmus für die Zuweisungen Zusatzbedingungen (Regeln) hinzugefügt werden.
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)
#----------------------------------------------------------------------------------
$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
Mit diesem Eingabepunkt kann vor der Anlage eines neuen Zuweisungsdatensatzes in der Tabelle MTOLINK gearbeitet werden.
Eine Maskensteuerung ist aktiv.
Um die Maskensteuerung im Problemfall abzubrechen, muss die Variable GOK auf den Wert 0 gesetzt werden.
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 |
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 |
Mit diesem Eingabepunkt kann vor der Änderung eines Zuweisungsdatensatzes in der Tabelle MTOLINK gearbeitet werden.
Eine Maskensteuerung ist aktiv.
Um die Maskensteuerung im Problemfall abzubrechen, muss die Variable GOK auf den Wert 0 gesetzt werden.
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 |
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 |
Mit diesem Eingabepunkt kann vor dem Löschen eines Zuweisungsdatensatzes in der Tabelle MTOLINK gearbeitet werden.
Eine Maskensteuerung ist aktiv.
Um die Maskensteuerung im Problemfall abzubrechen, muss die Variable GOK auf den Wert 0 gesetzt werden.
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 |
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 |
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.
Eine Maskensteuerung ist aktiv.
Um die Maskensteuerung im Problemfall abzubrechen, muss die Variable GOK auf den Wert 0 gesetzt werden.
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
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
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 |