View Full Version : Fehlerausnahmeroutine *PSSR
peter.kinne
30-09-03, 07:55
Hallo Thimi,
wir haben das Problem nich nur bei "3" Programmen sondern bei hunderten. Und wer "faul" ist der ist "schlau". Also da Minimax-Prinzip anwenden. Minimaler Aufwand - Maximaler Erfolg. Ich habe keinen Bock alle Programme komplett zu überarbeiten. Bis ich damit fertig bin gibt es wahrscheinlich Rel. 6 oder wir leben auf dem Mond :-)
Ich dachte an eine geschickte COPY-Strecke, die ich maschinell in die Programme schieße.
Gruß
Peter
Hallo Peter
Die einzige Lösung liegt darin, vor der User Contolled - Öffnung die Aktion zu prüfen. Je nach Aktion kann dann die Datei im jeweiligen Modus geöffnet werden.
Falls dann ein Fehler auftritt, musst du die Datei wieder schließen und danach die Fehlermeldung im Window ausgeben.
(s. a. vorhergehende Beiträge).
Ob du dies über die *PSSR oder über eine "normale" Routine bearbeitest, ist eigentlich zweitrangig.
Mach doch ein externes Programm, in dem du die aufzurufende Datei auf die Berechtigung prüfst (Übergabe der Werte aus der INFDS-Struktur and das Prüfprogramm).
In der Copystrecke kannst du ja dann abhandeln, was je nach Fall passieren soll.
Du musst den Aufruf allerdings für jede UPDATE-eröffnete Datei durchführen, am besten in der Startroutine.
Versuch' s mal
Gruß
Volker
@vkaelber
RPG erlaubt keine variable Öffnung von Dateien !!
Jede Datei wird in dem Modus geöffnet, wie sie a) definiert ist I/O/U(A) bzw. verwendet wird.
Unterschiedliche Öffnungen bedeutet unterschiedliche logische Dateien mit unterschiedlichen Formatnamen.
Dies geht nur in COBOL, und da habe ich diese Probleme nicht, wenn ich mit "on error" o.ä, arbeite.
@peter
Leider geht das nicht einfach mit einer Copy-Strecke, und da du sowieso alle Programme anpacken musst, dann halt den schweren Weg:
a) "UC" in den F-Bestimmungen
b) OPEN in *INZSR
c) in *PSSR CLOSE/OPEN
Da RPG leider keine Variablen in Datei-/Format-Namen erlaubt heißt das hier: tippen, tippen, tippen .....