× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Creating a service program
  • From: "Simon Coulter" <shc@xxxxxxxxxxxxxxxxx>
  • Date: Thu, 24 Aug 00 10:11:54 +1000


Hello Chris,

You wroet:
>Now that's great example and explanation.  I wish IBM made it that clear.
>Now how would one find out what program is using what signature so you can
>clean up old *PRV signatures when they are no longer in use.  Also how does
>this work when you update an existing module with out changing the parms?

If you just alter the code (implementation) without altering the public 
interface (proc 
name, parm types and attributes) the signature will not change.

DSPPGM pgm DETAIL(*SRVPGM) lists all the service programs and the signature 
used by the 
program

DSPSRVPGM srvpgm DETAIL(*SIGNATURE) lists all the signatures for the service 
program.

Neither command has outfile support but you could use the old technique of 
print and 
CPYSPLF.  The proper approach is, of course, the APIs.

The QBNLPGMI API with format PGMI0200 will list the service programs and 
signature used 
by a program

The QBNLSPGM API with format SPGL0800 will list the signatures for the service 
program.

You could use either of these methods to build a cross-reference.  ALthough 
really, why 
would you care?  Previous signatures don't really occupy much space in the 
compiled 
object and once they are *PRV they never need maintenance.  They just sit at 
the end of 
the binder source and can be ignored.

If they really bother you, and you are building in-house applications, simply 
recompile 
everything at an appropriate release boundary.  All the programs will use the 
current 
signature and you can safely remove the previous ones.  If you are shipping 
service 
programs to customers then you have little choice.  You either support all 
previous 
signatures to avoid forcing your customers to recompile or you do what IBM are 
supposed 
to do and provide your own signature value.  If you do that then you as the 
programmer 
take responsibility for ensuring backwards compatibility.

Regards,
Simon Coulter.

«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
«» FlyByNight Software         AS/400 Technical Specialists       «»
«» Eclipse the competition - run your business on an IBM AS/400.  «»
«»                                                                «»
«» Phone: +61 3 9419 0175      Mobile: +61 0411 091 400           «»
«» Fax:   +61 3 9419 0175      mailto: shc@flybynight.com.au      «»
«»                                                                «»
«» Windoze should not be open at Warp speed.                      «»
«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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 [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.