Follow

Supported PL/I Data Types

Table of Contents

  1. Overview
  2. Arithmetic types
  3. Numeric & character editing
  4. String types
  5. Address & locator types
  6. Aggregates
  7. Other
  8. Storage attributes
  9. Summary
  10. Related articles

Audience: developers and technical decision-makers checking which PL/I data types and storage attributes a Heirloom-migrated application supports.


Overview

This is a quick reference to the PL/I data types and storage attributes the runtime supports, with a one-line note on each. Each type keeps its mainframe byte representation, so record layouts are preserved byte-for-byte (see How the PL/I Runtime Manages Memory for the byte-level detail).

Note: This is a summary of the commonly used types, not an exhaustive attribute-by-attribute specification. If you need confirmation that a specific type, precision, or attribute your application relies on is covered, contact Heirloom support with the detail.


Arithmetic types

Type Notes
FIXED BINARY(p[,q]) Signed binary integer/fixed-point; stored in 2, 4, or 8 bytes by precision, with arbitrary precision beyond 64 bits
FIXED DECIMAL(p[,s]) Packed decimal (BCD), two digits per byte with a sign nibble — the classic COMP-3 layout

Numeric & character editing

Type Notes
PICTURE Numeric pictures (9, Z, V, S, CR, DB, currency, insertion) and character pictures (X, A), in display/zoned form

String types

Type Notes
CHARACTER(n) Fixed-length character string, space-padded to n
CHARACTER(n) VARYING Variable-length character string
BIT(n) Bit string of n bits

Address & locator types

Type Notes
POINTER Locator for BASED storage (ADDR, pointer assignment)
OFFSET Locator relative to an AREA
ENTRY Entry (procedure) reference

Aggregates

Type Notes
Structures (DCL 1 … 2 … 3 …) Multi-level records with nested members
Arrays One- and multi-dimensional, with bounds; arrays of scalars or of structures

Other

Type Notes
COMPLEX Numbers with real and imaginary parts
AREA A block of storage for BASED/OFFSET allocation (ALLOCATE/FREE)

Storage attributes

Attribute Notes
BASED The variable overlays storage addressed by a pointer (target can change)
DEFINED The variable overlays another variable at a fixed position
DERIVED A field derived from another field
LIKE Reuse the structure/member layout of another declaration
INITIAL Initial values for variables

Summary

Supported types span arithmetic (FIXED BINARY, FIXED DECIMAL/packed), PICTURE editing, strings (CHARACTER fixed & VARYING, BIT), locators (POINTER, OFFSET, ENTRY), aggregates (structures and multi-dimensional arrays), and COMPLEX / AREA — together with the BASED / DEFINED / DERIVED / LIKE / INITIAL storage attributes. Each keeps its original byte representation. This list is a summary; contact support to confirm a specific type or attribute.


Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

0 Comments

Article is closed for comments.
Powered by Zendesk