× 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.



Hi Mike,
If this has been answered already, then sorry.

Obviously you must have some real objective here, but this is
not evident in your code.  Your code says;
Read every record in file CUST and on each read execute an
SQL statement that updates every record in TESTING/CUST that
has CUSTTA set to 'TN' and make CUSTTA 'TX'.

The SQL will change every TN to TX on the first read, then it
is repeated on every subsequent read for no real purpose as there
will be no CUSTTA = 'TN'. 
Basically your code is exactly equivalent to
      C/EXEC SQL
      C+ UPDATE TESTING/CUST SET CUSSTA = 'TX'
      C+ WHERE CUSSTA = 'TN'
      C/END-EXEC
      C                   EVAL      *INLR = '1' 
but did you really mean to do that.
When you say the file is not updated what are you expecting to see.
Are you checking the file CUST in library TESTING or some other file.

Also your message will say the update is successful no matter what
succeeds or fails. You need to check something such as an SQL
return code then send a message based on the return code.
I also guess that you are a student as there is so much implied
by this code example that you need to learn.
HTH
Frank Kolmann
>
> "Mike Troxclaire" <mike_troxclaire@xxxxxxxxxxx>
> Sent by: rpg400-l-bounces@xxxxxxxxxxxx
> 03/30/2006 01:58 PM
> I am trying to execute this simple update statement. The program 
compiles
> and it runs and gives the dsply message but the file is not updated. Am 
I
> doing something wrong here? I would really appreciate it if somebody can
> point me in the right direction.
>
> =============================================================
>      FCUST      UF   E             DISK    RENAME(CUSTR:CSREC)
>
>       /FREE
>        DoW not  %eof(CUST);
>          Read CUST;
>          If not %eof(CUST);
>            Exsr UpdateCSREC;
>          EndIf;
>        EndDo;
>        dsply 'UPDATE SUCCESSFUL';
>       /END-FREE
>
>       /FREE
>        BegSR UpdateCSREC;
>       /END-FREE
>      C/EXEC SQL
>      C+ UPDATE TESTING/CUST SET CUSSTA = 'TX'
>      C+ WHERE CUSSTA = 'TN'
>      C/END-EXEC
>       /FREE
>        *inlr = *on;
>        EndSR;
>       /END-FREE
> =============================================================
> Cheers,
>
> Mike

As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.