First, LIBR is a program, not a proc (VSE defaults to PGM, not PROC, on the 
EXEC statement).  LIBR is a VSE operating system component.  LIBR can be used 
to catalog, for example, an OBJ module in to a VSE library:

// EXEC LIBR,PARM='ACCESS SUBLIB=USER.PROD'
CATALOG DDAR04.OBJ REPLACE=YES                 
...object module goes here...
/+                                           
/*                                           
/&                                           

On the other hand, LNKEDT (the VSE linkage editor) is used to catalog an 
executable phase (VSE load module) to a VSE library:

// JOB LNKEDT
// LIBDEF PHASE,CATALOG=USER.PROD
// OPTION CATAL
 PHASE DDAR04,*
 INCLUDE DDAR04
// EXEC PGM=LNKEDT
/&

The lines between OPTION CATAL and EXEC LNKEDT are instructions to the linkage 
editor.  This instructs it to create phase named DDAR04 from DDAR04.OBJ found 
in the system library search chain (something that z/OS does not have).  The 
"LIBDEF PHASE,CATALOG=USER.PROD" JCL statement specifies the destination VSE 
library name, the the "OPTION CATAL" JCL statement instructs the linkage editor 
to catalog it's result to that library.

Is this the same "product library" as is LIBR?  Well, they are both part of 
VSE.  And for all I know (I am not a systems programmer) LIBR could be used 
"under the covers" by LNKEDT.
Anyway, as far as I know, these are the only two methods of placing a member in 
a VSE library.  Even an application program would, I assume, call LIBR or 
LNKEDT to place something in a VSE library.

Seems to me this standard of placing things in a library is a good thing.  YMMV.

Frank
-- 

Frank Swarbrick
Applications Architect - Mainframe Applications Development
FirstBank Data Corporation - Lakewood, CO  USA
P: 303-235-1403


On 5/21/2010 at 7:18 PM, in message <4bf730fe.6050...@ync.net>, Rick Fochtman
<rfocht...@ync.net> wrote:
> ----------------------------------<snip>---------------------------------
> 
>>I am not interested in it being in the load module (or program object), 
> though that may be useful for things other than what I am specifically 
> concerned about.  I am interested in it being in the directory (be it PDS or 
> PDSE).
>>
>>Here is my specific concern.  If a new module is to be implemented today 
> (though perhaps bind/linked prior to today and then copied in to the load 
> library today) I want to be able to verify for sure that it was done.  
> Sometimes our production migration process has failed in that the actual of 
> the load module to production was forgotten, or somehow failed, or something. 
>  In VSE I can do this:
>>
>>// EXEC LIBR
>>LISTD SUBLIB=USER.PROD                      
>>/*                                          
>>
>>And I get a nice report of the members in the USER.PROD VSE library, like 
> this:
>>
>>--------------------------------------------------------------------
>>DIRECTORY DISPLAY    SUBLIBRARY=USER.PROD           DATE: 2010-05-21
>>                                                    TIME: 18:41     
>>--------------------------------------------------------------------
>> M E M B E R      CREATION   LAST     BYTES    LIBR CONT SVA  A- R- 
>>NAME     TYPE     DATE      UPDATE   RECORDS   BLKS STOR ELIG MODE  
>>--------------------------------------------------------------------
>>ACCTCHEK PHASE    02-02-20 08-06-04  35984 B      37 YES  NO  31 ANY
>>ACCTNO   PHASE    08-07-31 09-02-26  21080 B      22 YES  NO  31 ANY
>>ACDSTAT1 PHASE    03-06-13   -  -    12344 B      13 YES  NO  31 ANY
>>ACDSTAT2 PHASE    03-06-13   -  -    54064 B      55 YES  NO  31 ANY
>>ACHCVT   PHASE    07-07-25 07-08-28  24688 B      25 YES  NO  31 ANY
>>
>>Is that not very useful?
>>  
>>
> --------------------------------------<unsnip>-------------------------------------
> Frank, what you're asking for is not unreasonable. Unfortunately, 
> directory entry data can vary from product and there are no set 
> standards beyond the first 12 bytes. For example, what product created 
> the members in this example? Does your LIBR proc use something from the 
> same "product family" to create this listing? Do all those dates get 
> appropriately updated when you move the member into USER.PROD? Is that 
> move done by another piece of this "Product family"? There are just too 
> many variables to be able to say that "This product or program will give 
> you a similar or equivalent listing." The high level of flexibility of 
> z/OS and its predecessors is in part due to this lack of concrete 
> standards. It's not always helpful for those of us that manage system 
> resources, etc., but it's part of the evolution, whether we like it or not.
> 
> Rick
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html

>>> 

The information contained in this electronic communication and any document 
attached hereto or transmitted herewith is confidential and intended for the 
exclusive use of the individual or entity named above.  If the reader of this 
message is not the intended recipient or the employee or agent responsible for 
delivering it to the intended recipient, you are hereby notified that any 
examination, use, dissemination, distribution or copying of this communication 
or any part thereof is strictly prohibited.  If you have received this 
communication in error, please immediately notify the sender by reply e-mail 
and destroy this communication.  Thank you.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to