" [ * 1 4 A B C D E F G H I J K L M N O P R S T U V W X Z

Mehrere MEMTAB Skripte / Tabellen in einem

  Unkategorisiert

Mehrere MEMTAB Skripte / Tabellen in einem

In diesem Beispiel z.B. mit 3 Tabellen.

links oben befindet sich eine MEMTAB, die alle WA-Belege zu einer Vorgangsnummer anzeigt (Also alle Angebote, Aufträge, Lieferscheine, usw…) (Rahmen 048)

links unten befindet sich eine MEMTAB mit sämtlichen WE Fertigungsaufträgen, die zu dem Auftrag des Vorganges gefunden wurden. (Rahmen 931)

rechts befindet sich eine MEMTAB die alle Positionen zu dem gewählten BelegIndex (sei es ob in der links oberen oder der unteren Tabelle) lädt und anzeigt. (Rahmen 932)

  1. Um eine zweite Tabelle einzubinden, muss hierzu der Rahmen 93X auf der Maske eingebunden werden. (X geht von 1-9).
  2. Anschließend muss die Verknüpfung des Rahmens zur MEMTAB hergestellt werden, indem man in dem Text des Rahmens die MEMTAB-ID angibt (Eine zusätzliche Beschreibung ist auch möglich). Dies geschieht wie folgt: Text = IDXXXX:Beschreibung (ERST die Memtab-ID und dann die Bezeichnung für die Tabelle!). Die Haupttabelle (048) ist mit dem aktuellem MEMTAB-skript selber veknüpft (in diesem Beispiel die ID0069).
    • Beispiel:
  3. Um beispielsweise alle Positionen zu einem Beleg anzeigen zu lassen muss die Positions- Memtab zuerst gefüllt werden und innerhalb der Positions-memtab erfolgt die Einschränkung der Datenquelle anhand des Aufrufparameters (MTR_16_255, in diesem Fall also POS_0_11=MTR_16_11), um nur die Positionen anzuzeigen, die zum Beleg gehören.

 

Zugriff auf ein Tabellenfeld aus einem anderen Rahmen

Besitzt man eine MEMTAB mit mehreren Tabellen und benötigt bspw. Für eine Belegposition- MEMTAB den Index aus einer anderen MEMTAB, so erfolgt der Zugriff auf die markierte Zeile mit MTXXX_POS_LEN

XXX = Rahmen-Nummer

POS = Offset aus der MEMTAB

LEN = Länge des Feldes

Beispiel (rot hervorgehoben):

Im folgenden Beispiel wird an die MEMTAB ID0071 der Beleg-Index des Fertigungsauftrages übergeben, sobald ein Anwender in der Tabelle 931 auf einen Datensatz klickt.

Mithilfe von MT931_0_11 wird dann also der Beleg-Index als Aufrufparameter (MTR_16_255) an das andere MEMTAB-Skript für die Positionen (ID0071) übergeben.

 

Mehrere Rahmen gleichzeitig aktualisieren

In manchen Fällen kann es vorkommen, dass man als Anwender zu einer Position bspw. nicht nur die Chargen einsehen möchte, sondern zusätzlich auch noch die Artikelstammdaten einsehen möchte. Vorher konnte mit dem Feld MTR_787_3 nur eine einzige Tabelle aktualisieren. Daher hätte man entweder nur die Chargenstammdaten oder die Artikelstammdaten laden können, sobald man den Fokus auf eine Tabellenzeile setzt. Später kam dann das Feld MTR_790_50 hinzu (welches ich grundsätzlich immer präferieren würde).

Hiermit können bei einem Klick auf die Position nicht nur alle Tabellenrahmen gleichzeitig aufgelistet werden, die anschließend aktualisiert werden sollen (mit Semikolon getrennt), sondern auch nur ein einzelner Tabellenrahmen kann aktualisiert werden.

Die Eingabe erfolgt also als „931; 932; 933“ wenn mehrere Rahmen gleichzeitig aktualisiert werden müssen oder „932“, wenn nur ein einziger Rahmen aktualisiert werden soll.

 

Was tun, wenn das Laden zu lange dauert?

Hierzu gibt’s noch einen anderen Beitrag 🙂

https://wiki.softengine.de/28664

LEAVE A COMMENT