|
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 it
just
personal 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 that
as
a 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 how
you
dothis read. I have only done subfiles that displayed rows of data
and
accepted the 'X' (or 2/4/5) next to the record the user could
update.
Then I display another format w/ this record for them to change.
So
IDID do a READC looking for this 'X'. thus, this way of changing
data
onthe 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. Read
the
whole 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 not
sure
howto 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 much
homestyle
goodness 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 the
third
linecorrectly, but subsequently, the cursor will be placed on the
first
line. 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 positions
on
FIRST. 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. It
is
intended to be read only by the individual or entity named above
or
their designee. Any distribution of this message or the information containedhereinwithout written permission from our company is strictly
prohibited.
If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient,
you
are 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,
and
delete 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)
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
listTo 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
listTo 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) 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.