PDA

View Full Version : Datumsvergleich im OPNQRYF



Jenne
07-06-04, 09:06
Hallo Kollegen,
ich habe ein Problem mit dem OPNQRYF (bin Laie).
Mein Problem ist folgendermassen :
In einer Datei (PF) habe ich ein Datumsfelder (DATE - 10stellig)
dieses möchte ich im CL mit dem Jobdatum vergleichen (OPNQRYF),
damit ich nur die Daten mit den Datum bekomme. Das Jobdatum habe ich ermittelt und steht in einer Variablen (Char).

Vielleicht kann mir einer helfen, der das Problem schon einmal gelöst hat.

Danke im voraus

Fuerchau
07-06-04, 10:36
OPNQRYF ... QRYSLT('... and pfDate = ' *cat &mydate *cat '....')

Jenne
07-06-04, 10:47
Klappt leider nicht.

Habe folgendes eingegeben :
DCL VAR(&DATUM) TYPE(*CHAR) LEN(10)
DCL VAR(&DATUM2) TYPE(*CHAR) LEN(6)
RTVJOBA DATE(&DATUM2)
CVTDAT DATE(&DATUM2) TOVAR(&DATUM) TOFMT(*ISO)

'Rechn_dat = '' *cat &DATUM *cat '''
erhalte folgende Fehlermeldung
CPD3169 30 DIAG Operand *cat &DATUM in
Parameter QRYSLT nicht
gültig.

Fuerchau
07-06-04, 11:08
Betrachte die Anzahl Hochkommta !
*CAT ist eine CL-Funktion und soll den Inhalt aneinanderketten:

z.B.:
dcl &qryslt *char 512
chgvar &qryslt value('Rechn_dat = ' *cat &DATUM)

Das Datum selber darf nicht in Hochkomma, da es ja keine Zeichenkette ist.

Jenne
07-06-04, 11:29
habe alles genau eingegeben :

CHGVAR VAR(&QRYSLT) VALUE('Rechn_dat = ' *cat +
&DATUM)

bekomme neue Fehlermeldung :
CPD3131 30 DIAG Operand für Funktion *E
Q nicht gültig.

Ich krieg die Krise !

RobertMack
07-06-04, 11:53
probier mal

CHGVAR VAR(&QRYSLT) VALUE('Rechn_dat = "' *tcat +
&DATUM *tcat '"')

Gruß, Robert

Jenne
07-06-04, 12:19
Danke Robert,

jetzt hat es geklappt !