von Nick Barnes
| April Utility (Nr2) der NEWSolutions | |
| Load´n´go | |
Stellen Sie sich vor, es ist schon fast Feierabend und Sie haben gerade ein Programm fertig gestellt, an dem Sie die gesamte Woche gearbeitet haben. Es bleibt gerade noch Zeit, das Programm noch einmal umzuwandeln, bevor Sie nach Hause gehen. Sie rufen im PDM „Arbeiten mit Teildateien“ auf und beabsichtigen, vor dem Quelleneintrag die Auswahl 14 einzugeben, um Ihr Programm umzuwandeln. Versehentlich geben Sie aber stattdessen die Auswahl 4 (Teildatei löschen) ein. Die daraufhin erscheinende Warnmeldung bestätigen Sie mehr oder weniger mechanisch. Ein kleiner Fehler mit schwerwiegenden Folgen, der jedermann leicht passieren kann. Das allerdings ist ein schwacher Trost bei der anschließend erforderlichen mehrtägigen Arbeit, um das Programm gänzlich neu zu erstellen.
Würden iSeries Systeme über den berühmten „Papierkorb“ verfügen, wäre die Wiederherstellung der gelöschten Quelle schnell und problemlos zu erledigen. Glücklicherweise ist es aber recht einfach, eine ähnliche Funktion auf iSeries Systemen nachzustellen. Wenn auch der gesamte Funktionsumfang des „Papierkorbs“ nicht erreicht wird, so bietet das Programm Recycle doch ausreichend Funktionalität, um die Wiederherstellung eines versehentlich gelöschten Quelleneintrages zu ermöglichen.
Eine solche Implementierung erfordert eine gesonderte Quelldatei für jeden Benutzer (zum Beispiel mit dem Namen des jeweiligen des Benutzerprofils). Da das Programm Fehlermeldungen prüft und ignoriert, hat das Löschen von Teildateien am Ursprungsort keine Auswirkungen. Das Programm ignoriert schlicht die für die Anweisung CpySrcF generierten Fehlermeldungen und fährt fort, ohne die Teildatei zu kopieren.
Folgende Implementierungsschritte sind zu durchlaufen:
- 1.Erstellen einer Bibliothek namens RecycleBin 2.Umwandlung des Programms Recycle 3.Kopieren der Anweisung RmvM aus der Bibliothek QSys in eine benutzerdefinierte Bibliothek, die für Ihre persönlichen Anforderungen modifizierte IBM Objekte aufnimmt. (Es ist generell dringend empfehlenswert, eine solche Bibliothek zur Aufnahme modifizierter Kopien von IBM Objekten anzulegen. Diese Bibliothek ist im Systemteil der Bibliotheksliste so zu positionieren, dass sie vor der Bibliothek QSys steht.) 4.Eintragen des Programms Recycle als Programm zur Gültigkeitsprüfung für die (kopierte) Anweisung RmvM mit der Anweisung ChgCmd (Change Command). ChgCmd Cmd(YourSysLib/RmvM) VldCkr(YourLib/Recycle) 5.Erstellen einer physischen Quelldatei in der Bibliothek RecycleBin für alle Benutzer, die sich dieser Wiederherstellungsfunktion bedienen können sollen. Der Name der physischen Quelldatei muss mit dem Namen des jeweiligen Benutzerprofils identisch sein. Auch sollte daran gedacht werden, die Datei mit einer Satzlänge zu erstellen, die für alle verwendeten Quellen ausreichend ist. Mit einer Satzlänge von 112 Bytes werden gewöhnlich die QRPGLESrc Dateien die längsten Dateien in der Quelldatei sein. CrtSrcPf File(RecycleBin/YourUser) RcdLen(112) Um einem Benutzer zu einem späteren Zeitpunkt die Verwendung dieser Funktion wieder zu entziehen, wird schlicht seine physische Quelldatei aus der Bibliothek RecycleBin gelöscht. Mit Hilfe dieser einfachen Technik kann man sich durch die problemlose Wiederherstellung gelöschter Quellen unter Umständen viele Stunden und so manche Frustration ersparen. Die Funktionalität des „Papierkorbes“ lässt sich noch erweitern, indem man eine Anweisung zum Entleeren erstellt. Diese Anweisung löscht schlicht die Quelldatei eines Benutzers und erstellt sie – leer – wieder neu.



Leider lässt sich die Datei code_april_2003_zip nicht downloaden.
Hallo, steht eigentlich das Programm zum auspacken der *.bdl-Dateien noch zur Verfügung?
Ja, es steht zur Verfügung, hier: http://newsolutions.de/it/archive/free-utility/