PDA

View Full Version : Graphic + variable Länge



fdh
26-10-11, 08:08
Hallo Forum,

in einer Datenbank sind die Schlüsselfelder wie folgt definiert:

Daten Feld- Puffer Puffer Feld Spalten
Feld Art Länge Länge Position Verwend. Überschrift

WIFIRM GRAPHIC 1 4 1 Beides WIFIRM
Feld mit variabler Länge
Läßt den Nullwert zu
ID des codierten Zeichensatzes . . . . . : 13488
UCS2- oder Unicode-Konvertierung . . . . : *CONVERT

WIWKNR GRAPHIC 3 8 5 Beides WIWKNR
Feld mit variabler Länge
Läßt den Nullwert zu
ID des codierten Zeichensatzes . . . . . : 13488
UCS2- oder Unicode-Konvertierung . . . . : *CONVERT

WIWENR GRAPHIC 20 42 13 Beides WIWENR
Feld mit variabler Länge
Läßt den Nullwert zu
ID des codierten Zeichensatzes . . . . . : 13488
UCS2- oder Unicode-Konvertierung . . . . : *CONVERT

Die Datei kann ich problemlos sequentiell durchlesen und die Daten mit z.B. vglll = %char(wiwenr) auslesen und weiterverarbeiten.

Einige Stunden habe ich versucht, in der Datenbank direkt zu positionieren. Leider erfolgt die Positionierung immer am physisch ersten Satz.

Deshalb meine Fragen.

Wie müssen die Schlüsselfelder definiert werden?
Wie müssen die Schlüsselfelder gefüllt werden?

Aktuelle Version:

*entry plist
parm firma 1
parm werk 3
parm wenr 7

xxfirm s 1g varying
xxwknr s 3g varying
xxwenr s 20g varying

Kywaex klist
kfld xxfirm
kfld xxwknr
kfld xxwenr

eval xxfirm = firma
eval xxwknr = werk
eval xxwenr = wenr

kywaei setll cxwaex99

Vielen Dank für die Tipps.

Franco FDH

Fuerchau
26-10-11, 08:44
Unicode-Variablen müssen mit dem Typ "C" definiert werden.

xxfirm s 1C varying
xxwknr s 3C varying
xxwenr s 20C varying

Da du beim Typ "G" keine CCSID angegeben hast, werden die Daten dann binär betrachtet.

B.Hauser
26-10-11, 09:52
Nur so eine ganz dumme Idee!
Hast Du auch das K für geschlüsselten Zugriff in den F-Bestimmungen gesetzt?

... ich würde übringens die Schlüssel-Felder (sofern immer noch Schlüssel-Listen verwendet werden) mit LIKE definieren, dann wird automatisch der richtige Datentyp übernommen.

Birgitta

fdh
26-10-11, 12:00
Nur so eine ganz dumme Idee!
Hast Du auch das K für geschlüsselten Zugriff in den F-Bestimmungen gesetzt?

... ich würde übringens die Schlüssel-Felder (sofern immer noch Schlüssel-Listen verwendet werden) mit LIKE definieren, dann wird automatisch der richtige Datentyp übernommen.

Birgitta

Hallo Brigitta,

Art der Satzadressierung ist k.

Franco

fdh
26-10-11, 12:11
Unicode-Variablen müssen mit dem Typ "C" definiert werden.

xxfirm s 1C varying
xxwknr s 3C varying
xxwenr s 20C varying

Da du beim Typ "G" keine CCSID angegeben hast, werden die Daten dann binär betrachtet.

Hallo Fuerchau,

das war DER Tipp.
Habe das Programm im Debug beobachtet und es funzt.
Danke.

Franco FDH:D