PMS32 Online- Hilfereferenz
Artikelstamm
Bitte füllen Sie möglichst das Feld mit einem eindeutigen Wert, damit Sie bei einer Auswahl (Lookup) die Information deutlich indentifizieren können. Oder benutzen Sie F2, um einen Schlüssel vom System generieren zu lassen.
Dieses Candidate Feld wird entweder automatisch bei einer Neuanlage aus den Nummernkreisen (X12) mit einem eindeutigen Begriff gefüllt oder, wie in der Vorgangsverwaltung, kann mit F2 ein neuer Schlüssel (Nummer) abgerufen werden. Sollten Sie in diesem Feld eine Eingabe vornehmen können, so achten Sie bitte darauf, dass der Begriff eindeutig ist, damit Sie im Falle einer Auswahl (Lookup) auf dieser Tabelle den korrekten Datensatz indentifizieren können.
Ausfuhrg.-pflicht eingeben.
Ein Artikel kann als ausfuhrgenehmigungspflichtig gekennzeichnet werden.
Bestellbasis eingeben.
In diesem Pulldown-Menü haben Sie die Auswahl zwischen den folgenden vier Bestellarten:
Nach Bedarf:
Die in der Dispo ermittelten Bedarfsmengen werden ermittelt. Davon wird der verfügbare Lagerbestand abgezogen. Ist das Ergebnis größer als Null, wird es in die Lagermodullauf-Liste geschrieben. Ist es kleiner als der "Vorrat minimal", wird die Bestellmenge entsprechend erhöht.
Feste Bestellmenge:
Von der ermittelten Bedarfsmenge wird der verfügbare Lagerbestand abgezogen. Ist das Ergebnis größer als Null, wird es mit dem Eintrag in "Feste Bestellmenge" verglichen. Ist der Eintrag größer, wird er in die Lagermodullauf-Liste geschrieben, ist das Differenzergebnis größer, wird dieses geschrieben. Ist es kleiner als der "Vorrat minimal", wird die Bestellmenge entsprechend erhöht.
Wirtschaftliche Bestellmenge:
Von der ermittelten Bedarfsmenge wird der verfügbare Lagerbestand abgezogen. Ist das Ergebnis größer als Null, wird es mit dem Eintrag in "Wirtschaftliche Bestellmenge" verglichen. Ist der Eintrag größer, wird aus wirtschaftlicher Bestellmenge und errechnetem Bedarf ein Mittelwert gebildet, dieser wird in die Lagermodullauf-Liste geschrieben und im Artikelstamm aktualisiert. Ist er kleiner als der "Vorrat minimal", wird die Bestellmenge entsprechend erhöht.
Maximaler Lagerbestand:
Von der ermittelten Bedarfsmenge wird der verfügbare Lagerbestand abgezogen. Ist das Ergebnis größer als Null, wird es mit dem Eintrag in "Maximaler Lagerbestand" verglichen. Ist die Differenz aus "Vorrat maximal" und verfügbarem Lagerbestand größer, wird sie in die Lagermodullauf-Liste geschrieben, sonst der ermittelte Bedarf. Ist er kleiner als der "Vorrat minimal", wird die Bestellmenge entsprechend erhöht.
Bestellbezug eingeben.
Nackkommastellen, auf die in einer Bestellung gerundet wird. Bei 0 wird nicht gerundet.
Bestellnummer oder Artikelnummer des Lieferanten.
Bestellnummer oder Artikelnummer des Lieferanten. Diese Nummer wird in Bestellungen benötigt und muss vom Lieferanten identifiziert werden können. Bei der Eingabe deshalb bitte auf Korrektheit achten. Im Artikelstamm wird dieses Feld zum Preisupdate der EK-Daten des Lieferanten benötigt. Wird die Bestellnummer dort geändert, so kann eventuell ein externes System den Artikel nicht mehr finden und legt ihn unter Umständen nochmals an.
Tragen Sie hier die mögliche Betriebsstunden von Verschleissteilen in Stunden ein. Die Länge der Eingabe ist auf 6 Stellen begrenzt und lässt logischerweise nur nummerische Angaben zu.
Langtextfeld. Nähere Beschreibung. Hier kann mit F3 - Auswahl aus den Textbausteinen (C40) ein vorgegebener Text ausgewählt werden.
Langtextfeld. Nähere Beschreibung. Hier kann mit F3 - Auswahl aus den Textbausteinen (C40) ein vorgegebener Text ausgewählt werden. In einigen Tabellen werden die Texte der Stammadten als Vorlage in die eigentliche Tabelle übernommen. Z.B. in den Vorgängen: B01.BEZ nach E11.BEZ, im Bestellwesen: D03.BEZ nach D51.BEZ.
Mengeneingabe in der entsprechenden Einheit vornehmen. Bei Mengenfeldern mit verschiedenen Einheiten, kann die Einheit mit F2 ausgewählt werden. Beispiel: Menge einer Baugruppenposition.
Von der ermittelten Bedarfsmenge wird der verfügbare Lagerbestand abgezogen. Ist das Ergebnis größer als Null, wird es mit dem Eintrag in "feste Bestellmenge" verglichen. Ist der Eintrag größer, wird er in die Lagermodullauf-Liste geschrieben, ist das Differenzergebnis größer, wird dieses geschrieben. Ist es kleiner als der "Vorrat minimal", wird die Bestellmenge entsprechend erhöht.
Mengeneingabe in der entsprechenden Einheit vornehmen. Bei Mengenfeldern mit verschiedenen Einheiten, kann die Einheit mit F2 ausgewählt werden. Beispiel: Menge einer Baugruppenposition.
Bestellmenge max
* maximale Bestellmenge
grösste zulässige Auftragsmenge / Höchstbestellmenge bei Lieferanten
Mengeneingabe in der entsprechenden Einheit vornehmen. Bei Mengenfeldern mit verschiedenen Einheiten, kann die Einheit mit F2 ausgewählt werden. Beispiel: Menge einer Baugruppenposition.
Bestellmenge min
* minimale Bestellmenge
kleinste zulässige Auftragsmenge / Mindestbestellmenge bei Lieferanten
Mengeneingabe in der entsprechenden Einheit vornehmen. Bei Mengenfeldern mit verschiedenen Einheiten, kann die Einheit mit F2 ausgewählt werden. Beispiel: Menge einer Baugruppenposition.
Von der ermittelten Bedarfsmenge wird der verfügbare Lagerbestand abgezogen. Ist das Ergebnis größer als Null, wird es mit dem Eintrag in "wirt. Bestellmenge" verglichen. Ist der Eintrag größer, wird aus wirtschaftlicher Bestellmenge und errechnetem Bedarf ein Mittelwert gebildet, dieser wird in die Lagermodullauf-Liste geschrieben und im Artikelstamm aktualisiert. Ist er kleiner als der "Vorrat minimal", wird die Bestellmenge entsprechend erhöht.
Bestellsystem eingeben.
Folgende Möglichkeiten werden Ihnen angeboten:
1.Manuelle Materialanforderung. Dies ist die Voreinstellung für alle Artikel. Über einen Manuallauf ermittelte Bedarfsmengen können geändert werden.
2.Automatische Materialanforderung. Der Unterschied zur manuellen Materialanforderung ist der, daß die ermittelten Positionen nicht geändert, ergänzt oder gelöscht werden können.
3.Manuell ohne Rückwärtsplanung. Die Verbrauchsmenge pro Tag aus der Vergangenheit wird nicht berücksichtigt.
4.Automatisch ohne Rückwärtsplanung. Die Verbrauchsmenge pro Tag aus der Vergangenheit wird nicht berücksichtigt.
5.Auftragsbezogen. Der Artikel wird bei manuellen oder automatischen Materialanforderungen überhaupt nicht berücksichtigt.
CAE bzw. CAD Nummerfeld. In diesem Feld kann eine CAD Nummer hinterlegt werden. Eine Auswahl (F3) ist auch möglich.
CAE bzw. CAD Nummerfeld. In diesem Feld kann eine CAD Nummer hinterlegt werden. Eine Auswahl (F3) ist auch möglich. Bei der Auswahl können Macrodateien aus dem CAE System EPLAN ausgewählt wreden.
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Datum der letzten Artikelbewegung
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Dies ist das Datum der letzten Preisänderung für einen Artikel. Eine Datumsänderung kann hervorgerufen werden durch:
a) ein Preispflegemodul, oder
b) durch manuelle Preisänderung
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Wird ein Artikel mit einem "berechtigten" Kalkulationsschema aktualisiert (kalkuliert), wird das Datum der Kalkulation in dieses Feld eingetragen.
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Wenn Sie in den Stammdaten einen Artikel als "Löschmarkiert " setzen, wird automatisch das aktuelle Markierungsdatum als Datum in dieses Feld eingetragen. Dieses Datum ist nicht zu editieren.
Markiert Zum Löschen eingeben.
Wird dieses Flag auf "J" gesetzt, erscheint der Artikel nicht mehr in Auswahllisten. Ausserdem werden die Felder "Löschmarkiert von wem" und "Löschmarkiert wann" gesetzt. Der Artikelstatus wird auf "Auslaufartikel" gesetzt.
Löschmarkiert Von Wem eingeben.
Wenn Sie in den Stammdaten einen Artikel als "Löschmarkiert " setzen, wird automatisch das aktuelle Benutzerkürzel in dieses Feld eingetragen. Dieses Feld ist nicht zu editieren.
DIN Nummer des Artikels. Hier können Sie die DIN Nummer des Artikels hinterlegen.
DIN Nummer des Artikels. Hier können Sie die DIN Nummer des Artikels hinterlegen. Eine genaue Angabe aller DIN Normen und Nummern finden Sie unter: http://www.din.de
Export Control Classification Number
Die ECCN wird innerhalb der amerikanischen Commerce Control List (CCL) des Bureau of Industry and Security verwendet, um Güter, die dem amerikanischen Exportkontrollrecht unterliegen, zu identifizieren. Die ECCN ist i.d.R. 5-stellig und beginnt mit einer Ziffer zwischen 0 und 9 (Kategorie), gefolgt von einem der fünf Buchstaben von A bis E (Produktgruppe, Gattung). Daran schließen sich 3 Ziffern (Kennung) an, z. B. 3A001. Ggf. wird die Kennung produktspezifisch noch durch Buchstaben und einer Zahl weiter unterteilt, z. B. 3A001.b.4.b oder 3A001.b.8.
Montageart der Artikels. (M) für Montageplatte, (F) für Frontplatte
Hier wird die bevorzugte Montageart eingetragen. (M) für Montageplatte, (F) für Frontplatte. Abhängig hiervon berechnet die technische Summenbildung den Platzbedarf eines Artikels für die Montage- oder Frontplatte eines Schrankes.
Einbaulage des Artikels. Vorgabe der Einbaulage des Artikels in den Stammdaten.
Einbaulage des Artikels. Vorgabe der Einbaulage des Artikels in den Stammdaten. Die Einbaulage kann abweichen, wenn der Artikel z.B. in einer Baugruppe enthalten ist. In diesem Fall kann die Einbaulage in den Baugruppendaten (Maske B0111) eingetragen werden.
Einbauort des Artikels. Wird normalerweise in den Stammdaten (B01|F03) definiert.
Einbauort des Artikels. Wird normalerweise in den Stammdaten (B01|F03) definiert. Der Standard- Einbauort wird in den Stammdaten des Artikels definiert. Der Ort kann abweichen, wenn der Artikel z.B. in einer Baugruppe enthalten ist. In diesem Fall kann der Einbauort in den Baugruppendaten (Maske B0111) eingetragen werden.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Hier wird der Materialeinkaufspreis brutto (Listenpreis) gespeichert..
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Der durchschnittliche Einkaufspreis eines Artikels wird bei der Neuanlage mit dem Einkaufspreis-Netto vorbelegt.
Mit Buchung von Lieferantenrechnungen wird der Wert als Durchschnittspreis jeweils neu berechnet.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Beim Buchen von Eingangsrechnungen kann je nach gewählter Option der verrechnete Wert eines Artikels als "letzter Einkaufspreis" in den Artikelstamm übertragen werden.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Hier wird der Materialeinkaufspreis netto für die Bestelleinheit ausgewiesen.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Hier wird der Materialeinkaufspreis netto für die Lagereinheit ausgewiesen.
Bei der Buchung von Eingangsrechnungen können die Zusatzkosten einer Bestellung auf die Bestell-Positionen aufgeteilt werden, damit diese Kosten im Projektcontrolling sinnvoll zugeordnet werden können.
Dies gilt genau so für die Verbuchung von Zusatzrechnungen.
Die Aufteilungsart wird im Artikelstamm für Kostenartikel festgelegt. Es stehen folgende Verteilungsschlüssel zur Verfügung:
-Aufteilung per Hand ( Manuell)
-Aufteilung nach Positionsmengemenge
-Aufteilung nach Preis * Positionsmenge
-Aufteilung nach Gewicht * Positionsmenge
-Aufteilung nach Volumen * Positionsmenge
PAGE04
PAGE04
Gruppennummer eingeben.
Gruppennummer (EPPS)
Primärschlüssel der Tabelle : Artikelstamm
Primärfelder einer Tabelle indentifizieren den Datensatz der Tabelle. Der Feldinhalt ist immer eindeutig und kann niemals mehrfach vorkommen. Primärfelder können aus einem Feld der Tabelle oder aus mehreren Feldern der Tabelle bestehen.
*/ Das Feld IDB01 ist das Primärschlüsselfeld der Tabelle B01 - Artikelstamm */ Dieses Feld kann in anderen Tabellen als relationaler Schlüssel zu dieser Tabelle dienen */ An einem SQL - Beispiel eines beschreibbaren Cursors... */ Die Daten des Cursors können zwar geändert werden, die Änderungen werden jedoch NICHT in die Datenbank zurückgeschrieben! SELECT B01.* FROM (My.Clients.Path.cDbfDir+"B01.DBF") ; WHERE B01.IDB01 = m.idb01 ; INTO CURSOR qB01 NOFILTER READWRITE */ Werden die Daten über die die Methode _SqlRead() abgerufen, so kann der Pfad als Datenbank-Verweis angegeben werden... IF poThis._SqlRead([SELECT B01.* FROM CDBFDIR!B01 WHERE IDB01=']+m.idb01+['],"qB01",2) */ Hier könnte Code stehen... */ Siehe auch: My.Clients.SQL.SQLRead(tnDataSession,tcSQLStatement,tcAlias,tvTable) ENDIF */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loB01 AS Object loB01 = My.Bussines.Strain.Misc.oB01[m.idb01] IF !EMPTY(loB01.IDB01) */ Dann wurde der Datensatz in der Tabelle B01 gefunden! */ Hier kann weiterer Code stehen... ENDIF */ Hinweis: Diese Tabelle ein Feld mit dem Namen: IEB01! */ Damit kann auch über den EAN-Code das Tabellenobjekt abgefragt werden... LOCAL loB01 AS Object loB01 = My.Bussines.Strain.Misc.oB01[m.IEB01] IF !EMPTY(loB01.IDB01) */ Dann wurde der Datensatz in der Tabelle B01 gefunden! */ Hier kann weiterer Code stehen... ENDIF
Relationales Feld (Lookup) in den Artikelstamm. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zum Artikelstamm. Dieses Feld ist ein Lookup- relationales Feld in den Artikelstamm (B01). Bei SQL Abfragen wird dieses Feld zur Verknüpfung der eigentlichen Tabelle mit dem Artikelstamm benötigt. Ein Beispiel: SELECT b01.artnr, i33.menge_i FROM i33, b01 WHERE i33.idb01 = b01.idb01 AND ...
*/ Dieses Feld ist ein relationales Feld zur Tabelle: B01 - Artikelstamm */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und B01... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDB01R AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"B01.DBF") ON B01.IDB01R=B01.IDB01 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle B01 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDB01R AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"B01.DBF") ON B01.IDB01R=B01.IDB01 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDB01R AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"B01.DBF") ; WHERE B01.IDB01R=B01.IDB01 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loB01 AS Object loB01 = My.Bussines.Strain.Misc.oB01[B01.IDB01R] IF !EMPTY(loB01.IDB01) */ Dann wurde der Datensatz in der Tabelle B01 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Mehrsteuerschlüssel des Artikels für den Verkauf. (Vorgangsverwaltung)
Schlüssel des Artikels zur Berechnung der Mehrwertsteuer. (Vorgangsverwaltung / Verkauf)
Relationales Feld zur Steuerschlüsseltabelle. Dieses Feld ist ein Lookup- relationales Feld in die Steuerschlüsseltabelle (C08). Dieses Feld ist außer im Artikelstamm sonst nur in diversen Positionstabellen zu finden. Über diesen Schlüssel wird die Berechnung des Steuersatzes der Positon bestimmt. Die Vorgabe der Berechnung kommt aus dem Artikelstamm und sollte nicht geändert werden. Hierzu sei ein Hinweis zur Steuerberechnung äußerst wichtig!! Die Steuerberechnung in PMS32 geht über verschiedene Felder der Kopf- sowie der Positionsdaten. Ein Beispiel für die Berechnung der Mehrwertsteuer im Vorgang können Sie sich im Codebeispiel ansehen. In der Stammmaske C0801 wird jeweils nur EIN Kürzel für den Steuerschlüssel "voller Steuersatz" für C08.IDC08 gewählt. Z.B. "001". Alle weiteren Daten werden dann in den Feldern C08.IDC09 - Steuerschlüsselland C08.GDATUM - Gültig ab und C08.IDC26 hinterlegt, wobei die Sprache zumindest in der Systemsprache vorliegen muss. Ändert sich der Steuersatz ab einem bestimmten Datum, so wird in der Maske C0108 einfach eine Kopie des Datensatzes mit "gleichem" Schlüssel erstellt und ein neues Datum für C08.GDATUM eingetragen. Damit berechnet PMS32 für alle Steuerberechnungen ab diesem Datum die Steuersätze mit dem neuen Steuersatz. In etwa Gleiches gilt für Steuerberechnungen, die für ausländische Kunden bzw. Lieferanten durchgeführt werden müssen. Hier wird eine Kopie mit gleichem Schlüssel erstellt und nur das Land C08.IDC09 entsprechend ausgetauscht. Beim Kunden bzw. Lieferanten muss dort im Feld "Steuerschlüsselland" .IDC09ST dann das entsprechende Land hinterlegt werden, was als Vorlage für Vorgänge bzw. Bestellungen dient.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C08 - Steuerschlüssel */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C08... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC08 AS _Quelle, C08.IDC08 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C08.DBF") ON B01.IDC08=C08.IDC08 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C08 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC08 AS _Quelle, C08.IDC08 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C08.DBF") ON B01.IDC08=C08.IDC08 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC08 AS _Quelle, C08.IDC08 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C08.DBF") ; WHERE B01.IDC08=C08.IDC08 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC08 AS Object loC08 = My.Bussines.Strain.Misc.oC08[B01.IDC08] IF !EMPTY(loC08.IDC08) */ Dann wurde der Datensatz in der Tabelle C08 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Vorsteuerschlüssel des Artikels für den Einkauf. (Bestellwesen)
Schlüssel des Artikels zur Berechnung der Vorsteuer. (Bestellwesen / Einkauf)
Relationales Feld zur Steuerschlüsseltabelle. Dieses Feld ist ein Lookup- relationales Feld in die Steuerschlüsseltabelle (C08). Dieses Feld ist außer im Artikelstamm sonst nur in diversen Positionstabellen zu finden. Über diesen Schlüssel wird die Berechnung des Steuersatzes der Positon bestimmt. Die Vorgabe der Berechnung kommt aus dem Artikelstamm und sollte nicht geändert werden. Hierzu sei ein Hinweis zur Steuerberechnung äußerst wichtig!! Die Steuerberechnung in PMS32 geht über verschiedene Felder der Kopf- sowie der Positionsdaten. Ein Beispiel für die Berechnung der Vorsteuer im Bestellwesen können Sie sich im Codebeispiel ansehen. In der Stammmaske C0801 wird jeweils nur EIN Kürzel für den Steuerschlüssel "voller Steuersatz" für C08.IDC08 gewählt. Z.B. "001". Alle weiteren Daten werden dann in den Feldern C08.IDC09 - Steuerschlüsselland C08.GDATUM - Gültig ab und C08.IDC26 hinterlegt, wobei die Sprache zumindest in der Systemsprache vorliegen muss. Ändert sich der Steuersatz ab einem bestimmten Datum, so wird in der Maske C0108 einfach eine Kopie des Datensatzes mit "gleichem" Schlüssel erstellt und ein neues Datum für C08.GDATUM eingetragen. Damit berechnet PMS32 für alle Steuerberechnungen ab diesem Datum die Steuersätze mit dem neuen Steuersatz. In etwa Gleiches gilt für Steuerberechnungen, die für ausländische Kunden bzw. Lieferanten durchgeführt werden müssen. Hier wird eine Kopie mit gleichem Schlüssel erstellt und nur das Land C08.IDC09 entsprechend ausgetauscht. Beim Kunden bzw. Lieferanten muss dort im Feld "Steuerschlüsselland" .IDC09ST dann das entsprechende Land hinterlegt werden, was als Vorlage für Vorgänge bzw. Bestellungen dient.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C08 - Steuerschlüssel */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C08... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC08 AS _Quelle, C08.IDC08 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C08.DBF") ON B01.IDC08=C08.IDC08 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C08 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC08 AS _Quelle, C08.IDC08 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C08.DBF") ON B01.IDC08=C08.IDC08 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC08 AS _Quelle, C08.IDC08 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C08.DBF") ; WHERE B01.IDC08=C08.IDC08 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC08 AS Object loC08 = My.Bussines.Strain.Misc.oC08[B01.IDC08] IF !EMPTY(loC08.IDC08) */ Dann wurde der Datensatz in der Tabelle C08 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld zur Ländertabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zur Ländertabelle. Dieses Feld ist ein Lookup- relationales Feld in die Ländertabelle (C09).
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C09 - Länder */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C09... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC09U AS _Quelle, C09.IDC09 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C09.DBF") ON B01.IDC09U=C09.IDC09 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C09 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC09U AS _Quelle, C09.IDC09 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C09.DBF") ON B01.IDC09U=C09.IDC09 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC09U AS _Quelle, C09.IDC09 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C09.DBF") ; WHERE B01.IDC09U=C09.IDC09 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC09 AS Object loC09 = My.Bussines.Strain.Misc.oC09[B01.IDC09U] IF !EMPTY(loC09.IDC09) */ Dann wurde der Datensatz in der Tabelle C09 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt. Hier kann die Einheit des Artikels mit F3 geändert werden. Bitte beachten Sie in diesem Zusammenhang, dass eventuell bei einer Änderung der Einheit auch eine Änderung des Umrechnungsfaktors zur Basiseinheit vorgenommen werden muss. Siehe dazu auch die Umrechnungsfaktoren der Mengeneinheiten.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C19 - Einheiten-Basiseinheiten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C19... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC19EH AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19EH=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C19 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC19EH AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19EH=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC19EH AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C19.DBF") ; WHERE B01.IDC19EH=C19.IDC19 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC19 AS Object loC19 = My.Bussines.Strain.Misc.oC19[B01.IDC19EH] IF !EMPTY(loC19.IDC19) */ Dann wurde der Datensatz in der Tabelle C19 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt. Hier kann die Einheit des Artikels mit F3 geändert werden. Bitte beachten Sie in diesem Zusammenhang, dass eventuell bei einer Änderung der Einheit auch eine Änderung des Umrechnungsfaktors zur Basiseinheit vorgenommen werden muss. Siehe dazu auch die Umrechnungsfaktoren der Mengeneinheiten.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C19 - Einheiten-Basiseinheiten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C19... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC19MEBA AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19MEBA=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C19 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC19MEBA AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19MEBA=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC19MEBA AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C19.DBF") ; WHERE B01.IDC19MEBA=C19.IDC19 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC19 AS Object loC19 = My.Bussines.Strain.Misc.oC19[B01.IDC19MEBA] IF !EMPTY(loC19.IDC19) */ Dann wurde der Datensatz in der Tabelle C19 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt. Hier kann die Einheit des Artikels mit F3 geändert werden. Bitte beachten Sie in diesem Zusammenhang, dass eventuell bei einer Änderung der Einheit auch eine Änderung des Umrechnungsfaktors zur Basiseinheit vorgenommen werden muss. Siehe dazu auch die Umrechnungsfaktoren der Mengeneinheiten.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C19 - Einheiten-Basiseinheiten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C19... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC19MEEK AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19MEEK=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C19 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC19MEEK AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19MEEK=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC19MEEK AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C19.DBF") ; WHERE B01.IDC19MEEK=C19.IDC19 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC19 AS Object loC19 = My.Bussines.Strain.Misc.oC19[B01.IDC19MEEK] IF !EMPTY(loC19.IDC19) */ Dann wurde der Datensatz in der Tabelle C19 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt. Hier kann die Einheit des Artikels mit F3 geändert werden. Bitte beachten Sie in diesem Zusammenhang, dass eventuell bei einer Änderung der Einheit auch eine Änderung des Umrechnungsfaktors zur Basiseinheit vorgenommen werden muss. Siehe dazu auch die Umrechnungsfaktoren der Mengeneinheiten.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C19 - Einheiten-Basiseinheiten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C19... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC19MELA AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19MELA=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C19 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC19MELA AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19MELA=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC19MELA AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C19.DBF") ; WHERE B01.IDC19MELA=C19.IDC19 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC19 AS Object loC19 = My.Bussines.Strain.Misc.oC19[B01.IDC19MELA] IF !EMPTY(loC19.IDC19) */ Dann wurde der Datensatz in der Tabelle C19 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt. Hier kann die Einheit des Artikels mit F3 geändert werden. Bitte beachten Sie in diesem Zusammenhang, dass eventuell bei einer Änderung der Einheit auch eine Änderung des Umrechnungsfaktors zur Basiseinheit vorgenommen werden muss. Siehe dazu auch die Umrechnungsfaktoren der Mengeneinheiten.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C19 - Einheiten-Basiseinheiten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C19... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC19MEST AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19MEST=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C19 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC19MEST AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON B01.IDC19MEST=C19.IDC19 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC19MEST AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C19.DBF") ; WHERE B01.IDC19MEST=C19.IDC19 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC19 AS Object loC19 = My.Bussines.Strain.Misc.oC19[B01.IDC19MEST] IF !EMPTY(loC19.IDC19) */ Dann wurde der Datensatz in der Tabelle C19 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : FIBU - Gruppen Kopfdaten (C20). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C20 - FIBU - Gruppen Kopfdaten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C20... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC20 AS _Quelle, C20.IDC20 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C20.DBF") ON B01.IDC20=C20.IDC20 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C20 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC20 AS _Quelle, C20.IDC20 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C20.DBF") ON B01.IDC20=C20.IDC20 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC20 AS _Quelle, C20.IDC20 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C20.DBF") ; WHERE B01.IDC20=C20.IDC20 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC20 AS Object loC20 = My.Bussines.Strain.Misc.oC20[B01.IDC20] IF !EMPTY(loC20.IDC20) */ Dann wurde der Datensatz in der Tabelle C20 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Preisgruppen Einkauf (C23). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C23 - Preisgruppen Einkauf */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C23... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC23 AS _Quelle, C23.IDC23 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C23.DBF") ON B01.IDC23=C23.IDC23 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C23 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC23 AS _Quelle, C23.IDC23 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C23.DBF") ON B01.IDC23=C23.IDC23 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC23 AS _Quelle, C23.IDC23 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C23.DBF") ; WHERE B01.IDC23=C23.IDC23 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC23 AS Object loC23 = My.Bussines.Strain.Misc.oC23[B01.IDC23] IF !EMPTY(loC23.IDC23) */ Dann wurde der Datensatz in der Tabelle C23 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Artikelgruppen (C25). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C25 - Artikelgruppen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C25... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC25 AS _Quelle, C25.IDC25 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C25.DBF") ON B01.IDC25=C25.IDC25 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C25 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC25 AS _Quelle, C25.IDC25 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C25.DBF") ON B01.IDC25=C25.IDC25 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC25 AS _Quelle, C25.IDC25 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C25.DBF") ; WHERE B01.IDC25=C25.IDC25 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC25 AS Object loC25 = My.Bussines.Strain.Misc.oC25[B01.IDC25] IF !EMPTY(loC25.IDC25) */ Dann wurde der Datensatz in der Tabelle C25 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Artikelhauptgruppen (C33). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C33 - Artikelhauptgruppen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C33... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC33 AS _Quelle, C33.IDC33 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C33.DBF") ON B01.IDC33=C33.IDC33 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C33 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC33 AS _Quelle, C33.IDC33 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C33.DBF") ON B01.IDC33=C33.IDC33 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC33 AS _Quelle, C33.IDC33 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C33.DBF") ; WHERE B01.IDC33=C33.IDC33 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC33 AS Object loC33 = My.Bussines.Strain.Misc.oC33[B01.IDC33] IF !EMPTY(loC33.IDC33) */ Dann wurde der Datensatz in der Tabelle C33 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Artikeluntergruppen (C34). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C34 - Artikeluntergruppen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C34... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC34 AS _Quelle, C34.IDC34 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C34.DBF") ON B01.IDC34=C34.IDC34 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C34 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC34 AS _Quelle, C34.IDC34 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C34.DBF") ON B01.IDC34=C34.IDC34 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC34 AS _Quelle, C34.IDC34 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C34.DBF") ; WHERE B01.IDC34=C34.IDC34 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC34 AS Object loC34 = My.Bussines.Strain.Misc.oC34[B01.IDC34] IF !EMPTY(loC34.IDC34) */ Dann wurde der Datensatz in der Tabelle C34 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Mitarbeitergruppen (C39). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C39 - Mitarbeitergruppen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C33... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC33 AS _Quelle, C33.IDC33 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C39.DBF") ON B01.IDC39=C39.IDC39 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C39 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC39 AS _Quelle, C33.IDC39 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C39.DBF") ON B01.IDC39=C39.IDC39 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC39 AS _Quelle, C33.IDC39 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C39.DBF") ; WHERE B01.IDC39=C39.IDC39 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC39 AS Object loC39 = My.Bussines.Strain.Misc.oC39[B01.IDC39] IF !EMPTY(loC39.IDC39) */ Dann wurde der Datensatz in der Tabelle C33 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Textbausteine (C40). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C40 - Textbausteine */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C40... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC40 AS _Quelle, C40.IDC40 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C40.DBF") ON B01.IDC40=C40.IDC40 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C40 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC40 AS _Quelle, C40.IDC40 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C40.DBF") ON B01.IDC40=C40.IDC40 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC40 AS _Quelle, C40.IDC40 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C40.DBF") ; WHERE B01.IDC40=C40.IDC40 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC40 AS Object loC40 = My.Bussines.Strain.Misc.oC40[B01.IDC40] IF !EMPTY(loC40.IDC40) */ Dann wurde der Datensatz in der Tabelle C40 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Statistikgruppen (C42). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C42 - Statistikgruppen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C42... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC42EK AS _Quelle, C42.IDC42 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C42.DBF") ON B01.IDC42EK=C42.IDC42 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C42 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC42EK AS _Quelle, C42.IDC42 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C42.DBF") ON B01.IDC42EK=C42.IDC42 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC42EK AS _Quelle, C42.IDC42 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C42.DBF") ; WHERE B01.IDC42EK=C42.IDC42 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC42 AS Object loC42 = My.Bussines.Strain.Misc.oC42[B01.IDC42EK] IF !EMPTY(loC42.IDC42) */ Dann wurde der Datensatz in der Tabelle C42 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Statistikgruppen (C42). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C42 - Statistikgruppen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C42... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC42VK AS _Quelle, C42.IDC42 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C42.DBF") ON B01.IDC42VK=C42.IDC42 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C42 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC42VK AS _Quelle, C42.IDC42 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C42.DBF") ON B01.IDC42VK=C42.IDC42 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC42VK AS _Quelle, C42.IDC42 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C42.DBF") ; WHERE B01.IDC42VK=C42.IDC42 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC42 AS Object loC42 = My.Bussines.Strain.Misc.oC42[B01.IDC42VK] IF !EMPTY(loC42.IDC42) */ Dann wurde der Datensatz in der Tabelle C42 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Preisgruppen Verkauf (C43). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C43 - Preisgruppen Verkauf */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C43... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC43 AS _Quelle, C43.IDC43 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C43.DBF") ON B01.IDC43=C43.IDC43 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C43 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC43 AS _Quelle, C43.IDC43 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C43.DBF") ON B01.IDC43=C43.IDC43 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC43 AS _Quelle, C43.IDC43 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C43.DBF") ; WHERE B01.IDC43=C43.IDC43 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC43 AS Object loC43 = My.Bussines.Strain.Misc.oC43[B01.IDC43] IF !EMPTY(loC43.IDC43) */ Dann wurde der Datensatz in der Tabelle C43 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Produktgruppen (C44). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C44 - Produktgruppen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C44... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC44 AS _Quelle, C44.IDC44 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C44.DBF") ON B01.IDC44=C44.IDC44 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C44 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC44 AS _Quelle, C44.IDC44 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C44.DBF") ON B01.IDC44=C44.IDC44 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC44 AS _Quelle, C44.IDC44 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C44.DBF") ; WHERE B01.IDC44=C44.IDC44 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC44 AS Object loC44 = My.Bussines.Strain.Misc.oC44[B01.IDC44] IF !EMPTY(loC44.IDC44) */ Dann wurde der Datensatz in der Tabelle C44 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Prüfvorschriften (C48). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C48 - Prüfvorschriften */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C48... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC48 AS _Quelle, C48.IDC48 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C48.DBF") ON B01.IDC48=C48.IDC48 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C48 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC48 AS _Quelle, C48.IDC48 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C48.DBF") ON B01.IDC48=C48.IDC48 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC48 AS _Quelle, C48.IDC48 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C48.DBF") ; WHERE B01.IDC48=C48.IDC48 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC48 AS Object loC48 = My.Bussines.Strain.Misc.oC48[B01.IDC48] IF !EMPTY(loC48.IDC48) */ Dann wurde der Datensatz in der Tabelle C48 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Kennbuchstaben (C49). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C49 - Kennbuchstaben */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C49... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC49 AS _Quelle, C49.IDC49 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cSysDir+"C49.DBF") ON B01.IDC49=C49.IDC49 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C49 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC49 AS _Quelle, C49.IDC49 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cSysDir+"C49.DBF") ON B01.IDC49=C49.IDC49 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC49 AS _Quelle, C49.IDC49 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cSysDir+"C49.DBF") ; WHERE B01.IDC49=C49.IDC49 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE
Lookup in : VNS Klassen (C50). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C50 - VNS Klassen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C50... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC50 AS _Quelle, C50.IDC50 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cSysDir+"C50.DBF") ON B01.IDC50=C50.IDC50 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C50 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC50 AS _Quelle, C50.IDC50 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cSysDir+"C50.DBF") ON B01.IDC50=C50.IDC50 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC50 AS _Quelle, C50.IDC50 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cSysDir+"C50.DBF") ; WHERE B01.IDC50=C50.IDC50 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE
Relationales Feld (Lookup) in die Lieferantentabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zur Lieferantentabelle. Dieses Feld ist ein Lookup- relationales Feld in die Lieferantentabelle (C61). Bei SQL Abfragen wird dieses Feld zur Verknüpfung der eigentlichen Tabelle mit der Lieferantentabelle benötigt. Ein Beispiel: SELECT c61.match, COUNT(*) AS anzahl FROM c61,d40 WHERE c61.idc61=d40.idc61 AND ... GROUP BY 1 ...
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C61 - Lieferanten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C61... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC61 AS _Quelle, C61.IDC61 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C61.DBF") ON B01.IDC61=C61.IDC61 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C61 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC61 AS _Quelle, C61.IDC61 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C61.DBF") ON B01.IDC61=C61.IDC61 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC61 AS _Quelle, C61.IDC61 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C61.DBF") ; WHERE B01.IDC61=C61.IDC61 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC61 AS Object loC61 = My.Bussines.Strain.Misc.oC61[B01.IDC61] IF !EMPTY(loC61.IDC61) */ Dann wurde der Datensatz in der Tabelle C61 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Hersteller (C62). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C62 - Hersteller */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C62... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC62 AS _Quelle, C62.IDC62 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C62.DBF") ON B01.IDC62=C62.IDC62 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C62 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC62 AS _Quelle, C62.IDC62 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C62.DBF") ON B01.IDC62=C62.IDC62 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC62 AS _Quelle, C62.IDC62 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C62.DBF") ; WHERE B01.IDC62=C62.IDC62 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC62 AS Object loC62 = My.Bussines.Strain.Misc.oC62[B01.IDC62] IF !EMPTY(loC62.IDC62) */ Dann wurde der Datensatz in der Tabelle C62 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Lagerorttabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zur Lagerorttabelle. Dieses Feld ist ein Lookup- relationales Feld in die Lagerorttabelle (C66). Bei SQL Abfragen wird dieses Feld zur Verknüpfung der eigentlichen Tabelle mit der Lagerorttabelle benötigt. Ein Beispiel: SELECT c66.match, i20.menge_s FROM i20,c66 WHERE i20.idc66 = c66.idc66 AND ...
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C66 - Lagerorte */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C66... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC66 AS _Quelle, C66.IDC66 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C66.DBF") ON B01.IDC66=C66.IDC66 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C66 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC66 AS _Quelle, C66.IDC66 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C66.DBF") ON B01.IDC66=C66.IDC66 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC66 AS _Quelle, C66.IDC66 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C66.DBF") ; WHERE B01.IDC66=C66.IDC66 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC66 AS Object loC66 = My.Bussines.Strain.Misc.oC66[B01.IDC66] IF !EMPTY(loC66.IDC66) */ Dann wurde der Datensatz in der Tabelle C66 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Produktzuordnung (C72). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C72 - Produktzuordnung */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C72... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC72 AS _Quelle, C72.IDC72 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C72.DBF") ON B01.IDC72=C72.IDC72 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C72 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC72 AS _Quelle, C72.IDC72 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C72.DBF") ON B01.IDC72=C72.IDC72 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC72 AS _Quelle, C72.IDC72 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C72.DBF") ; WHERE B01.IDC72=C72.IDC72 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC72 AS Object loC72 = My.Bussines.Strain.Misc.oC72[B01.IDC72] IF !EMPTY(loC72.IDC72) */ Dann wurde der Datensatz in der Tabelle C72 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Montagearten (C97). Eine Änderung erfolgt durch F3 - Auswahl. Der Srung zu Stammtabelle erfolgt mit F2
Lookup- bzw. relationale Felder werden benötigt um Tabellen mittels SQL Select oder einer Relation zu verbinden. Durch die Namensgebung der Lookupfelder kann aus dem Feldnamen "meistens" die Zieltabelle der Relation bestimmt werden. Alle Relationen werden in PMS32 über sogenannte ID- Felder hergestellt, wobei die Zieltabelle ab der dritten Stelle des Feldnamens bis zur fünften Stelle des Feldnames angegeben ist. Aus ein paar Beispielen: D51.IDB01 => B01, I40.IDC42VKB => C42, I50.IDC25B => C25. Mit der Formel aus dem Codeblock kann zu "fast" allen ID Feldern die entsprechende Zieltabelle ermittelt werden. Spezial- Lookupfelder wie z.B.: I20.IDZWI oder I23.IDAUFA... benötigen zur Bestimmung die entsprechende IP, mit der über die Systemtabelle Y01 die entsprechende Zieltabelle ermittelt werden kann.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C97 - Montagearten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C97... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC97 AS _Quelle, C97.IDC97 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C97.DBF") ON B01.IDC97=C97.IDC97 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C97 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC97 AS _Quelle, C97.IDC97 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C97.DBF") ON B01.IDC97=C97.IDC97 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC97 AS _Quelle, C97.IDC97 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C97.DBF") ; WHERE B01.IDC97=C97.IDC97 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC97 AS Object loC97 = My.Bussines.Strain.Misc.oC97[B01.IDC97] IF !EMPTY(loC97.IDC97) */ Dann wurde der Datensatz in der Tabelle C97 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Auswahl des Edelmetalls für einen kalkulatorischen Edelemetallzuschlag
Wird dieses Feld gefüllt, so wird der Artikel als kalkulatorischer Edelmetallzuschlag im Vorgang geführt. D.h., dass das angegebene Edelmetall aus den Positionen mit Edelmetall herausgerechnet und dieser Artikelposition zugeschlagen wird. Damit kann ein definiertes Edelmetall separat berechnet werden. Der Positionszuschlag wird in Fertigung und Handel unterschieden!
Die Positionsart E11.IPY01="008" gleiches gilt für B01.IPB01="008".
Ein solcher Artikel enthält keine Einkaufsdaten und kann auch nicht bestellt werden!
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C98 - Elemente / Legierungen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und C98... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDC98 AS _Quelle, C98.IDC98 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C98.DBF") ON B01.IDC98=C98.IDC98 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C98 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDC98 AS _Quelle, C98.IDC98 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C98.DBF") ON B01.IDC98=C98.IDC98 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDC98 AS _Quelle, C98.IDC98 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"C98.DBF") ; WHERE B01.IDC98=C98.IDC98 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC98 AS Object loC98 = My.Bussines.Strain.Misc.oC98[B01.IDC98] IF !EMPTY(loC98.IDC98) */ Dann wurde der Datensatz in der Tabelle C98 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Einkaufsdatentabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zur Einkaufsdatentabelle. Dieses Feld ist ein Lookup- relationales Feld in die Einkaufsdatentabelle (D03). Es enthält den als kalkulatorischen EK-Punkt definierten Satz der Tabelle D03.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: D03 - Artikel EK-Daten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und D03... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDD03 AS _Quelle, D03.IDD03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"D03.DBF") ON B01.IDD03=D03.IDD03 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle D03 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDD03 AS _Quelle, D03.IDD03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"D03.DBF") ON B01.IDD03=D03.IDD03 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDD03 AS _Quelle, D03.IDD03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"D03.DBF") ; WHERE B01.IDD03=D03.IDD03 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loD03 AS Object loD03 = My.Bussines.Strain.Misc.oD03[B01.IDD03] IF !EMPTY(loD03.IDD03) */ Dann wurde der Datensatz in der Tabelle D03 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Projekttabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zur Projekttabelle. Dieses Feld ist ein Lookup- relationales Feld in die Projekttabelle (K10). Bei SQL Abfragen wird dieses Feld zur Verknüpfung der eigentlichen Tabelle mit der Projekttabelle benötigt. Ein Beispiel: SELECT k10.prjnr, i21.menge, i21.preis FROM i21,k10 WHERE i21.idk10 = k10.idk10 AND ...
*/ Dieses Feld ist ein relationales Feld zur Tabelle: K10 - Projekte */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen B01 und K10... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT B01.IDK10 AS _Quelle, K10.IDK10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"K10.DBF") ON B01.IDK10=K10.IDK10 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle B01 im Feld _Quelle und nur vorhandene Datensätze der Tabelle K10 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT B01.IDK10 AS _Quelle, K10.IDK10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"K10.DBF") ON B01.IDK10=K10.IDK10 ; WHERE B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Geht auch so... SELECT B01.IDK10 AS _Quelle, K10.IDK10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"B01.DBF") , (My.Clients.Path.cDbfDir+"K10.DBF") ; WHERE B01.IDK10=K10.IDK10 AND B01.... ; INTO CURSOR qB01 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loK10 AS Object loK10 = My.Bussines.Strain.Misc.oK10[B01.IDK10] IF !EMPTY(loK10.IDK10) */ Dann wurde der Datensatz in der Tabelle K10 gefunden! */ Weiterer Code kann hier stehen... ENDIF
EAN-Code Eingeben
EAN-Code Eingeben
*/ Dieses Feld ist ein IE - Feld der Tabelle (EAN-Code)... */ Die Information der Tabelle kann über die My Struktur ermittelt werden... LOCAL loB01 AS Object loB01 = My.Bussines.Strain.Misc.oB01[B01.IEB01] IF !EMPTY(loB01.IEB01) */ Dann wurden Daten gefunden... */ Weiterer Code hier... ENDIF
Bitte wählen Sie mit F3 aus, falls eine Auswahlmöglichkeit besteht.
IP Felder definieren die Art des Datensatzes oder dessen Status. Der Feldinhalt wird immer aus der Tabelle Y01 ermittelt. Sollte die Möglichkeit einer Benutzereingabe bestehen, so wird der Wert mit einer Auswahl F3 auf dem Feld geändert. Die Werte in diesen Feldtypen sind immer von der Relation in die Tabelle Y01 (Systemtabelle) abhängig.
*/ Dieses Feld ist ein IP - Feld der Tabelle... */ Der Abruf der Informationen kann über die Tabelle Y01 erfolgen... */ IP Felder geben entweder eine Zeilenart oder eine relationale Tabelle an... LOCAL loY01 AS Object loY01 = My.Bussines.Strain.Misc.vY01[B01.IPB01] */ Damit kann die Zeilenart bestimmt werden...
Ein IP-Feld spezifiziert die "Art" eines Datensatzes. Die Erklärungen können über die (System) Tabelle Y01 ermittelt werden. Am Beispiel von B01.IPB01 => Y01.IPY01. Die Tabelle Y01 enthält noch den Sprachkenner IDC26, weshalb dort über die entsprechende Sprache gefiltert werden muss. Für die IP-Felder IPAUF und IPZWI, bei denen keine (existierende) Tabelle angegeben ist gilt: das entsprechende ID-Feld der Tabelle ist ein Switch-Primärschlüssel aus der Tabelle, die über Y01.MASTER ermittelt werden kann. IP-Felder sind Präfixe für bestimmte Tabellen. Beispiel an E11 (Vorgangspositionen) E11.IPY01 = "709" => NN-Artikel. Teilweise geben IP-Felder auch einen Status des entsprechenden Datensatzes an, I22.IPI22S => Status der Lagerumbuchung kann aus Y01.KURZ bzw. Y01.BEZEI ermittelt werden.
*/ Dieses Feld ist ein IP - Feld der Tabelle... */ Der Abruf der Informationen kann über die Tabelle Y01 erfolgen... */ IP Felder geben entweder eine Zeilenart oder eine relationale Tabelle an... LOCAL loY01 AS Object loY01 = My.Bussines.Strain.Misc.vY01[B01.IPY01LKZ] */ Damit kann die Zeilenart bestimmt werden...
Baugruppe?. Diese Option gibt an, ob die entsprechende Artikelposition eine Baugruppe ist.
Baugruppe?. Diese Option gibt an, ob die entsprechende Artikelposition eine Baugruppe ist. Baugruppen oder Stammbaugruppen werden im System wie ein Artikel mit Positionen behandelt. Die Stammbaugruppendaten werden in den Tabelle F02 und F03, siehe dort, verwaltet. Im System gibt es bis dato drei verschiedene Arten von Baugruppen. Wie diese bearbeitet bzw. definiert sind entnehmen Sie bitte der Dokumentation. Im Codebeispiel sind verschiedene Arten von Stammbaugruppen aufgeführt.
*/ Baugruppen und was sie sind und was sie tun... */ Der Baugruppenkopf wird immer im Artikelstamm (B01) definiert! */ "Normale" Stammbaugruppe: b01.ipb01 = "002", b01.is_sl = .T., b01.mglos = 0 ! Diese Baugruppe wird beim Einlasten in die Dispositon aufgelöst. ! Die Auflösungsstufe richtet sich nach den Vorgaben in den Firmenparametern */ Pseudobaugruppe: b01.ipb01 = "009", b01.is_sl = .T., b01.mglos = 0 (wird nicht beachtet) ! Diese Baugruppe wird beim Einfügen in einen Vorgang aufgelöst ! Die Positionen können dann im Vorgang geändert bzw. angepasst werden */ Losbaugruppe: b01.ipb01 = "002", b01.is_sl = .T., b01.mglos > 0 !! (Nur zu Ändern, wenn in Firmenparametern aktiviert) ! Diese Baugruppe wird beim Einlasten der den Vorgangsarten "101" und "108" NICHT aufgelöst ! Eine Auflösung der ERSTEN Stufe erfolgt nur beim Einlasten eines Vorratsauftrags "107" */ Projektspezifische Baugruppe b01.ipb01 = "007", b01.is_sl = .T., b01.mglos = 0 (IMMER NULL) ! Verhalten wie "normale" Stammbaugruppe, kann jedoch nur für das entsprechende Projekt (K10) genutzt werden
Langtext eingeben.
Textfelder, sind variable Speicherfelder in denen Informationen bis zu einer Größe von 2GB gespeichert werden können. Die Unterscheidung der Textfelder liegt in ihrem Namen. NOTIZ z.B. wird ausschlieslich für Notizen benutzt. Andere Textfelder wiederum werden beim Erstellen von Vorgängen bzw. Bestellungen aus Stammfeldern übernommen. Im Vorgang: B01.BEZ => E11.BEZ, B01.LANG => E11.LANG. In den Textfeldern können folgende Funktionen über Funktionstasten oder ein ShortCut - Menü (Rechte Maustaste) aufgerufen werden: F2 - Sprung in die Maske C40 - Langtexte, F3 - Auswahl aus C40 - Langtexte und F4 - vergrößerte Eingabe in einer separaten Maske. Diese Funktionen können je nach Textfeld variieren!
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld führt ein sogenanntes Änderungskennzeichen mit.
Bei jeder Änderung an dem Datensatz der Tabelle wird dieses Feld um 1 nach oben gezählt.
Bei einem Wert der größer 999 ist wird wieder bei 0 angefangen.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LASTUPD WITH (LASTUPD+1)%1000 UPDATE .... , LASTUPD = (LASTUPD+1)%1000
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das letzte Änderungsdatum des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LDATUM WITH My.xDate UPDATE .... , LDATUM = My.xDate
Zu- bzw. Abschlagsfeld in Prozent "%". Bitte achten Sie auf die Einstellungen "%","/",".","F" falls vorhanden.
Prozentfeld für die Eingabe eines Zu- bzw. Abschlags in Prozent "%". Bitte beachten Sie bei einigen Eingaben, dass der Auf- bzw. Abschlag mal auf 100 bzw. von 100 berechnet werden kann. Standard ist die Berechnung auf 100, "%" d.h., der Endwert berechnet sich mit: Endwert = Anfangswert * (1 + Prozent/100). Anders ist die Berechnung bei der Einstellung von 100, "/" hier berechnet sich der Endwert mit: Endwert = Anfangswert * (1 + Prozent/(1-ABS(Prozent)/100)). Bitte achten Sie in diesem Zusammenhang auch auf die Einstellungen "." - Fester Zu- bzw. Abschlag in der Währungseinheit. "F" - Der Endwert des Zu- bzw. Abschlags ist ein Festwert.
Zu- bzw. Abschlagsfeld in Prozent "%". Bitte achten Sie auf die Einstellungen "%","/",".","F" falls vorhanden.
Prozentfeld für die Eingabe eines Zu- bzw. Abschlags in Prozent "%". Bitte beachten Sie bei einigen Eingaben, dass der Auf- bzw. Abschlag mal auf 100 bzw. von 100 berechnet werden kann. Standard ist die Berechnung auf 100, "%" d.h., der Endwert berechnet sich mit: Endwert = Anfangswert * (1 + Prozent/100). Anders ist die Berechnung bei der Einstellung von 100, "/" hier berechnet sich der Endwert mit: Endwert = Anfangswert * (1 + Prozent/(1-ABS(Prozent)/100)). Bitte achten Sie in diesem Zusammenhang auch auf die Einstellungen "." - Fester Zu- bzw. Abschlag in der Währungseinheit. "F" - Der Endwert des Zu- bzw. Abschlags ist ein Festwert.
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Programm der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LPRG WITH My.lProgram UPDATE .... , LPRG = My.lProgram
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält den Benutzer der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LWER WITH My.cUser UPDATE .... , LWER = My.cUser
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält die Uhrzeit der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LZEIT WITH My.xTime UPDATE .... , LZEIT = My.xTime
Matchcode eingeben.
Geben Sie den Matchcode ein.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Material Netto Preis
* Material Netto
MATN= Material EK Brutto
- Rabatt Lieferant
-------------------------
= Material EK netto
+ Silber Zuschlag TZ
+ Edelmetallzuschlag
= Material Nettopreis
Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten. Die Eingabe muss größer Null sein!
Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten. Die Eingabe muss größer Null sein! Der hier eigegebene Wert dient als Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten sowohl im Einkauf wie im Verkauf. Bitte sehen Sie im Codebeispiel nach, wie die verschiedenen Einheiten umgerechnet werden.
*/ Umrechnungen zwischen verschiedenen Mengeneinheiten */ Umrechnung zwischen Einkauf- und Lagereinheit MengeLager = MengeEinkauf * UmrechnungsfaktorEinkauf */ Beispiel aus D4101 - Wareneingang und Erzeugen der Lagerumbuchung i23.menge = d52.menge_i * d52.ufla */ Umrechnung zwischen Verkauf und Lagereinheit MengeLager = MengeVerkauf * UmrechnungsfaktorVerkauf */ Beispiel aus der Disposition, wenn der Vorgang disposniert wird i20.menge_s = e11.mgb * IIF(e11.vkrech=1,e12.mevkuf,e12.meekuf) */ e11.vkrech=1 => Fertigung */ Umrechnungen zwischen Einkauf und Verkauf MengeEinkauf = MengeVerkauf * UmrechnungsfaktorVerkauf / UmrechnungsfaktorEinkauf MengeVerkauf = MengeEinkauf * UmrechnungsfaktorEinkauf / UmrechnungsfaktorVerkauf
Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten. Die Eingabe muss größer Null sein!
Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten. Die Eingabe muss größer Null sein! Der hier eigegebene Wert dient als Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten sowohl im Einkauf wie im Verkauf. Bitte sehen Sie im Codebeispiel nach, wie die verschiedenen Einheiten umgerechnet werden.
*/ Umrechnungen zwischen verschiedenen Mengeneinheiten */ Umrechnung zwischen Einkauf- und Lagereinheit MengeLager = MengeEinkauf * UmrechnungsfaktorEinkauf */ Beispiel aus D4101 - Wareneingang und Erzeugen der Lagerumbuchung i23.menge = d52.menge_i * d52.ufla */ Umrechnung zwischen Verkauf und Lagereinheit MengeLager = MengeVerkauf * UmrechnungsfaktorVerkauf */ Beispiel aus der Disposition, wenn der Vorgang disposniert wird i20.menge_s = e11.mgb * IIF(e11.vkrech=1,e12.mevkuf,e12.meekuf) */ e11.vkrech=1 => Fertigung */ Umrechnungen zwischen Einkauf und Verkauf MengeEinkauf = MengeVerkauf * UmrechnungsfaktorVerkauf / UmrechnungsfaktorEinkauf MengeVerkauf = MengeEinkauf * UmrechnungsfaktorEinkauf / UmrechnungsfaktorVerkauf
Tragen Sie hier bitte die Losgröße für die Baugruppe ein. Ein Wert größer Null wird als Losgrößenfertigung berechnet.
Losgröße bei Baugruppen. Ist der Wert MGLOS größer Null, so wird von einer Losgrößen- Fertigung ausgegangen. D.h., dass beim Disponieren eines Kundenauftrags, Auftragsbestätigung (101) bzw. CAE- Stückliste (108), die Disposition eine Baugruppe mit Losgröße nicht weiter auflöst. Baugruppen mit Losgröße müssen dann über einen Varratsauftrag bzw. Fertigungsauftrag gesondert gefertigt werden. Danach kann das Material auf die Vorgänge bzw. das Stammlager umgebucht werden.
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Neuanlagedatum des Datensatzes.
My.xDate gibt das aktuelle Datum zurück.
Bitte verwenden Sie nicht DATE()!
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NDATUM) VALUES (...,My.xDate)
Notizfeld. Freie Langtexteingabe.
Notizfeld. In diesem Feld können Sie Notizen hinterlegen. Notizfelder werden normaler Weise nicht in andere Tabellen übernommen bzw. ausgewertet. Einige Notizfelder werden jedoch aus anderen Modulen gefüttert, wie z.B. das Notizfeld in der Projekttabelle (K10), Masken K1001 und K1002, dass aus dem Bestellwesen bei best. Einstellungen mit Informationen aus den Bestellungen gefüllt wird.
Nicht auf Projektüberschuß reservieren.
Nicht auf Projektüberschuß reservieren. Dieser Artikel wird nicht auf Status ...U... reserviert, wenn er aus der Disposition zurückgenommen wird. Hier kann die Einstellung der Firmenparameter verfeinert werden!
Dieser Artikel wird nicht bestandsgeführt
Dieser Artikel wird nicht bestandsgeführt. Er kann als Dummy für verschiedene Systembuchungen herhalten. Z.B. in der Freien Rücklieferung als Rücklieferung eines nicht bestandsgeführten Materials.
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Programm der Neuanlage des Datensatzes.
My.lProgram gibt das aktuelle Programm zurück.
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NWER) VALUES (...,My.cUser)
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält den Benutzer der Neuanlage des Datensatzes.
My.cUser gibt den angemeldeten Benutzer (C65) zurück.
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NWER) VALUES (...,My.cUser)
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Neuanlageuhrzeit des Datensatzes.
My.xTime gibt das aktuelle Uhrzeit zurück.
Bitte verwenden Sie nicht TIME()!
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NZEIT) VALUES (...,My.xTime)
Preiseinheit Einkauf. Dieser Wert muss größer Null sein. Der Einzelpreis einer Position wird durch diesen Wert geteilt.
Preiseinheit Einkauf. Dieser Wert muss größer Null sein. Der Einzelpreis einer Position wird durch diesen Wert geteilt. An einem Codebeispiel für die Umrechnung der Einkaufspreise in Lagerpreise eines Artikels.
*/ Umrechnung der Einkaufspreise in verschiedenen Bereichen: */ Artikelstamm: D03 => B01 b01.ekbr = d03.ekpreis / c03.faktor * c03.kurs && Umrechnung des Brutto in Firmenwährung b01.eknet = b01.ekbr * (1 - d03.rabatt/100) * (1 - d03.rabatt1/100) && EK Netto in Firmenwährung und Einheit Einkauf b01.eknet1 = b01.eknet / d03.meekuf / d03.peek && Lagerpreis für eine Lagereinheit b01.lfarab = d03.rabatt b01.rabatt1 = d03.rabatt1 b01.peek = d03.peek b01.ufla = d03.meekuf */ Bestellwesen, Lieferantenrechnungen. Zur besseren Übersicht untereinander gestellt PreisLager = ; (; d55.preis_f/d55.peek/d55.ufla * ; (1 - d55.rabatt/100) * (1 - d55.rabatt1/100) + ; d55.edpreis_i; ) / ; d44.faktor * d44.kurs * ; (1 - d44.ekrabatt/100) */ Bestellwesen, Wareneingang MengeLager = d52.menge_i * d52.ufla
Lagerplatz eingeben.
Preispflege eingeben.
Zu- bzw. Abschlagsfeld in Prozent "%". Bitte achten Sie auf die Einstellungen "%","/",".","F" falls vorhanden.
Prozentfeld für die Eingabe eines Zu- bzw. Abschlags in Prozent "%". Bitte beachten Sie bei einigen Eingaben, dass der Auf- bzw. Abschlag mal auf 100 bzw. von 100 berechnet werden kann. Standard ist die Berechnung auf 100, "%" d.h., der Endwert berechnet sich mit: Endwert = Anfangswert * (1 + Prozent/100). Anders ist die Berechnung bei der Einstellung von 100, "/" hier berechnet sich der Endwert mit: Endwert = Anfangswert * (1 + Prozent/(1-ABS(Prozent)/100)). Bitte achten Sie in diesem Zusammenhang auch auf die Einstellungen "." - Fester Zu- bzw. Abschlag in der Währungseinheit. "F" - Der Endwert des Zu- bzw. Abschlags ist ein Festwert.
Software/Hardware Kennung
Stamm, Kalkulation, Proje eingeben.
Anzahl Der Artikel In Sl eingeben.
eingeben.
Stammkalkulation Proj. eingeben.
Anzahl Der Sl In Sl eingeben.
Status des Artikels
1 - freigegeben
2 - Auslaufartikel
3 - gesperrter Artikel
Symboldatei eingeben.
Symboldatei (EPPS)
Symbolnummer eingeben.
Symbolnummer (EPPS)
Preisfeld in Firmenwährung.
Kalkulierter Edelmetallzuschlag auf der Basis einer Lagereinheit
Preisfeld in Firmenwährung.
Kalkulierte Gemeinkosten Material auf der Basis einer Lagereinheit
Sollen dieser Artikel nach EPLAN-P8 übertragen werden?
Sollen dieser Artikel nach EPLAN-P8 übertragen werden?
Dieses Flag ist zu setzen, wenn Artikeldaten nach EPLAN-P8 (SQL-Datenbank) übertragen werden sollen.
Trimbezeichnung (suchkey) eingeben.
Typennummer des Herstellers des Artikels.
Typennummer des Herstellers des Artikels. Über diese Nummer und den Hersteller wird z.B. der Datenabgleich beim Update der Informationen im Artikelstamm durchgeführt. Das Feld sollte "immer" mit der genauen Typennummer des Herstellers gefüllt sein, damit ein Abgleich mit externen Systemen möglich ist. Auch wenn Ihre Artikelnummer- Matrix anders aufgebaut ist wie die Artikelnummer eines externen Systems, so kann doch über den Hersteller und die Typennummer ein Abgleich der Daten erfolgen. Gleiches gilt für Lieferant und Bestell- bzw. Artikelnummer des Lieferanten.
Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten. Die Eingabe muss größer Null sein!
Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten. Die Eingabe muss größer Null sein! Der hier eigegebene Wert dient als Umrechnungsfaktor zwischen verschiedenen Mengeneinheiten sowohl im Einkauf wie im Verkauf. Bitte sehen Sie im Codebeispiel nach, wie die verschiedenen Einheiten umgerechnet werden.
*/ Umrechnungen zwischen verschiedenen Mengeneinheiten */ Umrechnung zwischen Einkauf- und Lagereinheit MengeLager = MengeEinkauf * UmrechnungsfaktorEinkauf */ Beispiel aus D4101 - Wareneingang und Erzeugen der Lagerumbuchung i23.menge = d52.menge_i * d52.ufla */ Umrechnung zwischen Verkauf und Lagereinheit MengeLager = MengeVerkauf * UmrechnungsfaktorVerkauf */ Beispiel aus der Disposition, wenn der Vorgang disposniert wird i20.menge_s = e11.mgb * IIF(e11.vkrech=1,e12.mevkuf,e12.meekuf) */ e11.vkrech=1 => Fertigung */ Umrechnungen zwischen Einkauf und Verkauf MengeEinkauf = MengeVerkauf * UmrechnungsfaktorVerkauf / UmrechnungsfaktorEinkauf MengeVerkauf = MengeEinkauf * UmrechnungsfaktorEinkauf / UmrechnungsfaktorVerkauf
Umrechnungsfaktor bei der Berechnung der Edelmetallzuschläge. Bestimmt zu welcher Preiseinheit der Basispreis angegeben ist.
Umrechnungsfaktor bei der Berechnung der Edelmetallzuschläge. Bestimmt zu welcher Preiseinheit der Basispreis angegeben ist. Wird die Berechnung der Edelmetallzuschläge über die Rohstoffgruppe bestimmt, so ist dieser Wert 0, da bei der Berechnung über Rohstoffgruppen ein prozentualer Aufschlag auf den Einkaufspreis berechnet wird. Ab Version 1.0.02.0000 wird das Feld nur noch in der Tabelle D05 gefüllt. Das Feld wurde in der Tabelle B01 belassen, um Fehler bei etwaigen Abfragen zu vermeiden. Zur genaueren Information sehen Sie bitte in der Dokumentation zur Edelmetallberechnung nach.
Artikelvariante eingeben.
Artikelvariante
Kalkulationsbasis in den Vorgängen. Dient bei Baugruppen auch in der Disposition!
Diese Einstellung wird in den Vorgang übernommen, wenn der Artikel in einen Vorgang eingefügt wird.
0|3 - Vorgangsbezogen
1 - Fertigung
2 - Handel
!!Achten Sie bitte darauf, dass Stammbaugruppen nach Möglichkeit immer mit 1 - Fertigung vorbelegt sind! In der Disposition wird beim Auflösen von Baugruppen darauf geachtet, welche Einstellung z.B. eine Unterbaugruppe hat. Je nach Einstellung im Artikelstamm wird die Unterbaugruppe aufgelöst bzw. beim Lieferanten bestellt.
Mengeneingabe in der entsprechenden Einheit vornehmen. Bei Mengenfeldern mit verschiedenen Einheiten, kann die Einheit mit F2 ausgewählt werden. Beispiel: Menge einer Baugruppenposition.
Maximalvorrat
Mengeneingabe in der entsprechenden Einheit vornehmen. Bei Mengenfeldern mit verschiedenen Einheiten, kann die Einheit mit F2 ausgewählt werden. Beispiel: Menge einer Baugruppenposition.
Meldevorrat
Mengeneingabe in der entsprechenden Einheit vornehmen. Bei Mengenfeldern mit verschiedenen Einheiten, kann die Einheit mit F2 ausgewählt werden. Beispiel: Menge einer Baugruppenposition.
Mindestvorrat
Wiederbeschaffungszeit bzw. Lieferzeit in Arbeitstagen nach dem entsprechenden Kalender.
Wiederbeschaffungszeit bzw. Lieferzeit in Arbeitstagen nach dem entsprechenden Kalender. Hier kann eine Zeit in "Arbeitstagen" eingetragen werden, die dann mit den Kalenderfunktionen in entsprechende Datumsangaben umgerechnet werden können.
Wiederbeschaffungszeit bzw. Lieferzeit in Arbeitstagen nach dem entsprechenden Kalender.
Wiederbeschaffungszeit bzw. Lieferzeit in Arbeitstagen nach dem entsprechenden Kalender. Hier kann eine Zeit in "Arbeitstagen" eingetragen werden, die dann mit den Kalenderfunktionen in entsprechende Datumsangaben umgerechnet werden können.
Werkstoffnummer. In diesem Feld kann die Werkstoffnummer des Artikels angegeben werden.
Werkstoffnummer. In diesem Feld kann die Werkstoffnummer des Artikels angegeben werden. Die Werkstoffnummer eines Werkstoffes ist eine Art, einen Werkstoff eindeutig zu bezeichnen. Die erste Stelle bezeichnet die Hauptgruppe, so beginnt die Werkstoffnummer eines Stahles nach Europäischer Normung immer mit 1., gefolgt von vier Ziffern. Zur genaueren Definition können Sie unter folgendem Link nachsehen: http://de.wikipedia.org/wiki/Werkstoffnummer
Zeichnungsnummer zum Artikel. Wird benötigt, wenn dem Artikel eine technische Zeichung hinterlegt ist. Mit F3 - Auswahl kann eine Zeichnung (Dateiname) gewählt werden.
Zeichnungsnummer zum Artikel. Wird benötigt, wenn dem Artikel eine technische Zeichung hinterlegt ist. Mit F3 - Auswahl kann eine Zeichnung (Dateiname) gewählt werden. Bei der Schnittstelle zwischen PMS32 und DDM9000 wird die Zeichnungsnummer als Identifizierung an PMS32 übergeben.
Zeichnungsnummer zum Artikel. Wird benötigt, wenn dem Artikel eine technische Zeichung hinterlegt ist. Mit F3 - Auswahl kann eine Zeichnung (Dateiname) gewählt werden.
Zeichnungsnummer zum Artikel. Wird benötigt, wenn dem Artikel eine technische Zeichung hinterlegt ist. Mit F3 - Auswahl kann eine Zeichnung (Dateiname) gewählt werden. Bei der Schnittstelle zwischen PMS32 und DDM9000 wird die Zeichnungsnummer als Identifizierung an PMS32 übergeben.
Zolltarifnummer. In diesem Feld ist die Zolltarifnummer des Artikels zu hinterlegen falls diese benötig wird.
Zolltarifnummer. In diesem Feld ist die Zolltarifnummer des Artikels zu hinterlegen falls diese benötig wird. Die Nummer kann dann beim Ausdruck (Reportausgabe) auf den entsprechenden Berichten ausgegeben werden. Die Nummer hat einen bestimmten Aufbau, der bei der Eingabe eingehalten werden sollte. Ein Beispiel für den Aufbau der Zolltarifnummer finden Sie im Codebeispiel.
Siehe auch : Hauptmenü / Hauptindex / Such Index / Cursor Index / Programm Module / Tabellen Index / Tabellenmodule / Masken Index / Programmcode Index / Servicepacks / My.Struktur / Funktionen / Sonstiges Index
Lokale Benutzerhilfe : Meine eigene Hilfe / Zurück zur PMS32 - Hilfe
Dateiversion:1.0.04#3648 - H.U.DD#SSFF 02.12.2022
Senden Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32
Weitere Informationen finden Sie unter der aktuellen
PMS32 WEB-Hilfe
Die Informationen dieser Mitteilung sind vertraulich und nur für Sie bestimmt. Unbefugtes Weiterleiten,
Veröffentlichen, Kopieren usw. sind untersagt und werden gerichtlich verfolgt.
© PMS Compelec GmbH 2022 ® el-Projekt