A library has a *SHRRD lock placed on it when a job has it in its library list.
You may not be authorized to the job holding the lock. Try this
1. Start an interactive job using a profile that the profile your utility is running under does not have *USE rights to.
2. Run WRKOBJLCK OBJ(QSYS) OBJTYPE(*LIB) OUTPUT(*PRINT) using a profile with *ALLOBJ authority.
3. Then run the same command using the profile your utility runs under.
Do both reports list the job from step 1?
HTH,
Gary Monnier
-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Steinmetz, Paul
Sent: Thursday, August 06, 2015 6:11 AM
To: 'Midrange Systems Technical Discussion'
Subject: Method to determine if a library is in use
I have a utility that checks if an app is use by doing a WRKOBJLCK OBJ(XXX) OBJTYPE(*LIB).
I recently had this fail.
One app addlible XXX.
Opens files in XXX
Execute a process, finish.
Rmvlible XXX.
WRKOBJLCK OBJ(XXX) OBJTYPE(*LIB) shows no locks.
But within the XXX library, there were object locks remaining.
Never realized you could have object locks and the library containing the objects is no longer is the library list.
Searching for better method to determine object locks since WRKOBJLCK OBJ(XXX) OBJTYPE(*LIB) is no longer valid.
Thank You
_____
Paul Steinmetz
IBM i Systems Administrator
Pencor Services, Inc.
462 Delaware Ave
Palmerton Pa 18071
610-826-9117 work
610-826-9188 fax
610-349-0913 cell
610-377-6012 home
psteinmetz@xxxxxxxxxx
http://www.pencor.com/
As an Amazon Associate we earn from qualifying purchases.