On 3/27/2017 7:52 AM, Dan Kalmar wrote:
Can anyone recommend a good tutorial for using SMP/E to package a new
product for distribution ?
Not so much a tutorial, but try "IBM, Standard Packaging Rules for
z/OS-Based Products" here:
http://publibz.boulder.ibm.com/epubs/pdf/gimpkg80.pdf
Some personal thoughts on the process of packaging your software in
SMP/E SYSMOD format: I assume one of the reasons you are asking is not
so much because you (or your customers) think the initial install of
your software in SMP/E format is very exciting, but rather because of
the prospect of follow-on service in PTF format. Therefore, you must
consider how you intend to supply parts/files later in PTFs before you
create your initial FUNCTION SYSMOD.
In my opinion, most parts/files ("elements" in SMP/E terminology) are
very simple to package and install. Things like procs, parmlib members,
sample JCL, execs, ISPF panels, are all very simple to manage, package,
and install, because they are just members of a partitioned data set
that are copied and replaced by SMP/E. It is modules and load modules
that cause the most grief.
Traditional z/OS software is SMP/E packaged using MOD elements to
describe modules that get link edited during the APPLY to create load
modules (load modules or program objects). It is link edit steps in
JCLIN that tells SMP/E how to put the MODs together to create these load
modules. This is all a very well grooved path, but, JCLIN and MODs can
be a great pain, and I'd say the cause of most grief for packagers and
installers.
You can greatly simplify you and your customers' efforts if you can
avoid MODs and JCLIN altogether. That is, it is far simpler to package
complete load modules using PROGRAM elements rather than as individual
MODs with JCLIN. PROGRAM elements treat load modules as simple members
of a partitioned data set that can be copied and replaced. No JCLIN is
necessary and no link edit processing is performed by SMP/E.
To determine if you can successfully use PROGRAM elements you have to
consider the contents of your load modules and how they are built. Do
your load modules include any parts not supplied by you? For example,
callable services from CSSLIB or SCEELKED? Modules from subsystems or
other products, like SDSNLOAD or ISPLLIB? Side decks (IMPORT
statements) to resolve DLL references? If so, then you may want to, or
need to, package individual modules as MODs and supply JCLIN to define
your load modules. Shucks. However, if your load modules are rather
simple and include only modules that you own, then you should consider
using PROGRAM elements in your SYSMOD packaging for your initial
FUNCTION and subsequent PTFs.
Kurt Quackenbush -- IBM, SMP/E Development
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN