Think "signatures", and that is why you need binder source. For example,
let's say you create a service program. Then you create a program that
uses that service program. If you do a
DSPPGM PGM(library/program) DETAIL(*SRVPGM)
on the program you will see something like:
Program Library Activation Signature
SRVPGM ROUTINES *IMMED D4BB63A7B4B4913D5335E198295018B8
This will match what you see when you do a
DSPSRVPGM SRVPGM(library/ServiceProgram) DETAIL(*SIGNATURE)
Now, let's say you add another export to library/ServiceProgram. If you
repeat the DSPSRVPGM on the *SRVPGM you will see that the signature do not
match with what's in the *PGM. If you do not recompile the *PGM you will
get something akin to a "record format level check" only it will pertain
to the signature.
Now if you add the exports in an orderly fashion and you use binder
language, the *SRVPGM can have multiple signatures. Like this:
Back to the beginning...
I now have lots of exports. The first line is
STRPGMEXP PGMLVL(*CURRENT) LVLCHK(*YES) SIGNATURE(*GEN)
Notice PGMLVL(*CURRENT) versus (*PRV)?
Actually binder source is very easy. It's so easy that it took me three
sessions at COMMON to understand just how simple it was. Hence Jon's
signature in my "Who Knew ..." redbook: "I thought you knew this stuff
If you are a vendor you can get fancy and use SIGNATURE(V1.0.0) and so on.
Keep in mind though that if V1.0.0 is not just the version of the *SRVPGM
but a version of your whole release it's probably a bad idea. Why? Let's
say that in 1.0.0 you create the service program, give it 1.0.0. Create
20 *PGM's that use it. Now you add a couple of more exports to *SRVPGM
and create some more *PGMs that use it. Now 1.0.0 is ready to ship. What
are you going to do for the signature? Have v1.0.0 and v1.0.0.01,
v1.0.0.02 and so on?
This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact