PL/I data type support

When you define an execution object model (XOM) from a PL/I include file, you must know which PL/I data types are supported.

The following tables show which PL/I data types and attributes are supported.

Arithmetic type

Table 1. Support status of PL/I arithmetic data type
Data type Supported Example Further information
Coded arithmetic Yes
float dec(9);
fixed bin(31);
The following attributes are supported:
  • FIXED | BINARY
  • BINARY | DECIMAL
  • PRECISION
  • SIGNED | UNSIGNED
Picture numeric Yes
picture 's9v9'

Picture symbols S, 9, and V are supported.

Editing symbols such as currency symbols ($), zero suppression (z, *), and exponent characters (K, E) are not supported.

COMPLEX No
38+27I
 

String type

Table 2. Support status of PL/I string data type
Data type Supported Example Further information
Fixed-length string PICTURE Yes
picture 'AXX(2)9'

Picture symbols X, A, and 9 are supported.

BIT Yes
BIT(32)

The string length must be restricted by using the expression (const value)

Supported attributes: VARYING | VARYINGZ | NONVARYING

The BIT character with the REFER option is not supported.

CHARACTER Yes
char(20)

The string length must be restricted by using the expression (const value)

Supported attributes: VARYING | VARYINGZ | NONVARYING

WIDECHAR Yes
wchar(20)
GRAPHIC Yes
G(20)
Variable length string variable length string without REFER option No
char(m)

Supported attributes: VARYING | VARYINGZ | NONVARYING

Only the simple REFER usage is supported.

Variable length strings in the BIT data type is not supported.

variable length string with REFER option Yes
char(m refer(n))
Date date No
picture char(8) date('YYYYMMDD')

You can use the data converter to map a PL/I data item to the Java™ Date type. For more information, see Mapping PL/I data items to boolean and date types.

Array type

Table 3. Support status of PL/I array data type
Data type Supported Example Further information
Fixed-length array DIMENSION

DIMACROSS

Yes
messages(5) char(20);
 
Variable length array REFER option Yes
messages(m refer(n))  char(20)

Only the simple REFER usage is supported.

NO-REFER option No
messages(m) char(20)
 

User-defined type

Table 4. Support status of PL/I user-defined data type
Data type Supported Example Further information
Alias No
define alias Name   char(31) varying;
 
Structure No
define structure 
         1 Borrower,
           2 address union,
             3 home char(20),
             3 office  char(30);
 
Ordinal Yes
define ordinal 
           Color (LOW value(3),
                       MEDIUM value(6),
                       HIGH value(8));

The ORDINAL type is mapped to a Java numeric Object; for example, Byte, Short, Integer, Long, and BigInteger.

The ordered values of the ORDINAL attribute are ignored.

Union Yes
define  1 Borrower,
          2 address union,
            3 home char(20),
            3 office  char(30);
 
Like Yes
declare 1 coBorrower like Borrower;
 

Program-control data

Table 5. Support status of PL/I program-control data
Data type Supported
File FILE No
Area AREA No
Locator POINTER No
OFFSET No
HANDLE No

Other data attributes

Table 6. Support status of other PL/I data attributes
Data attributes Supported Further information
STATIC Yes  
AUTOMATIC Yes  
BASED Yes  
CONTROLLED No  
ALIGNED Yes  
UNALIGNED Yes  
ASSIGNABLE Yes  
UNASSIGNABLE No  
EXTERNAL Yes  
INTERNAL Yes  
LITTLEENDIAN No  
BIGENDIAN Yes  
HEXADEC Yes  
IEEE Yes  
DEFINED | POSITION No  
VALUE Yes  
INITIAL Yes

The PL/I importer ignores this attribute.

NORMAL | ABNORMAL Yes

The PL/I importer ignores this attribute.

XMLATTR | XMLOMIT Yes

The PL/I importer ignores this attribute.