|
Mike,
I always find this difficult and keep a couple of examples to refer
to. It shouldn't make a difference but, I always declare a variable called
&QRYSLT. I change the value of &QRYSLT to my select clause and then OPNQRYF
FILE(FILENAME) QRYSLT(&QRYSLT).
I compared your example to my example and this is what I come up with:
DCL VAR(&FRDATE) TYPE(*CHAR) LEN(7) VALUE('0991201')
DCL VAR(&QRYSLT) TYPE(*CHAR) LEN(50) /* CHANGE LENTH TO FIT SELECT
CLAUSE */
CHGVAR VAR(&QRYSLT) VALUE('(ABDATE *GE' *BCAT &FDATE *CAT')')
OVRDBF FILE(ABCLF) SHARE(*YES)
OPNQRYF FILE((ABCLF) QRYSLT(&QRYSLT)KEYFLD((ABCUST))
Of course, you do not have to declare a variable called &QRYSLT and you can
use *CAT instead of *BCAT. The tricky part is the single and double quotes.
I believe that I have them right. If this does not work, prompt on the line
of code, enter (ABDATE *GE' *BCAT &FDATE *CAT') and delete the extra quotes
that are inserted by not correct.
Good luck
Bill
P.S. Find a working example and put it somewhere for three months from now
when you need it again. OPNQRY can be a real fustrating thing.
-----Original Message-----
From: Mike.Barton@ecsoft.co.uk [mailto:Mike.Barton@ecsoft.co.uk]
Sent: Tuesday, January 18, 2000 8:19 AM
To: RPG400-L@midrange.com
Subject: Re: Need Help on using Variable Numeric fields in OPNQRYF
Hi
There are several solutions but here is the easiest (no guarantees):
use character version of &FRDATE and convert ABDATE into a character
form using %DIGITS function. Also include extra double quotes otherwise an
error
may occur.
e.g.
DCL VAR(&FRDATE) TYPE(*CHAR) LEN(7) VALUE('0991201')
OVRDBF FILE(ABCLF) SHARE(*YES)
OPNQRYF FILE((ABCLF)) +
QRYSLT('%DIGITS(ABDATE) *GE "' *CAT &FRDATE *CAT '" ') +
KEYFLD((ABCUST))
Mike
S R <s.v.r@usa.net> on 18/01/2000 11:08:53
Please respond to RPG400-L@midrange.com
To: RPG400-L@midrange.com
cc: (bcc: Mike Barton/Wellingborough/UK/ECSOFT)
Subject: Need Help on using Variable Numeric fields in OPNQRYF
START: PGM
DCL VAR(&FRDATE) TYPE(*DEC) LEN(7 0) VALUE(0991201)
OVRDBF FILE(ABCLF) SHARE(*YES)
OPNQRYF FILE((ABCLF)) +
QRYSLT('ABDATE *GE ' *CAT &FRDATE *CAT ' ') +
KEYFLD((ABCUST))
CPD0712 30 Operand does not have valid type for operator.
CPD0711 30 Operands in expression not same type.
I am trying to use the above CL to select the records from the file using
the
Numeric varible(FRDATE) but when compiling I getting the above errors in the
OPNQRYF statement. Can anyone please help me to fix this problem.
Regards,
S.Ramesh
____________________________________________________________________
Get free email and a permanent address at http://www.netaddress.com/?N=1
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.