View previous topic :: View next topic
|
Author |
Message |
Stefan
Active User
Joined: 12 Jan 2006 Posts: 110 Location: Germany
|
|
|
|
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.
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 |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
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 |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
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 |
|
|
prino
Senior Member
Joined: 07 Feb 2009 Posts: 1306 Location: Vilnius, Lithuania
|
|
|
|
You do not have the option to send them in XMIT format? |
|
Back to top |
|
|
Stefan
Active User
Joined: 12 Jan 2006 Posts: 110 Location: Germany
|
|
|
|
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 |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1193 Location: Dublin, Ireland
|
|
|
|
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 |
|
|
Stefan
Active User
Joined: 12 Jan 2006 Posts: 110 Location: Germany
|
|
|
|
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 |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
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 |
|
|
Stefan
Active User
Joined: 12 Jan 2006 Posts: 110 Location: Germany
|
|
|
|
Thanks, Peter, for the supplement.
I'll give it a try. |
|
Back to top |
|
|
|