• Subject: Re: PGMREF and non-IBM Commands
  • From: "Ian Bunn" <ian.bunn@xxxxxxxxxxxxxx>
  • Date: Fri, 13 Oct 2000 08:35:42 +0100

I am currently in the process of developing a product to build up a picture of the BPCS system, ie. programs, files (where used), fields (where used), etc and this product is Freeware - yes Freeware.  This product will work on any AS/400 where programs have been developed using RPG II/III/400 and it will include IV/ILE in the near future. 
 
The product will build a picture on the following:
  • Libraries - used to drill down to the following:
  • Programs (Parameters, Files used, called programs, other objects, fields used (renames w/ threads),/COPY routines, subroutines, called by other programs analysis, source code and levels).
  • Database Files (Physical files, record formats, fields + references, where used, Logical files, access paths, select/omit criteria)
  • Device Files (Display Files, Printer Files - all linked to the database and programs lists)
  • Data Areas (where used, external data structures, LDA definitions)
  • Job Descriptions (where used)
  • Commands (non OS/400)
IF YOU WOULD LIKE TO BE INCLUDED IN THE DISTRIBUTION OF THIS TOOL THEN PLEASE SEND ME AN E-MAIL DIRECTLY AND NOT THROUGH THE LISTSERV.  MY E-MAIL ADDRESS IS ian.bunn@progeny400.com
 
Regards
 
Ian Bunn
Progeny/400
----- Original Message -----
Sent: 12 October 2000 20:32
Subject: Re: PGMREF and non-IBM Commands

Different folks using different solutions to struggle with what we can figure
out & get comfortable with & get what value out of this.

I have several DSPOBJD & DSPFD to *OUTFILE that I then access via Query/400.

One report identifies files with excessive volumes of wasted disk space in
need of a reorg ... deleted records times numbers of bytes per record.  I
have Job Scheduled this one ... it runs every Mon Wed Fri in the early hours
then the Query & the bottom line (last page) tells me how many bytes will be
saved if I reorg all of this stuff.

One *OUTFILE is a directory of all of our Query definitions, alphabetized by
the name given by the users, in which another query gives access to this in
inquiry mode, so people can scroll down titles of our queries to see what is
the name of the one they need to run, then take another menu option which is
RUNQRY with user fill in the blanks.

We are now using a variation of this to look at the date last used and the
number of days used to identify which queries are underutilized & which need
a close review as we change the ways we are capturing some data.

We have CL that call most of our queries & I am in the process of changing
the last 10 characters of that CL name to identify the primary RUNQRY in
there ... purpose of this will be to get a cross-index of which Query is
called by which CL & which Query does not have its own CL.

We use BPCS User Menus in which the menu data is stored in an easily
accessible file, so another Query links which programs on which Menus, by
program name & by which user has access to them.

I believe there are several 3rd party tools out there to help with this sort
of thing, such as TAATOOLS.

> From: henrik@hkrebs.dk (Henrik Krebs)

>  Can anybody suggest how to make this easier?

>  I shall expand an (one of many in house written) x-ref system. This is
>  a typical system that - based on output to file from DSPPGMREF  plus
>  several extensions already - answers the 'Where used?'.

>  In reality the needed extention is a matter of putting CPP's for in
>  house written commands in the same outfile as the one loaded by
>  DSPPGMREF.

>  One solution is:
>    o DSPOBJD xxxx/*ALL *CMD into an outfile
>    o PRTCMDUSG (several times if more than 50 commands) to a
>       spoolfile, then move to a DB-file and then another DB-file
>    o DSPCMD to a spoolfile, then move to a DB-file and then another
>       DB-file to get the CPP (I know you can do this in MI, but I
>  can't)
>    o Finally an HLL program to add records to the same file as used by
>  DSPPGMREF.

>  Another solution:
>    o Add a constant parameter to each command definition:
>        PARM  KWD(CPP) TYPE(*CHAR) CONSTANT(MyPgm) PGM(*YES)
>    o Add a dummy parameter to the CPP to recieve the new parameter
>    o Recompile all programs before running the update of Program
>  References.

>  None of theese seems very easy. Does anybody have any good ideas to
>  improve this, including IBM API's to do some of the tasks.

>  Henrik
http://hkrebs.dk

Alister William Macintyre
Computer Data Janitor etc. of BPCS 405 CD Rel-02 on 400 model 170 OS4 V4R3
(forerunner to IBM e-Server i-Series 400)  @ http://www.cen-elec.com Central
Industries of Indiana--->Quality manufacturer of wire harnesses and
electrical sub-assemblies

+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-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 ...

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.