How to create Tape file with Retention Period of 99 years



Help for IBM's record-oriented filesystem VSAM, ESDS, KSDS, RRDS, LDS and Storage management Subsystems

Re: How to create Tape file with Retention Period of 99 year

Postby sganja » Thu Feb 07, 2013 7:21 am

Till now we created tape files with 5,10 and maximum 20 years using RETPD directly in jcl while creating tape
We never came up to create for 99 years.

I tried with Retpd, but its supporting upto 24 years only.
sganja
 
Posts: 13
Joined: Wed Feb 06, 2013 8:58 pm
Has thanked: 1 time
Been thanked: 0 time

Re: How to create Tape file with Retention Period of 99 year

Postby Akatsukami » Thu Feb 07, 2013 3:39 pm

Yes, as the fine manual tells you, the maximum RETPD is 9,999 days, which is 27 years and a few months.

Post sample JCL here...in Code tags. I'll look at it when I get into my office in a few hours.
"You have sat too long for any good you have been doing lately ... Depart, I say; and let us have done with you. In the name of God, go!" -- what I say to a junior programmer at least once a day
User avatar
Akatsukami
Global moderator
 
Posts: 1058
Joined: Sat Oct 16, 2010 2:31 am
Location: Bloomington, IL
Has thanked: 6 times
Been thanked: 51 times

Re: How to create Tape file with Retention Period of 99 year

Postby sganja » Thu Feb 07, 2013 3:53 pm

Step to copy flat file to tape file
//JS001  EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  DUMMY
//SYSUT1   DD  DSN=XYZ.TEMP.FILE.COPY,DISP=SHR
//SYSUT2   DD  DSN=XYZ.TAPE.TEMP.FILE,                 
//             DISP=(NEW,CATLG,DELETE),
//             RECFM=VB,
//             LRECL=10144,
//             UNIT=TAPEC,
//             EXPDT=99001


Code'd
sganja
 
Posts: 13
Joined: Wed Feb 06, 2013 8:58 pm
Has thanked: 1 time
Been thanked: 0 time

Re: How to create Tape file with Retention Period of 99 year

Postby BillyBoyo » Thu Feb 07, 2013 3:55 pm

Can't you set up something in your Scheduler to uncatalog/recatalog it in 27 years time, twice, and then once more for the last little bit?

OK, humour(?) aside. I know it is the requirement, but why is it the requirement. The tapes are not going to be "released back into the scratch pool" after 99 years. I can see no reason for them not to be permanent. Unless your client's system runs for the next 99 years, whether it is coded "exactly" or not will not even matter for any specious reason your client has.

Keep forever. Use a professional storage facility. Take the volume out of the main tape catalogue.

Or tell us the reason for the requirement.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times

Re: How to create Tape file with Retention Period of 99 year

Postby Akatsukami » Thu Feb 07, 2013 9:43 pm

sganja wrote:Step to copy flat file to tape file
//JS001 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DSN=XYZ.TEMP.FILE.COPY,DISP=SHR
//SYSUT2 DD DSN=XYZ.TAPE.TEMP.FILE,
// DISP=(NEW,CATLG,DELETE),
// RECFM=VB,
// LRECL=10144,
// UNIT=TAPEC,
// EXPDT=99001

Couldn't be bothered to post that in Code tags although I'd explicitly asked you to, eh? I guess you're not serious about wanting help.
"You have sat too long for any good you have been doing lately ... Depart, I say; and let us have done with you. In the name of God, go!" -- what I say to a junior programmer at least once a day
User avatar
Akatsukami
Global moderator
 
Posts: 1058
Joined: Sat Oct 16, 2010 2:31 am
Location: Bloomington, IL
Has thanked: 6 times
Been thanked: 51 times

Re: How to create Tape file with Retention Period of 99 year

Postby sganja » Thu Feb 07, 2013 10:03 pm

Seriously i didnt get what post in the code tags means thats the reason i pasted the code directly.

Whats the difference in pasting with codes tags and no code tags.
sganja
 
Posts: 13
Joined: Wed Feb 06, 2013 8:58 pm
Has thanked: 1 time
Been thanked: 0 time

Re: How to create Tape file with Retention Period of 99 year

Postby steve-myers » Thu Feb 07, 2013 10:20 pm

Without code tags -

//JS001 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DSN=XYZ.TEMP.FILE.COPY,DISP=SHR
//SYSUT2 DD DSN=XYZ.TAPE.TEMP.FILE,
// DISP=(NEW,CATLG,DELETE),
// RECFM=VB,
// LRECL=10144,
// UNIT=TAPEC,
// EXPDT=99001

With code tags -
//JS001  EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  DUMMY
//SYSUT1   DD  DSN=XYZ.TEMP.FILE.COPY,DISP=SHR
//SYSUT2   DD  DSN=XYZ.TAPE.TEMP.FILE,
//             DISP=(NEW,CATLG,DELETE),
//             RECFM=VB,
//             LRECL=10144,
//             UNIT=TAPEC,
//             EXPDT=99001
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: How to create Tape file with Retention Period of 99 year

Postby Akatsukami » Thu Feb 07, 2013 11:38 pm

This Rexx script will take a job and replace the parameter EXPDT=99001 with EXPDT=later, where later is 99 years to the day from when the script is run. The job is then submitted and the modified JCL erased; the original JCL is retained. The JCL PDS and member are supplied as parameters. No ISPF services or SQL are used.

/* Rexx */                                                             
/*********************************************************************/
/*                                                                   */
/* Written Heisei 25.02.07 by Akatsukami-sama                        */
/*                                                                   */
/*********************************************************************/
  trace o                                                               
  arg inlib inmbr .                                                     
  first    = 1                                                         
  sig      = x2c("E69989A3A3859540C88589A2858940F2F54BF0F24BF0F740")   
  sig      = sig || x2c("82A840C19281A3A2A49281948960A2819481")         
  sug      = x2c("61615C40C481A3854081A2A289879585844082A840C19281")   
  sug      = sug || x2c("A3A2A49281948960A28194817DA240C5A7838593")     
  sug      = sug || x2c("938595A340C1A4A396858489A39699")               
  indsn    = inlib"("inmbr")"                                           
  later    = substr(date("Standard"),1,4) || '/' ||,                   
             substr(date("Julian"),3)                                   
  outdsn   = 'T' || time("Seconds")                                     
  "ALLOC FI(DO) DA('"indsn"') SHR REU"                                 
  "ALLOC FI(FO) DA ("outdsn") NEW REU SPACE(1,1) TRACKS LRECL(80)",     
  "      RECFM(F B)"                                                   
  "EXECIO * DISKR DO (STEM LINE. FINIS"                                 
                                                                       
  do i = 1 to line.0                                                   
    parse var line.i token1 op .                                       
                                                                       
    if ((op="EXEC") & (substr(token1,1,2)="//") &,                     
        (substr(token1,3,1)¬='*') & (first=1)) then do                 
      first = 0                                                         
      queue "//***"                                                     
      queue sug                                                         
      queue "//***"                                                     
      "EXECIO 3 DISKW FO"                                               
    end                                                                 
                                                                       
    p = pos("EXPDT=99001",line.i)                                     
                                                                       
    if (p¬=0) then                                                     
      line.i = substr(line.i,1,p+5) ||,                               
               later ||,                                               
               substr(line.i,p+11)                                     
                                                                       
    queue line.i                                                       
    "EXECIO 1 DISKW FO"                                               
  end                                                                 
                                                                       
  "EXECIO 0 DISKW FO (FINIS"                                           
  "SUBMIT" outdsn                                                     
  "FREE FI(DO)"                                                       
  "FREE FI(FO)"                                                       
  "DELETE" outdsn                                                     
"You have sat too long for any good you have been doing lately ... Depart, I say; and let us have done with you. In the name of God, go!" -- what I say to a junior programmer at least once a day
User avatar
Akatsukami
Global moderator
 
Posts: 1058
Joined: Sat Oct 16, 2010 2:31 am
Location: Bloomington, IL
Has thanked: 6 times
Been thanked: 51 times

Re: How to create Tape file with Retention Period of 99 year

Postby Blackthorn » Tue Feb 12, 2013 3:25 pm

What release of z/OS are you on?

I believe in 1.13 the maximum value for RETPD is increased to 93,000 which is approximately 254 years.
Blackthorn
 
Posts: 130
Joined: Tue Feb 01, 2011 7:12 pm
Has thanked: 1 time
Been thanked: 9 times

Re: How to create Tape file with Retention Period of 99 year

Postby steve-myers » Tue Feb 12, 2013 5:45 pm

Blackthorn wrote:What release of z/OS are you on?

I believe in 1.13 the maximum value for RETPD is increased to 93,000 which is approximately 254 years.
I didn't know that! I then went to the z/OS 1.13 JCL Reference manual and confirmed it. There are some interesting other comments there one should read. Dynamic allocation allows the longer retention period, too.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

PreviousNext

Return to VSAM/SMS

 


  • Related topics
    Replies
    Views
    Last post