File-Handling: Selbsthilfe mit FIFI

Es ist nicht alles Gold, was glänzt

07.05.1976

NÜRNBERG - "Auf dem Softwaremarkt ist nicht alles Gold, was glänzt" mußten die Datenverarbeiter der Nürnberger EWAG feststellen. Nach zwei schlechten Erfahrungen mit Fremdsoftware haben sie sich mit ihrem Paket FIFI (File-to-File-Utility) selbst geholfen. Die Software ermöglicht jede Kombination von Ein- und Ausgabe - beispielsweise Karten/Platte, Band/Platte oder Platte/Ausdruck - und läuft auf einer IBM 370/135 (192 K, DOS/VS Release 31) mit sechs Platten 3330 und drei Bandeinheiten 3410.

Um ein für unsere Bedürfnisse optimales System zu erhalten, haben wir zunächst einmal folgendes Anforderungsprofil aufgestellt:

- Alle verwendeten Datenträger, Dateiorganisationsformen und Datenformate müssen unterstützt sein.

- Um ein Abspeichern in der Systembibliothek zu vermeiden, sollte es kein Generator, sondern ein interpretierendes Programm sein.

- Zur Verarbeitung mehrerer Satzarten innerhalb einer Datei muß eine gewisse Abfragetechnik möglich sein.

- Die Sprache sollte in etwa PL/I entsprechen.

- Es soll das Quellenprogramn für EWAG-spezifische Anpassungen zur Verfügung gestellt werden.

- Nach Möglichkeit sollten die für die vorherige Lösung erstellten Daten unverändert weiterverwendet werden können.

- Das Ganze sollte zu einem vernünftigen Preis zu erhalten sein.

Um die Automatisierung bestimmter Teile unserer EWAG-DV-Normen zu erreichen, wurde zusätzlich verlangt:

- Die Möglichkeit der Verwendung von Standardsteuerkarten.

- Die Angabe des Programmierernamens und eines Problemkurztextes zur Identifikation bzw. Dokumentation.

- Die Ausgabe von Satzanzahlen für Abstimmzwecke auf der Konsolschreibmaschine.

Die Programmierung dauerte ein halbes Mannjahr. Während der Realisierung mußten noch Wünsche nach weiteren Funktionen (Rechenoperationen und halbbyteweiser Ausdruck ganzer Sätze mit einem Befehl) berücksichtigt werden.

Programmierzeit von Minuten

Erreicht wurde neben einer Erfüllung des ursprünglichen Anforderungsprofils durch modularen Aufbau eine große Flexibilität, die Raum für neue Datenorganisationsformen läßt. Die Arbeit ist jetzt einfacher und übersichtlicher geworden - die Programmierzeiten haben sich verkürzt und liegen häufig nur im Minutenbereich.

Die Grenzen des Systems: Es kann nur jeweils eine Ein- und Ausgabedatei angesprochen werden, Direktzugriffe werden nicht unterstützt, es gibt keine Gruppenwechselautomatik, Verarbeitung von Binärzahlen und Programmexits sind nicht möglich.

FIFI ist nunmehr seit einem Jahr im Einsatz und wird trotz obiger "Lücken" sehr häufig und gerne benutzt. Das rührt hauptsächlich von der simplen und doch flexiblen Anwendung her. Außerdem ergeben sich häufiger als gedacht Problemstellungen, die unter Umgehung echter Programmierung direkt mit FIFI gelöst werden können. Natürlich haben sich in der Praxis einige Änderungs- und Erweiterungswünsche ergeben. Sie werden vorerst in einer Wunschliste gesammelt.

Als Standardanwendungen haben sich inzwischen herauskristallisiert:

- Erstellung von Testdateien aus entsprechenden Testkarten

- Ausdruck von Testdateien in formatisierter oder halbbyteweiser Form

- Fehlersuche und -behebung in echten Datenbeständen

- Einsatz für laufende Arbeiten und sporadische Sonderauswertungen

Zur Einarbeitung wurden alle Mitglieder unseres DV-Teams (Programmierer, Arbeitsvorbereiter und Operatoren) in Achtergruppen einen Tag lang geschult.

Wir verwenden FIFI inzwischen auch dazu, unsere Auszubildenden und Nachwuchsprogrammierer in der Programmiertechnik zu schulen. Hierzu wird ein 4seitiges Subset des Programmierhandbuches verwendet, anhand dessen innerhalb einer Stunde die Gundelemente der Programmierung erläutert werden können.

In letzter Zeit sind bei uns im Hause sogar Bestrebungen im Gange, die DV-Verbindungsleute der Fachabteilungen in FIFI zu schulen. Sie sollen dadurch in die Lage versetzt werden, viele ihre "Schnellschüsse" selbst durchführen bzw. vorbereiten zu können

FIFI ist ein durchschlagender Erfolg geworden. Gelegentlich wird sogar von der EWAG-Programmiersprache gesprochen. Ein nackter Kostenvergleich würde wahrscheinlich zugunsten gekaufter oder gemieteter Software ausfallen. Wir sind uns aber sicher, daß ein etwaiger finanzieller Nachteil alleine dadurch ausgeglichen wird, daß viele spezielle Wünsche in der Vergangenheit erfüllt werden konnten und daß alle Anpassungsmöglichkeiten für die Zukunft gesichert sind.

FIFI'S Vorgeschichte

Wir haben zunächst Testdateien mit den DOS-Utilities erstellt und mit dem Programm DITTO ausgedruckt. Wegen der Unzulänglichkeiten von DITTO entwickelten wir zunächst ein dateibezogen arbeitendes Listprogramm, das zwar satzartenspezifische Abfragen ermöglichte, sich aber - die Benutzung war verhältnismäßig unelegant - nicht so recht durchsetzen konnte. Nach der Umstellung auf VS und dem Wegfall der DOS-Utilities sahen wir uns auf dem Softwaremarkt.

Nach kurzem Suchen fiel unsere Wahl auf eine ältere Entwicklung, die für unsere Zwecke gut geeignet schien. Doch schon bei der Einführung wurden die ersten Mißverständnisse und Unzulänglichkeiten deutlich:

- es konnte je Datei nur eine Satza(...)verarbeitet werden;

- für jede Datei mußten zwei Assemblerumwandlungen plus Linklauf erfolgen;

- der Satzaufbau selbst mußte umständlich in einer speziellen Datei abgespeichert werden;

- was von uns als Bithandling angesehen wurde, war die Verarbeitung binärer Zahlen;

- der Ausdruck einer Datei war nur bei gleichzeitiger Erstellung möglich;

- die Ausführung selbst mußte in mehreren Jobsteps erfolgen;

- die Fehlerdiagnostik war relativ schlecht.

Nach Durchführung der überhaupt möglichen Anpassungen präsentierte sich uns eine ziemlich umständliche Anwendung mit viel Formalismus und langen Laufzeiten. Außerdem kamen unsere PL/I-Programmierer mit den Assemblermakros überhaupt nicht zurecht. Nach einigen Monaten des Abmühens sahen wir ein, daß wir keine Vereinfachung, sondern eine Verkomplizierung erreicht hatten. Wir beschlossen deshalb diesen Weg nicht mehr weiterzuverfolgen und uns nach etwas Geeigneterem umzusehen.

Nach einigem Suchen hatten wir ein akzeptables System gefunden, vereinbarten jedoch vorsichtshalber eine Probeinstallation. Aber auch diesmal zeigten sich derart schwerwiegende Nachteile, daß wir es nicht verantworten konnten, eventuell wieder in einer Sackgasse zu landen. So wurde kurzerhand beschlossen, selbst eine derartige Software zu erstellen.

Ing. (grad.) Alfred Hack ist Autor von FIFI und Chefprogrammierer bei der Energie- und Wasserversorgung AG (EWAG) in Nürnberg.