[MegLookup MWI]
Steht im APPLFRAME-Dialog beim Dialog selbst. Für jede Dateikopplung muss eine eigene Sektion eingetragen werden. Über den Namen, im Beispiel "MWI", kann das Lesen und Schreiben des Satzes bei entsprechenden Feldeingaben veranlasst werden (s. FetchRecord in MegField-Sektion) und bei der Layoutbeschreibung für die Pickliste kann auf die entsprechende Datei verwiesen werden (siehe auch [MegLookup STATISTIK]).
Alle benutzten Dateikoppelungen müssen in der Datei 78 definiert sein.
Mehrere Koppelungen auf dieselbe Datei sind zulässig.
Die Buffer-Angabe und der Koppelungsname müssen dann unterschiedlich sein, z.B. TEX1, TEX2 und Buffer 46 und 460 für 2 Koppelungen auf die Textedatei.
Hinweis
Eine MegLookUp-Koppelung ohne "Modify" (also eine ReadOnly-Kopplung) darf auch unvollständig sein, d.h. es dürfen Koppelfelder unqualifiziert sein. Die Koppelung liefert dann den ersten treffenden Datensatz zu den definierten Koppelfeldern. Lücken in Koppelfeldern sind allerdings nicht zulässig, also z.B. Feld 1 und 3 des Zugriffspfads werden gekoppelt, aber Feld 2 nicht.
Buffer = 27;
Dateipufferindex für die Daten aus dieser Dateikoppelung. Mit dieser Nummer wird in den GuiBuffer-Sektionen auf die Felder der Datei zugegriffen. Im Beispiel reicht dort die Angabe "DDref = 27, Feldnummer", da Datei-Index und Buffer-Angabe übereinstimmen. Bei Abweichungen muss dort z.B. für Koppelung auf eine 2. Textdatei wie im obigen Beispiel "DDref = 46, Feldnummer" und "Buffer=460" stehen
CorrectFieldValues = Feldnummer(Liste der zulässigen Werte)
CorrectFieldValues = 1(" ","E","A")
Mit dieser Angabe kann der Feldinhalt aus dem Koppelsatz auf die angegebenen Werte aus der Liste eingeschränkt werden.
Das obige Beispiel aus "211 Lagerstamm bearbeiten” für die Kopplung vom Lagerstamm in den Teilestamm lässt für das Feld "1” (Teilestatus) im Teilestamm nur die Werte " ", "E” und "A” zu. Ansonsten wird eine Fehlermeldung ausgegeben (siehe Einstellung "WrongValueMSG” in dieser Sektion). Im Modus Ändern wird ein solcher falscher Wert aber immer akzeptiert.
Mit der Einstellung "CreateWithWrongValue” in dieser Sektion kann entschieden werden, ob ein falscher Status beim Neuanlegen eines Stammsatzes akzeptiert werden soll.
CreateIfMissing = No|Yes|Q; (Default: No)
Mit der Einstellung „Yes“ oder „Q“ (bei „Q“ erst nach Bestätigung durch den Anwender) wird ein fehlender LookUp-Datensatz aus dem Vorbelegungsdatensatz unter Berücksichtigung der Stammdaten-Vorbelegungsangaben und Koppelfelder automatisch angelegt.
Die Anlage erfogt auch dann, wenn z.B. über eine FetchRecord-Angabe der LookUp-Datensatz dynamisch aufgrund von Feldänderungen gelesen werden muss.
Voraussetzung für die Neuanlage ist die „Required“-Angabe in der [MegLookup …]-Sektion.
Der neue LookUp-Datensatz wird erst bei Bestätigung der Stammdaten-Änderung mit „OK“ geschrieben.
CreateWithWrongValue = No; (Default)
Mit der Einstellung „Yes” können unzulässige Werte aus der Einstellung „CorrectFieldValues” in dieser Sektion akzeptiert werden. Im Modus Erfassen wird der Satz dennoch geschrieben. Mit „No” wird die Anlage eines neuen Satzes mit einer Fehlermeldung abgelehnt.
Current.....
Ausnahme: "CurrentTimeOnCreate" ist nicht erlaubt.
DefaultValues = Feld 1 aus dieser Kopplung, Zielpuffer 1, Zielfeld 1, ...
Es können Werte aus einem Datensatz als Vorbelegung für andere Puffer verwendet werden, sofern ein passender Datensatz tatsächlich gefunden wurde. Ansonsten findet die Vorbelegung nur statt, wenn zusätzlich "DefaultValuesAlways" angegeben wurde. Die Feldangaben nehmen Bezug auf das DataDictionary. Als Zielpufferangaben dürfen nur die Buffer-Angaben aus anderen MegLookup-Sektionen bzw. aus der MegRoot-Sektion verwendet werden. Wird 0 als Quellfeld angegeben, führt das zu einer Initialisierung (LowValue) des jeweiligen Zielfeldes (formatgerecht).
DefaultValuesAlways = Yes (Default: No)
Mit dieser Einstellung wird erreicht, dass eine Übernahme von Daten aus der MegLookup-Kopplung laut "DefaultValues" auch dann ausgeführt wird, wenn kein passender Satz in der Koppeldatei gefunden wurde. Letztlich werden dann Blanks in die bei "DefaultValues" angegebenen Felder übertragen.
Delete = No; (Default)
Mögliche Eingaben:
|
Yes
|
Der Satz aus der Koppeldatei wird zusammen mit dem Leitsatz gelöscht, wenn über das Menü BEARBEITEN - LÖSCHEN gelöscht wird.
|
|
Q
|
Es wird gefragt, ob der Satz mitgelöscht werden soll.
|
|
No
|
Der Satz bleibt erhalten (Default).
|
EmptyDefault = Yes
Beim Vorbelegen im Modus Erfassen werden alle Felder statt aus dem Vorbelegungssatz mit Leerzeichen vorbelegt (siehe zum Beispiel 511 Produktionsmittel / Personen bearbeiten).
IgnoreOnNullKeyDetection = 1; (erstes Pfadfeld, nicht die Feldnummer !)
Standardmäßig werden Sätze mit Low in allen Schlüsselfeldern nicht verarbeitet (z.B. keinen Lieferantenstamm lesen bei Wert SPACE). Will man diesen Standard noch verschärfen, das heißt auch wenn einzelne Schlüsselfelder nicht LOW sind, wird kein Satz gelesen, müssen diese uninteressanten Felder aufgeführt werden. Im Beispiel darf das erste Feld des Pfads von LOW verschieden sein, trotzdem wird bei Feldinhalt LOW für Feld 1 des Pfads kein Satz gelesen (z.B. bei Koppelungen mit Textdatei 35 mit Konstante als erstem Feld).
LowFieldsOnCreate = 3, 6, 8
Liste von Feldern, die im Erfassen mit LOW vorbelegt werden. Numerische Felder, Datums- und Zeitangaben mit 0, alphanumerische Felder mit Leerzeichen (siehe Bemerkungen bei DefaultFieldValue !).
Hinweis: Beim Lagerstamm immerhalb von "111 Teilestamm bearbeiten" für die Felder Sicherheitsbestand und Meldebestand bitte auch die INI-Einstellung SBuMB= No in Sektion [PDV111] beachten. Bei Einstellung Yes wird im Lager immer aus dem Teilestamm vorbelegt.
LowKeyFields = Schlüsselfeld 1, Schlüsselfeld 2, ...
Liste von Schlüsselfeldern (Feldnummern aus DataDictionary verwenden), die auch "leer" (je nach Format) sein dürfen, also nicht eingegeben und verändert werden müssen. Ohne die Angabe müssen alle Schlüsselfelder des benutzten Zugriffspfads versorgt sein. Dies gilt nur für Dateien, in denen Änderungen durchgeführt werden (Modify = Yes in dieser Sektion).
Modify = Yes
In der Koppeldatei können Veränderungen vorgenommen werden, z.B. Materialdaten aus Datei 27 in "111 Teilestamm bearbeiten".
Bei "No" (Default) wird in der Koppeldatei nichts verändert, die Daten werden nur zur Anzeige benutzt. Beispiel Lieferantenbezeichnung in "111 Teilestamm bearbeiten"
ModifyDefault = Yes
Default, kann fehlen. Bei "No" darf der Vorbelegungssatz für die entsprechende Datei nicht verändert werden, z.B. beim Lagerstamm in "111 Teilestamm bearbeiten".
Nur für Dateien sinnvoll, für die MODIFY=YES eingetragen ist (siehe oben).
NotFoundMSG = MKEY(F111567)
Statt der allgemeinen Fehlermeldung bei fehlender Koppelung kann auch die hier angegebene Meldung ausgegeben werden. Entweder wird wie im Beispiel über einen Schlüssel auf die Meldungsdatei verwiesen oder der Text wird direkt angegeben, z.B. "NotFoundKey = Achtung: Lieferantenstamm ist noch nicht angelegt"
Parent = TSS,1
Verweis auf Leitdatei, die in einer MegLookup oder der MegRoot-Sektion definiert sein muss. Der zweite Parameter ist die Koppelnummer, da für eine Datei auch mehrere Koppelungen existieren können. Die Nummer 1 kann auch fehlen (Default). Die Koppelungen sind in der Datei VIEWPAR.DAT abgelegt. Dort steht welche Felder aus der Leitdatei in die Key-Felder der Koppeldatei kopiert werden
Path = 1
Über diesen Pfad erfolgt Zugriff auf Koppeldatei
Required = Yes
Required = Warning
Required = No
Required = Force
Koppelsatz muss da sein (Y), sonst erfolgt eine Fehlermeldung im Modus „Ändern” und „Erfassen“. Nur Leerzeichen als Teile des Schlüssels sind zulässig. Die Prüfung auf leere Schlüsselfelder kann mit „IgnoreOnNullKeyDetection“ beeinflusst werden.
Koppelsatz kann da sein (W), dann wird eine Meldung ausgegeben. Nur Leerzeichen werden toleriert (siehe oben).
Koppelsatz kann fehlen (N), es erfolgt keine Meldung.
Koppelsatz muss immer da sein (F) – leere Schlüsselfelder werden nicht akzeptiert. Das heißt, es wird auf jeden Fall ein Koppelsatz erwartet und ein Datensatz kann nicht gespeichert werden, ohne die Koppelung zu erfüllen. Insbesondere als Multi-Lookup mit Auswahlliste (siehe [MegLookup MultiLookup]) ist der Einsatz einer Zwangskopplung sinnvoll.
RequiredCond = Bedingung1, Bedingung2,…
Angabe von (ein oder mehreren) Bedingungen, die alle erfüllt sein müssen, damit die Required-Angabe greift. Damit können zum Beispiel Zwangskoppelungen abhängig von Feldinhalten des Parent-Datensatzes realisiert werden.
Es können beliebige infra-Makros und Konstanten verwendet werden.
Eine Bedingung besteht aus 2 Makroausdrücken/Konstanten und einem Vergleichsoperator. Der 2.Ausdruck einer Bedingung vom Typ „==“ (ist gleich) oder „!=“ (ist ungleich) kann dabei eine Auswahl erlaubter bzw. nicht erlaubter Werte in runden Klammern und durch Komma getrennt enthalten.
Erlaubte Vergleichsoperatoren:
== Prüfung auf Gleichheit
!= Prüfung auf Ungleichheit
< Prüfung auf "kleiner als"
> Prüfung auf "größer als"
<= Prüfung auf "kleiner oder gleich"
>= Prüfung auf "größer oder gleich"
Beispiel:
Ein Koppelsatz ist nur erforderlich, wenn das jeweilige Teil kein Kaufteil und kein Pseudoteil ist.
RequiredCond=(LBUF2(6,53)!="1",LBUF2(6,1)!="P")
Special = ...
Special-Einträge dürfen nur von geschulten Anwendern nach Rücksprache mit dem Softwarelieferanten geändert werden. Für jede Special-Angabe wird eine spezielle Sonderbehandlung durchgeführt.
Die Sonderbehandlungen sind im Einstellungskapitel des jeweiligen Programms beschrieben.
Bei Fragen zu nichtdokumentierten Einträgen bitte den Steckbrief MEGAS.PDF studieren und im Zweifelsfall den Support kontaktieren.
Table = 27
Datei-Index für die gekoppelte Datei, hier die Teilestammdatei TSS-MWI.DAT
UnlockedFields = Feldnummer 1 laut DataDictionary, Feldnummer 2 usw.
Falls Stammsätze vor Änderungen durch "andere Mitarbeiter" geschützt sind, (siehe Eintrag "LockField" in der Sektion [MegRoot TSS]), können einige Felder dennoch eingegeben werden. Die Feldnummer entspricht der Nummer aus dem DataDictionary und kann über Menü INFOSYSTEM - DATANBANKSTATUS ermittelt werden. Felder, die zur Leitdatei gehören, müssen in der entsprechenden MegRoot-Sektion angegeben werden.
WrongValueMSG = Meldungstext auch über MKEY-Makro
WrongValueMSG = MKEY(FMEG053) (Default)
Der angegebene Meldungstext wird ausgegeben, wenn unzulässige Werte aus der Einstellung "CorrectFieldValues” in dieser Sektion entdeckt werden. Der Meldungstext kann direkt als Text, z.B. "Unzulässiger Wert '%1' im Teilestatus (Feld '%2' im Teilestamm)”, oder über das Makro MKEY, z.B. "MKEY(FMEG053)” ausgegeben werden. Beim Makro "MKEY” muss als Parameter der Schlüssel aus der Meldungsdatei mitgegeben werden.
Als Default wird die Meldung mit dem Schlüssel "FMEG053” verwendet. Für die Ausgabe des Textes stehen die beiden Parameter "%1” (falscher Wert) und "%2” (Feldnummer aus Koppelsatz) zur Verfügung.
