View Full Version : RPG Anfänger braucht hilfe bei Datenstrukturen
woodstock99
07-11-07, 16:38
Hallo zusammen,
ich habe 2 Datenstrukturen z.B.
D Ds
DSchlüssel 1 7
DWERK 1 2
DFORM 3 7
D Ds
DLesen 1 7
DWERK 1 2
DGlasur 3 7
Wenn ich es jetzt so umwandle kommt die Fehlermeldung das Werk bereits definiert wurde.
Kann man das gleiche Feld nicht in mehreren Datenstukturen verwenden?Wenn doch wie???
Vielen Dank im vorraus.
AS400.lehrling
07-11-07, 17:13
Hallo zusammen,
ich habe 2 Datenstrukturen z.B.
D Ds
DSchlüssel 1 7
DWERK 1 2
DFORM 3 7
D Ds
DLesen 1 7
DWERK 1 2
DGlasur 3 7
Wenn ich es jetzt so umwandle kommt die Fehlermeldung das Werk bereits definiert wurde.
Kann man das gleiche Feld nicht in mehreren Datenstukturen verwenden?Wenn doch wie???
Vielen Dank im vorraus.
Du kannst für Werk einen Schlüßel verwenden, wie folgt:
Schlüssel [DWRK Lesen]
*LIKE DEFINE DWRKL kyDWRKL
kyDWRKL KLIST
KFLD kyDWRKL
Schlüssel [DWRK Schreiben]
*LIKE DEFINE DWRKS kyDWRKS
kyDWRKS KLIST
KFLD kyDWRKS
dazu gehört noch eine referenzierung wie folgt:
A R ##REFREC
A ##DWERK
A #DWRKL R REFFLD(##DWERK)
A #DWRKS R REFFLD(##DWERK)
Aufgrund eines Fehlers meinerseits habe ich 2 Antworten produziert.
Bitte die Komplettere Spätere Antwort lesen, danke;)
Gruß As400.lehrling
AS400.lehrling
07-11-07, 17:19
Hallo zusammen,
ich habe 2 Datenstrukturen z.B.
D Ds
DSchlüssel 1 7
DWERK 1 2
DFORM 3 7
D Ds
DLesen 1 7
DWERK 1 2
DGlasur 3 7
Wenn ich es jetzt so umwandle kommt die Fehlermeldung das Werk bereits definiert wurde.
Kann man das gleiche Feld nicht in mehreren Datenstukturen verwenden?Wenn doch wie???
Vielen Dank im vorraus.
Du kannst für Werk einen Schlüßel verwenden, wie folgt:
Schlüssel [DWRK Lesen]
*LIKE DEFINE DWRKL kyDWRKL
kyDWRKL KLIST
KFLD kyDWRKL
Schlüssel [DWRK Schreiben]
*LIKE DEFINE DWRKS kyDWRKS
kyDWRKS KLIST
KFLD kyDWRKS
dazu gehört noch eine referenzierung wie folgt:
A R ##REFREC
A ##DWERK
A #DWRKL R REFFLD(##DWERK)
A #DWRKS R REFFLD(##DWERK)
Dan müßen die Schlüßel noch mit der referenzdatei zusammen gebracht werden :
Nr 1
A REF(Name der referenzdatei)
A UNIQUE
A R DWRKL
* SCHLÜSSEL
A K DWRKL
Nr 2
A REF(Name der referenzdatei)
A UNIQUE
A R DWRKS
* SCHLÜSSEL
A K DWRKS
Nr 1+2 müßen separate dateien sein.
Ist nicht schönn, fehlerfreiheit wird auch nicht garantiert aber es sollte zur Funktion führen;)
Die Namen für die referenzdatei und die definitionsdateien mußt du dir deiner creativität anpassen :D
Ansonsten kannst du hier -=* Rechenzentrum Kreuznach *=- (http://www.as400profis.de) auch gegen einen geringen Obolus ein gutes Grundlagen nachschlagewerk erhalten.
Gruß As400.lehrling
woodstock99
07-11-07, 17:24
Danke für deine Antwort aber ich glaub die hilft mir nicht weiter. Das waren ja nur zwei beispiele einer Ds. Das eigentliche Problem ist das ich ein Feld nicht in 2 oder 3 usw. Datenstrukturen angeben kann weil mir der Compiler beim umwandeln sagt das dass Feld schon definiert ist. Im obrigen Beispiel möchte ich das Feld Werk in 2 verschiedenen Datenstrukturen unterbringen damit ich es nur einmal füllen muß und nicht werk und z.B. werk1 daraus machen muß
AS400.lehrling
07-11-07, 17:44
Danke für deine Antwort aber ich glaub die hilft mir nicht weiter. Das waren ja nur zwei beispiele einer Ds. Das eigentliche Problem ist das ich ein Feld nicht in 2 oder 3 usw. Datenstrukturen angeben kann weil mir der Compiler beim umwandeln sagt das dass Feld schon definiert ist. Im obrigen Beispiel möchte ich das Feld Werk in 2 verschiedenen Datenstrukturen unterbringen damit ich es nur einmal füllen muß und nicht werk und z.B. werk1 daraus machen muß
Genau darum geht es bei der Referenzierung: Einfache mehrfach benutzung von Feldern.
Im Ersten Schritt wird die zugrunde liegende Feld DWERK definiert.
In den weiteren Zeilen schaffe ich mir 2 Unterschiedliche Felder die als Referenzgrundlage das bereits definierte Feld DWERK benutzen, da kann man dan auch noch die Feldlängen verändern.
Durch die Schlüßel werden klare zugriffswege definiert die durch zugabe von unique einmalig sind.
Die datenstruktur DWERK kann nun mehrfach benutzt werden.
Irrtümer und Fehler vorbehalten :cool:
AS400.lehrling
woodstock99
07-11-07, 17:57
Dann würde ja deine Datenstruktur so aussehen oder??
D Ds
DSchlüssel 1 7
Dwrkl 1 2
DFORM 3 7
D Ds
DLesen 1 7
Dwrks 1 2
DGlasur 3 7
und genau das will ich nicht ich das sie so aussieht
D Ds
DTest 1 7
Dwerk 1 2
DFORM 3 7
D Ds
Dtest1 1 7
Dwerk 1 2
DGlasur 3 7
Das muss doch irgendwie mit Zeiger gehen die man in in Definitionsbestimmungen angeben kann.</pre>
AS400.lehrling
07-11-07, 18:01
Dann würde ja deine Datenstruktur so aussehen oder??
D Ds
DSchlüssel 1 7
Dwrkl 1 2
DFORM 3 7
D Ds
DLesen 1 7
Dwrks 1 2
DGlasur 3 7
und genau das will ich nicht ich das sie so aussieht
D Ds
DTest 1 7
Dwerk 1 2
DFORM 3 7
D Ds
Dtest1 1 7
Dwerk 1 2
DGlasur 3 7
Das muss doch irgendwie mit Zeiger gehen die man in in Definitionsbestimmungen angeben kann.
Begebe dich mal hierher -=* Rechenzentrum Kreuznach *=- (http://www.as400profis.de) und lade dir das kostenlose Grundbuch herunter, das könnte dir schonn helfen.
woodstock99
07-11-07, 18:03
nein das glaub ich nicht. ich glaub wir reden aneinander vorbei. das problem haben wir in der arbeit und das hat gar nix mit dateien usw zu tun.aber trotzdem danke
holgerscherer
07-11-07, 23:40
nein das glaub ich nicht. ich glaub wir reden aneinander vorbei. das problem haben wir in der arbeit und das hat gar nix mit dateien usw zu tun.aber trotzdem danke
Nur am Rande gefragt:
Haben die Datenstrukturen keine Namen? Und hat das Feld "Schlüssel" wirklich einen Umlaut im Namen? ;-)
-h
Benenne die Datenstrukturen und gib das Schlüsselwort Qualified an. Die Datenstruktur-Unterfelder müssen dann qualifiziert angegeben werden, d.h. DS.Unterfeld.
Bei unqualifizierten Datenstrukturen müssen die Unterfelder eindeutig sein.
D MyDS1 DS Qualified
D Fld1 10A
D Fld2 5P 0
D MyDS2 DS Qualified
D Fld1 15A
D Fld3 10I 0
D MyDS3 DS Qualified
D Fld2 15P 5
D Fld3 20A Varying
/Free
MyDS1.Fld1 = 'ABC';
/End-Free
Birgitta