IBM AS/400 Frozen Dessert Maker User Manual


 
Creating a Service Program Using CRTSRVPGM
Strategies for Creating Service Programs
When creating a service program, you should keep in mind:
1. Whether you intend to update the program at a later date
2. Whether any updates will involve changes to the interface (namely, the imports
and exports used).
If the interface to a service program changes, then you may have to re-bind
any
programs bound to the original service program. However, if the changes required
are upward-compatible, you may be able to reduce the amount of re-binding if you
created the service program using binder language. In this case, after updating the
binder language source to identify the new exports you need to re-bind only those
programs that use them.
TIP
If you are planning a module with only subprocedures (that is, with a module
with keyword NOMAIN specified on the control specification) you may want to
create it as a service program. Only one copy of a service program is needed
on a system, and so you will need less storage for the module.
Also, you can copyright your service programs using the COPYRIGHT keyword
on the control specification.
Binder language gives you control over the exports of a service program. This
control can be very useful if you want to:
Mask certain service program procedures from service-program users
Fix problems
Enhance function
Reduce the impact of changes to the users of an application.
See “Sample Service Program” on page 94 for an example of using binder lan-
guage to create a service program.
For information on binder language, masking exports, and other service program
concepts, see
ILE Concepts
.
Creating a Service Program Using CRTSRVPGM
You create a service program using the Create Service Program (CRTSRVPGM)
command. Any ILE module can be bound into a service program. The module(s)
must exist before you can create a service program with it.
Table 9 on page 93 lists the CRTSRVPGM parameters and their defaults. For a
full description of the CRTSRVPGM command and its parameters, refer to the
CL
Reference (Abridged)
.
92 ILE RPG for AS/400 Programmer's Guide