|
Do this: DCL &QRYSLT *CHAR 1000 CHGVAR &QRYSLT ' + GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3120 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3140 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3150 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3170 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3190 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3300 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3120 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3140 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3150 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3170 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3190 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3300 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '"') Put it in debug and look at variable &QRYSLT. That should help you find the error. The do the OPNQRYF like this: OPNQRYF FILE((DOR400/GLTRAN)) QRYSLT(&QRYSLT) KEYFLD((GTREF)) On 8/22/06, Bob O. <otis_the_cat@xxxxxxxxxxx> wrote:
Ok Ken, I I added the quotes like you said. When I run the program I am still getting the CPF9899 error message saying that I'm missing an operand. I can't see where I'm missing anything. PGM QSYS/DCL VAR(&DIV) TYPE(*CHAR) LEN(1) QSYS/DCL VAR(&BOOK) TYPE(*CHAR) LEN(6) /* */ QSYS/CALL PGM(DOR400/GL270A) QSYS/RTVDTAARA DTAARA(*LDA (9 6)) RTNVAR(&BOOK) QSYS/RTVDTAARA DTAARA(*LDA (15 1)) RTNVAR(&DIV) /* */ QSYS/OVRDBF FILE(GLTRAN) SHARE(*YES) QSYS/' + GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3120 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3140 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3150 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3170 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3190 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3300 + *AND GTSOUR *EQ "BI" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3120 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3140 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3150 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3170 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3190 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '" + *OR GTBDTE *EQ ' *CAT &BOOK *CAT ' + *AND GTACCT *EQ 3300 + *AND GTSOUR *EQ "AR" + *AND GTDIV *EQ "' *CAT &DIV *TCAT '"') ---------------------------------------------------------------------- From: "rick baird" <rick.baird@xxxxxxxxx> Reply-To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx> To: "Midrange Systems Technical Discussion" <midrange-l@xxxxxxxxxxxx > Subject: Re: PROBLEM WITH OPNQRYF Date: Fri, 18 Aug 2006 16:47:08 -0400 >Ken, exactly. > >and just to clarify, the CL variable (&DIV) must be an alpha variable >to concatenate, regardless if the file variable is alpha or numeric. > >On 8/18/06, Ken Sims <mdrg5003@xxxxxxxxxxx> wrote: > > Hi Bob - > > > > > First off, I thought *CAT is used only for numeric variable. &DIV is a > > > one character field as is the GTDIV field in the file. > > > > > > Second, If I take out the lines with: > > > > > > *AND GTDIV *EQ &DIV > > > > You have to use *CAT (or *BCAT or *TCAT) for any kind of variable so that > > the contents of the variable are substituted into the select. > > > > Numeric: > > > > ... *AND FIELD *EQ ' *CAT &NUMBER *CAT ' ... > > > > Character: > > > > ... *AND FIELD *EQ "' *CAT &ALPHA *CAT '" ... > > > > Note the double quotes on either side of the concatenated value for > > character fields. You could also use a pair of single quotes but the > > double quotes are much nicer to work with. > > > > Ken > > http://www.kensims.net/ > > Opinions expressed are my own and do not necessarily represent the views > > of my employer or anyone in their right mind. > > > > -- > > This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list > > To post a message email: MIDRANGE-L@xxxxxxxxxxxx > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/mailman/listinfo/midrange-l > > or email: MIDRANGE-L-request@xxxxxxxxxxxx > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/midrange-l. > > > > >-- >This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list >To post a message email: MIDRANGE-L@xxxxxxxxxxxx >To subscribe, unsubscribe, or change list options, >visit: http://lists.midrange.com/mailman/listinfo/midrange-l >or email: MIDRANGE-L-request@xxxxxxxxxxxx >Before posting, please take a moment to review the archives >at http://archive.midrange.com/midrange-l. > -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/midrange-l or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.