PMS32 Online- Hilfereferenz

MY.CLIENTS.SYSTABLES

SysTables - Wird nur von PMS32B.EXE benötigt. Update der im Systemverzeichnis hinterlegten Tabellen.


Hilfe: Systemtabellen Funktionen
Wird nur von PMS32B.EXE benötigt. Update der im Systemverzeichnis hinterlegten Tabellen.


Code: Systemtabellen Funktionen
*/ Kurzbeispiel für den Zugriff auf diese Struktur
*/ Der Zugriff erfolgt über: My.Clients.SysTables
*/ Wird dieses Objekt in einem REPLACE oder einer Schleife SCAN ... ENDSCAN | FOR ... NEXT benötigt
*/ so sollte vor der Schleife die Objektstruktur in eine Variable geholt werden!
*/ Die Ausführungsgeschwindigkeit wird dadurch sehr vergrößert!
*/ Beispiel:
*/ Definieren einer LOKALEN Variablen
LOCAL loSysTables AS My.Clients.SysTables
*/ Setzen der Variablen
loSysTables = My.Clients.SysTables
*/ Jetzt erst die Schleifen durchlaufen... man beachte ALL, dass können ne Menge Sätze sein...
REPLACE ALL Feldname1 WITH loSysTables.Function1(),Feldname2 WITH loSysTables.Function1(), ...
*/ Oder in einer Schleife...
SCAN
	lvValue = loSysTables.Function(Alias.Spalte) + 25
	lvValue = loSysTables.Function2(m.lvValue)
	REPLACE Feldname WITH m.lvValue,...
ENDSCAN
*/ Es sind auch geschachtelte Aufrufe möglich...

Memberliste von SysTables


Liste der Methoden von SysTables


CheckUpdate() - Update Prüfung

Rückgabe: [Boolean], Überprüft die Systemtabellen auf Gültigkeit. Datet evtl. Tabellen ab.
Hilfeinformation
Rückgabe: [Boolean], Überprüft die Systemtabellen auf Gültigkeit. Datet evtl. Tabellen ab.

Aufrufinformation
Boolean = My.Clients.SysTables.CheckUpdate(tlForce as Boolean)
Boolean = My.Clients.SysTables.CheckUpdate(tlForce)
Codeinformation


GetProperty() - Abrufen einer Property in der Klasse

Rückgabe der benannten Property der Klasse. tnAsXML... kann sein: 0=Value, 1=C-Structure, 2=XML
Hilfeinformation
Ruft die Value einer Property in der Klasse ab.
Die Parameter: tcProperty as String
tcProperty: Name der Property in der Klasse

Aufrufinformation
Variant = My.Clients.SysTables.GetProperty(tcProperty as String,tnAsXMLStructure as Variant)
Variant = My.Clients.SysTables.GetProperty(tcProperty,tnAsXMLStructure)
Codeinformation
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lnError AS Number
lnError = My.Clients.SysTables.GetProperty('nError')

GetValue() - Abrufen einer Variablen in der Klasse

Führt das genannte Script aus. Vorhandene Zeiger: poThis=oKlasse, poCom=oNameSpace
Hilfeinformation
Ruft die Value einer Variablen in der Klasse ab.
Die Parameter: tcVariable as String

Aufrufinformation
Variant = My.Clients.SysTables.GetValue(tcScript as String)
Variant = My.Clients.SysTables.GetValue(tcScript)
Codeinformation
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lcIdx02 AS String
lcIdx02 = My.Clients.SysTables.GetValue('My.cIdx02')
IF !ISNULL(m.lcIdx02)
	WAIT WINDOW m.lcIdx02
ELSE
	*/ My in der Klasse nicht bekannt!
ENDIF

SetProperty() - Setzen einer Property in der Klasse

Setzt die Value an die benannte Property. tnAsObject kann sein: 0=Value, 1=C-Structure, 2=XML
Hilfeinformation
Setzt die Value an die benannte Property.
Die Parameter: tcProperty as String,tvValue as Variant,tnAsObject as Integer
tcProperty: Name der Property in der Klasse
tvValue:    Value der Property
tnAsObject: 0=Value, 1=C-Structure, 2=XML
Wird tnAsObject nicht angegeben, so wird 0=Value vorausgesetzt

Aufrufinformation
Variant = My.Clients.SysTables.SetProperty(tcProperty as String,tvValue as Variant,tnAsObject as Integer)
Variant = My.Clients.SysTables.SetProperty(tcProperty,tvValue,tnAsObject)
Codeinformation
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
=My.Clients.SysTables.SetProperty('nError',0,0)
*/ oder auch...
=My.Clients.SysTables.SetProperty('nError',0)

Terminate() -

Den COM+ Server vor dem Release im Aufrufer beenden.
Hilfeinformation

Aufrufinformation
Variant = My.Clients.SysTables.Terminate()
Codeinformation


WriteSettings() - Schreiben div. Informationen in ein LOG-File

Mit dieser Methode kann eine Protokollierung div. Informationen in einem LOG File erfolgen.
Hilfeinformation
Mit dieser Methode kann eine Protokollierung div. Informationen in einem LOG File erfolgen.
Diese Methode ist 'nur' bei den NameSpace Servern von PMS zu finden!

Aufrufinformation
Variant = My.Clients.SysTables.WriteSettings(tcWann as String)
Variant = My.Clients.SysTables.WriteSettings(tcWann)
Codeinformation
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
=My.Clients.SysTables.WriteSettings('Heute um 15:00Uhr')
*/ oder auch...
=My.Clients.SysTables.WriteSettings(TTOC(DATETIME(),1))		&& Ausgabe: JJJJMMTThhmmss


Liste der Properties von SysTables


SMTP_Port -

Wert:[Integer], Portnummer für den Versand von SMTP Nachrichten, normalerweise 25
Hilfeinformation

Aufrufinformation
Variant = My.Clients.SysTables.SMTP_Port
Codeinformation


SMTP_Sender -

Wert:[String], Name des Absenders der SMPT Nachrichten
Hilfeinformation

Aufrufinformation
Variant = My.Clients.SysTables.SMTP_Sender
Codeinformation


SMTP_Server -

Wert:[String], Name des SMTP Servers im Haus
Hilfeinformation

Aufrufinformation
Variant = My.Clients.SysTables.SMTP_Server
Codeinformation


SMTP_info -

Wert:[String], Zusätzlicher Empfänger, wenn ein Administrator benachrigtigt werden soll. Mehrere zusätzliche Empfänger sind durc
Hilfeinformation

Aufrufinformation
Variant = My.Clients.SysTables.SMTP_info
Codeinformation


_Clsid - CLS-ID des COM+ Servers

CLS-ID des COM+ Servers. Wird im INIT() ermittelt.
Hilfeinformation
Diese Property gibt es nur bei NameSpace Servern, dies sind Programmteile, die in einem geschützten Speicherbereich ablaufen. Sollten Sie mal von außen auf den NameSpace von PMS32 zugreifen und es fehlt Ihnen die Aufrufinformationen, so kann obiger String aus der Registry ermittelt werden.

Aufrufinformation
String = My.Clients.SysTables._Clsid
Codeinformation
LOCAL lcClsID AS String
lcClsID = My.Clients.SysTables._Clsid
WAIT WINDOW m.lcClsID

_ComServer - Pfad und Name des COM+ Servers

Dateiname und Pfad des gestarteten COM+ Servers
Hilfeinformation
Diese Property gibt es nur bei NameSpace Servern, dies sind Programmteile, die in einem geschützten Speicherbereich ablaufen.

Aufrufinformation
String = My.Clients.SysTables._ComServer
Codeinformation
LOCAL lcComServer AS String
lcComServer = My.Clients.SysTables._ComServer
WAIT WINDOW m.lcComServer

_Isreleased_ -


Hilfeinformation

Aufrufinformation
Boolean = My.Clients.SysTables._Isreleased_
Codeinformation


_Name - Name der COM+ Klasse

Name der COM+ Klasse. MUSS angegeben werden. Dieser _Name wird übertragen und ist von außen abfragbar. Diese Property ist ReadOn
Hilfeinformation
Dateiname der Applikation. Wenn unter Vfp gestartet wird! sind diese Werte NICHT gesetzt! Die Property _Name gibt den Klassennamen der EXE bzw. DLL zurück.
Mit diesem Namen und dem Namen der EXE/DLL kann dann die COM+ Klasse instanziiert werden. Gleiches kann man auch aus den Eigenschaften der Programmklasse
EXE/DLL herausfinden.

Aufrufinformation
String = My.Clients.SysTables._Name
Codeinformation
LOCAL lcComName AS String
lcComName = My.Clients.SysTables._Name
WAIT WINDOW m.lcComName

_Pcreleaselog_ -


Hilfeinformation

Aufrufinformation
Variant = My.Clients.SysTables._Pcreleaselog_
Codeinformation


_ServerName - Name der COM+ Server Datei

Name des Servers, wie bei der Initialisierung
Hilfeinformation
Die Property _ServerName gibt den kompletten Klassennamen der EXE bzw. DLL zurück.
Mit diesem Namen und dem Namen der EXE/DLL kann dann die COM+ Klasse instanziiert werden.
Gleiches kann man auch aus den Eigenschaften der Programmklasse EXE/DLL herausfinden.

Aufrufinformation
String = My.Clients.SysTables._ServerName
Codeinformation
LOCAL lcServerName AS String
lcServerName = My.Clients.SysTables._ServerName
WAIT WINDOW m.lcServerName

_StartMode - Startmodus des aufrufenden Servers

Startmode des externen Aufrufers. Derjenige, der den COM+ Server initialisiert. _StartMode='cMode,cNumber'
Hilfeinformation
Die Property gibt den Startmodus des Aufrufers zurück. Es gibt insgesamt 6 Modi:
0 - Unter VFP Entwicklung
1 - Unter VFP-COM Steuerung
2 - Start als COM.EXE
3 - Start als COM.DLL in Singleprocess
4 - Start als EXE (Standard Programmaufruf)
5 - Start als COM.DLL in Multiprocess

Aufrufinformation
Number = My.Clients.SysTables._StartMode
Codeinformation
*/ Abfrage des Modus
WAIT WINDOW My.Clients.SysTables._StartMode

_Sys1016 - Verwendeter Speicher

Verwendeter Speicher in Byte
Hilfeinformation
Gibt den verwendeten Speicher des Namespace zurück.
Rückgabe ist Byte.

Aufrufinformation
Integer = My.Clients.SysTables._Sys1016
Codeinformation
LOCAL liBytes AS Integer
*/ Abfrage des Speichers
liBytes = My.Clients.SysTables._Sys1016
WAIT WINDOW LTRIM(STR(m.liBytes/1024))+" kB"

_Version - Version der Programmdatei

Versionsnummer des Servers im Format H.U.DD.V1V2.BBBB
Hilfeinformation
Versionsnummer nach PMS32 Konvention. H.U.DD.SSHH.bbbb
Die Property _Version gibt die Programmversion (gilt für DLL, EXE und auch für APP) zurück.
H      - Hauptversion
U      - Unterversion
DD      - Datenbankversion
SS      - Servicepack
HH      - Hotfix
bbbb- Buildnumber

Aufrufinformation
String = My.Clients.SysTables._Version
Codeinformation
WAIT WINDOW My.Clients.SysTables._Version

_VfpVersion - VFP Version

Version von Visual FoxPro
Hilfeinformation
VFP Version der VFP-9 dll.

Aufrufinformation
String = My.Clients.SysTables._VfpVersion
Codeinformation
WAIT WINDOW My.Clients.SysTables._VfpVersion

cAppNameExe - Name der Applikation

Übertragen des Application.Servername
Hilfeinformation
Mit dieser Property kann der Name der Applikation abgerufen werden.

Aufrufinformation
String = My.Clients.SysTables.cAppNameExe
Codeinformation
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lcName AS String
lcName = My.Clients.SysTables.cAppNameExe

cClass -


Hilfeinformation

Aufrufinformation
String = My.Clients.SysTables.cClass
Codeinformation


cCssDir - Verzeichnis der Definitionsdateien

Verzeichnis der Scripte
Hilfeinformation
Pfad der Systemscripte
Normalerweise zu finden unter \\server\freigabe\...\pms32\sys\

Aufrufinformation
String = My.Clients.SysTables.cCssDir
Codeinformation
IF !DIRECTORY(My.Clients.SysTables.cCssDir)
	*/ Benötigte Pfade sollten eigentlich da sein!
	=MESSAGEBOX("Pfad fehlt:" + My.Clients.SysTables.cCssDir,64,"Systemscript Verzeichnis")
ENDIF

cIdx02 - Mandanten ID

Mandanten ID aus PMS32. Weist dem Pfadserver PMS_08.PmsPath den Mandanten zu. Setzen aller Pfade.
Hilfeinformation
Mandanten-ID. Diese ist in der Datei pms32.pth gespeichert und dient dort zur Zuordnung des Mandante und dessen Pfade.
Auszug aus der Pfaddatei pms32.pth:

      */ Verzeichnis der Microcube - Dateien. Wenn leer dann gleich: cDbfdir
      cCubdir = ""
      */ Ein 'anderes' Dokumentenverzeichnis kann angegeben werden. Wenn nicht angegeben dann gleich: cDbfdir+'docs\'
      */ cDocDir = ""
      */ Verzeichnis der Mandantentabellen. Hier ein Beispiel mit UNC Pfaden.
      */ Wird die Freigabe auf dem Server 'versteckt' \pms$\ angegeben, so kann ein Cryptovirius das Verzeichnis nicht finden!
      cDbfdir = "\\server\pms$\pms32\daten\demo.32\"
      */ Verzeichnis der Reporttabellen
      */ Gibt man Bilddateien in einem Report mit My.Clients.Path.cFrxDir+'BILDNAME.JPG' an, so kann PMS32 einfach auf einen anderen Rechner kopiert werden!
      cFrxdir = "\\server\pms$\pms32\reports\demo.32\"
      */ Beschreibung des Mandanten
      cIcx02  = "TESTMANDANT DEMO"
      */ ID der Firmenparameter zum Mandant.
      cIdx09  = "DEMO"
      */ Kann unter der Mandanteninformation leer sein, wenn für mehrere Mandanten das 'gleiche' Systemverzeichnis gültig ist.
      cSysdir = ""
      */ Willkommens-Information als Hintergrundbild in PMS32
      cWelcome= "pms32.htm"
      */ Nummer des Mandanten, beim Einsatz eines BarcodeScanners sollte diese Nummer EINDEUTIG sein!
      nNumber = 1
<>

Aufrufinformation
String = My.Clients.SysTables.cIdx02
Codeinformation
*/ Abfrage der Mandanten-ID
WAIT WINDOW My.Clients.SysTables.cIdx02

*/ Wenn man mittels VFP Zugriff auf die Applikation braucht:

*/ 1. vfp9.exe öffenen
*/ 2. In das Startverzeichnis von PMS32 wechseln (MUSS)
CD c:\pms\pms32
*/ 3. My Instanziieren
My = NEWOBJECT("pmsmy","pmsmyhandler.vcx","pmsmyhandler.app")
*/ 4. Den letzten aktuellen Mandanten zuweisen
My.cIdx02 = My.cIdx02
*/ 5. Los gehts...

cLogDir - Verzeichnis der LOG-Dateien

Verzeichnis der LOG Dateien
Hilfeinformation
Verzeichnis der LOG-Dateien
Normalerweise zu finden unter c:\benutzer\\appdata\local\temp\pms32\
Nach Beenden von PMS32 sind dir Daten unter: \\server\pms$\pms32\log\TERMINAL # USER\ zu finden...

Aufrufinformation
String = My.Clients.SysTables.cLogDir
Codeinformation
IF !DIRECTORY(My.Clients.SysTables.cLogDir)
	*/ Benötigte Pfade sollten eigentlich da sein!
	=MESSAGEBOX("Pfad fehlt:" + My.Clients.SysTables.cLogDir,64,"LOG-Dateien")
ENDIF

cMethod - Methode des letzten Fehlers

Methode, in der der Fehler auftrat
Hilfeinformation
Methode in der der letzte Fehler auftrat.
Aufbau: [Fehlernummer] [Methode] [Zeilennummer] [Message]

Aufrufinformation
String = My.Clients.SysTables.cMethod
Codeinformation
*/ Abruf...
WAIT WINDOW My.Clients.SysTables.cMethod

cMitDir - Verzeichnis der Vorlagen-Dateien

(Mitgeben) Updateverzeichnis von PMS32
Hilfeinformation
Verzeichnis der Vorlagen-Dateien
Das Verzeichnis ist normalerweise unter: \\server\pms$\pms32\mitgeben\ zu finden...
Das Verzeichnis enthält unter anderem auch TrueType Fonts für die Barcode-Ausgabe auf einem Drucker

Aufrufinformation
String = My.Clients.SysTables.cMitDir
Codeinformation
IF !DIRECTORY(My.Clients.SysTables.cMitDir)
	*/ Benötigte Pfade sollten eigentlich da sein!
	=MESSAGEBOX("Pfad fehlt:" + My.Clients.SysTables.cMitDir,64,"Vorlagen-Dateien")
ENDIF

cResetInfos - Reset C-Structure

Zurücksetzen von beliebigen Informationen in einem COM+ Server!
Hilfeinformation
Reset C-Structure
Diese Property ist normalerweise WriteOnly! Sie dient zum Zurücksetzen verschiedener Informationen.
#DEFINE CRI_REMOVE_MENUES "REMOVE-MENUES"
#DEFINE CRI_REMOVE_CSFILES "REMOVE-CS-FILES"
#DEFINE CRI_REMOVE_SCRIPTS "REMOVE-CS-SCRIPTS"
#DEFINE CRI_CHANGE_IDX09 "CHANGE-IDX09"
#DEFINE CRI_LOGIN "USER_LOGIN"

Aufrufinformation
String = My.Clients.SysTables.cResetInfos
Codeinformation
*/ Verschiedene RESET Befehle...
My.Clients.SysTables.cResetInfos = "REMOVE-MENUES"
My.Clients.SysTables.cResetInfos = "REMOVE-CS-FILES"
My.Clients.SysTables.cResetInfos = "REMOVE-CS-SCRIPTS"
My.Clients.SysTables.cResetInfos = "CHANGE-IDX09"
My.Clients.SysTables.cResetInfos = "USER_LOGIN"
*/ Je nach Klasse wird ein entsprechender RESET ausgeführt!

cSysDir - Systemverzeichnis

Systemverzeichnis von PMS32
Hilfeinformation
Verzeichnis der Systemtabellen von PMS32
Das Verzeichnis ist normalerweise unter: \\server\pms$\pms32\dbf\ zu finden...

Aufrufinformation
String = My.Clients.SysTables.cSysDir
Codeinformation
IF !DIRECTORY(My.Clients.SysTables.cSysDir)
	*/ Benötigte Pfade sollten eigentlich da sein!
	=MESSAGEBOX("Pfad fehlt:" + My.Clients.SysTables.cSysDir,64,"Systemverzeichnis")
ENDIF

nError - Fehlernummer des letzten Fehlers

Fehlernummer: VFP+, PMS-, 0 Kein Fehler!
Hilfeinformation
Fehlernummer des letzten Fehlers.
Ist der Wert kleiner null, so handelt es sich um einen logischen Fehler.

Aufrufinformation
Number = My.Clients.SysTables.nError
Codeinformation
WAIT WINDOW My.Clients.SysTables.nError

nLine - Zeilennummer des letzten Fehlers

Zeilennummer des Fehlers. Kann auch 0 sein!
Hilfeinformation
Zeilennummer, in der der letzte Fehler auftrat

Aufrufinformation
Number = My.Clients.SysTables.nLine
Codeinformation
WAIT WINDOW My.Clients.SysTables.nLine

oClass -


Hilfeinformation

Aufrufinformation
Object = My.Clients.SysTables.oClass
Codeinformation


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