PMS32 Online- Hilfereferenz
VK-Vorgänge
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Bitte geben Sie hier das Datum des Abgabetermins an.
Zu diesem Termin soll der Vorgang beim Kunden abgegeben werden.
Dieses Datum kann dazu verwendet werden, den Abgabetermin zu überwachen.
Abgabetermin eintragen ( Kw / Jahr )
Abgabetermin
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Zur Preisanpassung können Kalkulationen mit einem Abschlag oder Zuschlag versehen werden.
Diese Preisanpassung kann prozentual, wertmässig oder als Festpreiseingabe erfolgen.
In allen Fällen wird der Wert der Anpassung im Feld ABSCHLAG gespeichert.
Preisanpassungen führen kalkulatorisch immer zu einer Änderung des Deckungsbeitrags, wirken sich also nicht auf die Kosten aus.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Zur Preisanpassung können Kalkulationen mit einem Abschlag oder Zuschlag versehen werden.
Diese Preisanpassung kann prozentual, wertmässig oder als Festpreiseingabe erfolgen.
In allen Fällen wird der Wert der Anpassung im Feld ABSCHLAG gespeichert.
Preisanpassungen führen kalkulatorisch immer zu einer Änderung des Deckungsbeitrags, wirken sich also nicht auf die Kosten aus.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Zur Preisanpassung können Positionen mit einem Abschlag oder Zuschlag versehen werden.
Diese Preisanpassung kann prozentual, wertmässig oder als Festpreiseingabe erfolgen.
Für den Vorgang werden hier die Abschläge aller Positionen kumuliert ausgewiesen.
Preisanpassungen führen kalkulatorisch immer zu einer Änderung des Deckungsbeitrags, wirken sich also nicht auf die Kosten aus.
Hier kann einer CAE-Liste ein Auftrag zugeordnet werden, auch wenn die CAE-Liste nicht aus einem Auftrag übernommen wurde. Durch diese Zuweisung wird die CAE-Liste dem Auftrag zugeordnet, was dann im Controlling ausgewertet wird.
Anlagenbezeichnung
Die Anlagenbezeichnung kann zur kurzen textlichen Beschreibung des Vorgangs verwendet werden.
Bei CAE-Stücklisten, die mit EPLAN erstellt werden, wird hier das Feld Anlagenbezeichnung aus dem EPLAN-Projekt übernommen.
Ist diese Position eine Aufmaß- Position? Möglichkeiten True/False. Aufmaßpositionen werden in der Vorgangsverwaltung speziell behandelt. Anders als die Kette Auftrag => Lieferschein => Rechnung werden Aufmaßpositionen über die Kette Auftrag => Lieferschein +=> Aufmaß => Rechnung verarbeitet. Der Lieferschein bzw. der Auftrag geben dann die Sollmenge vor, die in den Aufmaßpositionen als Istmenge eingetragen werden. In der Rechnung, basierend auf einem Aufmaß werden Aufmaßpositionen dann anhand der eingetragenen Istmenge berechnet.
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Lassen Sie dieses Feld leer, wenn Sie das Bauende eintragen. PMS errechnet den Baubeginn aus den einzelnen Baudauern und dem Betriebskalender. Das Feld ist nur editierbar, wenn Sie den Radio-Button
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Lassen Sie dieses Feld leer, wenn Sie den Baubeginn eintragen. PMS errechnet das Bauende aus den einzelnen Baudauern und dem Betriebskalender. Das Feld ist nur editierbar, wenn Sie den Radio-Button
Dieses Feld zeigt Ihnen den Fertigstellungsgrad Ihres Vorgangs in Prozent an. Die Werte werden vom System errechnet und sind nicht editierbar.
Dieses Feld zeigt Ihnen die summierte Bauzeit in Tagen für Ihren Vorgang an. Dieses Feld wird vom System mit den berechneten Werten Ihres Vorgangs gefüllt und ist nicht editierbar.
Bemerkungen zum Angebot
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!
BMK Nummerierung. Wie wird die Nummerierung des BMK's im Vorgang vorgenommen.
Wie sind die BMK's der Positionsliste aufgebaut? 0-Es wird der Standard verwendet.1-Gesamt. Nummerierung nach Standard.2-DIN, nur bei dieser BMK Nummerierung wird das BMK aufgelöst! Siehe dazu auch das Codebeispiel.
*/ BMK der Position. */ Ist unter E10.BMKNR = 2 (DIN) eingestellt, so wird die BMK in ihre verschiedenen Teile aufgelöst! BMKANL = Anlage, Anlage BMK kann ein Teil der BMK - Nummer sein. Diese wird durch ein "=" eingeleitet und durch ein "+" abgeschlossen. BMKKB = Kennbuchstabe, K | M | ... BMKORT = Ort BMKZNR = Zählnummer F_A bis F_E => Sortierungen !Die Inhalte werden vor der Summierung bzw. Gruppierung für jede Position ermittelt! !Deshalb kann auch eine Gruppierung z.B. nach IP, Artikelnummer und BMKANL vorgenommen werden! Am Beispiel einer BMK in E11: BMK = "=A01+O01-Q1" BMKANL = "A01" BMKORT = "O01" BMKZNR = "" BMKKB = "Q1" F_A = "" F_B = "Q" F_C = "00...01" F_D = "" F_E = ""
Dies ist der Name des CAE - Projektes. Dieser ist in den Kopfdaten zu sehen. Der Name kann gegebenenfalls auch geändert werden, indem Sie den Pfad zum Projekt ändern.
Dies ist der Name des CAE - Projektes. Dieser ist in den Kopfdaten zu sehen. Der Name kann gegebenenfalls auch geändert werden, indem Sie den Pfad zum Projekt ändern.
Sonderfeld für den Im- und Export von CAE Listen
Sonderfeld für den Im- und Export von CAE Listen. Hier kann ein Feld aus dem Artikelstamm B01 gewählt werden, dass beim Im- und Export von CAE - Listen für den Update herangezogen wird.
Dies ist der Name des CAE - Projektes. Dieser ist in den Kopfdaten zu sehen. Der Name kann gegebenenfalls auch geändert werden, indem Sie den Pfad zum Projekt ändern.
Textbaustein für das Angebotsdeckblatt
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!
Bedarfspositionen mit Nullmengen löschen
Bedarfspositionen mit Nullmengen löschen. Sollen Bedarfspositionen mit Nullmenge im Anschluß an den Einlesevorgang gelöscht werden?
Wurde das Material disponiert?
0 = wurde noch nicht disponiert, Flag ist noch nicht gesetzt.
1 = "Nein" Material wurde nochnicht disponiert
2 = "Ja" Material wurde disponiert
Darf der Vorgang disponiert werden. Dieser Wert kann in den Firmenparametern voreingestellt werden. Ist diese Option deaktiv, so kann der Vorgang nicht disponiert werden! (Sicherheit)
Vorgangsbezogene Börsenpreise
Die Börsenpreise für die Berechnung der Edelmetallzuschläge werden bei gesetztem Parameter vorgangsbezogen
abgespeichert und können dort auch geändert werden. Der Aufruf erfolgt in der
Vorgangsverwaltung über das Menü Datei / Edelmetallwerte.
Bei Nutzung der Funktion Aktualisieren mit Stammdaten / Edelmetalldaten werden die
Edelmetallbörsenpreise wieder aus den aktuellen Stammdaten überschrieben.
Bei der Übernahme von Vorgängen mit den Kopfdaten werden die Börsenpreise mit in den
neuen Vorgang übertragen.
Die Voreinstellung der Firmenparameter ist in den Vorgaben der Vorgänge spezifisch
änderbar.
Bei aktivem Firmenparameter Einzelpreiskalkulation wird der Positionspreis so errechnet,
dass der Gesamtpreis durch die Menge geteilt wird, und der gerundete Einzelpreis wieder
mit der Menge multipliziert wird. Bei Verwendung von Listenpreisen oder festen
Positionseinzelpreisen wird die Menge mit dem Einzelpreis multipliziert.
Bei nicht aktivem Parameter wird der Einzelpreis aus Positionspreis dividiert durch die
Menge errechnet. Dies entspricht der klassischen Rechenweise von PMS, bei der jedoch
vor allem durch die Umrechnung auf Fremdwährungen Rundungsdifferenzen entstehen können.
Ausserdem lassen sich die Posiitionsfestpreiseingaben nun alternativ als Einzelpreis oder Gesamtpreis eingeben.
Die Voreinstellung der Firmenparameter ist in den Vorgaben der Vorgänge spezifisch
änderbar.
Einzelpreise in den Pseudobaugruppen
Einzelpreise in den Pseudobaugruppen? Achtung, die Berechnung für den Pseudobaugruppenkopf ändert sich durch aktivieren dieser Option!
Ist dise Option aktiv, so wird für Pseudobaugruppenköpfe folgende Berechnung ausgeführt:
1. Es wird die Summe des Gesamtpreises aller Positionen gebildet
2. Diese Summe wird durch die Menge der Pseudobaugruppe geteilt (Einzelpreisbererchnung)
3. Der Einzelpreis wird auf N-Nachkommastellen gerundet
4. Der 'neue' Endwert wird durch die Multiplikation der Menge * Einzelpreis der Pseudobaugruppe gebildet!
Ohne diese Option hat PMS bisher NUR den Gesamtwert der PBG berechnet, der Einzelpreis wurde durch Teilung der Menge errechnet. (Inclusive aller Nachkommastellen!)
Dieser Parameter bestimmt, ob bei Verwendung kundenbezogener Artikelpreise zusätzlich auch die Rabattgruppen berücksichtigt werden sollen.
Dieser Parameter bestimmt, ob bei Verwendung kundenbezogener Artikelpreise zusätzlich auch die Rabattgruppen berücksichtigt werden sollen.
Bei der Berechnung von Vorgangspositionen wird normalerweise mit 6 Nachkommastellen gerechnet.
Dieser Parameter erlaubt auch die Rundung von Zwischenwerten in der Kalkulation auf die eingestellte Anzahl von Nachkommastellen.
In PMS können Sie Staffelpreise im Verkauf anwenden. In der Tabelle der
Maske B0104 können Sie den gleichen Kunden mehrfach mit unterschiedlichen
Staffelwerten eintragen
Dieser Parameter bietet die Möglichkeit in Zusammenhang mit kundenbezogenen
Staffelpreisen die Preisermittlung für einen Artikel über die Gesamtmenge auf
Vorgangsebene, oder Positionsebene durchzuführen. Bei Errechnung auf Vorgangsebene
ist sichergestellt, dass mehrfach vorkommende Artikel in einem Vorgang immer mit
dem gleichen Preis kalkuliert werden.
Diese Parameter dienen dazu, die Rundungen in der Vorgangskalkulation festzulegen.
Die Einstellungen erlauben eine mathematische Rundung, ein grundsätzliches Aufrunden oder ein
grundsätzliches Abrunden.
Wie wird der EK bei Mengenänderung bzw. Neuanlage einer Position ermittelt?
Es gibt vier verschiedene Möglichkeiten:
1. Es wird immer der 'kleinste' EK genommen
2. Es wird immer der 'mittlere' EK genommen
3. Es wird immer der 'größte' EK genommen
Gefiltert wird immer auf die Bestellstaffel!
Wie wird der EK bei Mengenänderung bzw. Neuanlage einer Position ermittelt?
Es gibt vier verschiedene Möglichkeiten:
1. Es werden keine projekt- bzw. kundenbezogenen EK's verwendet
2. Projekt- geht vor kundenbezogen und dann freier EK
3. Kunden- geht vor projektbezogen und dann freier EK
Gefiltert wird immer auf die Bestellstaffel!
Bei der Auswahl des EPLAN Projektes wird ein Verzeichnis oder eine Datei ausgewählt?
1 - Verzeichnis wird gewählt (Standard)
2 - Es wird eine Datei ausgewählt (Positionsliste)
Ist die Kopfdatei (STKHEPL.ASC) nicht vorhanden, so wird diese mit den Standardwerten der CAE-Liste gefüllt!
Pfad der CAE-System Dateien. Wird benötigt, wenn CAE-Listen ein- bzw. ausgelesen werden.
Umrechnungsfaktor für Währungsumrechnungen. Der Faktor muss größer Null sein! Er dient zur besseren Berechnung bei großen Währungseinheiten.
Umrechnungsfaktor für Währungsumrechnungen. Der Faktor muss größer Null sein! Er dient zur besseren Berechnung bei großen Währungseinheiten. Dieser Faktor wird für die Umrechnung von der Systemwährung in andere Fremdwährungen benötigt. Zusätzlich werden die Felder KURS, WSYSBOL, NMINW und NKOMMA zur Umrechnung benötigt. An einem Codebeispiel für die Umrechnung in die Kundenwährung in einem Vorgang können Sie die Formel zur Umrechnung von Währungen einsehen.
*/ Codebeispiel für die Umrechnung des VK-Preises im Vorgang zur Währung des Kunden. */ Angenommen, der Kunde bezahlt seine Rechnungen in US Dollar und in den Stammdaten sind folgende Werte hinterlegt: */ Maske C0301: */ C03.IDC03 = "USD" */ C03.KURS = 1,236 && US-Doller für einen EURO */ C03.FAKTOR = 1 && Bleibt eins, bei kleinen Währungen */ Dann wird der VK-Preis in US Doller für eine Position wie folgt berechnet: */ Maske E....: */ E10.IDC03 = "USD" */ E10.FAKTOR = 1 */ E10.KURS = 1,236 && Wird bei Neuanlage übernommen */ E10.WSYMBOL = "EUR" && Systemwährung */ E12.VKSTAMM = 134,24 EUR && Summe in Systemwährung, berechnet aus Kalkualtion */ E11.PREIS_F = Gesamtpreis in Fremdwährung e11.preis_f = e12.vkstamm * e10.kurs / e10.faktor e11.preis_f = 134,24 * 1,236 / 1 = 165,92064 => Gerundet: 165,92 US$ */ Der Preis wird dann noch durch eine Systemroutine auf die korrekte Anzahl der Nachkommastellen gerundet */ Außerdem wird in der Systemroutine die "kleinste Währungseinheit" - NMINW beachtet, die die kleinste */ Einheit in der Währung angibt. Z.B., in der Schweiz 5 Rappen => 0,05 SFR */ Umrechnung von einer Fremdwährung in eine andere Fremdwährung über die Systemwährung */ Währung a: IDC03="USD", KURS=1,236, FAKTOR=1 */ Währung b: IDC03="SFR", KURS=1,352, FAKTOR=1 */ Nach obigem Beispiel: WERTb = WERTa * FAKTORa / KURSa / FAKTORb * KURSb WERTb = 165,92 * 1 / 1,236 / 1 * 1,352 = 181,49177994 SFR => Gerundet: 181,50 SFR !! NMINW=0,05
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Fest- bzw. Endpreis des Vorgangs.
Feld wird in der Zeitplanung gebraucht, um die Einstellung
ob Baubeginn bzw. Bauende FIX ist.
Trennzeichen, die den Gruppenindex bei der Übertragung an die BDE definieren.
Gruppierung, die den Gruppenindex bei der Übertragung an die BDE definiert.
Freies Textfeld für die Eingabe von Werten bis 100 Zeichen.
Freies Textfeld für die Eingabe von Werten bis 100 Zeichen. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Textfeld für die Eingabe von Werten bis 100 Zeichen.
Freies Textfeld für die Eingabe von Werten bis 100 Zeichen. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Textfeld für die Eingabe von Werten bis 100 Zeichen.
Freies Textfeld für die Eingabe von Werten bis 100 Zeichen. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Datumsfeld für die Eingabe von Datumswerten.
Freies Datumsfeld für die Eingabe von Datumswerten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Datumsfeld für die Eingabe von Datumswerten.
Freies Datumsfeld für die Eingabe von Datumswerten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Datumsfeld für die Eingabe von Datumswerten.
Freies Datumsfeld für die Eingabe von Datumswerten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Langtextfeld für die Eingabe von Werten.
Freies Langtextfeld für die Eingabe von Werten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Langtextfeld für die Eingabe von Werten.
Freies Langtextfeld für die Eingabe von Werten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Langtextfeld für die Eingabe von Werten.
Freies Langtextfeld für die Eingabe von Werten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies numerisches Feld für die Eingabe von Zahlenwerten.
Freies numerisches Feld für die Eingabe von Zahlenwerten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies numerisches Feld für die Eingabe von Zahlenwerten.
Freies numerisches Feld für die Eingabe von Zahlenwerten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies numerisches Feld für die Eingabe von Zahlenwerten.
Freies numerisches Feld für die Eingabe von Zahlenwerten. Die Beschreibung des Feldes kann in den Firmenparametern für alle Adress- bzw. Vorgangsmasken eingestellt werden.
Freies Statusfeld mit Index. Hier können Sie einen Status für den Vorgang frei eintragen. Die Feldbeschreibung kann in den Firmenparametern, siehe dort, vorgegeben werden.
Freies Statusfeld mit Index. Hier können Sie einen Status für den Vorgang frei eintragen. Die Feldbeschreibung kann in den Firmenparametern, siehe dort, vorgegeben werden.
Gebucht. Dieses Feld stellt den Status einer Position oder eines Vorgangs dar.
Gebucht. Dieses Feld stellt den Status einer Position oder eines Vorgangs dar. Die Einstellung kann vom Benutzer "meistens" nicht verändert werden. Die Variable ist eine vom System gesetzte Größe. Der Vorgang oder die Positon wurde verbucht.
*/ Stati in den einzelnen Tabellen: d42 => Die Materialprüfung wurde verbucht. Dispositonseinträge wurden geändert. d44 => Die Eingangrechnung wurde verbucht d45 => Die Spediteursrechnung wurde verbucht d46 => Die Lieferantengutschrift wurde verbucht d55 => Kostenwerte wurden auf die Materialpositionen verteilt e10 => Die Lieferscheinmengen wurden vom Projektlager abgebucht i27 => Die Positon der automatischen Materialanforderung wurde verbucht d.h., in die Disposition übergeben i29 => Die Position der manuellen Materialanforderung wurde verbucht d.h., in die Disposition übergeben i30 => Der Lagerzugang wurde "komplett" verbucht i32 => Der Lagerabgang wurde "komplett" verbucht
Wie soll die Artikelauswahl im Vorgang ausgeführt werden?
Wie soll die Artikelauswahl im Vorgang ausgeführt werden?
1. Über Tabelle
2. Über Maske
3. Direkteingabe
4. Kundenartikelnummer
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Gesamtdeckungsbeitrag des Vorgangs. Aus H_DB2 und GESDECKUNG wird DB-I berechnet.
1 - Lagerort des Artikels hat Vorrang
2 - Lagerort im Projekt hat Vorrang (auch Auftrag)
Angebotsstatus alt
Angebotsstatus neu
In diesem Feld wird hstatus2 hinterlegt, wenn dieser geändert wird.
Beschreibung des Angebots 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!
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Verkaufspreis 1
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Verkaufspreis 2
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Angebotsvolumen
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Gemeinkosten, Mat.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Einkaufspreis
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Edelmetallzuschläge
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Fertigungslöhne
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Gemeinkosten, Mat.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Gemeinkosten, Mat.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Gemeinkosten,Fert.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Gemeinkosten, Mat.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Fertigungsgemeinkosten
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Gemeinkosten Material
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Gemeinkosten, Mat.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
kalk. Gewinnzuschlag
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisanpassung
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Kosten Material z.B. Zubehör
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Verkaufspreis 1
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Sonderzuschläge, z.B. Sonderlakierungen
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Verkaufspreis 2
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Angebotsvolumen
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Endpreis nach Abzug der Kopfrabatte excl. nicht rabattierbarer Kosten.
Endpreis nach Abzug der Kopfrabatte excl. nicht rabattierbarer Kosten.
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Preisfeld in Fremdwährung. Dieses Feld enthält einen Wert in Fremdwährung. Bitte beachten Sie in diesem Zusammenhang die Einstellung für Währung: IDC03
Relationales Feld (Lookup) in die Währungstabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zur Währungstabelle. Dieses Feld ist ein Lookup- relationales Feld in die Währungstabelle (C03). Bei SQL Abfragen wird dieses Feld zur Verknüpfung der eigentlichen Tabelle mit der Währungstabelle benötigt. Ein Beispiel: SELECT c03.icc03, COUNT(*) AS anzahl FROM c03,d40 WHERE c03.idc03=d40.idc03 AND ... GROUP BY 1 ... In den Tabellen, in denen die Währung als Lookup abgebildet wird, wird beim Ändern der Währung durch F3 eine Neuberechnung der Positionen mit der neuen Währung durchgeführt.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C03 - Währungen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C03... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC03 AS _Quelle, C03.IDC03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C03.DBF") ON E10.IDC03=C03.IDC03 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C03 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC03 AS _Quelle, C03.IDC03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C03.DBF") ON E10.IDC03=C03.IDC03 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC03 AS _Quelle, C03.IDC03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C03.DBF") ; WHERE E10.IDC03=C03.IDC03 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC03 AS Object loC03 = My.Bussines.Strain.Misc.oC03[E10.IDC03] IF !EMPTY(loC03.IDC03) */ Dann wurde der Datensatz in der Tabelle C03 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Länder (C09). 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: C09 - Länder */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C09... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC09ST AS _Quelle, C09.IDC09 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C09.DBF") ON E10.IDC09ST=C09.IDC09 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 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 E10.IDC09ST AS _Quelle, C09.IDC09 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C09.DBF") ON E10.IDC09ST=C09.IDC09 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC09ST AS _Quelle, C09.IDC09 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C09.DBF") ; WHERE E10.IDC09ST=C09.IDC09 AND E10.... ; INTO CURSOR qE10 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[E10.IDC09ST] IF !EMPTY(loC09.IDC09) */ Dann wurde der Datensatz in der Tabelle C09 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Versandarten (C10). 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: C10 - Versandarten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C10... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC10 AS _Quelle, C10.IDC10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C10.DBF") ON E10.IDC10=C10.IDC10 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C10 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC10 AS _Quelle, C10.IDC10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C10.DBF") ON E10.IDC10=C10.IDC10 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC10 AS _Quelle, C10.IDC10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C10.DBF") ; WHERE E10.IDC10=C10.IDC10 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC10 AS Object loC10 = My.Bussines.Strain.Misc.oC10[E10.IDC10] IF !EMPTY(loC10.IDC10) */ Dann wurde der Datensatz in der Tabelle C10 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld zum Betriebskalender. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zum Betriebskalender. Dieses Feld ist ein Lookup- relationales Feld in die Betriebskalendertabelle (C14). Der Betriebskalender gibt vor, welche Tage arbeitsfreie bzw. Feiertage sind. Die Informationen werden in der Tabelle (C15) abgelegt und bei der Berechnung von Datumswerten herangezogen. Somit wird verhindert, dass z.B. eine Lieferung an einen Kunden am 6. Januar nach Bayern geliefert wird, da in Bayern an diesem Tag Feiertag ist und dann wohl niemand die Lieferung entgegennehmen kann. Alle Betriebskalender- Berechnungen sind in der My Struktur unter: My.Functions.Datum... abgelegt. Die einzelnen Funktionen und deren Parameter können mit dem Tool PMS32M.EXE eingesehen werden.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C14 - Kalender */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C14... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC14 AS _Quelle, C14.IDC14 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C14.DBF") ON E10.IDC14=C14.IDC14 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C14 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC14 AS _Quelle, C14.IDC14 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C14.DBF") ON E10.IDC14=C14.IDC14 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC14 AS _Quelle, C14.IDC14 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C14.DBF") ; WHERE E10.IDC14=C14.IDC14 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC14 AS Object loC14 = My.Bussines.Strain.Misc.oC14[E10.IDC14] IF !EMPTY(loC14.IDC14) */ Dann wurde der Datensatz in der Tabelle C14 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Branchen (C16). 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: C16 - Branchen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C16... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC16 AS _Quelle, C16.IDC16 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C16.DBF") ON E10.IDC16=C16.IDC16 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C16 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC16 AS _Quelle, C16.IDC16 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C16.DBF") ON E10.IDC16=C16.IDC16 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC16 AS _Quelle, C16.IDC16 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C16.DBF") ; WHERE E10.IDC16=C16.IDC16 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC16 AS Object loC16 = My.Bussines.Strain.Misc.oC16[E10.IDC16] IF !EMPTY(loC16.IDC16) */ Dann wurde der Datensatz in der Tabelle C16 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Lieferbedingungen (C22). 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: C22 - Lieferbedingungen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C22... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC22 AS _Quelle, C22.IDC22 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C22.DBF") ON E10.IDC22=C22.IDC22 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C22 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC22 AS _Quelle, C22.IDC22 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C22.DBF") ON E10.IDC22=C22.IDC22 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC22 AS _Quelle, C22.IDC22 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C22.DBF") ; WHERE E10.IDC22=C22.IDC22 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC22 AS Object loC22 = My.Bussines.Strain.Misc.oC22[E10.IDC22] IF !EMPTY(loC22.IDC22) */ Dann wurde der Datensatz in der Tabelle C22 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Zahlungskonditionen (C24). 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: C24 - Zahlungskonditionen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C24... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC24 AS _Quelle, C24.IDC24 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C24.DBF") ON E10.IDC24=C24.IDC24 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C24 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC24 AS _Quelle, C24.IDC24 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C24.DBF") ON E10.IDC24=C24.IDC24 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC24 AS _Quelle, C24.IDC24 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C24.DBF") ; WHERE E10.IDC24=C24.IDC24 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC24 AS Object loC24 = My.Bussines.Strain.Misc.oC24[E10.IDC24] IF !EMPTY(loC24.IDC24) */ Dann wurde der Datensatz in der Tabelle C24 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Sprachauswahl mit F3.
Sprachauswahl. Diese Feld definiert die Sprache, in der die Eingaben für diesen Datensatz vorgenommen werden. Dies ist nur dann wichtig, wenn bei der Reportausgabe bestimmte Werte in der Sprache des Empfängers ausgegeben werden müssen. Der Standard wird bei einer Neuanlage immer mit der Systemsprache vorbelegt. Sie können den Wert durch eine Auswahl mit F3 ändern. Bitte bedenken Sie, dass mindestens eine Eingabe in der Systemsprache vorliegt, da sonst einige SQL's nicht korrekt funktionieren und eventuell diverse Auswertungen fehlerhaft sind.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C26 - Sprachen */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C26... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC26 AS _Quelle, C26.IDC26 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cSysDir+"C26.DBF") ON E10.IDC26=C26.IDC26 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C26 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC26 AS _Quelle, C26.IDC26 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cSysDir+"C26.DBF") ON E10.IDC26=C26.IDC26 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC26 AS _Quelle, C26.IDC26 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cSysDir+"C26.DBF") ; WHERE E10.IDC26=C26.IDC26 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC26 AS Object loC26 = My.Bussines.Strain.Misc.oC26[E10.IDC26] IF !EMPTY(loC26.IDC26) */ Dann wurde der Datensatz in der Tabelle C26 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Benutzerdefinierte Vorgangsart. Wird mit der IPY01 vorbelegt
Benutzerdefinierte Vorgangsart. Wird mit der IPY01 vorbelegt.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C28 - Vorgangsarten
*/ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C28...
*/ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel:
SELECT E10.IDC28 AS _Quelle, C28.IDC28 AS _Ziel ;
FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN ("C28") ON E10.IDC28=C28.IDC28 ;
WHERE E10.... ;
INTO CURSOR qE10 NOFILTER READWRITE
*/ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C28
*/ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL.
*/ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind:
SELECT E10.IDC28 AS _Quelle, C28.IDC28 AS _Ziel ;
FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN ("C28") ON E10.IDC28=C28.IDC28 ;
WHERE E10.... ;
INTO CURSOR qE10 NOFILTER READWRITE
*/ Geht auch so...
SELECT E10.IDC28 AS _Quelle, C28.IDC28 AS _Ziel ;
FROM (My.Clients.Path.cDbfDir+"E10.DBF") , ("C28") ;
WHERE E10.IDC28=C28.IDC28
AND E10.... ;
INTO CURSOR qE10 NOFILTER READWRITE
*/ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt...
LOCAL loC28 AS Object
loC28 = My.Bussines.Strain.Misc.oC28[E10.IDC28]
IF !EMPTY(loC28.IDC28)
*/ Dann wurde der Datensatz in der Tabelle C28 gefunden!
*/ Weiterer Code kann hier stehen...
ENDIF
Lookup in : Kostenträger (C31). 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: C31 - Kostenträger */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C31... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC31 AS _Quelle, C31.IDC31 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C31.DBF") ON E10.IDC31=C31.IDC31 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C31 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC31 AS _Quelle, C31.IDC31 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C31.DBF") ON E10.IDC31=C31.IDC31 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC31 AS _Quelle, C31.IDC31 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C31.DBF") ; WHERE E10.IDC31=C31.IDC31 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC31 AS Object loC31 = My.Bussines.Strain.Misc.oC31[E10.IDC31] IF !EMPTY(loC31.IDC31) */ Dann wurde der Datensatz in der Tabelle C31 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 E10 und C40... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC40 AS _Quelle, C40.IDC40 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C40.DBF") ON E10.IDC40=C40.IDC40 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 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 E10.IDC40 AS _Quelle, C40.IDC40 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C40.DBF") ON E10.IDC40=C40.IDC40 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC40 AS _Quelle, C40.IDC40 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C40.DBF") ; WHERE E10.IDC40=C40.IDC40 AND E10.... ; INTO CURSOR qE10 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[E10.IDC40] IF !EMPTY(loC40.IDC40) */ Dann wurde der Datensatz in der Tabelle C40 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Kundentabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zur Kundentabelle. Dieses Feld ist ein Lookup- relationales Feld in die Kundentabelle (C63). Bei SQL Abfragen wird dieses Feld zur Verknüpfung der eigentlichen Tabelle mit der Kundentabelle benötigt. Ein Beispiel: SELECT c63.match, COUNT(*) AS anzahl FROM c63,d40 WHERE c63.idc63=d40.idc61 AND ... GROUP BY 1 ... Dieser SQL würde alle Beistellungen und Reparaturbestellungen zum Kunden ermitteln.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C63 - Kunden */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C63... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC63 AS _Quelle, C63.IDC63 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C63.DBF") ON E10.IDC63=C63.IDC63 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C63 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC63 AS _Quelle, C63.IDC63 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C63.DBF") ON E10.IDC63=C63.IDC63 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC63 AS _Quelle, C63.IDC63 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C63.DBF") ; WHERE E10.IDC63=C63.IDC63 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC63 AS Object loC63 = My.Bussines.Strain.Misc.oC63[E10.IDC63] IF !EMPTY(loC63.IDC63) */ Dann wurde der Datensatz in der Tabelle C63 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 E10 und C66... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC66 AS _Quelle, C66.IDC66 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C66.DBF") ON E10.IDC66=C66.IDC66 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 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 E10.IDC66 AS _Quelle, C66.IDC66 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C66.DBF") ON E10.IDC66=C66.IDC66 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC66 AS _Quelle, C66.IDC66 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C66.DBF") ; WHERE E10.IDC66=C66.IDC66 AND E10.... ; INTO CURSOR qE10 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[E10.IDC66] IF !EMPTY(loC66.IDC66) */ Dann wurde der Datensatz in der Tabelle C66 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Ansprechpartner (C67). 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: C67 - Ansprechpartner */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C67... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC67 AS _Quelle, C67.IDC67 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C67.DBF") ON E10.IDC67=C67.IDC67 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C67 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC67 AS _Quelle, C67.IDC67 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C67.DBF") ON E10.IDC67=C67.IDC67 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC67 AS _Quelle, C67.IDC67 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C67.DBF") ; WHERE E10.IDC67=C67.IDC67 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC67 AS Object loC67 = My.Bussines.Strain.Misc.oC67[E10.IDC67] IF !EMPTY(loC67.IDC67) */ Dann wurde der Datensatz in der Tabelle C67 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Sachbearbeiter (C68). 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: C68 - Sachbearbeiter */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C68... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC68PL AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C68.DBF") ON E10.IDC68PL=C68.IDC68 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C68 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC68PL AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C68.DBF") ON E10.IDC68PL=C68.IDC68 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC68PL AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C68.DBF") ; WHERE E10.IDC68PL=C68.IDC68 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC68 AS Object loC68 = My.Bussines.Strain.Misc.oC68[E10.IDC68PL] IF !EMPTY(loC68.IDC68) */ Dann wurde der Datensatz in der Tabelle C68 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Sachbearbeiter (C68). 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: C68 - Sachbearbeiter */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C68... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC68S1 AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C68.DBF") ON E10.IDC68S1=C68.IDC68 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C68 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC68S1 AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C68.DBF") ON E10.IDC68S1=C68.IDC68 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC68S1 AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C68.DBF") ; WHERE E10.IDC68S1=C68.IDC68 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC68 AS Object loC68 = My.Bussines.Strain.Misc.oC68[E10.IDC68S1] IF !EMPTY(loC68.IDC68) */ Dann wurde der Datensatz in der Tabelle C68 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Sachbearbeiter (C68). 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: C68 - Sachbearbeiter */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C68... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC68S2 AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C68.DBF") ON E10.IDC68S2=C68.IDC68 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C68 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC68S2 AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C68.DBF") ON E10.IDC68S2=C68.IDC68 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC68S2 AS _Quelle, C68.IDC68 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C68.DBF") ; WHERE E10.IDC68S2=C68.IDC68 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC68 AS Object loC68 = My.Bussines.Strain.Misc.oC68[E10.IDC68S2] IF !EMPTY(loC68.IDC68) */ Dann wurde der Datensatz in der Tabelle C68 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Vertreter (C69). 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: C69 - Vertreter */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und C69... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDC69 AS _Quelle, C69.IDC69 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C69.DBF") ON E10.IDC69=C69.IDC69 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C69 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDC69 AS _Quelle, C69.IDC69 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C69.DBF") ON E10.IDC69=C69.IDC69 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDC69 AS _Quelle, C69.IDC69 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"C69.DBF") ; WHERE E10.IDC69=C69.IDC69 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC69 AS Object loC69 = My.Bussines.Strain.Misc.oC69[E10.IDC69] IF !EMPTY(loC69.IDC69) */ Dann wurde der Datensatz in der Tabelle C69 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Primärschlüssel der Tabelle : VK-Vorgänge
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 IDE10+IDC26 bilden den Primärschlüssel der Tabelle E10 - VK-Vorgänge */ Dieses Feld IDE10 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 E10.* FROM (My.Clients.Path.cDbfDir+"E10.DBF") ; WHERE E10.IDE10 = m.ide10 AND E10.IDC26 = My.cIdc26 ; INTO CURSOR qE10 NOFILTER READWRITE */ Werden die Daten über die die Methode _SqlRead() abgerufen, so kann der Pfad als Datenbank-Verweis angegeben werden... IF poThis._SqlRead([SELECT E10.* FROM CDBFDIR!E10 WHERE IDE10=']+m.ide10+[' AND IDC26=']+My.cIdc26+['],"qE10",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 loE10 AS Object */ Die Filterung auf IDC26 der Tabelle erfolgt immer über My.cIdc26 (Systemsprache)! loE10 = My.Bussines.Strain.Misc.oE10[m.ide10] IF !EMPTY(loE10.IDE10) */ Dann wurde der Datensatz in der Tabelle E10 gefunden! ENDIF */ Hinweis: Diese Tabelle ein Feld mit dem Namen: IEE10! */ Damit kann auch über den EAN-Code das Tabellenobjekt abgefragt werden... LOCAL loE10 AS Object loE10 = My.Bussines.Strain.Misc.oE10[m.IEE10] IF !EMPTY(loE10.IDE10) */ Dann wurde der Datensatz in der Tabelle E10 gefunden! */ Hier kann weiterer Code 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 E10 und K10... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDK10 AS _Quelle, K10.IDK10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"K10.DBF") ON E10.IDK10=K10.IDK10 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 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 E10.IDK10 AS _Quelle, K10.IDK10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"K10.DBF") ON E10.IDK10=K10.IDK10 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDK10 AS _Quelle, K10.IDK10 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"K10.DBF") ; WHERE E10.IDK10=K10.IDK10 AND E10.... ; INTO CURSOR qE10 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[E10.IDK10] IF !EMPTY(loK10.IDK10) */ Dann wurde der Datensatz in der Tabelle K10 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Kalkulationsschemata (V03). 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: V03 - Kalkulationsschemata */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und V03... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDV03 AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"V03.DBF") ON E10.IDV03=V03.IDV03 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle V03 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDV03 AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"V03.DBF") ON E10.IDV03=V03.IDV03 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDV03 AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"V03.DBF") ; WHERE E10.IDV03=V03.IDV03 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loV03 AS Object loV03 = My.Bussines.Strain.Misc.oV03[E10.IDV03] IF !EMPTY(loV03.IDV03) */ Dann wurde der Datensatz in der Tabelle V03 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld zum Kalkulationsschema Fertigung.
Relationales Feld zum Kalkulationsschema. Dieses Feld ist ein Lookup- relationales Feld in die Kalkulationsschema (V03). Dieses Feld ist eine Vorlage für das Kalkulationschema Fertigung in den Positionen eines Vorgangs. Das gleiche Feld in der Projektverwaltung hat Vorrang vor diesem Kalkulationsschema.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: V03 - Kalkulationsschemata */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und V03... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDV03FV AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"V03.DBF") ON E10.IDV03FV=V03.IDV03 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle V03 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDV03FV AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"V03.DBF") ON E10.IDV03FV=V03.IDV03 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDV03FV AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"V03.DBF") ; WHERE E10.IDV03FV=V03.IDV03 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loV03 AS Object loV03 = My.Bussines.Strain.Misc.oV03[E10.IDV03FV] IF !EMPTY(loV03.IDV03) */ Dann wurde der Datensatz in der Tabelle V03 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld zum Kalkulationsschema Handel.
Relationales Feld zum Kalkulationsschema. Dieses Feld ist ein Lookup- relationales Feld in die Kalkulationsschema (V03). Dieses Feld ist eine Vorlage für das Kalkulationschema Handel in den Positionen eines Vorgangs. Das gleiche Feld in der Projektverwaltung hat Vorrang vor diesem Kalkulationsschema.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: V03 - Kalkulationsschemata */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und V03... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDV03HV AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"V03.DBF") ON E10.IDV03HV=V03.IDV03 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle V03 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDV03HV AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"V03.DBF") ON E10.IDV03HV=V03.IDV03 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDV03HV AS _Quelle, V03.IDV03 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"V03.DBF") ; WHERE E10.IDV03HV=V03.IDV03 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loV03 AS Object loV03 = My.Bussines.Strain.Misc.oV03[E10.IDV03HV] IF !EMPTY(loV03.IDV03) */ Dann wurde der Datensatz in der Tabelle V03 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Zahlungspläne (Z01). 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: Z01 - Zahlungspläne */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und Z01... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDZ01 AS _Quelle, Z01.IDZ01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"Z01.DBF") ON E10.IDZ01=Z01.IDZ01 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle Z01 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDZ01 AS _Quelle, Z01.IDZ01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"Z01.DBF") ON E10.IDZ01=Z01.IDZ01 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDZ01 AS _Quelle, Z01.IDZ01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"Z01.DBF") ; WHERE E10.IDZ01=Z01.IDZ01 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loZ01 AS Object loZ01 = My.Bussines.Strain.Misc.oZ01[E10.IDZ01] IF !EMPTY(loZ01.IDZ01) */ Dann wurde der Datensatz in der Tabelle Z01 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Zahlungspläne -Pos. (Z02). 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: Z02 - Zahlungspläne -Pos. */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen E10 und Z02... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT E10.IDZ02 AS _Quelle, Z02.IDZ02 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"Z02.DBF") ON E10.IDZ02=Z02.IDZ02 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle E10 im Feld _Quelle und nur vorhandene Datensätze der Tabelle Z02 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT E10.IDZ02 AS _Quelle, Z02.IDZ02 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"Z02.DBF") ON E10.IDZ02=Z02.IDZ02 ; WHERE E10.... ; INTO CURSOR qE10 NOFILTER READWRITE */ Geht auch so... SELECT E10.IDZ02 AS _Quelle, Z02.IDZ02 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"E10.DBF") , (My.Clients.Path.cDbfDir+"Z02.DBF") ; WHERE E10.IDZ02=Z02.IDZ02 AND E10.... ; INTO CURSOR qE10 NOFILTER READWRITE
Neues EAN-Code Feld. Wird automatisch vom System vorbelegt
Neues EAN-Code Feld. Wird automatisch vom System vorbelegt. ie«Table» = My.Clients.Numbers.EANCode(«Table»), Beispiel: iec02=My.Clients.Numbers.EANCode("E02") Die Aufschlüsselung des Codes erfolgt folgendermaßen: «Tabelle»«FortlaufendeNummer»«Prüfziffer» Wobei die angegebene Tabelle nach einem Prüfstring umgewandelt wird. Prüfstring: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" Daraus ergibt sich für "E10" =» "1410" =» 14te Stelle = "E", ... Es wird bei Stelle 0 zu zählen begonnen! Danach erfolgt eine fortlaufende Nummer, die über die Systemtabelle X14 gebildet wird. 00000001 - 99999999 Zuletzt wird die Prüfziffer über lcEAN = My.Functions.BarCodes.EanCodePP(CodeOhnePrüfziffer) gebildet. Der zurückgegebene Code ist ein gültiger EAN-13 Code und kann mit den mitgelieferten Schriftarten, siehe ..\mitgeben\, auf einem Report ausgegeben werden.
*/ Dieses Feld ist ein IE - Feld der Tabelle (EAN-Code)... */ Die Information der Tabelle kann über die My Struktur ermittelt werden... LOCAL loE10 AS Object loE10 = My.Bussines.Strain.Misc.oE10[E10.IEE10] IF !EMPTY(loE10.IEE10) */ Dann wurden Daten gefunden... */ Weiterer Code hier... ENDIF
Bezugsdatum auf letzte Mitteilung
Ihre Nachricht
Ihre Zeichen
PAGE04
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[E10.IPY01] */ Damit kann die Zeilenart bestimmt werden...
PAGE04
kundenseitige Bestellnummer
Altstatus
Kommision eingeben
mit Konstruktion
ohne Konstruktion
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Umrechnungskurs für Währungsumrechnungen. Der Kurs muss größer Null sein!
Umrechnungskurs für Währungsumrechnungen. Der Kurs muss größer Null sein! Der Kurs wird für die Umrechnung von der Systemwährung in andere Fremdwährungen benötigt. Zusätzlich werden die Felder FAKTOR, WSYSBOL, NMINW und NKOMMA zur Umrechnung benötigt. An einem Codebeispiel für die Umrechnung in die Kundenwährung in einem Vorgang können Sie die Formel zur Umrechnung von Währungen einsehen.
*/ Codebeispiel für die Umrechnung des VK-Preises im Vorgang zur Währung des Kunden. */ Angenommen, der Kunde bezahlt seine Rechnungen in US Dollar und in den Stammdaten sind folgende Werte hinterlegt: */ Maske C0301: */ C03.IDC03 = "USD" */ C03.KURS = 1,236 && US-Doller für einen EURO */ C03.FAKTOR = 1 && Bleibt eins, bei kleinen Währungen */ Dann wird der VK-Preis in US Doller für eine Position wie folgt berechnet: */ Maske E....: */ E10.IDC03 = "USD" */ E10.FAKTOR = 1 */ E10.KURS = 1,236 && Wird bei Neuanlage übernommen */ E10.WSYMBOL = "EUR" && Systemwährung */ E12.VKSTAMM = 134,24 EUR && Summe in Systemwährung, berechnet aus Kalkualtion */ E11.PREIS_F = Gesamtpreis in Fremdwährung e11.preis_f = e12.vkstamm * e10.kurs / e10.faktor e11.preis_f = 134,24 * 1,236 / 1 = 165,92064 => Gerundet: 165,92 US$ */ Der Preis wird dann noch durch eine Systemroutine auf die korrekte Anzahl der Nachkommastellen gerundet */ Außerdem wird in der Systemroutine die "kleinste Währungseinheit" - NMINW beachtet, die die kleinste */ Einheit in der Währung angibt. Z.B., in der Schweiz 5 Rappen => 0,05 SFR */ Umrechnung von einer Fremdwährung in eine andere Fremdwährung über die Systemwährung */ Währung a: IDC03="USD", KURS=1,236, FAKTOR=1 */ Währung b: IDC03="SFR", KURS=1,352, FAKTOR=1 */ Nach obigem Beispiel: WERTb = WERTa * FAKTORa / KURSa / FAKTORb * KURSb WERTb = 165,92 * 1 / 1,236 / 1 * 1,352 = 181,49177994 SFR => Gerundet: 181,50 SFR !! NMINW=0,05
Lieferscheine trotz aktiver Materialwirtschaft nicht vom Lagerbestand abbuchen
Lieferscheine trotz aktiver Materialwirtschaft nicht vom Lagerbestand abbuchen. Diese Vorgabe wird in den Firmenparametern gesetzt und kann im Vorgang (Lieferschein) geändert werden.
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
PAGE04
Bei diesem Vorgang keine Seriennummernverwaltung aktivieren
Bei diesem Vorgang keine Seriennummernverwaltung aktivieren.
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
Hier können Sie die Anredeform bezogen auf eine Person oder ein Unternehmen angeben.
Gängige Eintragungen sind zum Beispiel Frau, Herr oder Firma.
Ist der Vorgang vom Lager abgebucht worden?
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Dieses Datum wird, wenn Sie einen Lieferschein anlegen standardmässig auf den Erstellungstag gesetzt. Es ist aber möglich dieses Datum auf einen anderen Termin zu datieren.
Lieferschein Land
Lieferanschrift
Hier können Sie die erste Zeile für den Namen bezogen auf die Lieferadresse eingeben.
Hier können Sie die zweite Zeile für den Namen bezogen auf die Lieferadresse eingeben.
Hier können Sie die dritte Zeile für den Namen bezogen auf die Lieferadresse eingeben.
Diese Zeile wird in PMS bevorzugt für den Name eines Ansprechpartners verwendet.
Hier können Sie den Ort der Lieferanschrift angeben.
Hier können Sie die Postleitzahl der Lieferanschrift angeben.
Hier können Sie die Postleitzahl des Postfachs der Lieferanschrift angeben.
Hier können Sie das Postfach der Lieferanschrift angeben.
Hier können Sie die Strassenbezeichnung und die Hausnummer der Lieferanschrift angeben.
Liefertermin
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
Geben Sie den Matchcode ein.
Multiplikator bei CAE-Listen
Wirkt auf die Felder MGB und MGEZ
MGEZ => Einzelteilmenge
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 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)
PAGE04
Anzahl der Nachkommastellen für Währungsumrechnungen.
Anzahl der Nachkommastellen für Währungsumrechnungen. Mit dem Wert wird die Anzahl der Nachkommastellen in der Fremdwährung berechnet. Zusätzlich werden die Felder FAKTOR, WSYSBOL, NMINW und KURS zur Umrechnung benötigt. An einem Codebeispiel für die Umrechnung in die Kundenwährung in einem Vorgang können Sie die Formel zur Umrechnung von Währungen einsehen.
*/ Codebeispiel für die Umrechnung des VK-Preises im Vorgang zur Währung des Kunden. */ Angenommen, der Kunde bezahlt seine Rechnungen in US Dollar und in den Stammdaten sind folgende Werte hinterlegt: */ Maske C0301: */ C03.IDC03 = "USD" */ C03.KURS = 1,236 && US-Doller für einen EURO */ C03.FAKTOR = 1 && Bleibt eins, bei kleinen Währungen */ Dann wird der VK-Preis in US Doller für eine Position wie folgt berechnet: */ Maske E....: */ E10.IDC03 = "USD" */ E10.FAKTOR = 1 */ E10.KURS = 1,236 && Wird bei Neuanlage übernommen */ E10.WSYMBOL = "EUR" && Systemwährung */ E12.VKSTAMM = 134,24 EUR && Summe in Systemwährung, berechnet aus Kalkualtion */ E11.PREIS_F = Gesamtpreis in Fremdwährung e11.preis_f = e12.vkstamm * e10.kurs / e10.faktor e11.preis_f = 134,24 * 1,236 / 1 = 165,92064 => Gerundet: 165,92 US$ */ Der Preis wird dann noch durch eine Systemroutine auf die korrekte Anzahl der Nachkommastellen gerundet */ Außerdem wird in der Systemroutine die "kleinste Währungseinheit" - NMINW beachtet, die die kleinste */ Einheit in der Währung angibt. Z.B., in der Schweiz 5 Rappen => 0,05 SFR */ Umrechnung von einer Fremdwährung in eine andere Fremdwährung über die Systemwährung */ Währung a: IDC03="USD", KURS=1,236, FAKTOR=1 */ Währung b: IDC03="SFR", KURS=1,352, FAKTOR=1 */ Nach obigem Beispiel: WERTb = WERTa * FAKTORa / KURSa / FAKTORb * KURSb WERTb = 165,92 * 1 / 1,236 / 1 * 1,352 = 181,49177994 SFR => Gerundet: 181,50 SFR !! NMINW=0,05
Kleinste Währungseinheit, in der die Fremdwährung gezahlt wird. In der Schweiz z.B. 5 Rappen => 0,05 SFR.
Kleinste Währungseinheit, in der die Fremdwährung gezahlt wird. In der Schweiz z.B. 5 Rappen => 0,05 SFR. Zusätzlich werden die Felder FAKTOR, NKOMMA, WSYMBOL und KURS zur Umrechnung benötigt. An einem Codebeispiel für die Umrechnung in die Kundenwährung in einem Vorgang können Sie die Formel zur Umrechnung von Währungen einsehen.
*/ Codebeispiel für die Umrechnung des VK-Preises im Vorgang zur Währung des Kunden. */ Angenommen, der Kunde bezahlt seine Rechnungen in US Dollar und in den Stammdaten sind folgende Werte hinterlegt: */ Maske C0301: */ C03.IDC03 = "USD" */ C03.KURS = 1,236 && US-Doller für einen EURO */ C03.FAKTOR = 1 && Bleibt eins, bei kleinen Währungen */ Dann wird der VK-Preis in US Doller für eine Position wie folgt berechnet: */ Maske E....: */ E10.IDC03 = "USD" */ E10.FAKTOR = 1 */ E10.KURS = 1,236 && Wird bei Neuanlage übernommen */ E10.WSYMBOL = "EUR" && Systemwährung */ E12.VKSTAMM = 134,24 EUR && Summe in Systemwährung, berechnet aus Kalkualtion */ E11.PREIS_F = Gesamtpreis in Fremdwährung e11.preis_f = e12.vkstamm * e10.kurs / e10.faktor e11.preis_f = 134,24 * 1,236 / 1 = 165,92064 => Gerundet: 165,92 US$ */ Der Preis wird dann noch durch eine Systemroutine auf die korrekte Anzahl der Nachkommastellen gerundet */ Außerdem wird in der Systemroutine die "kleinste Währungseinheit" - NMINW beachtet, die die kleinste */ Einheit in der Währung angibt. Z.B., in der Schweiz 5 Rappen => 0,05 SFR */ Umrechnung von einer Fremdwährung in eine andere Fremdwährung über die Systemwährung */ Währung a: IDC03="USD", KURS=1,236, FAKTOR=1 */ Währung b: IDC03="SFR", KURS=1,352, FAKTOR=1 */ Nach obigem Beispiel: WERTb = WERTa * FAKTORa / KURSa / FAKTORb * KURSb WERTb = 165,92 * 1 / 1,236 / 1 * 1,352 = 181,49177994 SFR => Gerundet: 181,50 SFR !! NMINW=0,05
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.
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)
Bitte füllen Sie möglichst das Feld mit einem eindeutigen Wert, damit Sie bei einer Auswahl (Lookup) die Information deutlich indentifizieren können.
Candidate Felder einer Tabelle definieren einen eindeutigen Suchbefriff für den Benutzer. Meistens hat die Tabelle auch eine interne ID, die den Primärschlüssel der Tabelle bildet. Dann "könnten" mehrere "gleiche" Datensätze mit gleichem Candidateschlüssel angelegt werden. Das System wäre in der Lage, bei Doppeltbenennungen "quasi gleicher" Definitionen, anhand der internen ID die Daten auseinander zu halten. Der Benutzer kann bei einer Auswahl (Lookup) die Informationen dann aber nicht unbedingt auseinanderhalten. Dieses Feld wird "meistens" bei einer Relation aus einer anderen Tabelle heraus angezeigt. Achten Sie deshalb darauf, dass Sie die Information wiedererkennen können. Am Beispiel einer Artikelnummer: Unter einer Artikelnummer mit "74568958743.14" kann sich kaum jemand was vorstellen, jedoch mit "SIE.3TH..." (Hersteller + Typennummer) weiss der Benutzer zumindest, dass es sich hier um Leistungsschütze handelt. Wie Sie Ihre Candidate Schlüssel eingeben bleibt Ihnen überlassen, bedenken Sie jedoch, dass einen sprechende Nummer für nicht eingeweihte Personen besser lesbar ist.
Wie soll das Eingetragene Kalkulationsschema behandelt werden?
1 - Nicht ändern
2 - Hat Vorrang vor der Stammkalkulation
3 - Nur wenn Stammkalkulation leer
Wie soll das Eingetragene Kalkulationsschema behandelt werden?
1 - Nicht ändern
2 - Hat Vorrang vor der Stammkalkulation
3 - Nur wenn Stammkalkulation leer
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)
PAGE04
PAGE04
Direkte Anzeige der Projektnummer in einer Fremdtabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Direkte Anzeige der Projektnummer in einer Fremdtabelle. Zusätzlich zur IDK10 (Primärer Projektschlüssel) wird in diesen Tabellen die Projektnummer angezeigt. Fehlt das Feld (IDK10) in der Tabelle, so wird die Projektnummer aus Sicherheitsgründen genommen, um bei eventuell gelöschtem Projekt noch die Nummer anzeigen zu können. Im Standard erfolgt eine relationale Verknüpfung zur Projekttabelle über die Information IDK10 (Primärschlüssel) der Projekttabelle. Hier wurde jedoch die Projektnummer direkt gewählt, was auch durch ein extern angeschlossenes System notwendig sein kann. Ein externes System muss nicht unbedingt den Primärschlüssel von PMS32 verwenden oder kennt diesen.
Zu- bzw. Abschlagsfeld in Prozent "%". Bitte achten Sie auf die Einstellungen "%","/",".","F" falls vorhanden.
Vertreter Provision
Zu- bzw. Abschlagsfeld in Prozent "%". Bitte achten Sie auf die Einstellungen "%","/",".","F" falls vorhanden.
Rabatt in %
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.
Rabatt aus Pos. in %
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Hier können Sie die Anredeform bezogen auf eine Person oder ein Unternehmen angeben.
Gängige Eintragungen sind zum Beispiel Frau, Herr oder Firma.
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Das Belegdatum wird bei Buchungs- und Berechnungsfunktionen herangezogen.
Das Belegdatum wird auch zur Berechnung der Vorgangsnummer ausgewertet.
Deshalb sollte das Buchungsdatum vor dem Bezug der Vorgangsnummer entsprechend geändert werden.
Land
Rechnungsanschrift
Hier können Sie die erste Zeile für den Namen bezogen auf die Rechnungsadresse eingeben.
Hier können Sie die zweite Zeile für den Namen bezogen auf die Rechnungsadresse eingeben.
Hier können Sie die dritte Zeile für den Namen bezogen auf die Rechnungsadresse eingeben
Diese Zeile wird in PMS bevorzugt für den Name eines Ansprechpartners verwendet.
Hier können Sie den Ort der Rechnungsanschrift angeben.
Hier können Sie die Postleitzahl der Rechnungsanschrift angebe
Hier können Sie die Postleitzahl des Postfachs der Rechnungsanschrift angeben
Hier können Sie das Postfach der Rechnungsanschrift angeben..
Hier können Sie die Strassenbezeichnung und die Hausnummer der Rechnungsanschrift angeben.
Sammelauftrag bei Presenten bzw. SWARTs
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!
Sachbearbeiter auswählen
Unsere Zeichen
Zeilenkalkulation, Fertigung=1 / Handel=2
Fertigung = 1
Handel = 2
Wird als Vorbelegung für die Positionen in E11/E12 benutzt.
Wiedervorlagetermin ( KW / Jahr )
Wiedervorlagetermin
Basiswährung des Vorgangs. Enthält das Systemwährungskürzel aus den Firmenparametern.
Basiswährung des Vorgangs. Enthält das Systemwährungskürzel aus den Firmenparametern. Zusätzlich werden die Felder FAKTOR, NKOMMA, NMINW und KURS zur Umrechnung benötigt. An einem Codebeispiel für die Umrechnung in die Kundenwährung in einem Vorgang können Sie die Formel zur Umrechnung von Währungen einsehen.
*/ Codebeispiel für die Umrechnung des VK-Preises im Vorgang zur Währung des Kunden. */ Angenommen, der Kunde bezahlt seine Rechnungen in US Dollar und in den Stammdaten sind folgende Werte hinterlegt: */ Maske C0301: */ C03.IDC03 = "USD" */ C03.KURS = 1,236 && US-Doller für einen EURO */ C03.FAKTOR = 1 && Bleibt eins, bei kleinen Währungen */ Dann wird der VK-Preis in US Doller für eine Position wie folgt berechnet: */ Maske E....: */ E10.IDC03 = "USD" */ E10.FAKTOR = 1 */ E10.KURS = 1,236 && Wird bei Neuanlage übernommen */ E10.WSYMBOL = "EUR" && Systemwährung */ E12.VKSTAMM = 134,24 EUR && Summe in Systemwährung, berechnet aus Kalkualtion */ E11.PREIS_F = Gesamtpreis in Fremdwährung e11.preis_f = e12.vkstamm * e10.kurs / e10.faktor e11.preis_f = 134,24 * 1,236 / 1 = 165,92064 => Gerundet: 165,92 US$ */ Der Preis wird dann noch durch eine Systemroutine auf die korrekte Anzahl der Nachkommastellen gerundet */ Außerdem wird in der Systemroutine die "kleinste Währungseinheit" - NMINW beachtet, die die kleinste */ Einheit in der Währung angibt. Z.B., in der Schweiz 5 Rappen => 0,05 SFR */ Umrechnung von einer Fremdwährung in eine andere Fremdwährung über die Systemwährung */ Währung a: IDC03="USD", KURS=1,236, FAKTOR=1 */ Währung b: IDC03="SFR", KURS=1,352, FAKTOR=1 */ Nach obigem Beispiel: WERTb = WERTa * FAKTORa / KURSa / FAKTORb * KURSb WERTb = 165,92 * 1 / 1,236 / 1 * 1,352 = 181,49177994 SFR => Gerundet: 181,50 SFR !! NMINW=0,05
Eingabe des Datums oder Auswahl in der Kalendermaske mit STRG+F2 oder durch Mausklick auf den Button rechts neben dem Datumsfeld.
Bitte geben Sie hier das Datum des Wiedervorlagetermins an.
Dieses Datum gilt als Termin, zu dem der Kunde erneut kontaktiert werden soll.
Dieses Datum kann dazu verwendet werden, den Wiedervorlagetermin zu überwachen.
Status Zahlungsplan
10 angelegt
20 gedruckt
30 teilberechnet
40 komplett berechnet
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.
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!
Preisfeld in Firmenwährung. Diese Feld enthält einen Wert in Firmenwährung.
Zuschlag
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