MetaPrograms - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

MetaPrograms

Description:

BLDJOB DD DSN=Z0.MSH.DSN.BLDJOB,DISP=(NEW,CATLG), // UNIT=SOFT,SPACE=(TRK,(10,10),RLSE) ... SYSUT2 DD SYSOUT=(A,INTRDR),DCB=BLKSIZE=80 //SYSIN DD DUMMY ... – PowerPoint PPT presentation

Number of Views:124
Avg rating:3.0/5.0
Slides: 11
Provided by: mshi
Category:
Tags: metaprograms | dd

less

Transcript and Presenter's Notes

Title: MetaPrograms


1
MetaPrograms
  • Using SAS to write JCL

2
MetaPrograms
  • Problem Statement Purdue Policy states Social
    Security Numbers are to be protected. Data
    stored in Roscoe members is not protected. Data
    stored in datasets is protected by Top Secret
    access granting mechanisms.

3
Metaprograms
  • Solution Move Roscoe datasets to mainframe
    datasets.
  • Problem Users cannot create permanent datasets.
  • Solution Create unique named RJE datasets and
    have a process that keeps the datasets active.

4
Metaprograms
  • Process
  • 1. User provided sample ROSCOPY (copy Roscoe data
    to a mainframe dataset).
  • 2. User and IT-I agreed to a naming standard for
    all these datasets.
  • 3. IT-I set up process to touch datasets weekly
    to keep them current, and be deleted.

5
Metaprograms
  • 4. IT-I runs job weekly to keep datasets
    current.
  • 5. Because the number and names of the datasets
    can change at the users will, a job is used to
    find and touch a varying number of datasets each
    time run (why it cant be preprogrammed).

6
Metaprograms
  • Demonstration
  • 1. Submit job.
  • 2. Notice second job appears with no further
    user input (its the job created by the
    Metaprogram).

7
Metaprograms
  • Code Listing --
  • //STEP01 EXEC DELETE
  • DELETE Z0.MSH.DSN.LIST
  • //STEP02 EXEC PGMLSTCAT
  • //HISTORY DD DUMMY,DCBBLKSIZE500
  • //PRINT DD DSNZ0.MSH.DSN.LIST,DISP(NEW,CATLG),
  • // UNITSOFT,SPACE(TRK,(20,20),RLSE),
  • // DCB(LRECL133,BLKSIZE23408,RECFMFB,DSORGP
    S)
  • //SYSOUT DD SYSOUT
  • //SYSUDUMP DD SYSOUT
  • //SORTWK01 DD UNITSYSDA,SPACE(TRK,(100,100))
  • //CARD DD
  • P2090005000005000560B DY10010Y2Y1 U NY
  • DZ5.RJE.xxxx.PROD.xxx._at_
  • DZ5.RJE.xxxx.SHARE._at_
  • //IDCAMSIN DD
  • LISTCAT LEVEL(Z5.RJE.xxxx.PROD.xxx) ALL
  • LISTCAT LEVEL(Z5.RJE.xxxx.SHARE) ALL

8
Metaprograms
  • //STEP03 EXEC DELETE
  • DELETE Z0.MSH.DSN.BLDJOB
  • //STEP04 EXEC SASD,OUT''
  • //SASLOG DD SYSOUT
  • //SASLIST DD SYSOUT
  • //DSNLIST DD DSNZ0.MSH.DSN.LIST,DISPSHR
  • //BLDJOB DD DSNZ0.MSH.DSN.BLDJOB,DISP(NEW,CATLG
    ),
  • // UNITSOFT,SPACE(TRK,(10,10),RLSE),
  • // DCB(LRECL80,BLKSIZE23440,RECFMFB,DSORGPS
    )
  • DATA DSN
  • INFILE DSNLIST
  • INPUT _at_2 DSN1 CHAR16.
  • _at_2 DSN CHAR43.
  • IF DSN1 'Z5.RJE.PROD' OR
  • DSN1 'Z5.RJE.SHAR'
  • PROC SORT
  • BY DSN
  • PROC PRINT
  • VAR DSN

9
Metaprograms
  • DATA _NULL_
  • SET DSN
  • FILE BLDJOB
  • IF _N_ 1 THEN DO
  • PUT _at_1 "//DPSP0MSH JOB DPSP060N,'MIKE
    HINES',CLASSG,"
  • PUT _at_1 '// MSGCLASSG'
  • PUT _at_1 '/JOBPARM ROOMTABL'
  • PUT _at_1 '//TOUCH PROC DSN'
  • PUT _at_1 '//TOUCH EXEC PGMSELECT'
  • PUT _at_1 '//SYSPRINT DD SYSOUT'
  • PUT _at_1 '//SYSUT1 DD DSNDSN,DISPSHR'
  • PUT _at_1 '//SYSUT2 DD DUMMY'
  • PUT _at_1 '//SYSIN DD DSNSYS1.CARDLIB(TOUCHIT),D
    ISPSHR'
  • PUT _at_1 '//TOUCH PEND'
  • END
  • PUT _at_1 "//STEP"
  • _at_7 _N_ Z2.0
  • _at_10 'EXEC TOUCH,DSN'
  • _at_25 DSN

10
Metaprograms
  • The end.
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com