|
I'm not an expert, but my personal opinion is that READC and its associated keywords are somwhere between an abomination and a crime against nature. In 12 years of RPG I think I've used READC four or five times for very simple data entry, never in "real" apps. However....it's in the language and if you use it correctly, it works. I still think it's a waste of time learning how to do it. <><><>-----Original Message----- <><><>From: rpg400-l-bounces@xxxxxxxxxxxx <><><>[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Booth Martin <><><>Sent: Friday, August 12, 2005 2:12 PM <><><>To: RPG programming on the AS400 / iSeries <><><>Subject: RE: Force EOF in a Subfile <><><> <><><>Do away with the use of readc. The experts say its <><><>deprecated now. <><><> <><><> <><><> <><><>Use a for loop. Chain to each row and process every row. <><><> I like a loop something like this: <><><> <><><> <><><> <><><> C for wSeq = wSeq 1 to SFLRECS <><><> <><><> C wSeq chain SFL <><><> <><><> C .... your stuff .... <><><> <><><> C endfor <><><> <><><> <><><> <><><>where SFLRECS is the number of records in the subfile, <><><>which you have available anyway as a the field for <><><>SFLSIZE(&SFLRECS). <><><> <><><> <><><> <><><>This is fast, easy, and easiest to maintain later on. <><><>READC needs attention paid to SFLNXTCHG and other trivial <><><>but irritating points, as you are discovering. :) <><><> <><><> <><><> <><><> <><><> <><><>--------------------------------- <><><> <><><>Booth Martin <><><> <><><>http://www.martinvt.com <><><> <><><>--------------------------------- <><><> <><><>-------Original Message------- <><><> <><><> <><><> <><><>From: RPG programming on the AS400 / iSeries <><><> <><><>Date: 08/12/05 16:01:33 <><><> <><><>To: RPG programming on the AS400 / iSeries <><><> <><><>Subject: RE: Force EOF in a Subfile <><><> <><><> <><><> <><><>But when I chain back to the subfile, it positions the (pointer? <><><> <><><>Cursor?) for the next read. So when I chain to the 1st <><><>record in the <><><> <><><>subfile, the next ReadC to the subfile will read the 2nd <><><>record, not the <><><> <><><>first. <><><> <><><> <><><> <><><> <><><> <><><>Kurt Anderson <><><> <><><>Application Developer <><><> <><><>Highsmith Inc <><><> <><><> <><><> <><><>-----Original Message----- <><><> <><><>From: rpg400-l-bounces@xxxxxxxxxxxx <><><> <><><>[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Carel <><><>Teijgeler <><><> <><><>Sent: Friday, August 12, 2005 2:47 PM <><><> <><><>To: rpg400-l@xxxxxxxxxxxx <><><> <><><>Subject: Re: Force EOF in a Subfile <><><> <><><> <><><> <><><>Kurt, <><><> <><><> <><><> <><><>I do not understand your question. <><><> <><><> <><><> <><><>Reading through a SFL and turning on SFLNXTCHG will make <><><>the changed <><><> <><><>records availble for the next READC. And this READC will <><><>start from the <><><> <><><>top of the SFL after each EXFMT. Reords not read the <><><>first time are <><><> <><><>still marked as changed. <><><> <><><> <><><> <><><>Regards, <><><> <><><>Carel Teijgeler <><><> <><><> <><><> <><><>*********** REPLY SEPARATOR *********** <><><> <><><> <><><> <><><>On 12-8-05 at 14:32 Kurt Anderson wrote: <><><> <><><> <><><> <><><>>How do I do force an EOF in a subfile w/o altering the <><><>state of any <><><> <><><>records in the subfile? <><><> <><><>>(Sorry, my searches in the archives didn't turn anything up.) <><><> <><><>> <><><> <><><>>Essentially, I'm validating a subfile by reading through <><><>as ReadC. <><><> <><><>>DoU %EOF; <><><> <><><>> ReadC Subfile; <><><> <><><>> If not %EOF; <><><> <><><>> If errAction(); <><><> <><><>> dspatr = @RU; // reverse image, underline <><><> <><><>> PosCsr = *On; <><><> <><><>> EndIf; <><><> <><><>> SflNxtChg = *On <><><> <><><>> Update Subfile; <><><> <><><>> EndIf; <><><> <><><>>EndDo; <><><> <><><>> <><><> <><><>>Ok, but based on that processing, I want the top record <><><>displayed to <><><> <><><>>have a field Positioned-To (assuming there were no errors found). <><><> <><><>>I'm omitting a lot of code here obviously, but there is code that <><><> <><><>>determines if the 1st record needs to be updated again. <><><>If it needs to <><><> <><><> <><><> <><><>>be, I do a: <><><> <><><>> <><><> <><><>>Chain 1 Subfile; <><><> <><><>>If %found; <><><> <><><>> PosCsr = *On; <><><> <><><>> Update Subfile; <><><> <><><>>EndIf; <><><> <><><>> <><><> <><><>>Now, in order to process this subfile if no errors were <><><>found, I need <><><> <><><>>to loop with a ReadC again. Except, by doing the chain, <><><>I lost my EOF <><><> <><><>>on the subfile. <><><> <><><>>I could do a: <><><> <><><>>Chain LastRec Subfile; <><><> <><><>>ReadC Subfile; <><><> <><><>> <><><> <><><>>But that loses the SflNxtChg that is on the last record <><><>(if the last <><><> <><><>>record was changed). Short of adding a hidden field in <><><>the subfile <><><> <><><>>that lets me know if it was changed or not, is there any <><><>way to force <><><> <><><>>an EOF on a subfile so my next ReadC loop will start at <><><>the beginning <><><> <><><>>of the subfile? <><><> <><><>> <><><> <><><>>Kurt Anderson <><><> <><><>>Application Developer <><><> <><><>>Highsmith Inc. <><><> <><><>>W5527 State Road 106, P.O. Box 800 <><><> <><><>>Fort Atkinson, WI 53538-0800 <><><> <><><>>TEL (920) 563-9571 FAX (920) 563-7395 <><><> <><><>>EMAIL kjanderson@xxxxxxxxxxxxx <><><> <><><>> <><><> <><><>>-- <><><> <><><>>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. <><><> <><><> <><><> <><><> <><><> <><><>. <><><>-- <><><>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. <><><> <><><> ***************************** NOTICE: All e-mail sent to or from this e-mail address will be received or otherwise recorded by The Sharper Image corporate e-mail system and is subject to archival, monitoring, and review by and/or disclosure to Sharper Image security and other management. This message is intended only for the use of the addressee and may contain information that is privileged and confidential. The contents of this message may contain personal views which are not the views of The Sharper Image. If you are not the intended recipient, dissemination of this communication is prohibited. *****************************
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.