PMS32 Online- Hilfereferenz
Messageinformationen
Datum- Uhrzeitfeld. Eingabe des Datums incl. der Uhrzeit.
Wann wurde die Message erstellt
Datum- Uhrzeitfeld. Eingabe des Datums incl. der Uhrzeit.
Ab wann ist die Message gültig?
Datum- Uhrzeitfeld. Eingabe des Datums incl. der Uhrzeit.
Bis wann ist die Message gültig?
Lookup in : Benutzer (C65). 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: C65 - Benutzer */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen Y98 und C65... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT Y98.IDC65E AS _Quelle, C65.IDC65 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") LEFT OUTER JOIN (My.Clients.Path.cSysDir+"C65.DBF") ON Y98.IDC65E=C65.IDC65 ; WHERE Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle Y98 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C65 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT Y98.IDC65E AS _Quelle, C65.IDC65 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") INNER JOIN (My.Clients.Path.cSysDir+"C65.DBF") ON Y98.IDC65E=C65.IDC65 ; WHERE Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE */ Geht auch so... SELECT Y98.IDC65E AS _Quelle, C65.IDC65 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") , (My.Clients.Path.cSysDir+"C65.DBF") ; WHERE Y98.IDC65E=C65.IDC65 AND Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC65 AS Object loC65 = My.Bussines.Strain.Misc.oC65[Y98.IDC65E] IF !EMPTY(loC65.IDC65) */ Dann wurde der Datensatz in der Tabelle C65 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Benutzer (C65). 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: C65 - Benutzer */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen Y98 und C65... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT Y98.IDC65S AS _Quelle, C65.IDC65 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") LEFT OUTER JOIN (My.Clients.Path.cSysDir+"C65.DBF") ON Y98.IDC65S=C65.IDC65 ; WHERE Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle Y98 im Feld _Quelle und nur vorhandene Datensätze der Tabelle C65 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT Y98.IDC65S AS _Quelle, C65.IDC65 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") INNER JOIN (My.Clients.Path.cSysDir+"C65.DBF") ON Y98.IDC65S=C65.IDC65 ; WHERE Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE */ Geht auch so... SELECT Y98.IDC65S AS _Quelle, C65.IDC65 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") , (My.Clients.Path.cSysDir+"C65.DBF") ; WHERE Y98.IDC65S=C65.IDC65 AND Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE */ Es gibt auch einen Zugriff über die My - Struktur, die ein Tabellen-Objekt zurückgibt... LOCAL loC65 AS Object loC65 = My.Bussines.Strain.Misc.oC65[Y98.IDC65S] IF !EMPTY(loC65.IDC65) */ Dann wurde der Datensatz in der Tabelle C65 gefunden! */ Weiterer Code kann hier stehen... ENDIF
Lookup in : Konfigdatei - Mandanten (X02). 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: X02 - Konfigdatei - Mandanten */ Evetuell ist dieses Feld NICHT gefüllt, dann besteht keine relationale Verbindung zwischen Y98 und X02... */ Eine SQL - Abfrage zum Ermitteln von Quelle und Ziel: SELECT Y98.IDX02 AS _Quelle, X02.IDX02 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") LEFT OUTER JOIN (My.Clients.Path.cDefDir+"X02.DBF") ON Y98.IDX02=X02.IDX02 ; WHERE Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE */ Der obige Cursor enthält alle Datensätze der Tabelle Y98 im Feld _Quelle und nur vorhandene Datensätze der Tabelle X02 */ Besteht keine relationale Verbindung, so ist der Inhalt der Cursorspalte _Ziel = .NULL. */ Die 'gleiche' Abfrage in der NUR relationale Daten vonhanden sind: SELECT Y98.IDX02 AS _Quelle, X02.IDX02 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") INNER JOIN (My.Clients.Path.cDefDir+"X02.DBF") ON Y98.IDX02=X02.IDX02 ; WHERE Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE */ Geht auch so... SELECT Y98.IDX02 AS _Quelle, X02.IDX02 AS _Ziel ; FROM (My.Clients.Path.cNetDir+"Y98.DBF") , (My.Clients.Path.cDefDir+"X02.DBF") ; WHERE Y98.IDX02=X02.IDX02 AND Y98.... ; INTO CURSOR qY98 NOFILTER READWRITE
Primärschlüssel der Tabelle : Messageinformationen
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 IDY98 ist das Primärschlüsselfeld der Tabelle Y98 - Messageinformationen */ 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 Y98.* FROM (My.Clients.Path.cNetDir+"Y98.DBF") ; WHERE Y98.IDY98 = m.idy98 ; INTO CURSOR qY98 NOFILTER READWRITE */ Werden die Daten über die die Methode _SqlRead() abgerufen, so kann der Pfad als Datenbank-Verweis angegeben werden... IF poThis._SqlRead([SELECT Y98.* FROM CNETDIR!Y98 WHERE IDY98=']+m.idy98+['],"qY98",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 loY98 AS Object loY98 = My.Bussines.Strain.Misc.oY98[m.idy98] IF !EMPTY(loY98.IDY98) */ Dann wurde der Datensatz in der Tabelle Y98 gefunden! */ Hier kann weiterer Code stehen... ENDIF
Interne Information:
iiy98 = 0 => Message obliegt KEINER >Zeitgrenze (DatumA<=DatumB)
iiy98 = 1 => Message obliegt Zeitgrenzen DATUMA>
iiy98 = 2 => Zeitgrenzen zwischen DATUMA und DATUMB
iiy98 = 3 => Ablage der Message für die Anzeige der Messages...
Wird für interne Zwecke benötigt.
In diesem Memofeld werden die Benutzer gespeichert, die für IIY98=0 die Message gelesen haben!
In diesem Fall wird die Message NICHT nochmals angezeigt!
Weiterhin muss der SENDER der Message mit IIY98=0 diese auch wieder löschen!
Char. Information, für Steuerungszwecke
Num. Information, für Steuerungszwecke
Memo. Information, für Steuerungszwecke
Titel der Message, die angezeigt wird.
Welche Buttons sollen in der Messagebox angezeigt werden?
Text der Message, die angezeigt wird
Script, das nach der Bestätigung ausgeführt werden soll.
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