-
Dateidefinition in Prozeduren - Static - V6R1
Hallo zusammen,
zunächst einmal wünsche ich alles Gute für das neue Jahr!
Mit V6R1 kann auch auf Prozedurebene die Definition von Dateien vorgenommen werden.
Mit dem Schlüsselwort STATIC kann dabei dafür gesorgt werden, dass beim Beenden der Prozedur die Datei nicht implizit geschlossen wird.
Vorteile: Lesezeiger bleibt erhalten, höhere Geschwindigkeit bei mehrfachem Verwenden der Prozedur, da der ständige Open und Close wegfällt, ...
Leider werden Dateien, die mit STATIC definiert wurden, auch dann nicht geschlossen, wenn das Programm beendet wird. Man muss diese explizit schließen.
Da man (meines Wissens nach) nur innerhalb der Prozedur Zugriff auf die Datei hat, müsste man in dieser implementieren, dass die Datei beim letzten Aufruf der Prozedur geschlossen wird. Das ist recht unschön.
Wie geht ihr mit diesem Thema um?
-
... static in lokalen procedures, ein typisches Beispiel für krummes RPG Design mit dem man sich Probleme holt, die man nicht haben müsste! Könnte man aber heilen mit Hilfe von CEE4RAGE
D*B
 Zitat von hwalk
Hallo zusammen,
zunächst einmal wünsche ich alles Gute für das neue Jahr!
Mit V6R1 kann auch auf Prozedurebene die Definition von Dateien vorgenommen werden.
Mit dem Schlüsselwort STATIC kann dabei dafür gesorgt werden, dass beim Beenden der Prozedur die Datei nicht implizit geschlossen wird.
Vorteile: Lesezeiger bleibt erhalten, höhere Geschwindigkeit bei mehrfachem Verwenden der Prozedur, da der ständige Open und Close wegfällt, ...
Leider werden Dateien, die mit STATIC definiert wurden, auch dann nicht geschlossen, wenn das Programm beendet wird. Man muss diese explizit schließen.
Da man (meines Wissens nach) nur innerhalb der Prozedur Zugriff auf die Datei hat, müsste man in dieser implementieren, dass die Datei beim letzten Aufruf der Prozedur geschlossen wird. Das ist recht unschön.
Wie geht ihr mit diesem Thema um?
-
In der ILE-Programmierung werden Dateien in den lokalen F-Bestimmungen erst dann geschlossen, wenn die Aktivierungsgruppe in der das Programm oder Service-Programm, in dem sich die Prozeduren befinden geschlossen wird.
Verwendet man globale F-Bestimmungen werden die Dateien, wenn LR gesetzt ist bei Programm-Ende geschlossen. Der Grund für dieses unterschiedliche Verhalten liegt darin, dass Main-Procedures dem RPG-Zyklus unterliegen, während Prozeduren ohne Zyklus implementiert werden. Der RPG-Zyklus übernimmt das automatische öffnen und schließen der Dateien.
- Verwende ich fast ausschließlich embedded SQL (aber auch SQL lässt die Zugriffswege offen und schließt diese erst mit Beenden der Aktivierungsgruppe).
- Die Datei-Zugriffe erfolgen in eigenen Service-Programmen. Sofern native I/O verwendet wird, so sind diese Dateien überwiegend global definiert und werden User controlled geöffnet und geschlossen. Über (exportierte) Prozeduren können diese Dateien geöffnet und geschlossen werden, sofern gewünscht.
- Sofern Dateien lokal als F-Bestimmungen definiert werden, so werden diese ebenfalls user controlled geöffnet und geschlossen. Jede Prozedur hat einen optionalen Parameter, über den gesteuert werden kann, ob die Datei beim Verlassen der Prozedur geschlossen werden soll.
Birgitta
-
Vielen Dank für die Infos und Hinweise.
Similar Threads
-
By fighter3582 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 13-12-11, 09:11
-
By hartmuth in forum NEWSboard Java
Antworten: 8
Letzter Beitrag: 16-11-11, 13:34
-
By Dschainers in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 24-03-10, 10:11
-
By schatte in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 14-08-06, 14:18
-
By stoerfang in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 16-06-06, 12:19
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks