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.