Importing CICS COBOL data structures
CICS® z/OS® Assets require specific considerations for COBOL data structures.
Restrictions
- COMMAREAs are limited to 32 KB.
- For channels, you can have any number of containers in a channel and each container can be up to 2 GB.
Supported data types
The following table describes which PL/I data description elements are supported. Unsupported PL/I data description elements are either omitted from the table, or marked "Not supported".
COBOL type | JSON type |
---|---|
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
|
Supported |
- The maximum length for WIDECHAR and CHAR strings supported by PL/I is 32,767. Elements that are longer than 32,767 characters result in an IBM1299IE message, and the PL/I data structure cannot be loaded into the z/OS Connect Designer.
- Composite and leaf REFER arrays with a fixed lower bound (LBOUND) are supported in fully UNALIGNED 01 structures. Multiple REFER arrays can be declared.
- If the COMPLEX attribute is specified for a data item, it is ignored.
- If the PRECISION attribute is specified for a data item, it is ignored.
- Enterprise PL/I FLOAT IEEE is not supported.
- Enterprise PL/I algorithms that pad data items in order to align them on byte, fullword, or
doubleword boundaries are not implemented. One of the following two techniques can be used to
address this restriction:
- Modify the Enterprise PL/I application and specify the UNALIGNED keyword on each 01-level structure that represents the interface to the application. Ensure that you remove any ALIGNED keywords from members of the 01-level structures. Recompile and link the application.
- Insert padding items into structure in order to cause data items that require byte, fullword, or doubleword alignment to be aligned correctly. Refer to the Enterprise PL/I for z/OS documentation for more information on PL/I data item alignment characteristics.
Compiler options
PROCESS
statements placed at the start of COBOL and PL/I programs specify
compiler options and limits, allowing source data to be interpreted differently.
The AGGREGATE
compiler option can be used to help indicate where padding is
expected in a data structure.
*PROCESS RULES(NOPADDING);
Preprocessors
Several preprocessors that are included with the z/OS Connect Designer are used when importing PL/I. These preprocessors are included at the minimal supported versions may be configured and invoked to provide alternative syntax, conditional compilation, and tolerating syntax for CICS and Db2 syntax.
For CICS z/OS Asset types, PP(MACRO
CICS SQL)
is the default preprocessor configuration.
PROCESS
statement must be included at the top of PL/I source to override z/OS Connect Designer preprocessor
defaults.*PROCESS PP(INCLUDE(‘ID(-INC)’) MACRO(‘CASE(ASIS)’) CICS SQL);