|
A SFLSIZ( &SF1RECS ) A SF1RECS 5S 0PIf you use a scroll bar you'd want the subfile size anyway to set the proper size of the cursor in the scrollbar. But besides that (since no one here uses the scrollbar) knowing the number of records in the subfile is pretty useful anyway. There's other places & times that its useful besides the for loop.
Alan Shore wrote:
Thanks Booth. Hhhhmmmmm - interesting If I am not mistaken, there could be an inherent problem in this design. If the sub-file is a page at a time sub-file, SFLSIZ will definitely contain the correct number of subfile records. However - any other type of subfile SFLSIZ may contain any value from, 1 more than SFLPAG thru and including 9999. Therefore your chain to the subfile may result in either you NOT reading ALL the subfile records OR reading PAST the last subfile record. Am I right on this? Alan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx rpg400-l-bounces@xxxxxxxxxxxx wrote on 10/04/2006 01:46:29 PM:Its cleaner. Not setting the counter to 1, No adding to the counter, and the counter is the key to chain. Less chance to fat-finger, which for me is a boon. In this case, 6 lines vs. 10 lines (they forgot one endif) if I counted right, and only one structure instead of three. Alan Shore wrote:Hi Booth Is there any advantage on using a for loop over a do loop, or is itjustpersonal preference? If there is an advantage, I am always willing to learn new things. Alan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx rpg400-l-bounces@xxxxxxxxxxxx wrote on 10/04/2006 12:38:40 PM:I like a for loop: C for Subfilerrn = 1 to SflSiz C Subfilerrn chain Subfile C if Option = 'X' C exsr ProcessData C endif C endfor Where SflSize equals the size of the subfile (you probably have thatasa known number already). Alan Shore wrote:Sorry Phil I dont know what happened there. Please see revised code c eval Subfilerrn = 0 c dou not %found(Workstn) c eval Subfilerrn = Subfilerrn + 1 c Subfilern chain Subfile c if %found(Workstn) c if Option = 'X' C exsr processdata C endif c enddo rpg400-l-bounces@xxxxxxxxxxxx wrote on 10/04/2006 12:30:35 PM:Hi Phil the following code should show you what is needed. c eval Subfilerrn = 0 c dou not %found(Workstn) c Subfilern chain Subfile c if %found(Workstn) c if Option = 'X' C exsr processdata C endif c enddo Where Workstn is your worstation file name subfile is the subfile record Subfilerrn is the rrn associated with that subfile (or any othercounterAlan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx rpg400-l-bounces@xxxxxxxxxxxx wrote on 10/04/2006 11:59:13 AM:Oops it worked now! But tell me anyways if you have a moment howyoudothis read. I have only done subfiles that displayed rows of dataandaccepted the 'X' (or 2/4/5) next to the record the user couldupdate.Then I display another format w/ this record for them to change.SoIDID do a READC looking for this 'X'. thus, this way of changingdataonthe rows directly is new to me. -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Booth Martin Sent: Wednesday, October 04, 2006 11:53 AM To: RPG programming on the AS400 / iSeries Subject: Re: Subfile problem Thats why I stopped using READC. Just too many headaches. Readthewhole subfile. The performance hit is minimal, if even noticeable. Phil Kestenbaum wrote:The problem I am having is to reset the subfile. IOW, I have aroutinethat checks each line via a READC, that is doing a dow not%eofBut it is NOT going through and checking upon hitting enter, the indicators are controlling. Because, EOF has been hit. I am notsurehowto reset the subfile. -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Michael_Schutte@xxxxxxxxxxxx Sent: Wednesday, September 27, 2006 4:59 PM To: RPG programming on the AS400 / iSeries Subject: Re: Subfile problem If I am understanding you correctly, You should only have to reset the indicator for the line once theerrorhas been corrected. On your "else", you need to update the subfilerecordthere too because you are changing the value of *In60. Michael Schutte Dig in! Bob Evans New Knife & Fork Sandwiches - This muchhomestylegoodness demands a Knife & Fork! rpg400-l-bounces@xxxxxxxxxxxx wrote on 09/27/2006 04:50:50 PM:HI, I have a subfile program that when there is an error, on saythethird line, on the first pass, the cursor is being put on thethirdlinecorrectly, but subsequently, the cursor will be placed on thefirstline. Let's say if I correct the third line but make an error onfirst,then correct the first and re-error on third, it then positionsonFIRST. I appear to be missing code that would correctly align thecursorto the error line, or perhaps I need to clear the subfile on eachENTER?The code is: C prolin begsr C readc sfr1** C dow not %eof * C if s6sqty = 0 c C eval *in60 = *on C eval *in59 = *on C eval *in74 = *on C update sfr1 c else C eval *in60 = *off c endif C eval *in74 = *off c* c readc sfr1 C enddo C endsr Ind. 60 is to position the cursor: A 60 DSPATR(PC) This message contains information proprietary to our company. Itisintended to be read only by the individual or entity named aboveortheir designee. Any distribution of this message or the information containedhereinwithout written permission from our company is strictlyprohibited.If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient,youare hereby notified that you have received this document in error and that any review, dissemination, distribution, or copying ofthismessage is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail,anddelete the original message. -- This is the RPG programming on the AS400 / iSeries (RPG400-L)mailinglistTo 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)mailinglist 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)mailinglistTo 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)mailinglistTo 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) mailinglistTo 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) mailinglistTo 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.