View Full Version : Frage wegen DDS, CONCAT Funktion
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
Definiere die 3 Felder per SST und mach dann den CONCAT. Du hast dann halt 4 Felder.
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
DDS kann das wohl nicht.
Es ist besser, du machst es als SQL-View.
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.
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
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.
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