Mapsets and QAB

As discussed in Procedure Overview each procedure body in a QA Build program can use maps from two distinct mapsets: the "Main" mapset and the "Remarks" mapset. In principle you can use different mapsets for each in every procedure body, or you can use the same name everywhere.

Some people like to use the same mapset name for remarks throughout a system, because different programs will often need to display the same error messages, and using the same mapset may help you to provide a complete list of error messages in your system documentation, which may be useful both for users and support staff.

You may find the following table helpful when deciding what mapnames to use:

If... Action Result
The procedure only appears in the current program
Example: A data entry map
Use the program name for the mapset (this is initally the default, though it may not be if you have changed the mapname in a procedure body further up the procedure tree.) Map is stored with the program mapset
The procedure appears in several programs always using the same map
Example: Pop-up maps that are used in more than one program to select a record
Use a mapname that is not specific to any one program Map is stored with named mapset
The procedure shares maps with other procedures
Example: Procedures that use "Already Output" maps
Use the same mapname as the procedure that displayed the map. (In fact this is not strictly necessary at runtime, but it will be confusing both for programmers and QA Build itself if you use the wrong mapname) Map is stored with named mapset
The procedure is to be used in several programs with different maps
Example: A procedure is used to display a report heading which is shared by several programs, but with slightly different text
Enter <blank> Map is stored in the mapset inherited from the procedures above.

There are a couple of points to consider when using a blank mapname: