Anmelden

View Full Version : Feldgruppen in Dateibeschreibung



dino
20-03-08, 11:43
Wie beschreibe ich eine Feldgruppe (z.B. 12 x Monatsumsätze Januar - Dezember) in der QDDS ?
Muß ich jedes Monatsfeld einzeln beschreiben ?
Wie lese ich eine solche Feldgruppe dann im RPG ein bzw. aus ?

Frohe Ostern Allen hier im Forum !

Fuerchau
20-03-08, 12:14
DDS (also eine Datei) unterstützt keine Feldgruppen.
Du musst also jedes Feld einzeln beschreiben.
Nach dem CRTPF kannst du per DSPFFD die Start-und Endposition der "Feldgruppe" ansehen.

Im RPG gibts 2 Möglichkeiten:
1. Die sichere
nach dem Lesen jedes Feld enzeln per move/eval einer Feldgruppe zuweisen und vor dem Schreiben entsprechend wieder zurück.
2. die unsichere (nach jeder PF-Änderung zu prüfen)
D MyFile E DS extname('MYFILE')
D MyFld vvvv bbbb nnt d dim(xx)

vvvv = Startpostion
bbbb = Endeposition
nn = Anzahl Stellen
t = Typ
d = Nachkomma
xx = Anzahl

B.Hauser
20-03-08, 16:20
... es gibt noch eine 3 (elegantere?!) Möglichkeit.

1. Die Datei in den F-Bestimmungen definieren
2. Eine Datenstruktur anlegen, unter die die 12 Umsatz-Felder gruppiert werden. Da die Felder in der Datei (bzw. F-Bestimmungen) bereits definiert sind, ist keine weitere Definition erforderlich (eine einfache Auflistung reicht!)
3. Die Datenstruktur mit einer Feldgruppe überlagern.

Beispiel:

D DSUmsatz DS
D Ums01
D Ums02
D Ums03
D Ums04
D Ums05
D Ums06
D Ums07
D Ums08
D Ums09
D Ums10
D Ums11
D Ums12
D ArrUmsatz Like(Ums01) Dim(12) Overlay(DSUmsatz)
/Free
Read MyUmsFile;
ArrUmsatz(Monat) = 123456;
SummeUmsatz = %XFoot(ArrUmsatz);
/End-Free


Im Programm kannst Du dann die eingelesenen Umsatz-Werte über ArrUmsatz(Index) ansprechen.

Birgitta

BenderD
20-03-08, 16:45
am besten garnicht! und mal mit Google unter Datenbankdesign und Normalform Googeln. Bei so einem Datenbankdesign rollen einem sich ja alle Fußnägel auf und die Nackenhaare kräuseln sich, da wird ja selbst eine Anfrage nach dem Umsatzstärksten Monats einer Artikelgruppe zur Programmieraufgabe...

D*B


Wie beschreibe ich eine Feldgruppe (z.B. 12 x Monatsumsätze Januar - Dezember) in der QDDS ?
Muß ich jedes Monatsfeld einzeln beschreiben ?
Wie lese ich eine solche Feldgruppe dann im RPG ein bzw. aus ?

Frohe Ostern Allen hier im Forum !

Fuerchau
20-03-08, 17:04
Naja, Normalisierung ist da halt eher unerwünscht, manchmal möchte man die Daten ja auch wieder nebeneinander haben.
Mal ist das eine, mal das andere von Vorteil.

BenderD
20-03-08, 17:16
Einspruch, und zwar vehement! aus der normalisierten Sicht lässt sich der Huddel einfacher darstellen als umgekehrt und wer schon im ersten Schritt der Normalisierung kapituliert und dann nachher von gewachsen redet, da sind doch die Altlasten bereits vorprogrammiert, bevor die erste Zeile geschrieben ist - hier ging es um DDS, also um die Erstellung einer Datei.

D*B


Naja, Normalisierung ist da halt eher unerwünscht, manchmal möchte man die Daten ja auch wieder nebeneinander haben.
Mal ist das eine, mal das andere von Vorteil.