Review of DOC/3000 from Diamond Optimum Systems
Shawn M. Gordon
S.M.Gordon & Associates


The year 2000 is coming, are you and your program’s prepared? I have heard stories that it won’t be just you that is in trouble, but many banks and other types of institutions are ill prepared for this change. Maybe we should all withdraw our money at the end of December 1999, and put it back a month later. So anyway, what does that have to do with this month’s review? Well we are looking at DOC/3000 from Diamond Optimum Systems. What DOC does is read any time of source file, which includes every language and 4gl available on the HP as well as JCL and UDC’s, and indexes and cross references the whole shebang. How does this help you? Well how about searching for anything with the word DATE, or YY, or PIC X(06) (a common variable declaration for dates). This will obviously give you a BIG jump start on identifying all the code that you are going to have to change. DOC will also cross reference your databases, COGNOS dictionaries, PROTOS dictionaries, Dictionary/3000, and pretty much anything else you care to name.

I installed and tested the system on my HP 3000 series 925 running MPE/iX 4.0


The first step in using DOC is setting it up and loading information into it. The short tutorial at the beginning walks you through a sample of how to do this. Figure 1 shows an example of how you configure each file set that you want to collect, and the parameters that you can set for those. Pressing function key 5 will give you a quick summary list of those files that are already set up, and what their parameters are.

It obviously helps if you have been organized about the way you keep your source code and such, so when you set up DOC you can quickly identify all your Image databases, copy libraries, VPlus, and KSAM files that apply to the system that you are documenting. You can also specify a list of file codes that will be accepted, any file not matching one of these file codes will not be processed. You can get to this list by pressing function key 3 in the Scope definition screen. Here is the list of file codes that come preconfigured;

00000            111          
230               500  
711               757  
1001             1012 
BASFP          BASP 
EDTCT         KSAM 
RSPEC          SL   
TDPCP          TDPQM

It’s amazing some of the bizarre file types that DOC supports, on top of all the standard stuff, it can also read and support files in the following formats;

HP Toolset
OCS Librarian
Business Basic
Business Basic XL

So of course now that you have managed to get all of your documents loaded into DOC, you are going to want to take advantage of it’s features for scanning, figure 2 has an example of the main prompt screen for scanning. different file types. This is obviously chock full of great things to look at, selecting item 6 I entered the string DATE, and had a bunch of jobs and source code returned in seconds, the search process was blazingly fast, I was really amazed. You can select any source item to display, so you can look at the source, print it, get information about it, compare it to another file, etc. If you own VCS from Diamond Optimum (which I will review next month), you can integrate and check it out at that point for editing. This preserves your security, and the integrity of your production source.


Enter the first letter of a command name to select it. Press ? for help.       

09:32:06                        DOCUMENTATION/3000                      03/14/96

                        On-Line Cross Reference, ItemWindow

                                                       1. Data Base / Data Set 

                                                       2. On-Line Form         

                                                       3. Data File            

                                                       4. CALL or RUN          

                                                       5. INCLUDE or USE File  

                                                       6. Variable or Misc Item

                                                       7. COPYLIB Module       

                                                       8. Parent Entities      

                                                       9. Programmer Name      

                                                      10. Analyst Name         

Generic Search : OFF  --> enter G to toggle           11. Project Number       

Subset  Mode Is: OFF  --> enter M to toggle           12. List Entity Types    

Limit Search To:                                      13. Entity Description   



Xref Show Doc Limit Exit Update Cancel G,M revieW 

While it’s nice that DOC will interface with MPEX (VESOFT) to initiate and perform mass changes to a fileset, it is a little disappointing that you cannot take advantage of this feature if you don’t own MPEX. While MPEX is certainl
y in many shops, it is by no means in all of them.<:f240,,>

<:#2272<:f200,QCourier New,><:f200,2Times New Roman,>A really neat feature is the (D)oc option on this page. Apperantly when DOC is loading up all your different source type documents, it will grab anything that it can figure out is header documentation, and save it separately as a “Narrative”. This is an incredible option, and as long as you are putting doc inside your jobs and source, it makes it very simple to scan through all this information. Some of the other information is the modification history of the file, since DOC will only update it’s cross reference when the file changes, this gives you a pretty good history. You can also, in the case of JCL, display all the programs that are run within the job, and in the case of source files, a list of all the called external routines. These features are fantastic, I really loved getting a quick run down of my files like this.

The features sort of go on and on, but I would be remiss if I didn’t mention the reports that are available in the system,

Figure 3 shows a selection of the batch reports that you can generate:

Figure 3:

09:25:39            DOCUMENTATION/3000 REPORT MENU                    03/14/96

01. SUMMARY Report Of Documented Programs.                                     

02. DETAIL Report Of Documented Programs.                                      

03. IMAGE/3000 Data Set Usage Report.                                          

04. COPYLIB Module Usage Report.                                               

05. On-Line Screen Usage Report.                                               

06. Data File Usage Report.                                                    

07. Data Element Usage Report.                                                 

08. CALL(s) and RUN(s) Report.                                                 

09. INCLUDE File Usage Report.                                                 

10. AutoDoc/3000 configuration report (source and data set up).                

11. Entity Description Report.                                                 

12. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                

13. Delete the Revision History by date range/nbr generations.                 

14. Auditor - lists missing files, d.b. capacities, scope defn.                

15. Report files  changed / created  during a given date range.                

16. Hierarchical Call report, i.e. Main -<;> Subprog -<;>Subprog...                


Command? (Select, Exit) 

One thing I haven’t touched on, is the Client/Server interface that comes with DOC/3000. This let’s you use an MS Windows application as your interface layer. One of the big advantages here is the ability of DOC/3000 to collect comprehensive information about your source libraries located on heterogeneous hosts. There are two ways to use the collected information in this environment. The first one is to perform Impact Analysis in order to identify all files/objects that use a specific element, function call, include file, etc. The second method is to select a specific file and view the list of all elements, functions calls and include files used by that file.

Figures 4 and 5 have examples of some of the Client screens.

There are all sorts of configuration and search options that I didn’t go over in this review, but I think what I have touched on gives you an idea of the scope and power of DOC/3000.

Usability (also installation)

The installation is very clean and easy. Do a restore of everything with the CREATE option, and then just run a program that fixes everything up for you. My only problem with the user interface is the switching between character mode and block mode. The screens are incredibly fast as a result, but it makes it a bit awkward switching between enter and return, not to mention that sometimes your available response types are next to your cursor, other times they are at the top of the screen. After working with the software for a while, you get used to it, but I still tend to hit return instead of enter.


DOC is very solid, no program aborts or errors, and as far as I could verify, it was gathering and reporting all the data that was required.


Scanning for strings in the files sets is incredibly fast, in just a few seconds DOC went through hundreds of files looking for my string DATE and returned about 40 entries. The data collection is also amazingly fast, I was very impressed with whatever it is they are doing to make things so quick.

Supportability (including Doc)

Support from Diamond Optimum is excellent. The documentation is thin, which at first makes you think that it isn’t complete, but you would be wrong. The manual starts out with a short, easy tutorial that get’s you started on how to load files into the system, and then how to search the system. The manual also has a little section at the end of frequently asked questions, I found this quite helpful to read right off the bat. All and all, support and documentation is well done.


Keeping track of source code isn’t a glamorous thing to do, but you would be amazed at how easy it can make your life. Like I mentioned at the top of this review, the year 2000 is coming up quick, and even if you only need a tool to get you through this one project, you could probably justify the cost in saved time and accuracy in changes.

Here are a couple of things that I would like to see in Doc/3000. As I mentioned earlier, the global change function should be available without needing MPEX. A more consistent user interface in the host software, the Client interface is pretty nice.

With my complaints said, I must say that Doc/3000 is easy to configure, robust in it’s completeness, quick in it’s performance, and simple to maintain. As dull as the idea of documentation can be, I found myself getting more and more excited the more I used the software. If you are at all interested in getting control over your environment, then you should really look at Doc/3000

At-a-Glance box

Documentation/3000 version 7
Diamond Optimum Systems
22801 Ventura Blvd., Suite 105
Woodland Hills, CA 91364

Phone 818-224-2010
FAX 818-224-2009
Web page

Software is $6,000 regardless of CPU with the first year support included, support is 15% every year thereafter. Call, write, fax, or email to receive a free demo.