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


  • Subject: Re: Data Structure redefinition
  • From: "Peter Dow" <pcdow@xxxxxxxxxxxxxxx>
  • Date: Wed, 1 Nov 2000 16:30:38 -0800

Hi Mark,

If I understand what you're trying to do, why not have the 2nd data
structure point to the 1st?

Example:

----------------
D DS1    DS
D  A               LIKE( AA )
D  B               LIKE( BB )
D  C               LIKE( CC )
D            12    inz(*blanks)

D DS2    DS        based(ptrDS1)
D  D               LIKE( AA )
D             6    INZ( 'Space1' )
D  E               LIKE( BB )
D             6    INZ( 'Space2' )
D  F               LIKE( CC )

D ptrDS1 S     *   inz(%addr(DS1))
----------------

No EVAL's required. Note that the lengths of the data structures should
match or you'll undoubtedly get "unexpected results".

HTH,
Peter Dow
Dow Software Services, Inc.
909 425-0194 voice
909 425-0196 fax



----- Original Message -----
From: "M. Lazarus" <mlazarus@ttec.com>
To: <RPG400-L@midrange.com>
Sent: Wednesday, November 01, 2000 3:00 PM


>    Is it possible to have a basing pointer on a DS subfield?  If not, why?
>
>    What I would effectively like to do is "redefine" DS fields in another
> DS.  When dealing with outputting multiple "formats" of the same data, it
> would be much easier to have multiple DS's with different layouts, but
have
> the subfields point to the same data.
>
>   This would eliminate multiple EVALs and would probably be a lot more
> efficient, if it can be done.
>
>
> Example:
>
> D    DS
> D A            LIKE( AA )
> D B            LIKE( BB )
> D C            LIKE( CC )
>
> D    DS
> D D            LIKE( AA ) BASED( D@ )
> D         6    INZ( 'Space1' )
> D E            LIKE( BB ) BASED( E@ )
> D         6    INZ( 'Space2' )
> D F            LIKE( CC ) BASED( F@ )
>
> C         EVAL D@ = %Addr( A )
> C         EVAL E@ = %Addr( B )
> C         EVAL F@ = %Addr( C )
>
>    Is this permissible or is there another way to do this w/o doing EVALs
on
> each field?  By setting a pointer I can do it once in the *InzSR and not
have
> it in-line or possibly in multiple places.
>
>    Thanks.
>
>    -mark
>
> +---
> | This is the RPG/400 Mailing List!
> | To submit a new message, send your mail to RPG400-L@midrange.com.
> | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator:
david@midrange.com
> +---

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

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.