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.
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.
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.
//LKED EXEC PGM=IEWL,REGION=2M,
//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 *
This job resulted in the following members:
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
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.
Many thanks for all your replies.
The following JCL did the trick:
//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.