DPDiagnostics Utility

The DPDiagnostics Utility is an excellent resource regardless if you are a beginner or an advanced developer. This utility can save you countless numbers of hours (not to mention headaches) of searching for that little bug that just makes your life miserable.


Running DPDiagnostics

Before running DPDiag, you should take a look at the startup options and decide which options are best for your particular application's needs. Using one of these options is not required to produce results.

To analyze your application with DPDiag,

  • Change to the directory where you keep the DataPerfect program files (Example, C:\DP23).
  • Type dpdiag followed by the database path (if you are not in the same directory as the database) and name, followed by any of the startup options. This is the format to follow:
DPDIAG path\[database name] [startup option]
or if you are in the same directory as the database:
DPDIAG [database name] [startup option]

Your command might look like the following example if you want to analyze a database called Users and use the /F option to send output to a file called USERS.FIX in a directory called TEMP.

dpdiag users /f-c:\temp\users.fix
  • Press Enter.

If errors, warnings or optimizations exist in the application you are analyzing, DPDiagnostics displays a screen with the following message:

Errors/Warnings/Optimizations Exist
Diagnostic Information in USERS.FIX
  • Press any key to exit.

You can retrieve the output text file, USERS.FIX, into any wordprocessor or text editor. Use the list of messages in the DataPerfect Reference to understand the messages created by DPDiag and to find suggestions on how to correct problems and errors, as well as suggestions on how to optimize your application.

The easiest way to use the report is to have a print out of the report next to you when you begin working on your application. Check off corrections as you go along and rerun DPDiag to compare notes and to see if any other problems surfaced or if you are on your way to a bug free application.


Example of Working with the Report

The USERS.FIX report will refer to a location of an error using something like P1F14 (which indicates Panel 1, field 14). Along with the location, one of the messages will describe the specific problem at that location. To locate the problem field in this example, locate the correct panel (which is Panel 1 in this case) in the field list. Once you have selected the panel, press Alt-F3 twice. Locate the field with the number DPDiag reported (in this case it would be field 14). Press Exit (F7) to return to browsing the panel, press Define Panel (Alt-F8) to edit the panel, and make the changes necessary to correct the problem in the field.

A sample report is located at the end of this page.


Startup Options

The startup options you can use with DPDiag are as follows:

  • /f-outputname - Specify output filename (no spaces). The default name is the name of the database, placed in the current database directory.
  • /i-# - Specify the maximum field count for index optimization. The default is 5.
  • /l - List only the panel number and panel name.
  • /n - Do not create an output file.
  • /o - Suppress optimization messages.
  • /q-# - DPPrint printer port (1-LPT1, 2=LPT2, 3=COM1, 4=COM2). (DPPrint must be resident for this option to work.)
  • /w - Suprress warning messages.

Sample DPDiag Report

DPDiagnostics was used to analyze an earlier version of Dispatch Operations System; a DP application I have developed. Below you will find the actual report that was produced by DPDiag. The bolded lables have been added to describe each line of the report in the first section.


C:\DP23\APPS\SECURITY\TEST\SECURITY.STR<----------File name and path

*******************************************************************************

* --CASE NUMBER FILE--<---------- Panel Name *

*Panel #: 1 <----------Panel Number *

Optimize: (Field 12) Link is using more than 3 fields for linking<-------Optimization Message

Warning: Exception List on Index 2 contains more than one field<------Warning Message

*******************************************************************************

* --MASTER PERSON FILE-- *

*Panel #: 4 *

Optimize: (Field 17) Link is using more than 3 fields for linking

*******************************************************************************

* --MASTER VEHICLE FILE-- *

*Panel #: 5 *

Optimize: (Field 24) Link is using more than 3 fields for linking

Optimize: Index 2 contains 5 or more fields

*******************************************************************************

*BLOTTER FILE *

*Panel #: 11 *

Optimize: Index 1 contains 5 or more fields

*******************************************************************************

*ARCHIVE BLOTTER RECORDS *

*Panel #: 43 *

Optimize: Index 1 contains 5 or more fields

*******************************************************************************

*USER ID PANEL *

*Panel #: 53 *

Optimize: (Field 11) Link is using more than 3 fields for linking

Optimize: Index 1 contains 5 or more fields

Optimize: Panel 1 Index 2 is not used in a lookup, link, menu, or report

Optimize: Panel 10 Index 3 is not used in a lookup, link, menu, or report

Optimize: Panel 20 Index 2 is not used in a lookup, link, menu, or report

Optimize: Panel 43 Index 1 is not used in a lookup, link, menu, or report

*******************************************************************************

* Diagnostic Summary Information *

*******************************************************************************

Panel Error(s) Report Error(s) Database Summary

Fields...... 0 Fields...... 0 Errors......... 0

Indexes..... 0 Indexes..... 0 Warnings....... 1

Links....... 0 Subreports.. 0 Optimizations.. 12

Formulas.... 0 Formulas.... 0

Lookups..... 0 Report

Search List. 0 Variables. 0