Verwendung zentraler temporärer Daten

Um temporäre Daten auf allen Clients nutzen zu können, gibt es zwei Möglichkeiten: RmtData-Befehle und Temporäre Tabellen. Auf die Verwendung der RmtData-Befehle möchte ich in diesem Artikel eingehen.


Damit die Daten von allen Clients aus zugreifbar sind, werden sie in zentralen Datenobjekten im Cache des CONZEPT 16-Servers hinterlegt.

Die zentralen Datenobjekte bestehen, bis die Datenbank geschlossen wurde, oder das Objekt durch den Befehl RmtDataWrite() mit einem Leerstring überschrieben wird. Wird beim Schreiben des Datenobjektes die Option _RmtDataTemp angegeben, wird das Objekt beim Abmelden des Benutzers aus dem Speicher entfernt.

Soll das Datenobjekt auch nach Verlassen des letzten Benutzers eine gewisse Zeit vorhanden bleiben, kann mit der Schließverzögerung gearbeitet werden.

Befehle

Folgende RmtData-Befehle können verwendet werden.

  • RmtDataWrite()
  • RmtDataRead()
  • RmtDataSearch()

RmtDataWrite()

Mit der Funktion RmtDataWrite() kann ein Datenobjekt erzeugt oder geändert werden. Ein Datenobjekt besteht aus einem Schlüsselwert vom Typ alpha mit einer maximalen Länge von 250 Zeichen, und einem Datenanteil von maximal 4096 alphanumerischen Zeichen.

Beispiel:
// Per RmtData allen Clients mitteilen, dass die Datenbank geschlossen werden soll
RmtDataWrite('Close', 0, '1');

RmtDataRead()

Mit dem Befehl RmtDataRead() kann ein Datenobjekt über den Schlüsselwert gelesen werden. Zusätzlich kann es mit _RecLock gesperrt und mit _RecUnlock entsperrt werden. Die Funktion erwartet im dritten Parameter eine alpha-Variable ausreichender Länge, in der der Datenanteil des Objektes zurückgegeben wird. Die Variable muss per var übergeben werden. Ist die übergebene Variable zu kurz, wird die Zeichenkette abgeschnitten.

Beispiel:
// Prüfen, ob die Datenbank geschlossen werden soll
tErg # RmtDataRead('Close', 0, var tRmtDataValue);
if (tErg = _rOK AND tRmtDataValue = '1')
  ...

RmtDataSearch()

Der Befehl RmtDataSearch() ermöglicht die Suche und die Iteration der vorhandenen Datenobjekte. Im ersten Parameter wird der Name des Schlüssels und im zweiten die Suchoption angegeben. Folgende Suchoptionen sind möglich:

  • 0 – angegebenes Datenobjekt lesen
  • _RecFirst – erstes Datenobjekt lesen
  • _RecPrev – vorheriges Datenobjekt lesen
  • _RecNext – nächstes Datenobjekt lesen
  • _RecLast – letztes Datenobjekt lesen

Als Rückgabewert erhält man den Schlüsselwert des gefundenen Datenobjektes, dessen Datenanteil anschließend mit RmtDataRead() gelesen werden kann. Wurde kein Objekt gefunden, wird ein Leerstring zurück gegeben.

Beispiel:
// Alle Schlüsselwerte lesen
for  tRmtDataKey # RmtDataSearch('', _RecFirst);
loop tRmtDataKey # RmtDataSearch(tRmtDataKey, _RecNext);
while (tRmtDataKey != '')
{
  tErg # RmtDataRead(tRmtDataKey, 0, var tRmtDataValue);
  ...
}

Klicken Sie hier, um die Nutzungsbedingungen für unseren Blog zu lesen.

2 Antworten

  1. @J. Schmiedel:
    Bitte wenden Sie sich diesbezüglich bitte an den Support um die genauen Bedürfnisse und somit die beste Lösung für Sie abzuklären.

  2. Könnte man das Paar RmtWrite/RmtRead als "Email-Ersatz" betreiben(allerdings pollender weise)?

    Ich suche eine Möglichkeit, einen an einem Jobserver ermittelten Fehler an den verursachenden Client weiterzuleiten.

    Um unabhängig zu bleiben, habe ich mich bisher für das Versenden einer Mail entschieden, statt "net send"- oder "msg"-Kommandos zu benutzen.
    Leider poppt beim Email-Handling kein Fenster auf, das den
    Client direkt auf den Fehler hinweisen würde.

    Wenn ich die Steuerung in meiner Conzept16-Applikation hätte, wäre ich im Vorteil!

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

Wünsche, Fragen oder Feedback sind willkommen:

Nutzungsbedingungen der Kommentarfunktion im Blog

1. Allgemeines

Vectorsoft AG („Anbieter“) stellt für Internetnutzer („Nutzer“) auf der Website
vectorsoft.de einen öffentlichen Blog bereit. Der öffentliche Blog dient dem
Informations- und Gedankenaustausch. Die Nutzer, welche sich mit Beiträgen und
Kommentaren beteiligen, verpflichten sich dazu, die Blog-Nutzungsbedingungen
einzuhalten und tragen die Verantwortung für die Richtigkeit und Angemessenheit
sowie Freiheit von Rechtsverletzungen ihrer Beiträge. Mit Nutzung der
Kommentarfunktion in unserem Blog akzeptieren Sie diese Nutzungsbedingungen.

2. Netiquette

Wir bitten Sie von persönlichen Angriffen und Provokationen aufgrund anderer
Meinungen abzusehen. Bitte argumentieren Sie sachlich und bewegen Sie sich auf
der Basis einer konstruktiven Diskussionskultur. Ihr Kommentar sollte stets im
Zusammenhang mit dem jeweiligen Thema sein, um Ausschweifungen in andere
Themenbereiche zu vermeiden. Das mehrmalige Posten desselben Kommentars
oder mehrerer ähnlicher Kommentare ist nicht erlaubt.

3. Verbot rechtswidriger Inhalte

Mit Absenden Ihres Kommentars bestätigen Sie, dass Sie keine Urheberrechte oder andere Rechte Dritter verletzen. Volksverhetzende, rassistische Äußerungen, Anleitungen zu Straftaten und deren Verherrlichung, Gewaltdarstellungen, pornografische Inhalte und Äußerungen, die Persönlichkeitsrechte verletzen sind untersagt.

4. Keine Werbung

Die Nutzung der Kommentarfunktion ist für kommerzielle oder parteipolitische
Zwecke nicht erlaubt. Werbliche Beiträge aller Art werden von uns umgehend
gelöscht.

5. Angaben zum Namen

Bei der Eingabe Ihres Namens achten Sie auf die zuvor genannten Grundsätze.

6. Quellenangaben

Bitte geben Sie bei der beabsichtigten Veröffentlichung von Zitaten oder Beiträgen
Dritter die jeweiligen Quellen an und erläutern dessen Bezug zum Blogbeitrag.

7. Verstoß gegen die Nutzungsbedingungen

Beiträge, die gegen diese Richtlinie verstoßen werden umgehend gelöscht. Sollten
Sie selbst Verstöße bemerken, so senden Sie uns bitte den Link des betreffenden
Kommentars per E-Mail an . Wir weisen ausdrücklich daraufhin, dass wir einzelne Nutzer bei wiederholten oder schweren Verstößen gegen diese
Nutzungsbedingungen ausschließen werden.

Stand: Sept. 2024

Deine Trial Version - jetzt anfordern!

Teste yeet - unverbindlich und kostenfrei

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner