ILE C/C++ Compiler Reference

>>-#--pragma--mapinc--(--"include_name"--,---------------------->
.-*LIBL/------------.
>--"--+-------------------+--file_name--(--+-*ALL------------+--)--"-->
+-+----------+------+ | .-------------. |
| '-*CURLIB/-' | | V | |
'-+---------------+-' '---format_name-+-'
'-library_name/-'
>--,--"options"--,---------------------------------------------->
.-d-----. .-z-.
>--"--+-------+--+---+--+----+--+------------+--"--------------->
'-+---+-' '-_P-' '-1BYTE_CHAR-'
'-p-'
>--+--------------------------------------------+--)-----------><
'-,--"union_type_name"--+------------------+-'
'-,--"prefix_name"-'
Description
Indicates that data description specifications (DDS) are to be included in
a module. The directive identifies the file and DDS record formats, and
provides information on the fields to be included. This pragma, along
with its associated include directive, causes the compiler to automatically
generate typedefs from the record formats that are specified in the external
file descriptions.
Parameters
- include_name
- This is the name that you refer to on the #include directive in the source
program.
- library_name
- This is the name of the library that contains the externally described
file
- file_name
- This is the name of the externally described file.
- format_name
- This is a required parameter which indicates the DDS record format that is
to be included in your program. You can include more than one record
format (format1 format2), or all the formats in a file
(*ALL).
- options
- The possible options are:
- input
- Fields declared as either INPUT or BOTH in the DDS are included in the
typedef structure. Response indicators are included in the input
structure when the keyword INDARA is not specified in the external file
description (DDS source) for device files.
- output
- Fields declared as either OUTPUT or BOTH in DDS are included in the
typedef structure. Option indicators are included in the output
structure when the keyword INDARA is not specified in the external file
description (DDS source) for device files.
- both
- Fields declared as INPUT, OUTPUT, or BOTH in DDS are included in the
typedef structure. Option and response indicators are included in both
structures when the keyword INDARA is not specified in the external file
description (DDS source) for device files.
- key
- Fields that are declared as keys in the external file description are
included. This option is only valid for database files and DDM
files.
- indicators
- A separate 99-byte structure for indicators is created when the indicator
option is specified. This option is only valid for device files.
- lname
- This option allows the use of file names of up to 128 characters in
length. If the file name has more than 10 characters then the name will
be converted to an associated short name. The short name will be used
to extract the external file definition. When the file has a short name
of 10 characters or less the name is not converted to an associated short
name. Record field names up to 30 characters in length will be
generated in the typedefs by the compiler.
- lvlchk
- A typedef of an array of struct is generated (type name _LVLCHK_T)
for the level check information. A pointer to an object of type
_LVLCHK_T is also generated and is initialized with the level check
information (format name and level identifier).
- nullflds
- If there is at least one null-capable field in the record format of the
DDS, a null map typedef is generated containing a character field for every
field in the format. With this typedef, the user can specify which
fields are to be considered null (set value of each null field to 1, otherwise
set to zero). Also, if the key option is used along with option
nullflds, and there is at least one null-capable key field in the format, an
additional typedef is generated containing a character field for every key
field in the format.
For physical and logical files you can specify input,
both, key, lvlchk, and
nullflds. For device files you can specify input,
output, both, indicator, and
lvlchk.
The data type can be one or more of the following and must be separated by
spaces.
- d
- Packed decimal data type.
- p
- Packed fields from DDS are declared as character fields.
- z
- Zoned fields from DDS are declared as character fields. This is the
default because the compiler does not have a zoned data type.
- _P
- Packed structure is generated.
- 1BYTE_CHAR
- Generates a single byte character field for one byte characters that are
defined in DDS.
- " "
- Default values of d and z are used.
- union_type_name
- A union definition of the included type definitions is created with the
name union_type_name_t. This parameter is optional.
- prefix_name
- Specifies the first part of the generated typedef structure name.
If the prefix is not specified, the library and file_name are used.
Notes on Usage
See Using Externally Described Files in a Program in WebSphere Development Studio: ILE C/C++ Programmer's
Guide for more information about using the #pragma mapinc directive with
externally described files.
[ Top of Page | Previous Page | Next Page | Table of Contents ]
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.