Erstellen Sie direkt einen QM-Query mit dem Querymanager (STRQM).
In dem Select können Sie Parameterwerte ähnlich CL angeben, also z.B.:

SELECT F1, F2, F3, ...
FROM FILEX
WHERE F1 &VERG1 &WERT1
and F2 &VERG2 &WERT2
:
:

Mittels STRQMQRY können Sie dann die Variablen aus dem CL füllen:

DCL &VERG1 *CHAR 2
DCL &WERT1 *CHAR XX
DCL &VERG2 *CHAR 2
DCL &WERT2 *CHAR XY

CHGVAR &VERG1 '<' (oder aus Parametern)
CHGVAR &WERT1 nnn

STRQMQRY .... SETVAR((VERG1 &VERG1) (WERT1 &WERT2) (VERG2 &VERG2) (WERT2 &WERT2) ...)
OUTFILE(XXX) ...

Wichtig ist folgendes: Die Werte müssen als Characterfelder übergeben werden (max. 256 Zeichen).
Da SQL für Vergleiche von Zeichenfolgen diese in Hochkamma erwartet, müssen Sie ggf. die Hochkommas ergänzen:

DCL &QWERT *CHAR 10 /* QUELL-Wert */
DCL &SWERT *CHAR 12 /* SQL-Wert */

CVHGVAR &SWERT ('''' *CAT &QWERT *CAT '''')

Die Variable &SWERT kann dann an QMQRY übergeben werden.

Viel Spaß beim ausprobieren.

[Dieser Beitrag wurde von Fuerchau am 13. Oktober 2001 editiert.]