|
sometimes it helps to compare for yourself........ "Wilt, Charles" <CWilt@xxxxxxxxxxxx>@midrange.com on 04/07/2005 03:12:11 PM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> Sent by: rpg400-l-bounces@xxxxxxxxxxxx To: "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx> cc: Subject: RE: What would be your SQL solution? There's no reason to build a temporary table. All he's going to do is waste I/O. Charles Wilt iSeries Systems Administrator / Developer Mitsubishi Electric Automotive America ph: 513-573-4343 fax: 513-398-1121 > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Ross Hartford > Sent: Thursday, April 07, 2005 10:46 AM > To: 'RPG programming on the AS400 / iSeries' > Subject: RE: What would be your SQL solution? > > > Mine takes one SQL statement and creates a temporary table in > QTEMP with the > selected records: > > declare global temporary table temp1 > as ( > select x1,x2,n1,n2 from ross/xxxx where n1 > 0 and n2 > 0) > > with data > > I think you may have to build this as a dynamic SQL statement > and execute > it, versus doing the where clause with host variables. Just > replace the > x1,x2, etc with your list of fields and give it a shot in > STRSQL or your > favorite SQL test tool. > > Ross Hartford > Cothern Computer Systems, Inc. > 1640 Lelia Drive, Suite 200 > Jackson, MS 39216 > > Phone: 601-718-0803 > Fax: 601-969-1184 > Support: 888-222-5577 > > email: rossh@xxxxxxxxxxx > website: www.ccslink.com > > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx] > On Behalf Of fkany@xxxxxxxxxxxxxxxxxx > Sent: Thursday, April 07, 2005 9:16 AM > To: CN=RPG programming on the AS400/O=iSeries > Subject: What would be your SQL solution? > > > I've been trying to figure out an embedded SQL solution for > my RPGIV READ > loop for over a week now. I feel like I'm "spinning my > wheels". I'm going > to post the details of my project. If anyone would like to > share how they > would use SQL to complete the task, please do so. > > The program currently takes an hour or more to process. I > don't want to > create anymore logicals over the file it currently uses > because the file > just seems to have too many logicals(close to 100). Even with all the > logicals the file currently has, our users are still > accustomed to waiting > a day or more for a large report to print. I'd like to help > speed things > up. Nobody in our shop, including me, is aware of how fast > SQL really is > at getting large amounts of data at 1 time. > > Thanks, > > Frank > > System Information: V5R2 > Programming language: RPGIV > > (Part 1) - This part takes an hour or more to process using > an RPGIV READ > loop with a typical date range of 1 month(20040501 to 20040531) > Program(RPGIVPGM1) is called with parameters(FROMDATE & TODATE): > CALL RPGIVPGM1(FROMDATE TODATE) > > RPGIVPGM1 will populate BFILE with all records from AFILE > within the date > range specified(FROMDATE & TODATE). The only fields needed > from AFILE to > populate BFILE are: FHOT, FHPRO, FHDT, FHDDAT, FHDTIM, > FHDADT, FHPUDT, > FHSCD, FHCCD, FHCCT, & FHCZIP. > > BFILE is keyed only on FHDDAT, which is what date the > FROMDATE & TODATE > should be referencing. > > (Part 2) - After BFILE is built from Part 1, this section > only takes a few > seconds to run. > RPGIVPGM2 will access BFILE by FHDDAT and print a report. > > AFILE has 7 million records. BFILE, if populated with 1 month of > data(20040501 to 20040531) will have 400,000 records. > > RPGIV shell, please make any necessary changes: > H DFTACTGRP(*NO) > '* > '* Files Used > '* ---------- > '* > '* Program Defined Fields > '* ---------------------- > D FROMDATE S 8S 0 > D TODATE S 8S 0 > '* > '* ---------------------- > '* Arrays/Data Structures > '* ---------------------- > '* > '* Prototypes: > '* ----------- > ?* Main Processing > D MAIN_PRCS PR > > ************************************************************* > ********* > '* > '* Start Main Processing > '* --------------------- > C CALLP MAIN_PRCS > '* > '* End Main Processing > '* ------------------- > ?* End Program, Return to Caller > C EVAL *INLR = *ON > C RETURN > * > * > * > C *INZSR BEGSR > ?* > ?* Incoming Parameter List > C *ENTRY PLIST > C PARM FROMDATE > C PARM TODATE > ?* > C ENDSR > * > * > * > P MAIN_PRCS B > ?* > '* > > > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) > mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > > > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) > mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > > -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
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.