In what context? Are we talking service programs here?
Signature checking is to service programs as level checking is to files.
A file has a ‘format level identifier’ that is constructed based on the field types, lengths and order when a record format is created. A service program has a signature that is constructed based on parameter types, sizes and position when the service program is compiled.
If a program is compiled over the file, the format level ID is copied into the program object. Whenever the program tries to open the file in the future the level in the program is compared against the level in the file. If the file has been recreated after changes to the field definitions, and the new fields don’t match precisely with the previous ones, there will be a different level ID and the open will fail with a “level check”.
If a program is created to bind with a service program, the signature is copied into the program object. Whenever the program tries to activate the service program, the signature is checked. If the service program has been changed and its parameters don’t match the previous ones, there will be a signature mismatch.
A difference is that service programs can have multiple procedures, all of which may result in different signatures. A service program can therefore present multiple signatures, carrying older ones along as long as the earlier procedures remain available. This is like a multi-format logical file that can have multiple level IDs.
Also, the signature of a service program can be specified by the programmer. This is done in “binder language” in a binder source member. Multiple signatures are listed in the binder source along with the names of the procedures they identify. As new procedures are added, you can add the signature that identifies the new combination of procedures to the binder language. As long as earlier procedures remain intact and their signature is kept in the list, new additions to the service program won’t disrupt them. This allows previously compiled programs to still find them in the recompiled service program.