× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I'm slowly learning SQL on a need to know basis.  I needed to do a
conditional update so I tried the case statement.  My query looks like this:

update &file
set field1 = case when (field2 = '0')     
                     then 'Final Totals'  
                when (field2 = '1')     
                     then 'Store Totals'  
                else field1                 
                end                       

Works great interactively with the substitution variable, but dies in batch
with a message that says: " Message . . . . :   Global variable prompting is
not allowed in batch mode.  Cause . . . . . :   You tried to use the
variable                             
   "file                          " before it was set.  Prompting for
variables
   cannot be done in batch mode. "  It goes on to advise using the setvar
parm, which I did in the CL.  The strqmqry statement was:

  DCL        VAR(&UPDFILE) TYPE(*CHAR) LEN(20) +  
               VALUE('LIBRARY/FILENAME')         
  STRQMQRY   QMQRY(QRYNAME) SETVAR((FILE +        
               &UPDFILE))
              

If I run a query with substitution variables defined as above in batch
something like :

update &file set &set where &where

it works fine.  

My workaround was to hard code the file name in the query.  Am I doing
something wrong?         

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.