This topic discusses the considerations for creating a file and
using the FORMAT parameter.
You must specify a record format name on the FORMAT parameter when you
request join processing by specifying multiple entries on the FILE parameter
(that is, you cannot specify FORMAT(*FILE)). Also, a record format name is
normally specified with the grouping function or when you specify a complex
expression on the MAPFLD parameter to define a derived field. Consider the
following guidelines and rules:
- The record format name is any name you select. It can differ from the
format name in the database file you want to query.
- The field names are any names you select. If the field names are unique
in the database files you are querying, the system implicitly maps the values
for any fields with the same name in a queried file record format (FILE parameter)
and in the query result format (FORMAT parameter).
- If the field names are unique, but the attributes differ between the file
specified on the FILE parameter and the file specified on the FORMAT parameter,
the data is implicitly mapped.
- The correct field attributes must be used when using the MAPFLD parameter
to define derived fields. For example, if you are using the grouping %SUM
function, you must define a field that is large enough to contain the total.
If not, an arithmetic overflow occurs and an exception is sent to the program.
- Decimal alignment occurs for all field values mapped to the record format
identified on the FORMAT parameter. Assume that you have a field in the query
result record format with 5 digits with 0 decimals, and the value that was
calculated or must be mapped to that field is 0.12345. You will receive a
result of 0 in your field because digits to the right of the decimal point
are truncated.