|
I still prefer a data area. I have learned that not all locks are the same.
For example, if you try to lock a DDM file it will try to connect to the
remote system, which can hang your job. Locking a program will prevent if
from being available for backups, if you need to do a save while active, and
will prevent you from being able to duplicate the program if you need to.
That is why I use a special library and put all of my data areas in there. I
have created a utility called JOBSTS (job status) which will create the
library and data area as needed and either return the status or lock it, as
requested. I can call JOBSTS from a CL program or an RPG program.
Albert York
-----Original Message-----
From: Dan Bale [SMTP:dbale@samsa.com]
Sent: Wednesday, April 10, 2002 9:49 AM
To: midrange-l@midrange.com
Subject: RE: Monitor for existing job.
Ahhh, now I understand! <slap on forehead> Of course, why create a
data
area to lock since you'll use the same determination as you're using
in your
example, i.e., locking the program object.
I will say that I'm still leaning towards the data area when wanting
*EXCL
locks on RPG program objects for the simple reason that I can easily
perform
the data area lock *inside* the application via *LOCK IN, as someone
gave an
example for earlier in this thread. If you try to allocate the
program
object outside, and before you call, the program, you haven't
prevented the
possibility that some other job may attempt to directly call the
program,
and avoid the CL wrapper app altogether. Obviously, if it's a CL
app you
want to "lock", you could do that right in the app.
- Dan Bale
(I am *NOT* "Dale"
http://archive.midrange.com/midrange-l/200105/msg00281.html )
SAMSA, Inc.
989-790-0507
DBale@SAMSA.com <mailto:DBale@SAMSA.com>
Quiquid latine dictum sit altum viditur.
(Whatever is said in Latin seems profound.)
-----Original Message-----
From: midrange-l-admin@midrange.com
[mailto:midrange-l-admin@midrange.com]On Behalf Of Carsten Flensburg
Sent: Tuesday, April 09, 2002 3:05 PM
To: midrange-l@midrange.com
Subject: Re: Monitor for existing job.
Dan,
The lock as such does not prevent the program being called directly.
The idea is to always call the program through the CL-program that
will
perform the check for an existing lock against the program. Similar
to the
"lock data area" approach - but instead of using yet another object
I
decided that the program object itself would be just as good a lock
target.
And the CL-program provides a generic solution - if there are no
parameters
involved in the call.
Best regards,
Carsten Flensburg
----- Original Message -----
From: "Dan Bale" <dbale@samsa.com>
To: <midrange-l@midrange.com>
Sent: Tuesday, April 09, 2002 8:20 PM
Subject: Re: Monitor for existing job.
Carsten, I just tried ALCOBJ *EXCL on an program object in one job
and was
able to call it in another job. Which was the gist of what your
code in the
archive post was getting at. Did I miss something else that your
code was
doing?
In fact, when I do a WRKOBJLCK on that program, I see the job where
I did
the ALCOBJ, but not the job that currently is running it. I have
never
understood this mystery.
I think that locking the data area is the easiest and most reliable
way to
go.
- Dan Bale
offsite today
---------- Original Message ----------------------------------
From: "Carsten Flensburg" <flensburg@novasol.dk>
Reply-To: midrange-l@midrange.com
Date: Tue, 9 Apr 2002 19:27:30 +0200
>And here's something along the same lines - using the program
itself as
lock
>object - from the archives:
>http://archive.midrange.com/midrange-l/199911/msg01701.html
>
>Best regards,
>Carsten Flensburg
_______________________________________________
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list
To post a message email: MIDRANGE-L@midrange.com
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
or email: MIDRANGE-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.