Zugriff auf alle Teildateien einer physischen Datei

11. November 2008 | Von | Kategorie: Tools, Hot-Tips

NEWSabo plus Frage: Ich führe monatliche Dateien, die für jeden Tag des Monats eine Teildatei enthalten. Am Ende des Monats möchte ich ein Programm ausführen, das Zugriff auf alle Daten aller Teildateien hat. Wie kann ich eine einzige logische Datei über alle Teildateien in der jeweiligen Monatsdatei erstellen? Ich habe mehrere Möglichkeiten ausprobiert, erhalte aber immer eine Fehlernachricht, die besagt, ich könne nur eine Teildatei angeben.

von Paul Conte

Frage:

Ich führe monatliche Dateien, die für jeden Tag des Monats eine Teildatei enthalten. Am Ende des Monats möchte ich ein Programm ausführen, das Zugriff auf alle Daten aller Teildateien hat. Wie kann ich eine einzige logische Datei über alle Teildateien in der jeweiligen Monatsdatei erstellen? Ich habe mehrere Möglichkeiten ausprobiert, erhalte aber immer eine Fehlernachricht, die besagt, ich könne nur eine Teildatei angeben.

Antwort:

Für das von Ihnen gewünschte Ziel ist der Aufbau einer logischen Datei möglicherweise gar nicht erforderlich. Sollen die Daten einfach in Eingangsfolge verarbeitet werden, erfüllt die nachfolgende CL Anweisung – ausgeführt vor dem Start des Programms – bereits den gewünschten Zweck:

    OvrDbf File( MonthFile ) ToFile( Jan2001 ) Mbr( *All )

Im Programm sollte MonthFile definiert sein, der Zugriff auf die Datei sollte mittels sequentiellen Read-Operationen erfolgen. Der Parameter ToFile in der Anweisung OvrDbf gibt den Namen der physischen Datei für den entsprechenden Monat an. Über den Parameter Mbr(*All) werden alle enthaltenen Teildateien der Reihe nach abgearbeitet. Nach Verarbeitung des letzten Satzes der letzten Teildatei tritt eine normale End-Of-File-Bedingung ein.

Soll allerdings auf die gesamten Daten indexiert oder index-sequentiell zugegriffen werden, bietet sich der Aufbau einer logischen Datei an. (Auch die Verwendung von SQL wäre eine mögliche Alternative.) Im Grunde ist der Aufbau der logischen Datei recht einfach. Zuerst sollte sichergestellt sein, dass die physische Datei alle benötigten Teildateien enthält. Nehmen wir beispielsweise an, der Name der physischen Datei wäre Jan2001, die Datei verfüge über ein Schlüsselfeld mit dem Namen RcdId und enthielte 31 Teildateien. Erfassen Sie die in Abbildung 1 aufgeführten DDS-Spezifikationen in einer Quellendatei mit dem Namen Jan2001LF.

Stellen Sie sicher, dass die Bibliothek, in der sich die physische Datei (z. B. Jan2001) befindet, in der Bibliotheksliste aufgeführt ist. Sind diese Voraussetzungen gegeben, lässt sich die logische Datei mit der nachfolgend aufgeführten CL Anweisung erstellen:

    CrtLf File( YourDtaLib/Jan2001LF ) SrcFile( YourSrcLib/QDdsSrc ) DtaMbrs( *All )

Der Parameter DtaMbrs(*All) bedingt, dass die erstellte logische Teildatei alle Teildateien der im DDS Schlüsselwort PFILE spezifizierten physischen Datei umfasst.

Übersetzt und für den deutschsprachigen Markt überarbeitet von Joachim Riener.

Schlagworte: , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.