On 15 Mar 2013 02:01, Andrew.Smith@xxxxxxxxx wrote:
Some of our testers are leaving objects checked out, either when
a function crashes before the objects get checked back in
  Depending on what "when a function crashes before..." means, perhaps 
[some of] the code should be modified\corrected to ensure that there are 
appropriate termination handlers in effect since CHKOUT is in effect 
until such time that the CHKIN is performed.
or they are manually checking it out and not checking it back in.
  The TAA tools apparently has a tool that uses the Qp0lGetAttr API to 
present that information in some form... CVTIFS; I did not look very 
close, other than it uses the API which retrieves that information:
http://www.taatool.com/document/L_cvtifs.htm
This then affects our Daily, Weekly, Monthly & yearly backups.
  How so?  AFaIK there should be no impact to save due to the "checked 
out by" status as presented by 8=Display Attributes.
I was wondering if anyone knew of a way to quickly list all the
checked out objects on the system so we can perform some checks
and sort these objects out before the backups kick in?
  Perhaps the aforementioned tooling.  I seem to recall IBM having 
something colled IFSTOOLS which may provide something [¿QRYIFSLIB?] 
also.?  I am not sure if the RTVDIRINF output file(s) [and PRTDIRINF] 
include the checkout status and the "checked out by whom" *USRPRF name, 
as I never used them after early experiences; certainly not quick back then.
  The API:
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/apis/qgetattr.htm
_i Qp0lGetAttr()--Get Attributes i_
"...
Qp0lGetattr() also returns one of these constants in the Attribute 
identification field, pointed to by the Buffer_ptr parameter. The 
constant must be used to identify the returned attribute because the 
attributes are returned in any order. Note that the Size of attribute 
data field, pointed to by the Buffer_ptr parameter, contains the total 
size of data that Qp0lGetattr() returns for the constants in this array. 
Valid values, and sizes of the returned attributes, follow:
 ...
QP0L_ATTR_CHECKED_OUT: Whether an object is checked out or not. When an 
object is checked out, other users can read and copy the object. Only 
the user who has the object checked out can change the object. The 
checkout format is defined in the Qp0lstdi.h header file as data type 
Qp0l_Checkout_t, and is described in the following table.
Checkout Format:
Offset Type Field
Dec    Hex
0      0    CHAR(1)   Flag indicating whether an object is checked out
1      1    CHAR(10)  User to whom checked out
11     B    CHAR(1)   Reserved
12     C    BINARY(4) Time checked out
Flag. An indicator as to whether an object is checked out. Valid values are:
x'00' 	QP0L_NOT_CHECKED_OUT: The object is not checked out.
x'01' 	QP0L_CHECKED_OUT: The object is checked out.
Reserved. A reserved field. This field must be set to binary zero.
Time checked out. The time the object was checked out. This field 
represents the number of seconds since the Epoch.
 ..."
As an Amazon Associate we earn from qualifying purchases.