Simulating an ALL keyword for the /SELECT qualifier of ANALYZE/OBJECT and ANALYZE/IMAGE.
On request, ANALYZE/OBJECT and /IMAGE retrieve specific information from the
object or image. The requested information is specified by the qualifier
/SELECT and one or more keywords. The keywords and the related information
are listed in HELP. There is not much useful information displayed for
objects: For all but two keywords the related information for objects is not
applicable and printed as "Unknown". There is more useful information
displayed for images: for all keywords there can be related information in
the image and for all but one keyword that information is usually present
and can be displayed. For historical reasons the list of keywords grew and
while that made the specification longer and more complex nobody ever cared
to add a simple ALL keyword to display all of the available information.
Today, to get all information for an image, one has to specify at least
/SELECT=(F,A,IM,N,ID=(I,L),B,L,V). (The V keyword is only valid for images:
for objects it is rejected with a %DCL-W-CONFLICT. Actually, analyze for
objects doesn't care, this "conflict" is already in the CLD file, as one may
guess from the DCL facility in the above warning.)
Even without access to the sources of analyze you can get close to implement
something similar to an ALL keyword. Presumed you know what to do with a CLD
file, all you need to change is the analyze.cld file, which ships with VMS
and resides in sys$update. The downloadable patches show what needs to be
changed for Alpha V8.3 and I64 V8.4. It is obvious what you have to do for
other versions of/platforms for VMS. The .patch files can be applied with the
(GNV/GNU/Unix) patch utility, the .upd files can be applied with the SUMSLP
utility.
Once you understand how this is accomplished, you can taylor the default
output of the ANALYZE utility to what you want/need. Feel free to add your
name to the comment section of the CLD file. As a result of the patch you
will get all the information with a simple /SELECT - no keyword at all.
Get the patches: analyze.zip.
$ anal/imag/select=(f,a,im,n,id=(i,l),b,l,v) decc$shr SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1 Image OpenVMS Alpha Shareable "DECC$SHR_EV56" "V8.3-01" "A13-03" "XBCA-0080070010" 1-MAY-2007 07:04:56.15 $ $ anal/select=(f,a,im,n,id=(i,l),b,l) sys$share:delta SYS$COMMON:[SYSLIB]DELTA.OBJ;1 Object OpenVMS Alpha Unknown Unknown Unknown Unknown Unknown Unknown $
$ anal/imag/select decc$shr SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1 Image OpenVMS Alpha Shareable "DECC$SHR_EV56" "V8.3-01" "A13-03" "XBCA-0080070010" 1-MAY-2007 07:04:56.15 $ $ anal/select sys$share:delta SYS$COMMON:[SYSLIB]DELTA.OBJ;1 Object OpenVMS Alpha $