Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

Entscheidungstabellen zur Kommunikation zwischen Fach- und Programmierabteilung:

Dem Problem die regelgerechte Aktion zuordnen

27.11.1981

Transaktionsprogramme sind aufgrund ihrer technischen Gegebenheiten kleine Programme und vertragen In der Regel keine Schnörkel. Auf der anderen Seite steht die Entscheidungstabellentechnik, die sich in den letzten Jahren als wertvolles Kommunikations-(hilfs-)mittel zwischen Fachabteilung und Programmierung erwiesen hat. Die Entscheidungstabelle strukturiert Problemstellung und ordnet unter Verwendung mathematischer Algorithmen Aktionen zu.

Die herkömmlichen Entscheidungstabellen-(ET-)Generatoren eignen sich nicht oder nur bedingt, um Online-Programme effektiv zur Ausführung zu bringen. Der Grund liegt darin, daß der vom ET-Generator erzeugte Code zu umfangreich oder der Generator nicht zum Umwandeln von Transaktionsprogrammen fähig ist. Abhilfe kann hier die Matrizenmethode nach Pfeifer bringen die keines Umsetzers oder ähnlicher Hilfsmittel bedarf.

Das Prinzip ist schnell erklärt und ist in jeder Programmiersprache anwendbar, die zweidimensionale Tabellen verarbeiten kann (Prinzip der Entscheidungstabelle in Bild 1). In einer sogenannten Eingabephase werden die Erledigungen abgefragt, und gegebenenfalls können bestimmte Zustände vom Bildschirm direkt abgenommen werden.

Das Ergebnis jeder Abfrage (Ja/Nein bei einfachen ET oder 1, 2, 3, A, B, C etc. bei ET mit erweiterten Eintragungen) wird in das jeweils zugeordnete Element des Bedingungsvektors eingesetzt. Der Bedingungsvektor wird nun mit der eigentlichen Entscheidungstabelle (Bedingungsmatrix) spaltenweise verglichen und die zutreffende Regel unter Verwendung eines Schleifenbefehls aufgesucht.

Steht die Regel-Nummer fest, wird der Index zur Bestimmung des Aktionsvektors (= entsprechende Spalte der Aktionsmatrix) benutzt. Dieser Vektor wird anschließend sequentiell abgearbeitet und die jeweils der Regel entsprechende Aktion ausgelöst.

Die Entscheidungstabelle kann sich gegebenenfalls wieder selbst mit veränderten Werten aufrufen oder auch direkt durch Bildschirmeingabe modifiziert werden. Das hier abgebildete Beispiel in Cobol zeigt die notwendigen Vereinbarungen in der Working Storage Section (Bild 2).

Es sind fünf Bedingungen abzufragen. Siehe dazu Bild 3. Die möglichen Aktionen zeigt Bild 4.

Durch VALUE-Zuweisung werden die Tabelleninhalte geladen. Mit Hilfe von Redefinitionen und doppelter Indizierung kann die Abarbeitung mittels eines SEARCH-Befehls erfolgen.

Durch spaltenweise Verschiebung (Variable ER) und zeilenweise sequentielle Abarbeitung der Tabelle ET-TAB wird die zutreffende Regel gefunden. Die Regel-Nummer ist dann der Spaltenindex für die Aktionsmatrix, die durch Zeilenvariation zur Ausführung verzweigt (Bild Die meisten Code-Zeilen können als COPY-Element vorgehalten und schnell dem Anwendungsfall angepaßt werden. Die Entscheidungstabelle selber ist mit einem kleinen Prüfprogramm auf Redundanz- und Widerspruchsfreiheit sowie fehlende Alternativen testbar. Zusätzlich werden Hinweise zur Laufzeitoptimierung gegeben (Vertrieb des Programmes: Integrata GmbH, Tübingen).