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





Charakter variables in SQL are restricted to 32k. For karger Textes LOB variables are needed.Birgitta 


Von meinem Samsung Gerät gesendet.

-------- Ursprüngliche Nachricht --------
Von: Vernon Hamberg <vhamberg@xxxxxxxxxxxxxxx>
Datum: 12.05.2016 22:34 (GMT+01:00)
An: "RPG programming on the IBM i (AS/400 and iSeries)" <rpg400-l@xxxxxxxxxxxx>
Betreff: Re: SQL Statement length

Chuck - it's help to see your code, if you can sanitize it for privacy -
is the statement variable declard as CHAR or as VARCHAR? You DO have to
break the statement up in order to fit in the 8-80 limits of RPG. Have
you run it in debug to see what your statement REALLY looks like?

Cheers
Vern

On 5/12/2016 3:24 PM, Tyler, Matt wrote:
There is no trick for the length if you set up your program correctly.  The system allows for a 32740 length statement.  I admit to coding a 10K size statement but nothing that comes close to the max.   It would be nice to know more about the "variable truncated" error, I could not find a standard message with that phrase.

DCL-S Stmtsql Varchar( 32740 );
DCL-S Wherestmt Varchar( 8000 );
DCL-S Filter Char(1) INZ('A');

Stmtsql = 'select * from MYTABLE';
If Filter > ' ';
    If %LEN( Wherestmt) > 0;
      Wherestmt += ' And ';
    Endif;
    Wherestmt += 'FILTER = ''?'';
Endif;

Stmtsql += ' ' +Wherestmt;

Exec sql prepare PREP_SQL from :Stmtsql;
If Sqlstate <> '00000';
    // Do some error routine
Endif;

exec sql declare MYCURSOR for PREP_SQL;

exec sql open MYCURSOR using :Filter;
If Sqlstate <> '00000';
    // Do some error routine
Endif;

etc...

Thanks, Matt


-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Graves, Chuck
Sent: Thursday, May 12, 2016 2:03 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: SQL Statement length

Is there a "trick" to programming a long complex (6000 character) SQL statement in RPG?

We keep getting a "variable truncated" error message.



[Rodda Paint Company]
Chuck Graves
Director of Information Systems
Rodda Paint Co.<http://www.roddapaint.com>
6107 N. Marine Drive
Portland, Oregon 97203
(503) 737-6042

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.


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.