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



what release are you on? if pre v5r4 did you load the required ptfs for
free-format SQL, if those are done, perhaps someone changed the command
default on the CRTSQLRPGI command for target release?


Thanks,
Tommy Holden



From: rob@xxxxxxxxx
To: RPG programming on the IBM i/System i <rpg400-l@xxxxxxxxxxxx>
Date: 02/10/2010 11:04 AM
Subject: SQL: RNF5347E An assignment operator is expected with the
EVAL operation.
Sent by: rpg400-l-bounces@xxxxxxxxxxxx



exec sql update rob/a1sqlf set mykey=mykey*1
where current of C1;
Gets
RNF5347E An assignment operator is expected with the EVAL operation.

No tgtrls specified. Using CRTSQLRPGI.


Complete program follows:

H ActGrp(*CALLER)
H DftActGrp(*NO)

D OpenCursor PR n
D FetchCursor PR n
D CloseCursor PR n

D mykey s 5i 0
D Mychar s 5a

/free
*inlr=*on;
if not OpenCursor();
// perform error routine to alert the troops
// ...
Else;
Dow FetchCursor();
// putting the fetchcursor on the do loop allows the user of
// iter, and thus iter will not perform an infinite loop
// normal processing here...
exec sql update rob/a1sqlf set mykey=mykey*1
where current of C1;
EndDo;
CloseCursor();
EndIf;
return;
/end-free

P OpenCursor B
D OpenCursor PI like(ReturnVar)
D ReturnVar s n

/free
EXEC SQL
Set Option
Naming = *Sys,
Commit = *None,
UsrPrf = *User,
DynUsrPrf = *User,
Datfmt = *iso,
CloSqlCsr = *EndMod,
COMPILEOPT='DBGVIEW(*LIST)';

EXEC SQL
Declare C1 cursor for
Select mykey,
mydata
from rob/a1sqlf;

EXEC SQL
Open C1;

Select;
When SqlStt='00000';
return *on;
Other;
return *off;
EndSl;
/end-free
P OpenCursor E

/eject
P FetchCursor B
D FetchCursor PI like(ReturnVar)
D ReturnVar s n
/free
EXEC SQL
Fetch C1 into :mykey, :myChar;
Select;
When sqlstt='00000';
// row was received, normal
ReturnVar=*on;
When sqlstt='02000';
// same as %eof, sooner or later this is normal
ReturnVar=*off;
Other;
// alert the troops!
ReturnVar=*off;
EndSl;
return ReturnVar;
/end-free
P FetchCursor E

/eject
P CloseCursor B
D CloseCursor PI like(ReturnVar)
D ReturnVar s n
/free
EXEC SQL
Close C1;
Select;
When sqlstt='00000';
// cursor was closed, normal
ReturnVar=*on;
Other;
// alert the troops!
ReturnVar=*off;
EndSl;
return ReturnVar;
/end-free
P CloseCursor E

Rob Berendt

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.