• Subject: Re: RE: Opdesc not working for arrays.
  • From: David Morris <dmorris@xxxxxxxxxxxxx>
  • Date: Tue, 23 Jun 1998 12:05:27 -0600

Paul,

Thanks,  I missed the part about arrays and tables.  I should have read that 
more carefully.  You are right that it is not supposed to work for data 
structures.  I had forgotten the reason why we code the following.  It is now 
second nature.

     DpEdtFldRcd       S               *   INZ(%ADDR(EdtFldRcdDS))
     DEdtFldRcd        S                   LIKE(EdtFldRcdDS) BASED(pEdtFldRcd)
     DEdtFldRcdDS    E DS                  EXTNAME(SOEdtFld) INZ PREFIX(EdtFld_)
 
I have heard the developers in Rochester hold the key to removing all of those 
ridiculous restrictions on operational descriptors.  I can't see why it would 
be so difficult to support numeric fields, data structure, and arrays when I 
can code a work around so easily (except for CONST fields).  I really don't 
understand why I don't get a compile warning when I try to use *VARSIZE with 
OPDESC for an array, etc. 

Thanks,

David Morris 

>>> Paul Tuohy <tuohyp@ibm.net> 06/23 10:38 AM >>>
David, the following snip is from the ILE RPG/400 Programmer's Guide for 
V3R7. Section 2.6.3.2 Using Operational Descriptors. I don't know if it has 
changed for V4, but according to this, it shouldn't work for data 
structures either!

Paul Tuohy


-----Original Message-----
From: David Morris [SMTP:dmorris@plumcreek.com] 
Sent: 18 June 1998 21:55
To: RPG400-L@midrange.com 
Subject: Opdesc not working for arrays.

RPGIV Fans and Experts,

Is the following a bug, feature or?  I have found that when a parameter is 
declared as *VARSIZE and is an array opdesc will not work.  Passing a 
datastructure over the array works.

     DPrc              PR            1A   OPDESC
..
     DFldLst           DS
     D Fld                           10A   DIM(4)
..
     DPrc              PI            1A   OPDESC
     D Fld                           10A   DIM(3275) 
                           Field names.
     D                                     CONST OPTIONS(*VARSIZE)
..
The following works:

     C                   EVAL      ErrFlg      = Prc(FldLst)
..
The following does not work:

     C                   EVAL      ErrFlg      = Prc(Fld)

Thanks,

David Morris
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
       
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is the RPG/400 Discussion Mailing List!  To submit a new         *
* message, send your mail to "RPG400-L@midrange.com".  To unsubscribe   *
* from this list send email to MAJORDOMO@midrange.com and specify       *
* 'unsubscribe RPG400-L' in the body of your message.  Questions should *
* be directed to the list owner / operator: david@midrange.com          *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 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].