Anmelden

View Full Version : Feldgruppe über extern beschriebene Datenstruktur legen



beegee
27-05-14, 08:10
Hallo,
nach langer Recherche komme ich leider nicht mehr weiter. Ich habe eine extern beschriebene Datenstruktur

exc10piDaten E DS EXTNAME(EXC10PI) Prefix(epi_)

In dieser Datei befinden sich neben 6 Keyfeldern weiter 40 gleichartige Datenfelder, die ich im Programm gerne über eine Feldgruppe ansprechen möchte, ohne dass ich die 40 Felder in den D-Bestimmungen anführen möchte.

Hat wer eine Idee?

Danke und LG

ExAzubi
27-05-14, 08:39
Meine das das so in der Richting funktionieren sollte (ohne Gewähr)



D exc10piDaten E DS EXTNAME(EXC10PI) Prefix(epi_)
D FGdS 6 205A
D FG 5A DIM(40) OVERLAY(FGDS)

Fuerchau
27-05-14, 08:45
Man kann hier auch mit Pointer-DS arbeiten wenn die Adresse sich mal ändern sollte:

D MyGrpPtr * inz(epi_Fld1)
D MyGrp DS based(myGrpPtr)
D MyGrpfld 10 dim(40)

Falls der Compiler die Initialisierung der Adresse ablehnt (tut er manchmal) kann man diese auch zur Laufzeit setzen:

MyGrpPtr = %addr(epi_fld1);

beegee
27-05-14, 11:48
Ja, danke: mit den DS Overlays hat es geklappt. Man denkt oft zu kompliziert :)

Pointer habe ich versucht, bin aber beim Kompilieren nicht zu recht gekommen (anderer Fehler als Initialisierung der Adresse).

Pikachu
27-05-14, 12:13
Sieh mal hier bei IBM in "Loading a Run-Time Array" (http://publib.boulder.ibm.com/infocenter/iadthelp/v7r1/topic/com.ibm.etools.iseries.langref.doc/c0925086157.htm) unter Punkt 2.

Fuerchau
27-05-14, 12:56
Ich habe das wichtige "S" für Einzelvariable bei der Definition vergessen:
D MyGrpPtr S * inz(epi_Fld1)