Jon,
A minor correction ...
It is not the case that UPDPGM and  UPDSRVPGM do not update the "where 
used" information, but rather, they update it with new information, but 
if a component *MODULE no longer uses or refers to  an external object, 
that object will  still show as "used" in the bound *PGM or *SRVPGM 
when  you issue  DSPPGMREF.
Example:
    Module M1 uses *FILE F1, *PGM P1 and *SRVPGM S1.
Say you bind M1 into another program P2.
Now, when you issue DSPPGMREF for P2, you will see that it "uses" F1, P1 
and S1 as well as M1.
Now, if you change M1 so that it now also references another *SRVPGM S2, 
and no longer references F1, and issue UPDPGM to update P2 with the new 
copy of M1, DSPPGMREF will now show that it "uses" F1, P1, S1, S2 and M1.
The "downside" to this is that a  change management tool might then  
unnecessarily recompile M1  when file F1 is changed, and then re-bind M1 
in any *PGMs or *SRVPGMs where it is used.
This  is why it is a "best practice" to not delete  *MODULEs after 
binding them into *PGMs or *SRVPGMs,  so you  can easily recreate any 
*PGM or *SRVPGM from its constituent *MODULEs, using CRTPGM or 
CRTSRVPGM, rather than using UPDPGM or UPDSRVPGM.
Also note that, if  no external "where used" references in module M1 
were changed, then it is 100% "safe" to go ahead and use UPDPGM or  
UPDSRVPGM.
I hope this helps to clarify this situation.
All the  best,
Mark S. Waterbury
> On 9/14/2017 6:19 PM, Jon Paris wrote:
With the caveat that the what used info is not updated when you use the UPD commands.  If the CMS tool that the shop uses relies on that info then UPD is not a good idea and recreation is the only real option.
Jon Paris
www.partner400.com
www.SystemiDeveloper.com
As an Amazon Associate we earn from qualifying purchases.