×
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.
 
rick baird wrote:
I'm sure it's a missing ptf or something, but the strangest thing
just happened.
STRPDM   option 1, specified *SRC* for list of libraries that
have the letters SRC somewhere in them.  press enter.
  By convention, option 1 would be referred to by its command.  I 
believe that would be WRKLIBPDM, to denote that was the feature 
being utilized from the STRPDM menu.  In that manner no 
/navigational/ activity need be described, as it is much easier to 
just suggest that the following command string was issued:
   WRKLIBPDM LIB('*SRC*')
Libraries are listed.  many, but not all, of them have the
following behavior:
select option 12.  error - File  saved with STG(*FREE) specified.
 (note two spaces between File and saved - indicating a blank
parameter passed to message)
  Again, that is just an indication that WRKOBJPDM LIB(TheLib) was 
invoked.  I do not recall if the same /subset/ is implicit in an 
option 12, but if the subset were maintained, then simply described 
by the command string:
    WRKOBJPDM LIB(TheLib) OBJ('*SRC*')
  Do the direct invocations [vs from the PDM menu] for either 
OBJ(*ALL) or with a generic name specification exhibit the same problem?
option 5.  same thing.  pdm option EL (edtlibl).  same thing.
run ANY IBM option or PDM option.
 always the same:  File  saved with STG(*FREE) specified.
  I always disliked that the object validation phase which precedes 
the invocation [especially for user defined] of an option specified 
next to an object name.  I really do not care if PDM can access the 
object for an AJ [wrkactjob] request which has nothing to do with 
the object; i.e. no association other than chance location of the 
cursor, when I chose to issue that request.  However that validation 
is done according to design :-(
some libraries in that list work fine, but most don't.  If I
don't specify generic name selection in PDM option 1, there is no
problem.
funny strange eh?
  Not strange if indeed the objects in the lits are /suspended/.
  The PDM#### error condition that is being reported is 
[in]directly a response to the exception 2203 "Object suspended" 
error message MCH3403 which indicates that [effectively] the object 
was previously saved using STG(*FREE) as the message suggests.  How 
the object name replacement text is established by PDM may be 
dependent on whether the msgMCH3403 is signaled directly to PDM 
versus a CPF21## message from the list object feature [actually PDM 
uses its own list object function rather than the /librarian/ 
feature; probably any indirect message is the same or another 
PDM#### message].  Presumably a search for that message identifier 
as token, with an OR condition for that same token prefixed with msg 
[i.e. msgPDM####], would find an APAR describing the problem if it 
were known & documented in an APAR.
  Is the error condition correct, except its replacement text of 
blank?  That is, does DSPOBJD of any of the objects against which 
the [user defined] options are issued and for which the error 
suggests the unnamed object is /freed/ [aka suspended]?  FWiW a 
database *FILE can not truly be /suspended/, only any one or up to 
all of its members can have their data freed.
  Some object types can not actually be suspended.  It seems the 
*LIB either can, or that those objects are incorrectly being 
interpreted as having been suspended; again, see the DSPOBJD 
details.  If a library can be suspended, the fact that the PDM#### 
hard codes the word 'File' would suggest that it probably only 
intends to send that message from WRKOBJPDM and possibly in a poorly 
worded manner from WRKMBRPDM.  That would also explain why the 
/object/ name would not be set when using the WRKLIBPDM [i.e. list 
of library objects] since PDM tracks the /object/ and /library/ 
separately to reflect the hierarchy.  You could attempt the 
following invocation to review if at least the /object name/ appears 
correct in the message [replacement variable]:
    WRKOBJPDM OBJ('*SRC*') LIB(QSYS)
Regards, Chuck
As an Amazon Associate we earn from qualifying purchases.