Hi, Chuck:

Thanks for the detailed and very thorough answers. :-) That clears up several "mysteries"... (at least, for me.) ;-)

All the best,

Mark S. Waterbury

> On 1/10/2014 3:41 PM, CRPence wrote:
On 10-Jan-2014 11:51 -0800, Mark S Waterbury wrote:
On 1/10/2014 2:28 PM, CRPence wrote:
As long as the secondary ASPs are not the /old-style/ that
prohibit libraries <<SNIP>>
Could you please clarify the "/old style/" remarks?

I think on IBM System/38 in CPF, only certain object types could be
placed in user ASPs (1-32). Can you recall what in release of CPF
user ASPs were first introduced?

But, as far as I can recall, OS/400 has always supported the
possibility to create libraries in user ASPs, at least since V1R2,
which is when I first started using OS/400.

I am unsure of the releases for secondary ASP support; never knew for
S/38, and for OS/400 it has been too long :-) But the link included
further below, suggests v1r3 was the release for OS/400 whereby
new-style arrived, allowing libraries.

The first /item/ created into a traditional secondary [user] ASP
[i.e. not /independent/ ASP, thus 2-32] determines the /style/ of the
ASP. If that first /item/ is /data/ vs a /library-object/, then the ASP
is henceforth restricted to storing only data vs storing objects; i.e.
the Create Library (CRTLIB) request will fail with the msg CPF2197 that
will imply the specified ASP() already has [data for] a Save File or a
Journal Receiver. IIRC both the *JRNRCV and the device *FILE of
attribute SAVF are the _only_ type of /data/ for which that can be the
effect; i.e. both the Create Journal Reciver (CRTJRNRCV) and the Create
Save File (CRTSAVF) commands have an ASP() parameter [like CRTLIB],
which is irrespective of the qualified library-name into which the
object is created; i.e. the /object/ resides in the library on the ASP
of the *LIB object, whereas the /data/ for that object resides in the
_separate ASP_ as denoted by the specification on the Auxiliary Storage
Pool (ASP) parameter for that CRTxxx command.

And even if using a new-style user ASP, instead of the /old-style/,
various object types may not be created into a library object that
resides on the secondary user ASP; e.g. IIRC, both *DTADCT and *JOBQ are

FWiW, a reference with a similar explanation; found searching CPF2197:

The Check ASP object command is designed to assist you in determining
if any old style ASPs (auxiliary storage pools) exist. You must have
*ALLOBJ special authority to use CHKASPOBJ.

The old style of ASPs existed prior to Release V1R3. The old style only
allowed SAVF, JRN or JRNRCV objects to be placed into a user ASP even
though the library was in the system ASP. The ASP parameter had to be
used when the individual object type was created into the user ASP.

The new style ASP allows a library object and most object types to be
placed into a user ASP. The ASP parameter on CRTLIB must be used. Any
objects created into that library will automatically be in the ASP
specified on CRTLIB.

The system determines which style of ASP exists by which type of object
is first created into an empty ASP. There is no external indication of
which style is in existence. If a library is created first, it is the
new style of ASP. The system prevents mixing the new and old styles
within a single ASP. The only way to determine the type is to attempt to
create a library into the ASP. If it is successful, it is a new style
ASP or you have just specified it to be a new style. If the command
fails with the escape message CPF2197, it is an old style ASP.

The new style of ASPs offers more capability and easier recovery.
Therefore, you should migrate to use the new style ASPs.

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page