FWIW, in some cases I have to specify RPGPPOPT(*LVL2) so the SQL precompiler can see the required definitions.
-----Original Message-----
From: David Gibbs [mailto:david@xxxxxxxxxxxx]
Sent: Monday, July 18, 2016 11:54 AM
To: RPG programming on the IBM i (AS/400 and iSeries) <rpg400-l@xxxxxxxxxxxx>
Subject: Re: Embedded SQL with fully free form code?
On 7/18/2016 11:45 AM, dlclark@xxxxxxxxxxxxxxxx wrote:
The SQL precompiler is not as smart as the RPG compiler. The SQL
precompiler will reject definitions are are marked as constants and
won't find definitions that are in copy books if you use the COPY
directive. Use the INCLUDE directive, instead. It also can't handle
definitions that use more than one qualifier.
The copy book with the definitions are /include(d).
I tried making these changes ...
dcl-s wTypeName like(im_AttributeTypeName);
wTypeName = pTypeName;
exec sql
select ATID
into :typeId
from IMUATP
where UCASE(ATNAME) = UCASE(:wTypeName);
... but got the same error, except it complained about WTYPENAME;
If I define wTypeName as char (15), it compiles fine.
david
--
David Gibbs
midrange.com
* IBM Power Systems Champion
IBM i on Power Systems: For when you can't afford to be out of business!
I'm riding 50 miles in the Hawaii Tour de Cure to raise money for diabetes research, education, awareness, and advocacy.
Make an investment in a diabetes free future by donation. Visit
http://main.diabetes.org/goto/aloha16 to make a tax deductible donation.
I may have diabetes, but diabetes doesn't have me!