Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
Posted: Wed Mar 26, 2003 2:54 pm Post subject: Copying a member from concatenated PDS
I am trying to set up a compile proc that will pull the source from either a PDS containing modified code or from the default library. It will only exist in the modified code library if we have changed it. The SYSIN for the compile does not allow for concatenation so my thinking is that I use a utility to copy the member to a temporary dataset.
I have tried IEBCOPY but it does not allow for concatenation either.
Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Wed Mar 26, 2003 3:43 pm Post subject:
Bithead,
If I understand your problem correctly , all you want is pass the new souce code (if it is modified) or else use the existing code.
I think an override from the JCL will quite enough. To explain this clearly let us take you have a COMPILE proc as shown below.Here PDS.SOURCE is your defualt pds which contains original source code.
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
Posted: Wed Mar 26, 2003 3:48 pm Post subject:
Kolusu,
You are correct in your assumption. The problem is that there are many programs and I need to be assured that I always pick the modified code if it exists so I would prefer not to have to change all the compile jobs.
Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Wed Mar 26, 2003 5:00 pm Post subject:
Bithead,
Here is an approach you can try so that your compile will always pick the modified source code if it exists.A brief explanation of the job.
Step10 will extract all the member names from the default source lib
step20 will extract all the member names from the modified source lib.
We take these 2 inputs and porcess thru DFSORT/ICETOOL( change the pgm name to SYNCTOOL if you have syncsort at your shop.
The first copy operator takes in the member name file of default source lib and strip off just the member names( the LISTDSI function adds some grabage along with the member names) and add a constant of 01 .
The second copy operator takes in the member name file of modified source lib and strip off just the member names( the LISTDSI function adds some grabage along with the member names) and add a constant of 01 .
Now the sort operator sorts on the membername and sums on the constants,so any matching members will have a sum of 2. For these records we create compile cards as follows
FILE OUT1:
FILE OUT2 will have all the members which are not modified. you can remove this file if you really dont need to complile the members which are not modified.
Joined: 03 Dec 2002 Posts: 579 Topics: 1 Location: Iowa, USA
Posted: Thu Mar 27, 2003 9:22 am Post subject:
If you are generating a job from an ISPF skel and can insert control cards with variable data, you could copy only the desired member rather than the whole PDS.
Code:
MERGE COPY OUTDD=MERGED,INDD=DEFAULT
S M=ASM
MERGE2 COPY OUTDD=MERGED,INDD=((MODIFIED,R))
S M=ASM
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
Posted: Thu Mar 27, 2003 1:27 pm Post subject:
Hi All. I have decided to go with Premkumar's solution. This allows me to compile or assemble groups of or individual programs and pick up either the modified code or the default code. When the modified code is fully tested, it can be move to the default code library without impacting the JCL. Thnaks to all who answered.
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
Posted: Thu Mar 27, 2003 9:42 pm Post subject:
That seems like quite a bit of overhead having to keep 3 potentially very large data sets. Wouldn't it be easier to just copy the required member to a sequential data set for SYSIN and keep the concatenations on the SYSLIB DD?
Joined: 03 Jan 2003 Posts: 550 Topics: 23 Location: Michigan, USA
Posted: Fri Mar 28, 2003 8:56 am Post subject:
This is in effect what I am doing. I have chaged the compile Proc so that I can run any compile against it without having to change anything. The maintenance library is usually empty except for vendor fixes which I need to apply every month. The 3rd library is a temporary dataset.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum