In your statement it would treat entire function call as constant.  
 
   D  fRawReading       c          'XMLRtnAttr(''RawReading''))
   C    eval        wRawReading = fRawReading
 
So wRawReading will contain XMLRtnAttr('RawReading') as String Data.  It
will not call that function.  You should define parameter value
'RawReading' as constant and define a prototype if you feel XMLRtnAttr
function name is so long for you... But to me it looks readable and
reasonable.
 
I would suggest you to just make that parameter as Constant and call
like this
 
D RawReadingParm    C      '''RawReading'''
 
C                Eval   wRawReading = XMLRtnAttr(RawReadingParm)
 
- Arul
 
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[
mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Booth Martin
Sent: Wednesday, May 09, 2007 7:07 PM
To: RPG programming on the AS400 / iSeries
Subject: Using a D-spec to define an action in the eval
 
I've worded the subject badly.
 
In my C-specs I am using a lot of statements like this:
   C    eval      wRawReading = XMLRtnAttr('RawReading'))
 
I would very much to remove the complications and gather all of these 
definitions in the D-spec, like this:
   D  fRawReading       c          'XMLRtnAttr(''RawReading''))
   C    eval        wRawReading = fRawReading
 
As you know, this won't actually work, even though it compiles just
dandy.
 
The issue I am trying to resolve is having these XMLRtnAttr() words 
scattered all through dozens of lines of code, hard to find, hard to 
proof read, and hard to use.
 
Any suggestions & hints would be appreciated.
 
 
As an Amazon Associate we earn from qualifying purchases.