#BEGINBUCKET 
#/ ----------------------------------------------------------------------
#/ This template handles processing for all .XMT content that comprises the
#/ "barely-bootable SAS". The content is TSO XMIT format that is restored
#/ into the target dataset using the TSO RECEIVE command in batch.
#/ ----------------------------------------------------------------------
#/ -------------------------------------------------
#BEGINDEFS
#/ -------------------------------------------------
#SYMBOLCALLS SYSOUT;SSDDIR1;SSDDIR2;SSDDIR3;CUSTPRODQUAL;STAGEQUAL;ORDERENCODING;
#/ ------------------------------------------------------------------
#BEGININSTANCEQUALIFIERS
#/ -------------------------------------------------
#IFEQ {ENCODE} [ORDERENCODING] #THEN PASSESENCODE
#IF [INSTALLENCODEDONLY] #THEN DOESNOTQUALIFY
#IFNOTEQ {ENCODE} NE #THEN DOESNOTQUALIFY
#PASSESENCODE
#IFEQ {MVS2BDSCODE} LD #THEN DOIT
#IFEQ {MVS2BDSCODE} ZE #THEN DOIT
#IFEQ {MVS2BDSCODE} LB #THEN DOIT
#IFEQ {MVS2BDSCODE} ZB #THEN DOIT
#IFEQ {MVS2BDSCODE} LE #THEN DOIT
#IFEQ {MVS2BDSCODE} AU #THEN DOIT
#IFEQ {MVS2BDSCODE} SM #THEN DOIT
#IFEQ {MVS2BDSCODE} SS #THEN DOIT
#IFEQ {MVS2BDSCODE} TM #THEN DOIT
#IFEQ {MVS2BDSCODE} ZS #THEN DOIT
#IFEQ {MVS2BDSCODE} XL #THEN DOIT
#IFEQ {MVS2BDSCODE} ZX #THEN DOIT
#IFEQ {MVS2BDSCODE} XX #THEN DOIT
#IFEQ {MVS2BDSCODE} XT #THEN DOIT
#IFEQ {MVS2BDSCODE} TT #THEN DOIT
#IFEQ {MVS2BDSCODE} BZ #THEN DOIT
#THEN DOESNOTQUALIFY
#DOIT
#IFEQ {ARTIFACTTYPE} XMT #CREATEINSTANCEFROMENTRY
#IFEQ {ARTIFACTTYPE} SDL #CREATEINSTANCEFROMENTRY
#DOESNOTQUALIFY
#ENDQUALIFIERS
#/ -------------------------------------------------
#BEGINPREFIX 
#/ -------------------------------------------------
//UNLDXMT EXEC PGM=IKJEFT1B,DYNAMNBR=50,REGION=2048K,PARM=                                   
//SYSTSPRT DD SYSOUT=[SYSOUT]                                       
//SYSTSIN DD DATA,DLM='!I'    
#/ -------------------------------------------------
#BEGININSTANCE
#/ -------------------------------------------------
#SET [DSLANGCODE] EN         #/ Set language symbol to EN for empty/blank language argument.
#IFNOT {LANG2BCODE} #THEN NEXT     #/ Is language symbol non-blank?
#SET [DSLANGCODE] {LANG2BCODE}     #/ If so set general use language symbol to instance argument value. 
#NEXT
#SET [MVSDSCODE] {MVS2BDSCODE}
#TABLEFIX [MVSDSCODE] #/ Fix ds table row to OTP2 from the instance.
#IFNOT [ALIASTO] #THEN NOALIAS #/ See if it's marked alias in ds table, if not then skip 
#SET [MVSDSCODE] [ALIASTO]     #/ Hold the aliased ds from the table row
#TABLEFIX [MVSDSCODE]  #/ Reset the table row to the aliased OTP2.
#NOALIAS
 ALLOC FI(INDD) PATH('+                                     
[SSDDIR1]+  
#IFNOT [SSDDIR2] #THEN NEXT
[SSDDIR2]+   
#NEXT
#IFNOT [SSDDIR3] #THEN NEXT
[SSDDIR3]+
#NEXT
#IFNOT [SSDDIR4] #THEN NEXT
[SSDDIR4]+
#NEXT
/{LANG}+                             
/{ARTIFACTNAME}+                                                 
') PATHOPTS(ORDONLY)                                         
RECEIVE INDDNAME(INDD) LOGDATASET('[CUSTPRODQUAL].RECEIVE.LOG') 
#/ #IFNOTEQ [MVSDSCODE] XX  #THEN NEXT
#/  RESTORE DSNAME ('[CNTLDSN]')  
#/ #THEN TXEN
#/ #NEXT
#IF [NOSAL] #THEN NEXT
  RESTORE DSNAME ('[CUSTPRODQUAL][STAGEQUAL].[LOQUAL]')  
#THEN TXEN
#NEXT
  RESTORE DSNAME ('[CUSTPRODQUAL].[LOQUAL]')
#TXEN
  FREE FI(INDD)
#/ -------------------------------------------------
#BEGINSUFFIX 
#/ -------------------------------------------------
 DELETE '[CUSTPRODQUAL].RECEIVE.LOG'
!I    
#ENDBUCKET 