FLAM-Satzschnittstelle

Die Satzschnittstelle (Zugriffsmethode) ist der Kern von FLAM4 und den Vorgängerversionen. Über sie werden FLAMFILEs geschrieben und wieder gelesen. Sie ist die Basis für die Überführung  von Originaldateien in „flambierte“ Datenbestände unter Einbeziehung des FLAM-Utility, -Unterprogramms oder -Subsystems. Sie bildet die Zugriffsmethode in komprimierte und verschlüsselte Dateien für einzelne Sätze (Records) ab. Über diese Schnittstelle (API) können Anwendungen Daten plattformunabhängig in ein FLAMFILE einstellen, suchen und wieder auslesen. Hierbei geschieht die Umsetzung analog zum File-IO von normalen satzorientierten Dateien, so dass die Anpassungen für Anwendungen auf Großrechnersystemen minimal ausfallen.

 

Der Nutzen

  • Zugriff auf die logischen Einheiten (Sätze) der Daten
  • Das API ist wie ein I/O-Zugriff implementiert, dadurch einfache Integration in Anwendungen (put=flmput)
  • Erhöhte Sicherheit. Datei muss nicht komplett dekomprimiert/entschlüsselt werden. Es genügt eine kleine Menge für den aktuellen Zugriff.
  • Keine temporären Dateien nötig
  • Gleicher, universeller Zugriff auf beliebige physische Dateitypen
 

 

Das Produkt

  • Implementiert als API (Aufruf einer Schnittstelle)
  • Öffnen und Schließen von Membern in der FLAMFILE
  • Lesen/Schreiben von Datensätzen durch API-Aufrufe in komprimierte/verschlüsselte FLAMFILEs jeden Typs
  • Zusätzliches Finden/Ändern/Löschen/Einfügen in VSAM-KSDS-FLAMFILEs über den Schlüssel des originalen Satzes auf Satzebene
  • Steht auf vielen Plattformen und für verschiedene Programmiersprachen zur Verfügung
  • Das Record-Interface entspricht in etwa dem File-IO in einem Cobol/PLI/Assembler-Programm auf der Host.

 

Beispiel: FLAMREC für z/OS

Die Frankenstein-Limes-Zugriffsmethode wird durch die Satzschnittstelle als herstellerunabhängige, komprimierende und verschlüsselnde Dateizugriffsmethode realisiert.

Sie ermöglicht den sequentiellen, relativen und indexsequentiellen Zugriff auf einzelne Originalsätze von Komprimaten, die auf unterschiedlichen Datenträgern verschiedener Betriebssysteme abgelegt und zwischen diesen ausgetauscht werden können.

Die Satzschnittstelle wird durch eine Reihe von Unterprogrammen dargestellt, die von Programmiersprachen wie COBOL, FORTRAN, C oder auch ASSEMBLER aufgerufen werden können.

Diese Schnittstelle ist auf allen /390 Betriebssystemen gleich, für die FLAM verfügbar ist.

 

FLMCLS

FLMCLS (Close) schließt die Verarbeitung ab, nachdem alle Sätze an FLAM übergeben, oder beim Dekomprimieren alle Originalsätze gelesen wurden.

 

FLMDEL

FLMDEL (Delete) löscht den zuletzt gelesenen Satz aus einem indexsequentiellen FLAMFILE.

 

FLMEME

Mit FLMEME (End Member) wird bei der Komprimierung ein Member in ein Sammel-FLAMFILE abgeschlossen. Dazu wird evtl. noch im Speicher befindliches Komprimat der zuletzt zur Komprimierung übergebenen Sätze in das FLAMFILE ausgegeben und ggf. ein Member-Trailer geschrieben. Die Statistikdaten sowie bei AES-Verschlüsselung der Member MAC werden zurückgegeben. Im Gegensatz zu FLMCLS wird das FLAMFILE nicht geschlossen, d.h. ein weiteres Komprimat kann angefügt werden.

 

FLMFKY

Mit FLMFKY (Find Key) wird in einem indexsequentiellen FLAMFILE, das aus einer indexsequentiellen Datei erzeugt wurde, so positioniert, dass mit einem anschließenden FLMGET der Satz mit dem vorgegebenen oder dem folgenden Schlüssel gelesen werden kann.

 

FLMFLU

Mit FLMFLU (Flush) wird evtl. noch im Speicher befindliches Komprimat der zuletzt zur Komprimierung übergebenen Sätze in das FLAMFILE ausgegeben und die Statistikdaten angefordert. Im Gegensatz zu FLMCLS wird das FLAMFILE nicht geschlossen, d.h. ein weiteres Komprimat kann angefügt werden.

 

FLMFRN

Mit FLMFRN (Find Record Number) wird in einem indexsequentiellen FLAMFILE, das aus einer relativen oder sequentiellen Datei erzeugt wurde, so positioniert, dass mit einem anschließenden FLMGET der Satz mit der vorgegebenen Satznummer gelesen werden kann.

 

FLMGET

FLMGET (Get Record) liest einen dekomprimierten Originalsatz in einem vorgegebenen Puffer.

 

FLMGHD

Mit FLMGHD (Get Fileheader) kann die Fileheader-Information über die Originaldatei gelesen werden. Falls mehrere Fileheader in dem FLAMFILE vorhanden sind, beziehen sich diese Informationen auf die Originalsätze, die mit den Funktionen FLMGET, FLMLOC als nächste gelesen werden.

 

FLMGKY

Mit FLMGKY (Get Key) kann über einen Schlüssel ein Satz aus einem FLAMFILE von einem indexsequentiellen Original gelesen werden. Dabei wird gleichzeitig für das sequentielle Lesen mit FLMGET bzw. FLMLOC auf den Satz mit dem nächst größeren Schlüssel positioniert.

 

FLMGRN

Mit FLMGRN (Get Record Number) wird aus einem index-sequentiellen FLAMFILE, das aus einer relativen oder sequentiellen Datei erzeugt wurde, der Satz mit der vorgegebenen Satznummer gelesen.

 

FLMGTR

FLMGTR (Get Reverse) liest den nächsten dekomprimierten Originalsatz in Richtung auf den Dateianfang in einen vorgegebenen Puffer.

 

FLMGUH

Informationen, die bei der Komprimierung mit FLMPUH in das Komprimat eingefügt wurden, können bei der Dekomprimierung mit FLMGUH (Get User Header) gelesen werden.

 

FLMIKY

Mit FLMIKY (Insert Key) wird ein Satz mit neuem Schlüssel in das Komprimat übernommen. Der angegeben Schlüssel darf noch nicht in der Datei existieren.

 

FLMLCR

FLMLCR (Locate Reverse) liest den nächsten dekomprimierten Originalsatz in Richtung auf den Dateianfang im Locate Mode.

 

FLMLOC

Anstelle von FLMGET kann auch die Funktion FLMLOC (Locate Record) verwendet werden. Dabei wird jedoch kein Satz in den Puffer übertragen, sondern es wird lediglich die Adresse dieses Satzes zurückgegeben.

 

FLMOPN

Die Funktion FLMOPN (Open) ist aufgrund der grossen Anzahl von Parametern in die drei Teilfunktionen FLMOPN, FLMOPD und FLMOPF untergliedert worden. FLMOPN gibt die wichtigsten Parameter (z. B. komprimieren oder dekomprimieren) an FLAM weiter. Mit der Funktion FLMOPD werden die Dateieigenschaften des FLAMFILEs festgelegt und FLMOPF bestimmt die Komprimatseigenschaften. Kommen die Teilfunktionen FLMOPD und FLMOPF nicht zur Anwendung, so werden feste Werte verwendet.

 

FLMPHD

Mit der Funktion FLMPHD (Put Fileheader) können beim Komprimieren die Dateieigenschaften der Originalsätze beschrieben werden, damit diese Eigenschaften im Fileheader ablegt werden. Der Fileheader gilt dabei für die anschließend mit FLMPUT übergebenen Originalsätze. Jeder FLMPHD-Aufruf leitet ein neues Member in einem Sammel-FLAMFILE ein.

 

FLMPKY

Mit FLMPKY (Put Key) kann ein Satz mit angegebenem Schlüssel in einem indexsequentiellen FLAMFILE geändert oder eingefügt werden.

 

FLMPOS

FLMPOS (Position) dient zum relativen Positionieren in beliebigen Dateien und beim Schreiben von relativen Dateien zum Erzeugen von Lücken.

 

FLMPUH

An die mit FLMPHD gespeicherten Informationen kann mit der Funktion FLMPUH (Put User Header) noch eine Zeichenkette beliebigen Inhalts angefügt werden. Der Aufruf darf nur unmittelbar nach einem FLMPHD-Aufruf erfolgen.

 

FLMPUT

FLMPUT (Put Record) übergibt einen Originalsatz zum Komprimieren an FLAM.

 

FLMPWD

FLMPWD übergibt einen Schlüssel zur Ver-/Ent­schlüs­selung an FLAM.

 

FLMQRY

FLMQRY erfragt Parameterwerte, die FLAM aktuell verwendet.

 

FLMSET

FLMSET setzt Parameter für den Ablauf von FLAM.

 

FLMUPD

Mit FLMUPD (Update) wird der jeweils zuletzt gelesene Originalsatz aus einem indexsequentiellen FLAMFILE geändert.