On 2015-09-10 12:13, Scott Ford wrote:
> All:
> 
> I need some help with SMP/E. I need to convert our software to use SMP/E. I
> am not a SMP/E heavy. I have the following;
> 
> 1. Linklib
> 2. Proclib
> 3. Parmlib
> 4. JCLLIB ( for install ) , this can be removed , because SMP/E will do it
> 5. Rexx Clistlib
> 
> I need a how to build a complete package and then how do I install it. I
> want to use GIMZIP, I think this should work.
>  
Ah!  This motivates me to put together an SMP/E package/install
boilerplate/cheat-sheet.  I'll attach it, and Cc: you directly
because LISTSERV will discard it.

Probably less than half done, but all the steps complete with RC=0.
Uses SYS1.SAMPLIB(ASMASAMP) as a dummy payload and SYS1.SAMPLIB(GIMSAMPU)
to do some of the setup.

It's a here-document in a shell script because that's what I'm most
comfortable with.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
#! /bin/sh

# User modifiable parameters.
: ${MVS_USER=$LOGNAME}
: ${HLQ=$MVS_USER.GIMTEST}
: ${JHOME=/usr/lpp/java/J6.0.1}  # Go find one that works.
: ${VOLUME=TSO021}               # You probably have to change this.
: ${SMPDIR=/tmp/$MVS_USER/samp.SMPDIR}
: ${UNIT=SYSALLDA}

{ cat <<end-of-job
//
//GIMSAMP   JOB  505303JOB,'Paul Gilmartin',
// MSGLEVEL=(1,1),REGION=0M
//*
//* Doc: Minimal GIMZIP
//*
//  EXPORT SYMLIST=*
//*
//USERC    OUTPUT JESDS=ALL,DEFAULT=YES,
//*  DEST=&SYSNAME..&SYSUID,
//  CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
//*
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//BPX      EXEC  PGM=BPXBATCH,  Delete and re-create SMPDIR.
//  PARM='SH set -x; export -p; rm -r \$SMPDIR; mkdir -p \$SMPDIR'
//STDENV    DD   *
SMPDIR=$SMPDIR
//STDOUT    DD   SYSOUT=(,)
//STDERR    DD   SYSOUT=(,)
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//EXTRACT  EXEC  PGM=IEBCOPY  Extract one SRC member from SAMPLIB.
//SYSPRINT  DD  SYSOUT=(,)
//HANDLE    DD  DISP=(MOD,CATLG),UNIT=SYSALLDA,SPACE=(CYL,(1,,1)),
//  DSORG=PO,DSNTYPE=LIBRARY,
//  DSN=$HLQ.GIMSAMP.F1
//OUTPUT    DD  DISP=OLD,DSN=*.HANDLE,VOL=REF=*.HANDLE
//INPUT     DD  DISP=SHR,DSN=SYS1.SAMPLIB
//SYSIN     DD  *
  COPY INDD=INPUT,OUTDD=OUTPUT
  SELECT MEMBER=((ASMASAMP,,R))
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//MCS      EXEC PGM=IEBGENER  Create SMPPTFIN data set.
//SYSPRINT  DD  SYSOUT=(,)
//SYSIN     DD  *
//HANDLE    DD  DISP=(MOD,CATLG),SPACE=(1000,1000),UNIT=SYSALLDA,
//  DSN=$HLQ.SMPMCS
//SYSUT2    DD  DISP=OLD,DSN=*.HANDLE,VOL=REF=*.HANDLE
//SYSUT1    DD  *
  !!! Very incomplete !!!
  whatever
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//STEP     EXEC  PGM=GIMZIP  Create GIMZIP archive
//SMPJHOME  DD PATH='$JHOME'
//SMPDIR    DD  PATH='$SMPDIR'
//SMPOUT    DD  SYSOUT=(,)
//SYSPRINT  DD  SYSOUT=(,)
//SYSIN     DD  *
<GIMZIP description="This is the software package for GIMSAMP.
Copyright (c), Whoever.  All rights reserved.

      Built: $(TZ=GMT0 date)
!!! Very incomplete !!!
" >
 <FILEDEF name="$HLQ.SMPMCS"
          description="This is the SMPMCS file for GIMTEST."
          type="SMPPTFIN"> </FILEDEF>

  <!-- ====== Relative files for GIMSAMP ===== -->
  <FILEDEF name="$HLQ.GIMSAMP.F1"
           description="This is SMP/E RELFILE F1 for GIMSAMP."
           type="SMPRELF">  </FILEDEF>

</GIMZIP>
//SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
//SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
//SYSUT4   DD UNIT=SYSALLDA,SPACE=(CYL,(25,5))
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//* Edit GIMSAMPU to make executable and create CSIs and Libraries.
//* Manually delete all your $HLQ.**
//*    data sets before running again!
$(  set -x
    cp "//'SYS1.SAMPLIB(GIMSAMPU)'" /dev/fd/1 |
    sed "s/  *$//
        /^..GIMSAMPU/d
        /VOL=SER=&VOLUME/d
        s/&VOLUME&/$VOLUME/

        # For non-VSAM data sets.
        s/SYSALLDA/\&UNIT\&/

        # For all data sets.
        s/&UNIT&/$UNIT/
        s/&HLQ&/$HLQ/
        " )
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//*
//* !!! Very incomplete !!!
//* Still need to create and define DLIB and TLIB data sets.
//UPDZONE2 EXEC PGM=GIMSMP  ,COND=(0,LT) 
//SMPCSI   DD DSN=$HLQ.GLOBAL.CSI,DISP=SHR 
//SMPLOG   DD SYSOUT=* 
//SMPOUT   DD SYSOUT=* 
//SMPRPT   DD SYSOUT=* 
//SMPLIST  DD SYSOUT=* 
//SMPPTS   DD DSN=$HLQ.SMPPTS,DISP=SHR 
//SYSPRINT DD SYSOUT=* 
//SMPCNTL  DD * 
  SET BOUNDARY(GLOBAL). 
  UCLIN.
  ENDUCL. 
  SET BOUNDARY(TARGET). 
  UCLIN. 
  ENDUCL. 
  SET BOUNDARY(DLIB). 
  UCLIN. 
  ENDUCL. 
//*
//*.+....|....+....|....+....|....+....|....+....|....+....|....+....|....+....|
//
end-of-job
} | /bin/submit
exit $?

:w ! sh




----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to