PDA

View Full Version : Lesen einer Datei in eine Datenstruktur (Subprocedure)



beegee
12-03-08, 13:01
Hi,

ich möchte mittels RPG ein Subset einer Datei in eine Datenstruktur einlesen und diese dann aus einer Subprocedure mit return zurückgeben.

Kann ich eine DS mit Mehrfachvorkommen definieren, die als Feldaufbau eine externe Dateibeschreibung verwendet ? Wenn ja, wie ?

Danke für eure Hilfe.

Lg

Fuerchau
12-03-08, 13:05
RPG:
IMYDS E DSMYFILE 1000

ILERPG
D MyDs E DS extname('MyFile') occurs(1000)

In beiden Varianten wird dann per

/free
occurs MyDs nnn;
/end-free

oder
C NNN OCURS MYDS

auf die Feldgruppe umgeschaltet.
Read/Write's gehen aus der aktuellen Gruppe.

beegee
12-03-08, 13:28
Ist das die beste Art ein Subset von einer Datei zwischen Proceduren zu bewegen ?
Ich bilde mir ein, dass ich irgendwo gelesen habe, dass man Occurs vermeiden soll.

BenderD
12-03-08, 16:17
ich würde da dim bevorzugen, verwende allerdings sql, mit rekord löffel ekzem braucht man da meine ich ein ziemlich aktuelles release (oder muss intern beschreiben) , damit man angeben darf wohin man einlesen will

D*B


Ist das die beste Art ein Subset von einer Datei zwischen Proceduren zu bewegen ?
Ich bilde mir ein, dass ich irgendwo gelesen habe, dass man Occurs vermeiden soll.

Fuerchau
12-03-08, 16:39
Einzelsatzzugriff kann nur mit OCCURS, da durch die automatischen I-Definitionen (auch bei qualified-DS), nur in die "aktiven" Variablen gelesen wird.

Nur durch OCCURS kann dan eine Ebene der DS aktiviert werden.
Dim-DS'n müssen durch einen Index "MyDs(Ind)" angesprochen werden, was die EA-Befehle nicht können.

Dem SQL ist das egal, ob occurs oder dim.