IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How do I create an alias entry for an existing load module ?


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Stefan

Active User


Joined: 12 Jan 2006
Posts: 110
Location: Germany

PostPosted: Mon Dec 10, 2012 4:06 pm
Reply with quote

I'm totally lost after browsing through numerous manuals and neither found any similar post on this board or elsewhere in the infinite vastness of cyberspace.
Maybe it's because it's monday. icon_wink.gif

Could somebody explain to me how I create an additional alias entry to an existing load module?
I don't want to customize the compile/link procedure.

The background is that we use a delivery mechanism for mainframe software which uses Connect:Direct.
The system guy for this tool is not able to configure Connect:Direct in such a way that alias entries in PDS load libraries are copied togethter with the original entries.
They simply get lost!
So I want to send the receiving site administrators a smart three-liner JCL to create those aliases after receiving the library.

When playing around with the TSO RENAME command and its ALIAS parameter, I achieved creating the alias entry, but the program was not properly loaded when referenced by its alias name. In addition the ISPF statistics got corrupted. So obviously this TSO command is not suitable for load modules.

Any ideas on this?
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Mon Dec 10, 2012 4:18 pm
Reply with quote

For a loadmodule the ALIASing is done by the linkedit/binder. This can be done seperately from the original linkedit. Note: ALIASes done in this way have to be done again each time the original is linkedited.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Mon Dec 10, 2012 4:25 pm
Reply with quote

unfortunately no three liner for it

IIRC the only way to have a proper ALIAS for a LOAD module is
only at binder time

but also too often simply rebinding an existing load module will not be enough

iebcopy with the proper parameters will preserve the primary-alias relations

so most probably the safe way is to
iebcopy the load modules to a PS
transfer the PS
iebcopy back
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1306
Location: Vilnius, Lithuania

PostPosted: Mon Dec 10, 2012 4:38 pm
Reply with quote

You do not have the option to send them in XMIT format?
Back to top
View user's profile Send private message
Stefan

Active User


Joined: 12 Jan 2006
Posts: 110
Location: Germany

PostPosted: Mon Dec 10, 2012 5:50 pm
Reply with quote

Bill Woodger wrote:
This can be done seperately from the original linkedit.

This sounds as if its possible to run a separate job step only to re-create the lost alias entries. So I tried now for the last few hours to get a IEWL job running, but whatever I tried did fail. The last experience was having a rc=0 but resulting in a member name of "tempnam0" as a separate member, not as an alias. Maybe I completely misunderstood the was the binder works.
Code:
//LKED   EXEC PGM=IEWL,REGION=2M,                     
//            PARM='AMODE(31),RMODE(ANY),LIST,XREF,LET'
//SYSLIB   DD DISP=SHR,DSN=INT1098.LOAD               
//SYSLMOD  DD DISP=SHR,DSN=INT1098.LOAD               
//SYSLIN   DD DISP=SHR,DSN=INT1098.LOAD(PGM1)         
//SYSPRINT DD SYSOUT=*                                 
//SYSIN    DD *                                       
  INCLUDE SYSLIB(PGM1)                                 
  ENTRY PGM1                                           
  NAME PGM1(R)                                         
  ALIAS PGM2                                           
/*
This job resulted in the following members:
Code:
LIBRARY           INT1098.LOAD                              Row 00001 of 00002
Command ===>                                                  Scroll ===> DATA
   Name     Prompt         Alias-of      Size       TTR      AC    AM     RM 
_ PGM1                                 00001530    00082A    00     31    ANY
_ TEMPNAM0                             00001530    000A12    00     31    ANY
  **End**

What should I have done instead?

To Prino: Sending the PDS in XMIT format is considered as a last resource. The existing delivery procedures easily allow adding a new type as for example a bind job to be executed. It would be much more complicated when we would change the processing of an existing dataset type, e.g. a load library.
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1193
Location: Dublin, Ireland

PostPosted: Mon Dec 10, 2012 6:14 pm
Reply with quote

Your JCL -

Code:
//LKED   EXEC PGM=IEWL,REGION=2M,                     
//            PARM='AMODE(31),RMODE(ANY),LIST,XREF,LET'
//SYSLIB   DD DISP=SHR,DSN=INT1098.LOAD               
//SYSLMOD  DD DISP=SHR,DSN=INT1098.LOAD               
//SYSLIN   DD DISP=SHR,DSN=INT1098.LOAD(PGM1)         
//SYSPRINT DD SYSOUT=*                                 
//SYSIN    DD *                                       
  INCLUDE SYSLIB(PGM1)                                 
  ENTRY PGM1                                           
  NAME PGM1(R)                                         
  ALIAS PGM2                                           
/*


The input to your IEWL is SYSLIN, so you should have :

Code:
//LKED   EXEC PGM=IEWL,REGION=2M,                     
//            PARM='AMODE(31),RMODE(ANY),LIST,XREF,LET'
//SYSLIB   DD DISP=SHR,DSN=INT1098.LOAD               
//SYSLMOD  DD DISP=SHR,DSN=INT1098.LOAD         
//SYSPRINT DD SYSOUT=*                                 
//SYSLIN    DD *                                       
  INCLUDE SYSLIB(PGM1)                                 
  ENTRY PGM1                                           
  NAME PGM1(R)                                         
  ALIAS PGM2                                           

/*


Garry
Back to top
View user's profile Send private message
Stefan

Active User


Joined: 12 Jan 2006
Posts: 110
Location: Germany

PostPosted: Tue Dec 11, 2012 2:03 pm
Reply with quote

Many thanks for all your replies.
The following JCL did the trick:
Code:
//L1   EXEC PGM=IEWL,PARM='LIST,LET'
//INFILE        DD DISP=SHR,DSN=Input.dataset                 
//SYSLMOD  DD DISP=SHR,DNS=Output.dataset                   
//SYSPRINT  DD SYSOUT=*                                   
//SYSLIN      DD *                                           
   INCLUDE INFILE(Modulename)                          Input module               
  ALIAS COMP                                                   Alias you want

  NAME COMPRESS(R)                                        Main module name

To Enrico & Prino: Converting the PDS to PS or to XMIT format is definitely a good approach. But it is very easy with the existing delivery processes to additionally send yet another job than to change the installation procedure for an existing type (load modules). But in the long term it might be the preferred way if the Connect:Direct guy won't get it fixed.
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Tue Dec 11, 2012 2:36 pm
Reply with quote

Stefan,

your JCL will result in a load module with an alias in SYSLMOD. INFILE will NOT be affected. Is that what you want?

I always for creating an alias use :

Code:

//XIBFALIA JOB 01,MSGCLASS=1,CLASS=A,NOTIFY=XIBF                        00010042
//LINK     EXEC  PGM=IEWL,PARM='XREF,LIST'                              00260045
//SYSLMOD  DD  DSN=XIBF.AMBAI.LOAD,DISP=SHR                             00270045
//SYSUT1   DD  UNIT=SYSDA,SPACE=(1024,(100,10))                         00280045
//SYSPRINT DD  SYSOUT=*                                                 00290045
//SYSLIN   DD  *                                                        00300045
 INCLUDE SYSLMOD(MCC87U05)                                              00310050
 ALIAS MCC87U00                                                         00320047
 NAME MCC87U05(R)                                                       00330050
Back to top
View user's profile Send private message
Stefan

Active User


Joined: 12 Jan 2006
Posts: 110
Location: Germany

PostPosted: Tue Dec 11, 2012 3:45 pm
Reply with quote

Thanks, Peter, for the supplement.
I'll give it a try.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Load new table with Old unload - DB2 DB2 6
No new posts How to load to DB2 with column level ... DB2 6
No new posts How to create a list of SAR jobs with... CA Products 3
No new posts REASON 00D70014 in load utility DB2 6
No new posts Adding first / last acct numerber to ... DFSORT/ICETOOL 7
Search our Forums:

Back to Top