#BEGINBUCKET XXCOPYOUTSAS
#/ ------------------------------------------------------------------
#BEGININSTANCEQUALIFIERS
#/ -------------------------------------------------
#/ For hotfixes, we have to process even if there is no
#/ XX content, because we ran SASEDTX to generate staged
#/ versions of all the configs and invoking scripts.
#IFEQ [HOTFIX] TRUE #THEN HOTFIX
#IFNOTEQ {MVS2BDSCODE} XX #THEN DOESNOTQUALIFY
#HOTFIX
#IFEQ [STAGEQUAL] .SL #THEN QUALIFIES
#IFNOT [STAGEQUAL] #THEN QUALIFIES
#IFEQ [HOTFIX] TRUE #THEN NEXT
#THEN QUALIFIES
#NEXT
#IFEQ [PROMOTE] TRUE #THEN DOESNOTQUALIFY
#IFNOTEQ {PRODUCT} zostools #THEN DOESNOTQUALIFY
#QUALIFIES
#SET [PRODUCT12BYTE] zostools
#INSTANCEUNIQUEKEY [PRODUCT12BYTE] #NOTUNIQUE DOESNOTQUALIFY
#CREATEINSTANCEFROMENTRY
#DOESNOTQUALIFY
#ENDQUALIFIERS
#/ -------------------------------------------------------------------
#BEGINPREFIX      #/ Prefix invokes SAS from targeted SAS installation
#/ -------------------------------------------------------------------
#SET [DSLANGCODE] EN         #/ Set language symbol to EN for firing up SAS
//SASTKENV EXEC PGM=[ENTRY],COND=(0,LT),
//  PARM=('SETINIT MSGCASE CAPSOUT ERRORABEND NOWORKTERM',
//        'MACRO ERRORCHECK=STRICT SASUSER=WORK')
#IFEQ [HOST] z64 #THEN USEZE
#TABLEFIX LD  #/ Load Library
#THEN STEPLIB
#USEZE
#TABLEFIX ZE  #/ 64-bit load library
#STEPLIB
//STEPLIB  DD DISP=SHR,
//  DSN=[CUSTPRODQUAL].[LOQUAL]
#TABLEFIX SH  #/ Sashelp
//[DFLTDDN]  DD DISP=SHR,
//  DSN=[CUSTPRODQUAL].[LOQUAL]
#TABLEFIX AU  #/ Autocalls
//[DFLTDDN] DD DISP=SHR,
//  DSN=[CUSTPRODQUAL].[LOQUAL]
#IFEQ [HOST] z64 #THEN SKIPSM
#TABLEFIX SM  #/ SAS messages
//[DFLTDDN] DD DISP=SHR,
//  DSN=[CUSTPRODQUAL].[LOQUAL]
#SKIPSM
//TKMVSENV DD DATA,DLM='!1'
#SNIPPETINSERT SASDefaultTkmvsenv.txt
!1
//WORK     DD UNIT=[TMPUNI],SPACE=(6144,([WORKSPC])),
//         DCB=(RECFM=FS,LRECL=6144,BLKSIZE=6144)
//SASLOG   DD SYSOUT=[SYSOUT]
//SASCLOG  DD SYSOUT=[SYSOUT]
//CONFIG   DD DATA,DLM='!1'
#SNIPPETINSERT SASDefaultConfig.txt
!1
//CNTLDSN  DD DISP=SHR,
//         DSN=[CNTLDSN]
//DDOTTE   DD DISP=SHR,
#IFEQ [PROMOTE] TRUE #THEN DOPROMOTE
//         DSN=[CUSTPRODQUAL][STAGEQUAL].[TE:LOQUAL]
#THEN SKIP
#DOPROMOTE
//         DSN=[CUSTPRODQUAL].[TE:LOQUAL]
#SKIP
#IFNOT [INSTALL-NEW] #THEN SKIPNEWS
#IFEQ [PROMOTE] TRUE #THEN SKIPNEWS
//DDOTXN   DD DISP=SHR,
//         DSN=[CUSTPRODQUAL][STAGEQUAL].[XN:LOQUAL]
#SKIPNEWS
//SASLIST  DD SYSOUT=[SYSOUT]
//SASPARM  DD UNIT=[TMPUNI],SPACE=(400,(100,300)),
//         DCB=(RECFM=FB,LRECL=80,BLKSIZE=400,BUFNO=1)
//SYSIN  DD DATA,DLM='!^'  #/ Begin source code stream for SAS session. Delimiter is !^ in column 1 of line
options filestat symbolgen mprint mlogic;
%macro dsnq;               #/ Invoke SAS macro compiler.
#/ -------------------------------------------------
#BEGININSTANCE
#/ -------------------------------------------------
#IFNOT [INSTALL-NEW] #THEN CONTINUE
#IFEQ [PROMOTE] TRUE #THEN CONTINUE
DATA _NULL_;INFILE CNTLDSN(NEWS);FILE DDOTXN(NEWS);INPUT;PUT _INFILE_;
#CONTINUE
%mend dsnq; %dsnq             #/ close SAS macro, invoke SAS macro once.
#/ -------------------------------------------------------------------
#BEGINSUFFIX
#/ -------------------------------------------------------------------
!^
//*
#/ -------------------------------------------------------------------
#ENDBUCKET
