Anmelden

View Full Version : Frage wegen DDS, CONCAT Funktion



Seiten : [1] 2 3

a.wojcik
14-01-15, 10:32
Hallo *All !

Kann mir Jemand sagen, ob so was bei einer DDS Deklaration für LF funktioniert ?

A DATUM I CONCAT((SST(TEXT 25 4)) SST(TEXT 22 2) SST(TEXT 19 2))

Wenn ja, dann wie ?
So was geht nämlich:
CONCAT(FELD1 FELD2 FELD3)

Aber geht das auch mit “SST” ?

Gruß

A.Wojcik

Fuerchau
14-01-15, 11:18
Definiere die 3 Felder per SST und mach dann den CONCAT. Du hast dann halt 4 Felder.

a.wojcik
14-01-15, 11:22
Tja, schon probiert :
A JJJJ 4 I SST(TEXT 25)
A MM 2 I SST(TEXT 22)
A TT 2 I SST(TEXT 19)
A DATUM I CONCAT(JJJJ MM TT)
mit dem Ergebnis :
CPD7926-* . .
CPD7926-* .
CPD7926-*
* CPD7926 30 3 Nachricht . . . : Feld nicht gefunden.

dschroeder
14-01-15, 11:38
Geht vielleicht so etwas wie CONCAT( SST(TEXT 25) SST(TEXT 22) SST(TEXT 19) ) ?
Dieter

Fuerchau
14-01-15, 12:02
DDS kann das wohl nicht.
Es ist besser, du machst es als SQL-View.

a.wojcik
14-01-15, 12:07
Das problem ist, dass die Anweisung CONCAT( SST(TEXT 25 ... gar nicht im Editor möglich ist :
Zeichen nach erstem Zeichen von Namen 'SST(TEXT' nicht gültig.
Mit '25' beginnender Wert für Schlüsselwort nicht gültig.
Schlüsselwort 'CONCAT' wegen Fehlers in Werteliste ignoriert.
Ich dachte aber, dass nur die Syntax falsch ist.

a.wojcik
14-01-15, 12:12
Hallo Fuerhau,
VIEW ist das kleinste, aber auch das größte Problem - ich wollte das zusammengekette Datum als Schlüssel (wegen Positionierung - Datei ist 23 GB gross) für ein RPG Programm haben...

dschroeder
14-01-15, 12:21
Ist zwar nicht so schön: Aber du kannst ja die 3 Einzelfelder in der LF deklarieren und dann im RPG beim Positionieren dein Datum zerlegen und mit einer Keylist zugreifen. (Aber ich denke, das war dir bereits klar)
Dieter

a.wojcik
14-01-15, 12:30
Jou, Dieter, das ist mir klar - der Mensch ist aber faul:cool: , Ich wollte mir das Leben einfach leichter machen...
Danke für Eure Bemühungen.

B.Hauser
14-01-15, 18:53
Sofern Du auf Release 6.1 oder höher bist, kannst Du einen SQL-Index mit einem zusätzlichen verketteten Schlüssel-Feld definieren und diesen Index im Anschluss (wie jede geschlüsselte logische Datei) mit native I/O verarbeiten.


CREATE INDEX YourSchema.YourIndex
ON YourFile.YourTable
( DIGITS ( YOURYEAR ) CONCAT DIGITS ( YOURMONTH ) CONCAT DIGITS ( YOURDAY ) AS DATECHAR ASC )
RCDFMT TESTDATEF ADD ALL COLUMNS ;

Birgitta