PMS32 Online- Hilfereferenz
Baugruppenpositionen
Relationales Feld (Lookup) in den Artikelstamm. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zum Artikelstamm. Dieses Feld ist ein Lookup- relationales Feld in den Artikelstamm (B01). Bei SQL Abfragen wird dieses Feld zur Verknüpfung der eigentlichen Tabelle mit dem Artikelstamm benötigt. Ein Beispiel: SELECT b01.artnr, i33.menge_i FROM i33, b01 WHERE i33.idb01 = b01.idb01 AND ...
*/ Dieses Feld ist ein relationales Feld zur Tabelle: B01 - Artikelstamm */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen F02 und B01... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT F02.IDB01 AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"B01.DBF") ON F02.IDB01=B01.IDB01 ; WHERE F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle F02 im Feld _Quelle und nur vorhandene Datensätze der Tabelle B01 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT F02.IDB01 AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"B01.DBF") ON F02.IDB01=B01.IDB01 ; WHERE F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Geht auch so... SELECT F02.IDB01 AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") , (My.Clients.Path.cDbfDir+"B01.DBF") ; WHERE F02.IDB01=B01.IDB01 AND F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loB01 AS Object loB01 = My.Bussines.Strain.Misc.oB01[F02.IDB01] IF !EMPTY(loB01.IDB01) */ Dann wurde der Datensatz in der Tabelle B01 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in den Artikelstamm. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld zum Artikelstamm. Dieses Feld ist ein Lookup- relationales Feld in den Artikelstamm (B01). Bei SQL Abfragen wird dieses Feld zur Verknüpfung der eigentlichen Tabelle mit dem Artikelstamm benötigt. Ein Beispiel: SELECT b01.artnr, i33.menge_i FROM i33, b01 WHERE i33.idb01 = b01.idb01 AND ...
*/ Dieses Feld ist ein relationales Feld zur Tabelle: B01 - Artikelstamm */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen F02 und B01... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT F02.IDB01S AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"B01.DBF") ON F02.IDB01S=B01.IDB01 ; WHERE F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle F02 im Feld _Quelle und nur vorhandene Datensätze der Tabelle B01 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT F02.IDB01S AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"B01.DBF") ON F02.IDB01S=B01.IDB01 ; WHERE F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Geht auch so... SELECT F02.IDB01S AS _Quelle, B01.IDB01 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") , (My.Clients.Path.cDbfDir+"B01.DBF") ; WHERE F02.IDB01S=B01.IDB01 AND F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loB01 AS Object loB01 = My.Bussines.Strain.Misc.oB01[F02.IDB01S] IF !EMPTY(loB01.IDB01) */ Dann wurde der Datensatz in der Tabelle B01 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt.
Relationales Feld (Lookup) in die Einheitenabelle. Der Feldinhalt wird meistens durch F2 bzw. F3 - Auswahl gefüllt. Hier kann die Einheit des Artikels mit F3 geändert werden. Bitte beachten Sie in diesem Zusammenhang, dass eventuell bei einer Änderung der Einheit auch eine Änderung des Umrechnungsfaktors zur Basiseinheit vorgenommen werden muss. Siehe dazu auch die Umrechnungsfaktoren der Mengeneinheiten.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: C19 - Einheiten-Basiseinheiten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen F02 und C19... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT F02.IDC19S AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON F02.IDC19S=C19.IDC19 ; WHERE F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle F02 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C19 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT F02.IDC19S AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"C19.DBF") ON F02.IDC19S=C19.IDC19 ; WHERE F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Geht auch so... SELECT F02.IDC19S AS _Quelle, C19.IDC19 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") , (My.Clients.Path.cDbfDir+"C19.DBF") ; WHERE F02.IDC19S=C19.IDC19 AND F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC19 AS Object loC19 = My.Bussines.Strain.Misc.oC19[F02.IDC19S] IF !EMPTY(loC19.IDC19) */ Dann wurde der Datensatz in der Tabelle C19 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Primärschlüssel der Tabelle : Baugruppenpositionen
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 IDF02 ist das Primärschlüsselfeld der Tabelle F02 - Baugruppenpositionen */ Dieses Feld kann in anderen Tabellen als relationaler Schlüssel zu dieser Tabelle dienen */ An einem SQL - Beispiel eines beschreibbaren Cursors... */ Die Daten des Cursors können zwar geändert werden, die Änderungen werden jedoch NICHT in die Datenbank zurückgeschrieben! SELECT F02.* FROM (My.Clients.Path.cDbfDir+"F02.DBF") ; WHERE F02.IDF02 = m.idf02 ; INTO CURSOR qF02 NOFILTER READWRITE */ Werden die Daten über die die Methode _SqlRead() abgerufen, so kann der Pfad als Datenbank-Verweis angegeben werden... IF poThis._SqlRead([SELECT F02.* FROM CDBFDIR!F02 WHERE IDF02=']+m.idf02+['],"qF02",2) */ Hier könnte Code stehen... */ Siehe auch: My.Clients.SQL.SQLRead(tnDataSession,tcSQLStatement,tcAlias,tvTable) ENDIF
Relationales Feld (Lookup) in die Arbeitsplandaten. Hier kann mittels F3 ein alternativer Arbeitsplan gewählt werden.
Relationales Feld (Lookup) in die Arbeitsplandaten. Hier kann mittels F3 ein alternativer Arbeitsplan gewählt werden. Wenn der Artikel einen "allgemeinen" Arbeitsplan enthält, so kann dieser hier übersteuert werden, wenn er in einer Baugruppe verbaut wird.
*/ Dieses Feld ist ein relationales Feld zur Tabelle: V04 - Arbeitspläne */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen F02 und V04... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT F02.IDV04A AS _Quelle, V04.IDV04 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") LEFT OUTER JOIN (My.Clients.Path.cDbfDir+"V04.DBF") ON F02.IDV04A=V04.IDV04 ; WHERE F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle F02 im Feld _Quelle und nur vorhandene Datensätze der Tabelle V04 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT F02.IDV04A AS _Quelle, V04.IDV04 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") INNER JOIN (My.Clients.Path.cDbfDir+"V04.DBF") ON F02.IDV04A=V04.IDV04 ; WHERE F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Geht auch so... SELECT F02.IDV04A AS _Quelle, V04.IDV04 AS _Ziel ; FROM (My.Clients.Path.cDbfDir+"F02.DBF") , (My.Clients.Path.cDbfDir+"V04.DBF") ; WHERE F02.IDV04A=V04.IDV04 AND F02.... ; INTO CURSOR qF02 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loV04 AS Object loV04 = My.Bussines.Strain.Misc.oV04[F02.IDV04A] IF !EMPTY(loV04.IDV04) */ Dann wurde der Datensatz in der Tabelle V04 gefunden! */ Weiterer Code kann hier stehen... ENDIF
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
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Programm der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LPRG WITH My.lProgram UPDATE .... , LPRG = My.lProgram
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält den Benutzer der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LWER WITH My.cUser UPDATE .... , LWER = My.cUser
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält die Uhrzeit der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LZEIT WITH My.xTime UPDATE .... , LZEIT = My.xTime
Mengeneingabe in der entsprechenden Einheit vornehmen. Bei Mengenfeldern mit verschiedenen Einheiten, kann die Einheit mit F2 ausgewählt werden. Beispiel: Menge einer Baugruppenposition.
Mengenfeld. Hier kann eine Menge eingegeben werden. Bitte beachten Sie, dass die Mengeneingabe immer größer oder gleich Null sein muss. Negative Mengen können im System eigentlich nicht vorkommen oder werden direkt vom System berechnet.
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)
Diese Position wird nicht disponiert?
Hier kann Einfluss auf die Disposition genommen werden
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Programm der Neuanlage des Datensatzes.
My.lProgram gibt das aktuelle Programm zurück.
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NWER) VALUES (...,My.cUser)
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält den Benutzer der Neuanlage des Datensatzes.
My.cUser gibt den angemeldeten Benutzer (C65) zurück.
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NWER) VALUES (...,My.cUser)
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Neuanlageuhrzeit des Datensatzes.
My.xTime gibt das aktuelle Uhrzeit zurück.
Bitte verwenden Sie nicht TIME()!
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NZEIT) VALUES (...,My.xTime)
Positionsnummer. Sortierkriterium der Positionstabelle.
Positionsnummer. Sortierkriterium der Positionstabelle. Die Nummer kann in verschiedenen Modulen mit entsprechenden Funktionen (Menü) geändert bzw. neu nummeriert werden. Teilweise wird die Positionsnummer nur intern verwendet und ist für den Benutzer nach außen nicht sichtbar. In der Vorgangsverwaltung, E-Masken, besteht eine besondere Positionsnummerierung. Dort werden Positionen der gleichen Pseudobaugruppe mit gleicher Positionsnummer angegeben. Intern jedoch verwendet die Positionsnummer vier Nachkommastellen, die aber bei der Anzeige nicht ausgegeben werden. Dadurch entsteht der Effekt der "gleichen" Positionsnummer bei korrekter Sortierung.
Positionsnummer. Sortierkriterium der Positionstabelle.
Positionsnummer. Sortierkriterium der Positionstabelle. Die Nummer kann in verschiedenen Modulen mit entsprechenden Funktionen (Menü) geändert bzw. neu nummeriert werden. Teilweise wird die Positionsnummer nur intern verwendet und ist für den Benutzer nach außen nicht sichtbar. In der Vorgangsverwaltung, E-Masken, besteht eine besondere Positionsnummerierung. Dort werden Positionen der gleichen Pseudobaugruppe mit gleicher Positionsnummer angegeben. Intern jedoch verwendet die Positionsnummer vier Nachkommastellen, die aber bei der Anzeige nicht ausgegeben werden. Dadurch entsteht der Effekt der "gleichen" Positionsnummer bei korrekter Sortierung.
Der Wert in Teiler wird durch die Menge geteilt um bessere Mengeneingaben zu ermöglichen.
tatsächliche Menge = F02.MENGE / F02.TEILER
Der Wert für F02.TEILER kann nur größer Null sein!
Wird das noch gebraucht?????
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!
Dieser Wert definiert die Systemeinheit, in der gerechnet wird: 1 - VK Fertigung, 2 - VK Handel, 3 - Lager, 4 - Einkauf, weitere Werte können noch folgen...
Definiert die Rechenregel, die zwischen F02.MENGE und F02.URVM angewendet wird. Standard = "*" => F02.MENGE * F02.URVM => F02'.MENGE [LGEH]
Dieser Wert bildet den Umrechnungsfaktor (Wert) für F02.MENGE. Bisher wird F02.MENGE mit diesem Wert multipliziert.
"1"=Normalposition
"2"=Textzeile
"3"=Überschriftzeile
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