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


  • Subject: RE: /INCLUDE directive
  • From: "Phil" <sublime78ska@xxxxxxxxx>
  • Date: Wed, 23 May 2001 13:22:43 -0400
  • Importance: Normal

Thanks Barbara.  I misunderstood the purpose of /INCLUDE.

I tried the /IF DEFINED and it works great in Code/400 with verify.  But
when I compile, not only is the SQLCA in the copy member not copied but the
sqlca that I expected the compiler to create was excluded as well.  There
were 86 lines excluded but my copy member only has 30.  This is true both in
Code/400 and when I prompted CRTSQLRPGI at the command line.

3 D/if defined(need_sqlca)
        LINES EXCLUDED: 86
 4 D/endif
 5 C*EXEC SQL

Phil

-----Original Message-----
From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On
Behalf Of bmorris@ca.ibm.com
Sent: Wednesday, May 23, 2001 12:34 PM
To: RPG400-L@midrange.com
Subject: RE: /INCLUDE directive


>Date: Wed, 23 May 2001 11:43:57 -0400
>From: "Phil" <sublime78ska@yahoo.com>
>
>My purpose for using /INCLUDE is so I can do verifies in Code/400.
Without
>having the SQLCA defined, the VERIFY in Code/400 returns errors for
>SQLRPGLE.  But, when I compile, if the SQLCA is defined I get the above
>error.

Phil, /INCLUDE will never solve that problem, since the compiler will
always
open up /INCLUDE files.  SQLRPGLE programs are compiled in two steps: first
the SQL preprocessor reads the source file, and creates a new RPGLE source
file.  The preprocessor understands the /COPY directive, so rather than
just
copy the /COPY over to the new RPGLE file, it reads the /COPY file and
copies
its contents into the new RPGLE file, also using the contents for its own
purposes (and sometimes finding things it doesn't like, like nested
/COPYs).
/INCLUDE was added to the RPG compiler (but not the SQL preprocessor) to
give
programmers a way to code a copyfile without having SQL "see" it.  /INCLUDE
was never intended to be a way to have the RPGLE compiler ignore a copy
file.

Try using a compiler-condition.  Specify NEED_SQLCA in the Verify->Compile
dialog for your Code/400 verify, but don't define it for your regular
compiles.

 /IF DEFINED(NEED_SQLCA)
 /COPY sqlca_ds
 /ENDIF

Barbara Morris

+---
| 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
+---


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.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 thread ...

Replies:

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.