Override für eine benutzerselektierbare Teildatei

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

NEWSolutions Artikel NEWSabo plus Zugang Hot Tips: Ich verfüge über eine Datei, die 10 Teildateien enthält. Wie kann ich ein Override auf eine benutzerselektierbare Teildatei (z.B. die fünfte Teildatei in namentlicher Folge) ausführen und anschließend mit nachfolgenden Override-Anweisungen alle folgenden Teildateien sequentiell abarbeiten?

von Mike Cravitz

August Utility der NEWSolutions
Load´n´go


Frage

Ich verfüge über eine Datei, die 10 Teildateien enthält. Wie kann ich ein Override auf eine benutzerselektierbare Teildatei (z.B. die fünfte Teildatei in namentlicher Folge) ausführen und anschließend mit nachfolgenden Override-Anweisungen alle folgenden Teildateien sequentiell abarbeiten? 


Antwort

Die CL-Anweisung RtvMbrD (Retrieve Member Description) bietet eine Lösung für dieses Problem. Abbildung 1 zeigt ein CL-Programm, das darstellt, wie ein Override auf eine benutzerselektierbare Teildatei durchgeführt werden kann. Das Programm empfängt einen einzigen Parameter, der die sequentielle Nummer (in namentlicher Folge) angibt, bei der mit dem Override begonnen werden soll. Bei der Markierung A verwende ich die Anweisung RtvMbrD und gebe Mbr(*FirstMbr) an, um den Namen der ersten Teildatei zu erhalten. Bei der Markierung B überwache ich die Message ID CPF3049 (Teildatei nicht vorhanden). Diese Überwachung sollte nach jeder RtvMbrD Anweisung ausgeführt werden, um zu überprüfen, ob die Teildatei vorhanden ist.

Nach dem Ansprungpunkt Loop1: wird die Anweisung RtvMbrD in Verbindung mit Mbr(&MbrName *Next) verwendet, um den Namen der jeweils nächsten Teildatei zu erhalten. Die Programmschleife wurde so aufgebaut, dass die Variable &MbrName beim Verlassen den Namen der nten Teildatei enthält, wobei n identisch mit jener Zahl ist, die als Parameter &MbrNum an dieses Programm übergeben wurde.

Der nach dem Ansprungpunkt Loop2: folgende Programmcode führt ein Override auf diese Teildatei aus und ruft anschließend die Anwendung auf (in diesem Fall Test2). Danach wird mit der Anweisung RtvMbrD(MbrName *Next) der Name der nächsten Teildatei ermittelt. Mit der Anweisung MonMsg(CPF3049) wird sichergestellt, dass das CL-Programm endet, wenn die letzte Teildatei verarbeitet wurde.

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

Schreibe einen Kommentar

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