#BEGINBUCKET TSORECEIVESTG
#/ ----------------------------------------------------------------------
#/ This template handles processing for all .XMT content, which 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 {ARTIFACTTYPE} XMT #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
#/ For actions b/c load new content to ML.LIBRARY because
#/ the production modules could have been upgraded via hotfix.
#/ The LLLDCK module will determine what should get moved.
#/ jump around .ML and .SL code
#/ If recfm is u then unload to .ML, if not and
#/ it is an action c unload to [STAGEQUAL]
#IF [INSTALL-NEW] #THEN ACTA
#/ we need to load to the .ML area
#IFNOTEQ [RECFM] U #THEN NEXT
  RESTORE DSNAME ('[CUSTPRODQUAL].ML.[LOQUAL]')
#THEN TXEN
#NEXT
#IF [INSTALL-DIRECT] #THEN GODIRECT     #/Action B non recfm u needs production libs
#/ ACTC                           #/ for staged non library members load to
  RESTORE DSNAME ('[CUSTPRODQUAL][STAGEQUAL].[LOQUAL]')
#THEN TXEN
#GODIRECT
#ACTA
  RESTORE DSNAME ('[CUSTPRODQUAL].[LOQUAL]')
#TXEN
  FREE FI(INDD)
#/ -------------------------------------------------
#BEGINSUFFIX
#/ -------------------------------------------------
DELETE '[CUSTPRODQUAL].RECEIVE.LOG'
!I
//*
#ENDBUCKET