PDA

View Full Version : Verschachtelte Datenstruktur



Seiten : [1] 2

FNeurieser
14-02-22, 06:48
Hallo allerseits,
und wieder einmal benötige ich Euer Schwarmwissen.

Ich habe das Problem, dass ich 4 Felder habe und diese gerne in eine Struktur bringen möchte.

Ich dachte, dass ich das auf die Art lösen kann, aber da habe ich mich geirrt:

D DS01
d satz 1 49a DIM(5)
d DS01ARTN 1 8s 0
d DS01LINR 9 16s 0
d DS01LANR 17 41a
d DS01AEDT 42 49s 0

Satz sollte die Felder beinhalten und satz sollte 5 mal vorkommen.
Wie müsste ich das richtig definieren und ist das überhaupt möglich? Und wenn ja, wie greife ich die Felder ab?

Danke schon mal für Eure Unterstützung
LG
Franz-Georg

FNeurieser
14-02-22, 06:53
Hallo,

funktioniert mit overlay, danke.

B.Hauser
14-02-22, 07:21
Ich hoffe, dass Du die Datenstruktur im Free-Format etwa so:

DCL-DS DS01 Inz;
Satz Dim(5);
DS01ArtN Zoned(8) Overlay(Satz);
DS01LinNr Zoned(8) Overlay(Satz: *Next);
DS01LaNr Char(25) Overlay(Satz: *Next);
DS01AeDt Zoned(8) Overlay(Satz: *Next);
End-DS;

oder zumindest im fixen Format ohne die Von-/Bis-Angaben definiert hast.

FNeurieser
14-02-22, 07:32
Ja, danke, genauso habe ich es gemacht.
Ist mir wieder eingefallen :-)

Fuerchau
14-02-22, 08:31
Ja, und Pos(n) klappt auch noch.
Allerdings nach neuen Regeln wäre dies besser:


dcl-ds SatzDs qualified template;
ArtN Zoned(8);
LinNr Zoned(8);
LaNr Char(25);
AeDt Zoned(8);
end-ds;

DCL-DS DS01 Inz;
Satz likeds(SatzDs) Dim(5);
End-DS;


Der Zugriff erfolg dann per "Satz(ind).Artn".
Dann spricht man auch von geschachtelten Strukturen.

camouflage
14-02-22, 09:07
Yep,genau so Baldur, wobei SatzDS_t wäre noch besser ;-)

Fuerchau
14-02-22, 09:46
Vorschriften gibt's soviele wie Firmen, die welche haben oder gar keine.
Mir sagt man zumindest nach, dass meine Quellen gut zu lesen und zu verstehen sind;-).

GoTo verwende ich gefühlt schon seit 35 Jahren nicht mehr, das geht auch in COBOL.

B.Hauser
14-02-22, 13:17
Was heißt hier alt oder neu?
Das sind einfach 2 unterschiedliche Techniken, und jede hat ihre Existenzberechtigung!
Das Überlagern von Arrays mit anderen Array und Sortierung nach den "Unter-Arrays" war schon Release V5R1M0 möglich
Das Überlagern und Sortieren von Array Datenstrukturen ist erst seit den 7er Releasen möglich.

Fuerchau
14-02-22, 13:38
Benziner/Diesel oder E-Autos sind auch unterschiedliche Techniken. Die einen sind eben alt und die anderen neuer.
Was die Existenzberechtigung angeht, so scheiden sich da die Geister.

Und möglich war das Alte schon mit V2R1. Nur nicht mit Dim sondern mit Occurs (was heute ja auch noch klappt).

Und eben weil das Alte noch existiert, glauben die Neuen dass das Neue gar nicht vorhanden ist und gehen daher auf die noch neueren Alternativen.

camouflage
14-02-22, 14:13
Birgitta, wie war das jetzt wieder mit den Legacy Applikationen? Nicht alles neue muss gleichzeitig besser sein. Jedem das Seine.

Für meinen Teil habe ich jetzt SQL teilweise Addio sagen müssen, von wegen Modernisierung. So unbestritten dessen Vorteile, so gewichtig können auch die Nachteile sein. Eine sauber referenzierte Datenbank kann genauso sexy sein, wie eine SQL-Datenbank. Und abgesehen davon, ich wiederhole mich, bietet mir eine NoSQL Datenbank sogar mehr Vorteile, wenn's denn modern sein muss.