Support for PL/I data description entries
In the PL/I data description entries specified in a copybook, FM/Db2 supports:
- PL/I data attributes VARYING and VARYINGZ for single and double-byte character strings.
- PL/I bit variables including the VARYING attribute.
- Binary, decimal, floating point and numeric picture data (excluding symbols).
- REFER variables for array extents. Both upper and lower bound
array elements may be declared for each dimension. The number of extents
for each dimension is always:
upper bound - lower bound + 1
Note: A zero extent is not allowed for a PL/I dimension. If a bound is not specified PL/I assumes a value of 1. - REFER variable to declare the length of a string variable, character (AN), varying-length character (VC) or zero-terminated character string (ZC) in bytes.
- FM/Db2 also supports PL/I double-byte character variables (DB), varying-length double-byte character (VD) and zero-terminated double-byte characters (Z2) as byte pairs. FM/Db2 also supports bit strings (BT) and varying bit string (VB) variables.
- REFER variables can be declared as integer, fixed binary, packed decimal, floating point, or character string variables.
- UNION declarations at any level which can have varying length
(REFER string length or REFER array extents). Note: UNIONS can contain overlays of different data types, which may require template workbench record selection criteria or SHOW control if data is not displayable.
FM/Db2 ignores:
- INIT data values
- REFER start expression, for example,
VAR(, expr Refer abc, ) or CHAR(expr Refer abc).
- EXTERNAL attributes
- DEFINED structure overlays
- LIKE structure attributes
Note: In general, FM/Db2 treats Numeric Edited fields as alphanumeric.
A special code, ZA, is used for unsupported zoned decimals.