Techniker
09-10-08, 14:48
Hallo die Damen!
ich habe mir ein mini CL gebastellt, welches per STRQMQRY eine Query definition ausführt. Das tolle daran ist, dass ich ein Variable mit in die Queryabfrage schicken kann. Klappt auch super.
Das CL sieht so aus:
PGM
DCL VAR(&EINGABE) TYPE(*CHAR) LEN(12) +
VALUE('ABCDEFGH')
DCL VAR(&FELD) TYPE(*CHAR) LEN(13)
CHGVAR VAR(&FELD) VALUE('''' *CAT &EINGABE +
*CAT '''')
STRQMQRY QMQRY(Bibliothek/QUERY) QMFORM(*QMQRY) +
ALWQRYDFN(*YES) SETVAR((CTRCV &FELD))
endpgm
In meinem Query habe ich unter "Sätze auswählen " folgendes eingetragen:
AND/OR Feld Test Wert
CTRCV EQ :CTRCV
OR CTAWC EQ :CTRCV
OR CTIBC EQ :CTRCV
klappt super.
Jetzt wollte ich das ganze etwas erweitern um auch nach Fragmenten in meinem PF zu suchen. Habe da an folgendes gedacht:
AND/OR Feld Test Wert
CTRCV LIKE :CTRCV
OR CTAWC LIKE :CTRCV
OR CTIBC LIKE :CTRCV
leider motzt die AS dann und sagt ich soll :CTRCV in Hochkommatas setzen. Aber das macht ja gar keinen sinn.
Manuell fünktioniert LIKE ja super, aber eben nicht mit einer Variablen.
Manuel und dann F5 sieht z.b. so aus:
AND/OR Feld Test Wert
CTRCV LIKE '______GH'
OR CTAWC LIKE '______GH'
OR CTIBC LIKE '______GH'
Gibt es einen TRick? Kann ich nur bei *EQ mit Variablen arbeiten?
MFG
Der Techniker
ich habe mir ein mini CL gebastellt, welches per STRQMQRY eine Query definition ausführt. Das tolle daran ist, dass ich ein Variable mit in die Queryabfrage schicken kann. Klappt auch super.
Das CL sieht so aus:
PGM
DCL VAR(&EINGABE) TYPE(*CHAR) LEN(12) +
VALUE('ABCDEFGH')
DCL VAR(&FELD) TYPE(*CHAR) LEN(13)
CHGVAR VAR(&FELD) VALUE('''' *CAT &EINGABE +
*CAT '''')
STRQMQRY QMQRY(Bibliothek/QUERY) QMFORM(*QMQRY) +
ALWQRYDFN(*YES) SETVAR((CTRCV &FELD))
endpgm
In meinem Query habe ich unter "Sätze auswählen " folgendes eingetragen:
AND/OR Feld Test Wert
CTRCV EQ :CTRCV
OR CTAWC EQ :CTRCV
OR CTIBC EQ :CTRCV
klappt super.
Jetzt wollte ich das ganze etwas erweitern um auch nach Fragmenten in meinem PF zu suchen. Habe da an folgendes gedacht:
AND/OR Feld Test Wert
CTRCV LIKE :CTRCV
OR CTAWC LIKE :CTRCV
OR CTIBC LIKE :CTRCV
leider motzt die AS dann und sagt ich soll :CTRCV in Hochkommatas setzen. Aber das macht ja gar keinen sinn.
Manuell fünktioniert LIKE ja super, aber eben nicht mit einer Variablen.
Manuel und dann F5 sieht z.b. so aus:
AND/OR Feld Test Wert
CTRCV LIKE '______GH'
OR CTAWC LIKE '______GH'
OR CTIBC LIKE '______GH'
Gibt es einen TRick? Kann ich nur bei *EQ mit Variablen arbeiten?
MFG
Der Techniker