GENUPDSRC: Quellen für den Dateizugriff erstellen

Warum Datei-Zugriffe auslagern?
Auch in wenig/nicht modularen Anwendungen werden Datensätze in unterschiedlichen Situationen (Programmen) modifiziert, geschrieben oder gelöscht. Dafür müssen in verschiedenen Quellen die gleichen Write/Insert, Update und Delete-Statements oder Routinen für die gleiche Datei inklusive der Regeln, unter denen ein Datensatz geändert oder gelöscht werden darf, hinterlegt werden. Bei einer Änderung (z.B. einer neuen Löschregel) müssen alle Vorkommen gefunden und angepasst werden. Die Erfahrung hat gezeigt, dass dabei häufig das eine oder andere Vorkommen übersehen wird. Erst durch Fehler in der Anwendung werden solche Versäumnisse entdeckt. Sofern zusätzlich abhängige Dateien aktualisiert werden müssen, sind massive Nacharbeiten und Fehlerbeseitigungen in den Daten vorprogrammiert.
 

  1. Alle Regeln und Definitionen an einer einzigen Stelle: Idealerweise sollte ein Insert/Write, Update oder Delete in nur einer einzigen Prozedur innerhalb der Anwendung stattfinden. Diese Prozedur wird dann aus allen Programmen und Prozeduren, die eine entsprechende Änderung vornehmen, aufgerufen. In der gleichen Quelle können auch die Prozeduren, über die geprüft wird, ob z.B. ein Datensatz gelöscht werden kann, hinterlegt werden. Direkt vor dem Löschen des Datensatzes werden diese Prüf-Prozeduren aufgerufen und ausgeführt. Muss eine neue Regel hinzugefügt werden, erfolgt die Änderung an einer einzigen Stelle. Das gleiche gilt für den Lese-Zugriff auf einzelne Datensätze oder die Verarbeitung einer Reihe. Die entsprechenden Zugriffs-Prozeduren werden als externe Prozeduren in Service-Programmen hinterlegt.
  2. Unabhängigkeit von der Datenbank: Weil der Zugriff auf die Daten geändert werden soll, z.B. man möchte von native I/O auf embedded SQL umstellen, die Datei wird normalisiert/redesigned, der Zugriff soll zukünftig auf eine andere Datenbank (Oracle, MYSQL, …) erfolgen, die Daten werden durch einen Web-Service ausgetauscht. In allen diesen Situationen muss die Änderung nur an einer einzigen zentralen Stelle erfolgen. Die rufenden Prozeduren tauschen die Informationen weiterhin über Datenstrukturen aus. Die Anwendungsprogramme müssen nicht geändert werden.
  3. Einheitlichkeit: Die Struktur der Basis-Prozeduren für den Zugriff auf einen einzelnen Datensatz, für das Schreiben eines neuen Datensatzes, für die Änderung eines bestehenden Datensatzes und das Löschen eines vorhandenen Datensatzes, ist für alle Tabellen identisch. Unterschiedlich sind lediglich die Datei-, Format-, Spalten- und Prozeduren-Namen sowie die Namen der Schlüssel-Felder, die Quellen- bzw. Modul- und Service-Programm-Namen.


Was leistet das Tool GENUPDSRC?

GENUPDSRC stellt eine Reihe von Quellen-Templates zur Verfügung, welche die Basis-Prozeduren, Prototypen und Copy-Strecken beinhalten. Innerhalb des Source-Codes der Template sind Platzhalter integriert. Die Templates entsprechen gängigen Namenskonventionen und verwenden Copy-Strecken (H-/D-Bestimmungen, Feld-Referenzen) und rufen Funktionen auf.

Nach Aufruf des Befehls GENUPDSRC werden die Templates in die angegebenen Quellen-Dateien kopiert und entsprechend der Angaben umbenannt. Innerhalb der kopierten Quellen werden die Platzhalter durch die im Befehl GENUPDSRC angegebenen Werte ersetzt.

 

 

 

   Quellen für Dateizugriff erstellen

 

   Quellen für Dateizugriff erstellen