× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



On 04-Mar-2015 13:21 -0600, David Gibbs wrote:

I found something interesting on my 7.1 system the other day.

I was doing some analysis of command objects in QSYS, using the
QCDRCMDI API, and encountered a command that gave an error.

When I ran the QCDRCMDI api on the ADDBLDOPTE command, I got a
CPF9810 indicating that the QBLDSYS library didn't exist.

So I looked in QSYS and there is a *CMD object for ADDBLDOPTE ...
but it appears to be a proxy for a command of the same name in
QBLDSYS. QBLDSYS, however, does not exist on my system.


The library name QBLDSYS is an IBM-internal library that provides the capability to /build/ the OS and LPPs; there should be an expectation, barring any radically daft changes, that a library by that name would never exist on a customer system [except under the purview of IBM dev and\or support such that the library were scheduled and verified to be deleted with the understanding that cust was expected never to B&R the contents].

Any direct reference to that library with implied functionality is either an /escapee/ from the lab and thus a defect [¿accidentally shipped with the OS on media, perhaps in a TR or a re-save of the OS that was built incorrectly before being saved], or was delivered as part of a[n effective] TestFix or some other support purpose for which IBM had at one time restored or otherwise /installed/ the library on that system [e.g. from a save file downloaded from IBM service\support]. The possibility exists that the library was legitimately installed|restored on the system and the proxy command was created, and the library was properly deleted according to instructions, but someone overlooked the prior Create Proxy Command (CRTPRXCMD) thus failed to account for the negative effect by failing to delete that *CMD object as well.

A proxy command that refers to the library name is a direct [implied functional] reference, whereas a source file library name associated with an object [in the *SERVICE OIR] would be merely a historical reference and unlikely an indication of a defect. Notably, the "created by", "restore date", and "creation date" could be very telling.

----------
Target command . . . . . . . . . . . . : ADDBLDOPTE
Library . . . . . . . . . . . . . . : QBLDSYS
Text . . . . . . . . . . . . . . . . . :
Current proxy chain . . . . . . . . . : QSYS/ADDBLDOPTE
QBLDSYS/ADDBLDOPTE
----------

Both the naming using the mnemonic BLD for /build/ as a noun, and the likely usage of mnemonic OPT for the noun /option/, the command name appears likely to be an IBM-internal "build command".

Some information about the object, the spooled DETAIL(*FULL) and DETAIL(*SERVICE) of Display Object Description (DSPOBJD), and possibly the Dump Object (DMPOBJ) would reveal something more about the provenance of the Command object with the .

Anyone now why there would be a proxy command but no target command?

Given the object is not likely /installed/ intentionally, if the object appears incorrectly with the OS, then the effect is due to the accidental delivery of the *CMD object in QSYS. If the object instead arrived later, then either the object was restored and\or moved into QSYS, and the target library also may have existed at one time thus the DLTLIB gave rise to the condition or the library never existed and the restored object presumably logged effectively the same CPF9810 at restore but as a diagnostic [i.e. I am doubtful there is a hard restriction to restore a proxy without a valid+resolvable chain.

A bit more analysis returned a bunch more commands in a similar
state. Most are pointing to QBLDSYS. Others are pointing to QSSP (we
don't have the S/36 env installed, so that can 'kind of' be
explained).

And those additional commands are? Again, obtain and review the Display Object Description (DSPOBJD) [perhaps obtain also DMPOBJ] as means to possibly track-back to the origin; if the history and\or auditing goes back far enough and the restore-date is the origin, then the restore history\audit-info would show even more.

The OPTION(5) of the OS delivers the S/36EE, and often rather than properly effecting Delete Licensed Program (DLTLICPGM) [as often was offered even here on these fora], many will simply issue Delete Library (DLTLIB) against products\options and thus the LicPgm install-exit routines that should remove the associated objects that were created during Restore Licensed Program (RSTLICPGM) would not be performed thus leaving stranded those objects from the since-missing product [library] :-(


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.