× 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.



Moved Z-add1 #RRN moved just before READC even though net logic effect it
the same. Same
results #RRN3 equal 1 READC on no hit on changed records.

Original code #RRN3 was 998 before and after write of control record.

One other thing I tryed.  The SFLNXTCHG indicator *IN80 was on at
WRITERC0010C control rec. Was to see if it
Made a difference I set it to *OFF before write. Still work fine.

I still think Don hit it on the head before about it still thinking it is
positioned
 at the last records on subfile after update, even when forcing #RRN3 to 1
prior to readc.

Also change to load all 1000(subfile size and update all 1000
 As changed #RRN3 = 1000 at break before readc. Forced #RRN3 to 1 before
READC.

Same result readc 25 is *on

Think WRITERC0010C is some how cleaning that up subfile position or force of
SFLNXTCHG updates taking effect.

Hell it just works :).

 I think the person had a design issue when deciding
 to completely control everything in subfile this way. Instead of
file/subfile combo
or at least hidden fields to compare on change.
 This forcing of change just to readc. And the do loops with chains to
subfile,
and mult loops through subfile to check things is is for the birds.

I think 3000 line could have been 1000 or less. And better controlled and
maintained. Oh Well

Thanks Bill H.

-----Original Message-----
From: Paul Tuohy [mailto:tuohyp@attglobal.net]
Sent: Friday, November 08, 2002 8:30 AM
To: rpg400-l@midrange.com
Subject: Re: Subfile Next Changed


Hi Bill,

A couple of things to try.

- Try putting the Z-ADD1      #RRN3   in the $VAL3 subroutine on the
line directly above the first READC.

- Where you are using the Write to the control record debug the program
and check the value of #RRN3 before and after the Write (a lot depends
on what SFL indicators are on when you do this Write)

- Looking at the snippet of code, you would have a problem if there were
not any records in the subfile - has the subfile been loaded? Maybe have
a look (in debug) at what is happening in the CLEAR loop.

HTH

Paul

"Hopkins, Bill" wrote:
>
> I thought my problem was the fact I was at rec 998 of subfile
> after updating each with the SFLNXTCHG indicator on for each update.
>  So when I did READC I positioned in subfile below the records
> I had just updated with change on. This had no hit on readc.
>
> So to fix I tryed in debug a z-add 1 to #RRN3 after update.
>
> A          R RC00103S                  SFL
> A  80                                  SFLNXTCHG
>
> A     R RC00103C                  SFLCTL(RC00103S)
> A                                      CF07
> A                                      CF04
> A  51                                  CF05
> A                                      CF11
> A                                      CF09
> A                                      CF01
> A  99                                  ALARM
> A                                      OVERLAY
> A                                      SFLCSRRRN(&S@CRS)
> A  31                                  SFLDSP
> A  30                                  SFLDSPCTL
> A  32                                  SFLCLR
> A  38                                  SFLEND(*MORE)
> A  36                                  SFLDROP(CF11)
> A N36                                  SFLFOLD(CF11)
> A                                      SFLSIZ(1000)
> A                                      SFLPAG(0006)
> A            S@CRS          5S 0H
> A            S@POS          4S 0H      SFLRCDNBR(CURSOR *TOP)
>
> FRC0010D CF  E                    WORKSTN
> F                                        #RRN3 KSFILE RC00103S
>
> C                     CLEARX
> C                     DO   999       X
> C           X         CHAINRC00103S             25
> C           *IN25     IFEQ *OFF
> C                     MOVE *ON       *IN80
> C                     UPDATRC00103S
> C                     ENDIF
> C                     ENDDO
> C                     Z-ADD1         #RRN3            <<<<<<<<<
>
> C                     EXSR $VAL3
> +++++
> C           $VAL3     BEGSR
>  *
> C                     READCRC00103S                 25
>  *
> C           *IN25     DOWEQ*OFF
>  *
> +++++
> Still had problem
> when breaking on *IN25 DOWEQ *OFF *IN25 was on.
>
> So after reading post tryed the following
> Changed Z-ADD 1 #RRN3 to WRITERC00103 ran again and *IN25 DOWEQ *OFF was
> *OFF.
> #RRN3 = 998. READC hit first record changed by update which was record 1
of
> subfile.
>
> I had same thoughts as you on "How it should work" but wasn't.
> Anyone see what's up or can explain please do.
>
> I think because I did not naturally hit the end of subfile when in update
> loop.
> Force of #RRN3 to 1 from 998 before readc really has not happen in the
> background.
> And I think the write of the control record reset things in background so
> change is
> pick up by readc.
>
> Thanks
> Bill H.
>
> -----Original Message-----
> From: Paul Tuohy [mailto:tuohyp@attglobal.net]
> Sent: Thursday, November 07, 2002 3:07 PM
> To: rpg400-l@midrange.com
> Subject: Re: Subfile Next Changed
>
> Hi Bill,
>
> Ain't subfiles fun? :-)
>
> There has to be something else in here because you definitely do not
> need to do anything with the subfile control record.
>
> This is how READC should work.
>
> Every subfile record has a "modified indicator".
> Typing something into a field on the subfile sets on the "modified
> indicator".
> Updating the subfile record with SFLNXTCHG enabled sets on the "modified
> indicator".
> A READC will read the NEXT record (i.e. from where the current pointer
> is, that pointer being the RRN field for the subfile) with a "modified
> indicator" on.
> The process of inputing a subfile record sets OFF the "modified
> indicator".
>
> No subfile control record required.
>
> So, if subfile records have been updated with SFLNXTCHG enabled then.
>
>  C                     Z-ADD1              RRN
>  C                     READCRC00103S                 25
>
> should read the first subfile record that has it's "modified indicator"
> on.
>
> HTH
>
> Paul Tuohy
>
> "Hopkins, Bill" wrote:
> >
> > Way it was explain to me in earlier post. It never reach the end of
SUBSIZ
> > of 1000 on update. So readc did not find anything because it started
from
> > that point. I ran in STRISDB with z-add SUBFIL RRN to 1 before readc
still
> > no hit.
> > I removed and ran again with write of rc00103c control rec after update
of
> > 998 of the subfile records and it worked. Added back in the z-add 1 to
RRN
> > so it would be at being in a future loop.
> >
> > Thanks Again
> >
> > -----Original Message-----
> > From: Paul Tuohy [mailto:tuohyp@attglobal.net]
> > Sent: Thursday, November 07, 2002 2:01 PM
> > To: rpg400-l@midrange.com
> > Subject: Re: Subfile Next Changed
> >
> > Bob,
> >
> > You should not need the write of the subfile control record. An update
> > of a subfile record with SFLNXTCHG on sets the "changed flag". Setting
> > RRN to 1 and issuing a READC should read the "changed record".
> >
> > As to the RRN of 998 - are you sure there are actually 1000 records in
> > the subfile (as opposed to a size of 1000). At the end of your loop, X
> > would be 999 but RRN would be 998 if there were only 998 record in the
> > subfile.
> >
> > HTH
> >
> > Paul Tuohy
> >
> > "Hopkins, Bill" wrote:
> > >
> > > Write of control record allowed readc to work
> > > after subfile next change update of all subfile records.
> > > z-add 1 to subfile rrn reset it to top.
> > >
> > > Will look for why RRN at 998 of 1000 next.
> > >
> > > Thanks All
> > > Bill H.
> > >
> > > -----Original Message-----
> > > From: Paul Tuohy [mailto:tuohyp@attglobal.net]
> > > Sent: Thursday, November 07, 2002 12:43 PM
> > > To: rpg400-l@midrange.com
> > > Subject: Re: Subfile Next Changed
> > >
> > > Hi Bill,
> > >
> > > Before the READC simply Eval RRN = 1. This is the equivelent of doing
a
> > > *LOVAL SETLL on the subfile. You do not need to re-write the subfile
> > > control record or any such - SFLNXTCHG is a subfile record keyword.
> > >
> > > HTH
> > >
> > > Paul Tuohy
> > >
> > > "Hopkins, Bill" wrote:
> > > >
> > > > Hi All,
> > > >
> > > > Do not ask why, but this subfile is TRYING to be totally
> control/edited
> > by
> > > > the program before any writes/update to PF.
> > > > About 3 thousand plus lines.
> > > >
> > > > Force change to subfile records?
> > > >
> > > >  C                     CLEARX
> > > >  C                     DO   999       X
> > > >  C           X         CHAINRC00103S             25
> > > >  C           *IN25     IFEQ *OFF
> > > >  C                     MOVE *ON       *IN80             <<<<<<
> SFLNXTCHG
> > > >  C                     UPDATRC00103S
> > > >  C                     ENDIF
> > > >  C                     ENDDO
> > > >
> > > > Skip code(nothing touching subfile) then the following:
> > > >
> > > > C                     READCRC00103S                 25
> > > >  *
> > > > C           *IN25     DOWEQ*OFF                           <<<<< 25
is
> > on.
> > > On
> > > > first readc
> > > >
> > > > Is this *ON because control rec(RC00103C) to subfile not written or
> > exfmt
> > > > before READC? Or RRN to subfile at bottom?
> > > > Why READC not seeing it as changed?
> > > >
> > > > Mind fried trying to find.
> > > > Thanks
> > > >
> > > > Bill H
_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
or email: RPG400-L-request@midrange.com
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 thread ...

Follow-Ups:

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.