The Missing maps report allows you to identify any maps that are missing from a database but which are used by a QAB program. When you select it (from the Analysis option on the QABUTIL main menu) a dialog is displayed which enables you to select various options:
You can select to have per-program reports (one for each program containing at least one missing map), or a report that does a global analysis of the entire database. The per-program report may help you to decide whether a particular missing map is important or not - for example your database may contain programs that are not used in your intended configuration. It may also be useful in helping you find out what program needs to be edited to fix the problem. The global analysis report is considerably quicker to produce, and will be more compact as each instance of the a missing map's being sued is reported only once.
If you select a per-program report you can choose to ignore library (and variant library) programs. This may be useful if your database contains "unbound" variant library programs: you may not be concerned about missing maps that are only used in such programs.
Finally you can choose to stop a particular missing map being listed more than once (or once per program for the per-program report). If you do this you need to remember that a missing map may be used in another procedure as well as the once shown.
After completing this dialog you are asked to choose the output device to print to in the normal way.
The missing map report checks for the existence of each map in the current language, and also language zero if the current language is non zero. Maps are only reported as missing if they exist in neither language.
Each missing map encountered is listed with its mapset name and map number followed by summary information detailing where it is used:
The name listed is the name of the program (if the map is shown as being a layout map), the name of the procedure to which the entry condition belongs (if the map is shown as being a remark on an entry condition failure), or the name of a procedure body otherwise.
Additional information is shown that identifies further how the map is used. The type of the information varies, but should be fairly self explanatory.
The Missing maps option will report missing remarks for conditions that are not actually used. To avoid this problem use Weed All Redundant QAB Information before running the Missing map report.
In two instances a map may be erroneously reported as missing:
It is not possible for the Missing map report to identify the intended map in either of these two cases.
The Missing map report does not check the contents of the map in any way - it only checks for the existence of the map. For example an item of field processing might refer to a control that was missing from the main map. It would be useful to have an option to perform this type of checking, and this is a possible future enhancement. However it would probably be rather slow.