View previous topic :: View next topic
|
Author |
Message |
DB2 Guy
New User
Joined: 28 Oct 2008 Posts: 98 Location: Cubicle
|
|
|
|
Hi,
I need to copy one GDG-Base (GDG-Base-1) to another GDG-Base. No need to copy the generations from GDG-Base-1 to new Base.
Looked at these threads:
ibmmainframes.com/about32454.html
ibmmainframes.com/about32454.html
www.ibmmainframes.com/post-267682.html
www.ibmmainframes.com/viewtopic.php?t=54012&sid=4f6b4665ae3a762c2741a5d22bbcebe0
ibmmainframes.com/viewtopic.php?t=50364
And tried this Job:
Code: |
//COPY111 EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
COPY DATASET(INCLUDE(HLQ.SOME.GDG)) -
REPLACEUNCONDITIONAL (HLQ1.SOME.GDG) -
CATALOG TGTGDS(ACTIVE) -
ALLDATA(*) ALLEXCP
/* |
however got an error, shown below:
Code: |
PAGE 0001 5695-DF175 DFSMSDSS V1R11.0 DATA SET SERVICES 2011.132 08:38
COPY DATASET(INCLUDE(HLQ.SOME.GDG)) -
REPLACEUNCONDITIONAL (HLQ1.SOME.GDG) -
CATALOG TGTGDS(ACTIVE) -
ALLDATA(*) ALLEXCP
ADR101I (R/I)-RI01 (01), TASKID 001 HAS BEEN ASSIGNED TO COMMAND 'COPY '
ADR109I (R/I)-RI01 (01), 2011.132 08:38:56 INITIAL SCAN OF USER CONTROL STATEMEN
ADR124E (001)-RI01 (02), DELIMITER '(' IS NOT PROPERLY PRECEDED BY A CONSTANT OR
ADR131E (001)-RI03 (01), ABOVE TEXT BYPASSED UNTIL NEXT COMMAND
ADR017E (001)-CLTSK(01), 2011.132 08:38:56 TASK NOT SCHEDULED DUE TO ERROR. TASK
ADR012I (SCH)-DSSU (01), 2011.132 08:38:56 DFSMSDSS PROCESSING COMPLETE. HIGHEST
SYNTAX
TASK 001 |
Also used:
Code: |
COPY DATASET(INCLUDE(HLQ.SOME.GDG)) -
RENAMEUNCONDITIONAL((HLQ1.SOME.GDG)) -
REPLACEUNCONDITIONAL CATALOG TGTGDS(ACTIVE) -
ALLDATA(*) ALLEXCP |
But it also ends in error:
Code: |
ADR101I (R/I)-RI01 (01), TASKID 001 HAS BEEN ASSIGNED TO COMMAND 'COPY '
ADR109I (R/I)-RI01 (01), 2011.132 08:03:14 INITIAL SCAN OF USER CONTROL STATEMEN
ADR141E (001)-RI03 (03), ERROR IN DATA SET NAME BCST.FIRST.GDG
ADR017E (001)-CLTSK(01), 2011.132 08:03:14 TASK NOT SCHEDULED DUE TO ERROR. TASK
ADR012I (SCH)-DSSU (01), 2011.132 08:03:14 DFSMSDSS PROCESSING COMPLETE. HIGHEST
SYNTAX
TASK 001 |
Looked in to the manuals for ADRDSSU, but was not exactly sure - what to look for...
Can someone please assist me in this. |
|
Back to top |
|
 |
expat
Global Moderator

Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Can't do it with Dfdss (ADRDSSU). |
|
Back to top |
|
 |
DB2 Guy
New User
Joined: 28 Oct 2008 Posts: 98 Location: Cubicle
|
|
|
|
I see - so I picked up a wrong tool...so is there some other way round for this? |
|
Back to top |
|
 |
Akatsukami
Global Moderator

Joined: 03 Oct 2009 Posts: 1787 Location: Bloomington, IL
|
|
|
|
A GDG base entry has so little information in it that it's difficult to imagine what you are trying to accomplish. In copying one base to another, what information do you expect to be copied? |
|
Back to top |
|
 |
DB2 Guy
New User
Joined: 28 Oct 2008 Posts: 98 Location: Cubicle
|
|
|
|
Nothing. They are creating a new LPAR for this they need to copy some GDGs from existing LPAR to another.
For now, I used an IDCAMS job with around 100 steps, each defining a new GDG - but the short coming is, you have to run the LISTCAT for the existign GDGs to see teh attibutes for new GDGs. I know there is more work of this nature coming my way, so was thinking if I can eliminate manual stuff of checking the the attibutes. |
|
Back to top |
|
 |
Akatsukami
Global Moderator

Joined: 03 Oct 2009 Posts: 1787 Location: Bloomington, IL
|
|
|
|
So, do you have (and are authorized to use) Rexx in the source environment? Do you have Open Software's REXXTOOLS package? Are the source and target LPARs JES2 or JES3? |
|
Back to top |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10896 Location: italy
|
|
Back to top |
|
 |
DB2 Guy
New User
Joined: 28 Oct 2008 Posts: 98 Location: Cubicle
|
|
|
|
Akatsukami wrote: |
So, do you have (and are authorized to use) Rexx in the source environment? Do you have Open Software's REXXTOOLS package? |
REXX I can use, in the source environment though, have not tried the open source REXX ever at this shop.
Quote: |
Are the source and target LPARs JES2 or JES3? |
They are JES2.
Well, I'm an End-user, an appliction Developer - so do not have too much rights to choose the tools. And, at times, I wonder -- are the ones in charge, really have the mindset they need for such tasks! Well, to start with - when I asked my lead - do you want me to create the Model DSCB as well for these newly created GDGs, though I know - the new LPAR is going to be SMS managed, however, I know they are going to use , possibly, some non-SMSed managed volumes as well..so tell me please.
She: DCB is not needed.
Me: I said, DSCB Model for GDG not DCB.
She: A long pose...
Today: She is still not talking to me. |
|
Back to top |
|
 |
nevilh
Active User
Joined: 01 Sep 2006 Posts: 262
|
|
|
|
GDG base is not a datset as such it is just a catalog entry and as such cannot be copied. There is a good chance that lying around your system somewhere there is an IBM supplied program called MCNVTCAT this can take the output from a LISTC command and rebuild the DEFINE statements . In the past sysprogs used this program to rebuild a Master Catalog. The program will create
members in a PDS one of which will be called GDG, this will contain all the statements you require. Be aware that if this program runs on a a version of z/OS later than 1.7 the output should be carefully checked as LISTC changed with 1.8 |
|
Back to top |
|
 |
dbzTHEdinosauer
Global Moderator

Joined: 20 Oct 2006 Posts: 6965 Location: porcelain throne
|
|
Back to top |
|
 |
expat
Global Moderator

Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Click HERE and look at some code that will get the attributes of any given GDG bases.
You can then tailor the output to produce the GDG define statements to be processed on the other LPAR. |
|
Back to top |
|
 |
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 594 Location: London
|
|
|
|
Check if they have FDR, the FDREPORT program can generate define GDG cards based on your existing GDG's attributes:
e.g.
//GDGPUNCH EXEC PGM=FDREPORT
//SYSOUT DD SYSOUT=0
//SYSUDUMP DD SYSOUT=0
//SYSPRINT DD SYSOUT=0
//SYSPUNCH DD DSN=YOUR.PUNCH.FILE,DISP=(,CATLG),
// SPACE=(TRK,(5,5),RLSE)
//ABRMAP DD DSN=&&LIST,DISP=(,PASS),
// SPACE=(TRK,(15,15),RLSE)
//ABRSUM DD SYSOUT=0
//SORTLIB DD DSN=SYS1.SORTLIB,DISP=SHR
//SYSUT3 DD DSN=&&TEMP1,UNIT=SYSDA,
// DISP=(,PASS),SPACE=(CYL,(25,25))
//SYSIN DD *
REPORT FIELD=(GDGBASE,GDGLIMIT,GDGFLAGS)
XS XDSN=HLQ1.**
XS XDSN=HLQ2.**
SORT FIELD=(GDGBASE)
PUNCH FDRLIB=MASK
PRINT DATATYPE=CATALOG,RPTYPE=SELPCH,
ENABLE=(FASTPATH,GDGBASEONLY,ALLFILTER)
//MASK DD *
DEF GDG(NAME(<GDGBASE>) LIM(<GDGLIMIT>) <GDGFLAGS>
//* |
|
Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Quote: |
Today: She is still not talking to me. |
Wish this worked several of the places i've been.
Many of these darlin's with delusions of adequacy yammer on and on and on. . .
d |
|
Back to top |
|
 |
DB2 Guy
New User
Joined: 28 Oct 2008 Posts: 98 Location: Cubicle
|
|
|
|
nevilh wrote: |
GDG base is not a datset as such it is just a catalog entry and as such cannot be copied. There is a good chance that lying around your system somewhere there is an IBM supplied program called MCNVTCAT this can take the output from a LISTC command and rebuild the DEFINE statements . In the past sysprogs used this program to rebuild a Master Catalog. The program will create
members in a PDS one of which will be called GDG, this will contain all the statements you require. Be aware that if this program runs on a a version of z/OS later than 1.7 the output should be carefully checked as LISTC changed with 1.8 |
Thanks nevilh.
Thanks for coining out the word "MCNVTCAT", I had been reading about this since the day you put your message here. However, not having much time on my hands to do lot of reading but I won't leave it. Looks like, it'll give me what I'm looking for.
Thanks 'gain and have a good one,  |
|
Back to top |
|
 |
DB2 Guy
New User
Joined: 28 Oct 2008 Posts: 98 Location: Cubicle
|
|
|
|
Thank You Dick, trying my hands on creating a Job which will do what i need. If I get successful, will post back. Thanks for the link.
Take care, |
|
Back to top |
|
 |
DB2 Guy
New User
Joined: 28 Oct 2008 Posts: 98 Location: Cubicle
|
|
|
|
expat wrote: |
Click HERE and look at some code that will get the attributes of any given GDG bases.
You can then tailor the output to produce the GDG define statements to be processed on the other LPAR. |
Thanks expat. I'm not good with REXX but has kept your code for reference. To do the same thing, actually, used a combination of LISTCAT and Sort, shown below:
Code: |
//S1 EXEC PGM=IKJEFT01
//SYSTSPRT DD DSN=&&L,
// DISP=(,PASS),
// SPACE=(CYL,(1,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=0)
//SYSTSIN DD *
LISTCAT ENT('HLQ.MLQ.LLQ.GDG') ALL
LISTCAT ENT('HLQ1.MLQ1.LLQ1.GDG1') ALL
//*
//S2 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=&&L,DISP=(OLD,PASS)
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
INCLUDE COND=(1,8,CH,EQ,C'GDG BASE',OR,
8,5,CH,EQ,C'LIMIT')
INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,8,CH,EQ,C'GDG BASE'),
PUSH=(65:17,36),RECORDS=2)
OUTFIL INCLUDE=(8,5,CH,EQ,C'LIMIT'),
BUILD=(65,36,C' HAS A LIMIT OF: ',
17,15,ZD,M11,LENGTH=3,60:37,22)
/*
//* |
SORTOUT:
Code: |
IQQ000.BONE.EP4.DUFLOG HAS A LIMIT OF: 015 NOSCRATCH NOEMP
IQQ000.BONE.EP4.REPOSIT.TABLE HAS A LIMIT OF: 005 NOSCRATCH NOEMP |
|
|
Back to top |
|
 |
|
|