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



Are you trying to do free form RPG? Embedded SQL (until V5R4) requires fixed
format. the rest of your code can be free format, but the SQL stuff needs a
/End-Free above it to seperate it from free form.

On 4/7/06, Valerio Vincenti <vvincenti@xxxxxxxxxxxxxxxxxx> wrote:
>
> I'm having trouble compiling a QRPGLESRC program that uses embedded SQL.
> Let me state first that I'm not very familiar with embedded sql, so you
> can expect to see something stupid here.
>
> My goal is to have a subfile loaded dynamically with data matching a
> wildcard entered by the user in a field in the SFLCTL format. I need the
> subfile to be populated with the results of the following sql
> statement:
> select fielda, fieldb from lib/file where upper(fielda) like '%X%'
> (where X is the wild card value from the field in the SFLCTL format.
>
> Following recommendations and examples from a medley of articles that I
> have gathered about embedding sql, I have defined a stand alone field
> which contains the static part of the sql statement. Then, using CAT, I
> complete the statement with the dynamic portion (quotes, percent signs
> and the wild card value) into another stand alone field that I named
> SQLSTMT. So, if the user enters 'AMB', the field SQLSTMT contains:
> select CUJGTX, CUJHTX from COREDTA10/RECUREP where upper(CUJGTX) like
> '%AMB%'
>
> Then I coded the prepare:
> C/EXEC SQL
> C+ PREPARE SEL FROM :SQLSTMT
> C/END-EXEC
>
> followed by the cursor declaration:
> C/EXEC SQL
> C+ DECLARE PREMCSR SCROLL CURSOR FOR SEL
> C/END-EXEC
>
> and the cursor opening:
> C/EXEC SQL
> C+ OPEN PREMCSR
> C/END-EXEC
>
> Finally, in the subfile load routine, I loop thru the result set to
> populate the subfile:
> C/EXEC SQL
> C+ FETCH NEXT FROM PREMCSR
> C+            INTO :W02LastNm, :W02FirstNm
> C/END-EXEC
>
> When I try to compile using the CRTSQLRPGI command, I get error
> *RNF5377 (The end of the expression is expected.). Below is an excerpt
> of the compile list where the error occurs (lines 234 thru 241 are not
> in my code but are added by the compiler):
>
>    228  * Get the next row from the SQL Cursor
>    229  *
>    230 C*EXEC SQL
>    231 C* FETCH NEXT FROM PREMCSR
>    232 C*            INTO :W02LastNm, :W02FirstNm
>    233 C*END-EXEC
> *RNF5377 20    226 013400  The end of the expression is expected.
>    234 C                   Z-ADD     -4            SQLER6
>    235 C                   CALL      SQLROUTE
>    236 C                   PARM                    SQLCA
>    237 C                   PARM                    SQL_00006
>    238 C     SQL_00009     IFEQ      '1'
>    239 C                   EVAL      W02LASTNM = SQL_00011
>    240 C                   EVAL      W02FIRSTNM = SQL_00012
>    241 C                   END
>
> As I said, I'm not a sql expert, but I can't see anything wrong with
> that expression.
> Any suggestion would be greatly appreciated.
>
> Thanks!
> Val
>
> Valerio Vincenti
> IT Business Analyst
> County of Spotsylvania, I.S. Department
> Spotsylvania, VA 22553
> Phone (540) 507-7507
> Fax (540) 582-9841
> e-mail: vvincenti@xxxxxxxxxxxxxxxxxx
>
> --
> This is the RPG programming on the AS400 / 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.
>
>

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.