Converting Data Types from Automation to z/OS COBOL

Use the tables in this topic as a guide to specify how you want TI to handle conversions from Automation data types to COBOL data types. For more information about the specific data types, see Supported TI Data Types.

Use the following code key to interpret the codes in the Possible Conversion Errors and Required Property Settings columns in each table.

Code Description
r Range errors possible.
b Possible loss of precision due to base 2 to base 16 conversion.
p Possible loss of precision due to picture format scale specification.
m Mapping errors possible.
f yyyyddd and hhmmss.
A You must specify Truncate, Round, or Error under Error handling on the COBOL Definition tab of the property page.
C You must specify the precision and scale by filling in the Digits left and Digits right boxes on the COBOL Definition tab of the property page.
D You must specify the string width by filling in the Size box on the COBOL Definition tab of the property page.
E Unicode or EBCDIC mapping information is required, such as a code page.
F For arrays whose length is less than the maximum specified, you must specify Size of Filler under Trailing filler on the COBOL Definition tab of the property page.
G You must specify how to deal with strings. Click Space Padded or Null terminated under String Delimiting on the COBOL Definition tab of the property page. Then click Truncate or Error under Error handling on the COBOL Definition tab of the property page to specify what TI should do if the string is too long.
H Maximum size is required.
I Localization is required.
J Optional SO and SI insertion and deletion is supported.

The following table shows the defaults that TI uses for converting Automation data types to COBOL data types.

Default

From Automation data type To z/OS COBOL data type Possible conversion errors Required property settings
1-byte unsigned Integer PIC X No Translation None None
2-byte signed Integer PIC S9(4) COMP (Integer 16-bit) None None
4-byte signed Integer PIC S9(9) COMP (Integer 32-bit) None None
4-byte Real (Single) COMP-1 br None
8-byte Real (Double) COMP-2 br None
Boolean PIC S9(4) COMP (Integer 16-bit) None None
Variable-length String PIC X m DEG
Currency COMP-3 Packed Decimal pr C
Date (date and time) COMP-3 Packed Decimal pf CI
Date (date only) COMP-3 Packed Decimal pf CI
Date (time only) COMP-3 Packed Decimal pf CI
Decimal COMP-3 Packed Decimal pr C
Array (any data type) OCCURS fixed TIMES None FH

Note

When you convert whole or fractional numbers from Visual Basic Single or Visual Basic Double data types to Packed Decimal or distributed program call (DPC) Zoned Decimal data types, TI is limited to a precision from 1 through 18 digits left of the decimal point (for example, 1.2345678901234567E+17). When you convert fractional numbers Packed Decimal or DPC Zoned Decimal data types, you should convert to Visual Basic Decimal data type.

The following table shows the other supported data type mappings that you can set in TI Project to override the defaults presented in the previous table.

Supported in Transaction Integrator

From Automation data type To z/OS COBOL data type Possible conversion errors Required property settings
1-byte unsigned Integer PIC S9(4) COMP (Integer 16-bit) None None
1-byte unsigned Integer COMP-3 Packed Decimal None C
2-byte signed Integer COMP-3 Packed Decimal None C
2-byte signed Integer DISPLAY Zoned Decimal None C
4-byte signed Integer COMP-3 Packed Decimal None C
4-byte signed Integer DISPLAY Zoned Decimal None C
4-byte Real (Single) PIC S9(4) COMP (Integer 16-bit) p,r None
4-byte Real (Single) PIC S9(9) COMP (Integer 32-bit) p,r None
4-byte Real (Single) COMP-3 Packed Decimal p,r C
4-byte Real (Single) DISPLAY Zoned Decimal p,r C
8-byte Real (Double) PIC S9(4) COMP (Integer 16-bit) p,r None
8-byte Real (Double) PIC S9(9) COMP (Integer 32-bit) p,r
8-byte Real (Double) COMP-3 Packed Decimal p,r C
8-byte Real (Double) DISPLAY Zoned Decimal p,r C
Boolean PIC S9(9) COMP (Integer 32-bit) None None
Boolean COMP-3 Packed Decimal None C
Variable-length String PIC G m DEGJ
Currency PIC S9(?)V9(?) COMP (16-bit) pr None
Currency PIC S9(?)V9(?) COMP (32-bit) pr None
Currency DISPLAY Zoned Decimal pr C
Decimal PIC S9(?)V9(?) COMP (16-bit) pr None
Decimal PIC S9(?)V9(?) COMP (32-bit) pr None
Decimal DISPLAY Zoned Decimal pr C
Array (any data type) OCCURS DEPENDING ON None FH

Note

When you convert whole or fractional numbers from Visual Basic Single or Visual Basic Double data types to Packed Decimal or DPC Zoned Decimal data types, TI is limited to a precision of 1 to 18 digits left of the decimal point (for example, 1.2345678901234567E+17).

The following table shows additional supported data type mappings that the TI run-time environment supports.

Supported only by the TI run-time environment

From Automation data type To z/OS COBOL data type Possible conversion errors Required property settings
1-byte unsigned Integer PIC S9(9) COMP (Integer 32-bit) None None
1-byte unsigned Integer DISPLAY Zoned Decimal None C
Boolean DISPLAY Zoned Decimal None C

No other data type conversions from Automation to COBOL are supported by TI at this time.

Note

When the COBOL usage is DISPLAY without a sign and you change the Automation type to String, the COBOL picture is changed to PIC X, which has the same internal data representation. The length remains the same and therefore does not affect your mainframe program.

See Also

Supported TI Data Types
Converting Data Types from z/OS COBOL to Automation
Data Type Conversion