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



This is interesting. I tried it with the unlock and without and got the
same result. The record is unavailable to other applications. I even
changed the other chain to chain(n) and the record was still not available.


Anyone know why this would be?


On 6/5/07, Wilt, Charles <WiltC@xxxxxxxxxx> wrote:

You don't need the unlock line assuming the HCLMMAS file's record format
is CLMMAS in the CHAIN(N)
before the unlock.

HTH,
Charles




> -----Original Message-----
> From: rpg400-l-bounces+wiltc=cintas.com@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces+wiltc=cintas.com@xxxxxxxxxxxx] On
> Behalf Of Gene Burns
> Sent: Tuesday, June 05, 2007 12:17 PM
> To: RPG programming on the AS400 / iSeries
> Subject: Re: check for record changed between read/chain(n) and update
>
> Thanks, Booth!
>
> I setup 2 data structures to start with:
>
> d savmstr e ds extname(hclmmas) prefix(o)
>
> d mstrDS ds likerec(clmmas)
>
> then I brought in the data:
>
> chain (cmyrin: cmycin) clmmas; // get
> data for pgm
> // ekb13 begin block
> chain(n) (cmyrin: cmycin) clmmas mstrDS; // load DS
> unlock hclmmas; // release lock
> savmstr = mstrDS;
> // ekb13 end block
>
> So now I have the data saved in a data structure, still have
> the fields available (no rewrite), and no lock on the file.
>
> Thanks everyone!
>
> On 6/5/07, Booth Martin <booth@xxxxxxxxxxxx> wrote:
> >
> > What I do is have three data structures named "Record",
> "OriginalRecord"
> > and "NewRecord", all defined like the record format. Then
> I prefix two
> > of the data structures as "O_" & "N_" Then, on the
> original read I
> > eval OriginalRecord = Record.
> > Then, later just before I do the locking read I move the
> Record (which
> > now has the new values) into NewRecord, If NewRecord =
> Original then
> > there are no proposed changes, so bail out.
> > Otherwise do the locking read and again compare the Record
> to Original
> > Record.
> > If the Original is *not* equal to the Record then there have been
> > changes at another workstation, do as is appropriate to the
> business
> > rules.
> > If the Original is equal to the Record then its is safe to make the
> > change, so eval Record = NewRecord and do the update.
> >
> > Seems to work fast and is really handy if you also are using
> > F5=Refresh (Record = OriginalRecord) to let the user undo
> changes and start over.
> >
> >
> >
> > Gene Burns wrote:
> > > I need to change a program to get a record from a file
> chain(n) and
> > > let
> > the
> > > user work with the data, go to other programs, return to the
> > > original calling program, etc., then if the user makes changes to
> > > the data I need
> > to
> > > check whether the record has changed before updating.
> > >
> > > Is there a better way to do this than bringing the data
> record into
> > > a
> > data
> > > structure chain(key) file DSname and then rewriting the entire
> > > program
> > to
> > > use the qualified field names from the DS?
> > >
> > > I am concerned that even if I do this, that the record could be
> > > updated
> > in
> > > between the chain to get the record into a DS for
> comparison to the
> > original
> > > DS and the actual update.
> > >
> > > Gene
> > >
> >
> > --
> > ---------------------------------
> > Booth Martin
> > http://www.Martinvt.com
> > ---------------------------------
> >
> > --
> > 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 e-mail transmission contains information that is intended to be
confidential and privileged. If you receive this e-mail and you are not a
named addressee you are hereby notified that you are not authorized to read,
print, retain, copy or disseminate this communication without the consent of
the sender and that doing so is prohibited and may be unlawful. Please
reply to the message immediately by informing the sender that the message
was misdirected. After replying, please delete and otherwise erase it and
any attachments from your computer system. Your assistance in correcting
this error is appreciated.

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

Follow-Ups:
Replies:

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.