× 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.



Hi, Michael:

Here is how I would recommend approaching this task, if you want to maintain "compatibility" and not have to immediately re-bind every program that uses this *SRVPGM ...

1.

create a small new *MODULE with the one procedure with the same name
as the procedure you are "eliminating." In this version of the
procedure, issue a message to the job log, indicating that "a
deprecated procedure 'name' was called ..." and perhaps issue a call
to QCMDEXC to run the command: DSPJOB JOB(*) OUTPUT(*PRINT)
OPTION(*PGMSTK) -- and use UPDSRVPGM to replace the module being
"retired" with the new "stub" one

2.

next create the new module with the new procedure, and update the
binder source to add the new procedure name at the "end" of the
*CURRENT signature, and add a *PRV signature section to preserve
compatibility with all the old programs that have yet to be
re-bound, and then add that new module to the *SRVPGM

3. once that is done, you can start compiling programs that use the new
procedure, and they will bind with the now updated *SRVPGM

I hope this "makes sense" ...

All the best,

Mark S. Waterbury

> On 2/20/2014 2:22 PM, Koester, Michael wrote:
I have a service program that contains 8 modules. One of those modules I want to replace with another of a different name - deprecating one and adding a new one that is similar but different enough to be named differently. The one program that called the module to be removed is being changed and recompiled (to use the new & improved one), so the old module would not really be missed.

Questions:
1) Would updating the service program (UPDSRVPGM) to add the new module cause signature violation issues? I have binder source, which would be updated, but some of the programs that call other modules of the service program were created before the binder source.

2) Is that old module forever part of the service program (and a source of confusion to everyone that follows me and wonders about this phantom module)?

3) Would I be better off recreating the service program (CRTSRVPGM) to permanently remove the old module?

Running 7.1, no TR 7 yet.

Thanks.
Michael Koester
Programmer/Analyst

DataEast




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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.