As a matter of habit I always use the &QRYSLT method, and also write the next line after every modification as a "SNDPGMMSG &QRYSLT" . Even when its finally right I usually comment the SNDPGMMSG lines instead of deleting them Nothing against the debugger, but this is just a habit since I never get OPNQRYF right the first few times anyway. -------------------------------------------- Booth Martin MartinB@Goddard.edu 802-454-8315 x235 -------------------------------------------- -------Original Message------- From: firstname.lastname@example.org Date: Monday, December 03, 2001 11:11:23 AM To: email@example.com Subject: RE: OPNQRYF problem A guess (and definitely just a guess) is that *NL stands for "newline" and that this error means the SQL parser hit the end of the line unexpectedly. > QRYSLT('LSTCHG *GE "' *CAT > &BEGUPD + *CAT '" *AND LSTCHG *LE "' > *CAT + &ENDUPD *CAT '" *AND RECTYP > I'm not sure how this is SUPPOSED to look, but the "+" should always and only be at the end of the line when attempting to concatenate a string together. Your line should probably be something like: QRYSLT('LSTCHG *GE "' *CAT &BEGUPD + *CAT '" *AND LSTCHG *LE "' *CAT + &ENDUPD *CAT '" *AND RECTYP One other notes: You might want to create a variable called &QRYSLT. That way, you can concatenate to your heart's content, and then breakpoint the program prior to the OPNQRYF and review the contents of the &QRYSLT variable. If it's okay, then you can execute the OPNQRYF. This technique has saved me hours and hours of debugging time. Joe > -----Original Message----- > From: firstname.lastname@example.org > [mailto:email@example.com]On Behalf Of Richard Reeve > Sent: Monday, December 03, 2001 9:49 AM > To: firstname.lastname@example.org > Subject: OPNQRYF problem > > > All, > > I am attempting an open query in a CL. It > compiles fine, but when I run the CL I get the > following message/joblog; > > Operand for *NL function not valid. > > Error occurred during processing of command. > > Function check. CPF9899 unmonitored by MEHLD04J at > statement 800, > instruction X'002C'. > > CPF9899 received by MEHLD04J at 800. (C D I R) > > CPF9899 received by MEHLD04J at 800. (C D I R) > > > the CL is as follows; > BEGIN: PGM > > DCL VAR(&BEGUPD ) TYPE(*CHAR) LEN(07) > > DCL VAR(&ENDUPD ) TYPE(*CHAR) LEN(07) > > DCLF FILE(EXHMAS) > > RTVDTAARA DTAARA(BACKBRIDGE (51 7)) RTNVAR(&BEGUPD) > > RTVDTAARA DTAARA(BACKBRIDGE (58 7)) RTNVAR(&ENDUPD) > > OVRDBF FILE(EXHMAS) TOFILE(EXHMAS) SHARE(*YES) > > OPNQRYF FILE((EXHMAS)) FORMAT(EXHMAS REXHMAS) + > > QRYSLT('LSTCHG *GE "' *CAT > &BEGUPD + *CAT '" *AND LSTCHG *LE "' > *CAT + &ENDUPD *CAT '" *AND RECTYP > > > > CALL PGM(MEHLD04I) > END: ENDPGM _______________________________________________
As an Amazon Associate we earn from qualifying purchases.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.