PDA

View Full Version : Dateibeschreibung in ILE RPG



Grüner AWE
10-04-03, 14:23
Ich habe ein vielleicht sehr Dumme Frage, aber wage es trotzdem sie zu stellen!

Geht es, dass in einem ILE-Programm in der F-Bestimmung zwei unterschiedliche Dateien die den selben Namen besitzen einzutragen?
Also durch ein Schlüsselwort oder so!

z.b Fmydat if e k disk (! in LIBA)
Fmydat if e k disk (! in LIBB)

Vielen Dank für die Hilfe im voraus!

mfg

Grüner AWE

B.Hauser
10-04-03, 14:29
Hallo Günter,Hallo,

mit dem Schlüssel-Wort EXTFILE in den F-Bestimmungen ist es ab Release V5R1M0 möglich Dateien qualifiziert anzugeben.

Die Dateien müssen unterschiedlich heissen, d.h. in deinem Fall z.B. MyDat und MyDat2.
Die Datei-Beschreibungen müssen zur Compile-Zeit vorhanden sein.

Birgitta

Grüner AWE
10-04-03, 15:23
Hallo Birgitta,

zuerstmal Sorry wegen der verspäteten Antwort und auch herzilchen Dank für deine Hilfe.

Muss aber noch ein bisschen warten bis wir unser System aktualisiert haben aur V5R2M0.
Haben leider noch ein halbes Jahr V4R5M0.
Dann muss ich halt zwei Programme schreiben.

Robert

PS: Bin nicht der Günter, sonder ein grüner Anwendungsentwickler! Nochmals Danke!

B.Hauser
10-04-03, 16:30
Hallo Robert,

wenn man nicht genau liest!

Wenn Du noch kein Release V5R1M0 hast, bleibt Dir die Möglichkeit in einem vorgelagerten CL-Programm die Dateien (oder zumindest eine) mit OVRDBF zu überschreiben.

Der neue Name wird dann in den F-Bestimmungen angegeben.
Zur Compile-Zeit muss eine Datei mit dem entsprechenden Namen bestehen.
Vorsicht beim Überschreiben mit OVRSCOPE.
Standardmässig steht dieser Parameter auf *ACTGRP, was zu Problemen führt, wenn mit unterschiedlichen Aktivierungs-Gruppen gearbeitet wird.

Birgitta

Grüner AWE
10-04-03, 17:17
Hallo Birgitta,

nochmals Danke für deine erneute Hilfe, werd ich morgen gleich mal probieren!

Und des mit dem überlesen, sei dir verziehen, denn wenn ich da recht überlege hab ich schon öfter mal(hab zu meiner schande ned mitgezählt) neu compilieren müssen weil ich irgendwas nicht gelesen habe!

mfg

Robert

Fuerchau
10-04-03, 22:05
Erstelle doch einfach eine logische Sicht auf die gleiche Datei mit identischem Key (falls vorhanden).
Und schon hast du 2 verschiedene Dateien, die jedoch identisch sind.

Aber Vorsicht bei I-O: Deadlock-Gefahr !

B.Hauser
11-04-03, 09:13
Wenn man so grosszügig beim Anlegen von logischen Dateien ist, hat man ehe man es sich versieht hunderte von Zugriffs-Wegen auf einer physischen Datei.

Wenn die Zugriffs-Pfad-Wartung dann auch noch auf *IMMED (Unterlassungs-Wert) steht, wundert man sich warum die Perfomance in den Keller geht.

Also Vorsicht: Zugriffs-Wege nur dann anlegen, wenn unbedingt erforderlich!

Birgitta

rmittag
11-04-03, 09:46
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
hat man ehe man es sich versieht hunderte von Zugriffs-Wegen auf einer physischen Datei.
[/quote]
hunderte ? http://www.as400-forum.de/ubb/wink.gif
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
wundert man sich warum die Perfomance in den Keller geht.
[/quote]
nur die Performance beim Schreiben und das merkt man nur wenn _sehr_ viel geschrieben wird. Die Performance von Abfragen wird sich durch zusätzliche logische Dateien eher verbessern.

Wenn man die Datei so wie von Fuerchau vorgeschlagen anlegt tut sich in der Performance gar nichts, da der bestehende Zugriffsweg mit benutzt wird.

Gruß
Rolf

B.Hauser
11-04-03, 12:20
Hallo Rolf,

leider weiss ich aus Erfahrung was für ein Schindluder mit Zugriffs-Wegen gemacht wird.
Darunter sind auch Dateien mit weit über 200 Zugriffs-Wegen. (Keine SQL-Views und immer mit Zugriffs-Weg-Warung *IMMED)
Benötigt man einen Zugriffs-Weg ist man zu faul 200 Zugriffs-Wege zu durchforsten und legt lieber einen Neuen an.
Auf einen mehr oder weniger kommt es ja auch nicht mehr an.

Zugegeben bei kleinen Dateien ist das nicht unbedingt ein Problem.
Aber bei Dateien mit ein paar Millionen Sätzen, die ständig fortgeschrieben werden, schon.

Birgitta

Fuerchau
11-04-03, 16:02
Da kann ich Rolf nur zustimmen !
Wenn mehrere LF's mit identischen Zugriffswegen existieren, pflegt das System nur EINEN Zugriffspfad.
Beim DSPFD sieht man das unter:
"Zugriffspfad der Datei"

Wenn nun eine Datei 2 Mal im Programm geöffnet werden muß, ist das doch kein Problem.