...bin jetzt leider im Haus unterwegs - ich werde das umgehend so umsetzen wie von Euch beschrieben und melde mich wieder.
Gruss
Tobias
Hallo allerseits,
QMQRYs werden bei uns viel benutzt - umso mehr finde ich die vielen Hochkomma lästig - so richtig lesen kann man das nicht und sich merken, wieviele man braucht, ist auch nicht so toll.
Bei Dezimalwerten ist es wieder anders.
Und die Variablen dürfen auch nur 55 Zeichen lang sein.
Wir haben daher das Thema in ein Unterprogramm verschoben, habe ich hier mal eingefügt, vielleicht könnt Ihr das ja gebrauchen.
------------- CL -------------
DCL VAR(&PROJ) TYPE(*CHAR) LEN(8)
DCL VAR(&DAT) TYPE(*DEC) LEN(8 0)
DCL VAR(&QMPROJ) TYPE(*CHAR) LEN(55)
DCL VAR(&QMDAT) TYPE(*CHAR) LEN(8)
DCL VAR(&IN) TYPE(*CHAR) LEN(2000)
DCL VAR(&OUT) TYPE(*CHAR) LEN(2000)
...
CHGVAR VAR(&IN) VALUE(&PROJ !< '%')
CALL PGM(TRMSTR1) PARM(&IN &OUT)
CHGVAR VAR(&QMPROJ) VALUE(&OUT)
CHGVAR VAR(&QMDAT) VALUE(&DAT)
STRQMQRY QMQRY(&QMQRY) OUTPUT(&OUTPUT) +
SETVAR((PROJ &QMPROJ) (DAT &QMDAT))
------------- QMQRY -------------
select ... from ... where
lpo33>&DAT and pjz06 like &PROJ
------------- TRMSTR1 -------------
*
D in S 1A DIM(2000)
D out S 1A DIM(2000)
*
************************************************** *****************
*
C *entry plist
C parm $in 2000
C parm $out 2000
*
*
C movea $in in
C ' ' checkr $in inLen 5 0
C movea *blanks out
C move '''' out(1)
*
C z-add 2 j 5 0
C $in cabeq *blank leerString
*
C 1 do inLen i 5 0
*
C move in(i) out(j)
C in(i) ifeq ''''
C add 1 j
C move in(i) out(j)
C endif
C add 1 j
*
C enddo
*
C leerString tag
C move '''' out(j)
C movea out $out
*
*
C seton LR
C return
*
Gruß, Christian