× 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: Embedded SQL and Externally Described Data Structure
  • From: "Sneddon, Jim" <JSneddon@xxxxxxxxxxxxxxxxxxxxx>
  • Date: Fri, 6 Apr 2001 08:02:36 -0700

Thanks Anton...  That's exactly what I was looking for.  Pretty slick
method.

*       Date: Wed, 04 Apr 2001 22:58:29 +0200
*       From: Anton =?iso-8859-1?Q?Gombk=F6t=F6?= <gombkoetoe@ASSOFT.COM>
*       Subject: Re: Embedded SQL and Externally Described Data Structure
*       
*       Jim,
*       
*       although i'm not yet using SQL in RPG, i assume the following to
work:
*       
*       D JoinedDS           S        32766
*       
*       D ResvhistR       E DS               ExtName( RESVHIST)
BASED(PtrResvhistR)
*       D ShwfilR           E DS               ExtName(SHWFIL)
BASED(PtrShwfilR)
*       D DetlListR        E DS                ExtName(DETLLIST)
BASED(PtrDetlListR)
*       
*       C               EVAL    PtrResvhistR    = %ADDR(JoinedDS)
*       C               EVAL    PtrShwfilR      = %ADDR(PtrResvhistR) + 
*       %SIZE(ResvhistR)
*       C               EVAL    PtrDetlListR    = %ADDR(PtrShwfilR) +
%SIZE(ShwfilR)
*       
*       The first field reserves quite an amount of storage, you can define
it with 
*       a more reasonable length (or ALLOC the storage you need by adding
the 
*       %SIZEs of the structures, that would be better/prettier).
*       
*       The E DS's are BASED, so they have no storage associated with them
at 
*       program initialization. You "lay it over" a piece of storage by
means of 
*       the Pointer.
*       
*       The first EVAL sets the address of the first structure to the
beginning of 
*       the storage.
*       The second takes this address and adds the length of the first
structure. 
*       So the second structure is just behind the first one in storage.
*       The third one takes the second pointer and adds the length of the
second 
*       structure.
*       
*       And then you might be able to use JoinedDS in your SQL-statement.






Jim Sneddon
AS400 RPG Programmer
Allstate Ticketing
jsneddon@allstateticketing.com
www.showtickets.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 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.