Using Format Builder

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Supported Data Types

This section provides information about the following topics:

 


MFL Data Types

Table A-1 lists the MFL data types that data transformer supports. These types are specified in the “type” attribute of a FieldFormat element.

Table A-1 Supported MFL Data Types
Data Type
Description
Binary (Base64 encoding)
Any character value accepted. Requires a length, length field, delimiter, or a delimiter field. Resulting XML data for this field is encoded using base-64.
Binary (Hex encoding)
Any character value accepted. Requires a length, length field, delimiter, or a delimiter field. Resulting XML data for this field is encoded using base-16.
Date: DD-MMM-YY
A string defining a date, i.e. 22-JAN-00.
Date: DD-MMM-YYYY
A string defining a date, i.e. 22-JAN-2000.
Date: DD/MM/YY
A string defining a date, i.e. 22/01/00.
Date: DD/MM/YYYY
A string defining a date, i.e. 22/01/2000.
Date: DDMMMYY
A string defining a date, i.e. 22JAN00.
Date: DDMMMYYYY
A string defining a date, i.e. 22JAN2000.
Date: MM/DD/YY
A string defining a date, i.e. 01/22/00.
Date: MM/DD/YYYY
A string defining a date, i.e. 01/22/2000.
Date: MMDDYY
A six digit numeric string defining a date, i.e. 012200.
Date: MMDDYYYY
An eight digit numeric string defining a date, i.e. 01222000.
Date: MMM-YY
A string defining a date, i.e. JAN-00.
Date: MMM-YYYY
A string defining a date, i.e. JAN-2000.
Date: MMMDDYYYY
A string defining a date, i.e. JAN222000.
Date: MMMYY
A string defining a date, i.e. JAN00.
Date: MMMYYYY
A string defining a date, i.e. JAN2000.
Date: Wed Nov 15 10:55:37 CST 2000
The default date format of the Java platform, i.e. 'WED NOV 15 10:55:37 CST 2000'
Date: YY-MM-DD
A string defining a date, i.e. 00-01-22. (The string: 00-01-22 defines the date January 22, 2000.)
Date: YY/MM/DD
A string defining a date, i.e. 00/01/22. (The string: 00/01/22 defines the date January 22, 2000.)
Date: YYMMDD
A string defining a date, i.e. 000122. (The string: 000122 defines the date January 22, 2000.)
Date: YYYY-MM-DD
A string defining a date, i.e. 2000-01-22. (The string: 2000-01-22 defines the date January 22, 2000.)
Date: YYYY/MM/DD
A string defining a date, i.e. 2000/01/22. (The string: 2000/01/22 defines the date January 22, 2000.)
Date: YYYYMMDD
An eight byte numeric string of the format YYYYMMDD. A base data of String or EBCDIC may be specified to indicate the character encoding.
DateTime: DD/MM/YY hh:mm
A string defining a date and time, i.e. 22/01/00 12:24.
DateTime: DD/MM/YY hh:mm AM
A string defining a date and time, i.e. 22/01/00 12:24 AM.
DateTime: DD/MM/YY hh:mm:ss
A string defining a date and time, i.e. 22/01/00 12:24:00.
DateTime: DD/MM/YY hh:mm:ss AM
A string defining a date and time, i.e. 22/01/00 12:24:00 AM.
DateTime: MM/DD/YY hh:mm
A string defining a date and time, i.e. 01/22/00 12:24.
DateTime: MM/DD/YY hh:mi AM
A string defining a date and time, i.e. 01/22/00 12:24 AM.
DateTime: MM/DD/YY hh:mm:ss
A string defining a date and time, i.e. 01/22/00 12:24:00.
DateTime: MM/DD/YY hh:mm:ss AM
A string defining a date and time, i.e. 01/22/00 12:24:00 AM.
DateTime: MMDDYYhhmm
A string of numeric digits defining a date and time, i.e. 0122001224.
DateTime: YYYYMMDDhhmmss
A fourteen byte numeric string of the format YYYYMMDDHHMISS. A Base data type may be specified.
DateTime: MMDDYYhhmmss
A string of numeric digits defining a date and time, i.e. 012200122400.
EBCDIC
A string of characters in IBM Extended Binary Coded Decimal Interchange Code. Requires a length, length field, delimiter, or a delimiter field.
Filler
A sequence of bytes that is not transformed to XML. This field of data is skipped over when transforming non-XML data to XML. When transforming XML to non-XML data, this field is written to the binary output stream as a sequence of spaces.
FloatingPoint: 4 bytes, Big-Endian
A four byte big endian floating point number that conforms to the IEEE Standard 754.
FloatingPoint, 4 bytes, Little-Endian
A four byte little endian floating point number that conforms to the IEEE Standard 754.
FloatingPoint: 8 bytes, Big-Endian
A eight byte big endian floating point number that conforms to the IEEE Standard 754.
FloatingPoint: 8 bytes, Little-Endian
A eight byte little endian floating point number that conforms to the IEEE Standard 754.
Integer: Signed, 1 byte
A one byte signed integer, i.e. '56' is 0x38.
Integer: Unsigned, 1 byte
A one byte unsigned integer, i.e. '128' is 0x80.
Integer: Signed, 2 byte, Big-Endian
A signed two-byte integer in big endian format, i.e. '4660' is 0x1234.
Integer: Signed, 4 byte, Big-Endian
A signed four-byte integer in big endian format, i.e. '4660' is 0x00001234.
Integer: Signed, 8 bytes, Big-Endian
A signed eight-byte integer in big endian format, i.e. '4660' is 0x0000000000001234.
Integer: Unsigned, 2 byte, Big-Endian
An unsigned two-byte integer in big endian format, i.e. '65000' is 0xFDE8.
Integer: Unsigned, 4 byte, Big-Endian
An unsigned four-byte integer in big endian format, i.e. '65000' is 0x0000FDE8.
Integer: Unsigned, 8 bytes, Big-Endian
A unsigned eight-byte integer in big endian format, i.e. '65000' is 0x000000000000FDE8.
Integer: Signed, 2 bytes, Little-Endian
A signed two-byte integer in little endian format, i.e. '4660' is 0x3412.
Integer: Signed, 4 bytes, Little-Endian
A signed four-byte integer in little endian format, i.e. '4660' is 0x34120000.
Integer: Signed, 8 bytes, Little-Endian
A signed eight-byte integer in little endian format, i.e. '4660' is 0x3412000000000000.
Integer: Unsigned, 2 bytes, Little-Endian
An unsigned two-byte integer in little endian format, i.e.'65000' is 0xE8FD.
Integer: Unsigned, 4 bytes, Little-Endian
An unsigned four-byte integer in little endian format, i.e. '65000' is 0xE8FD0000.
Integer: Unsigned, 8 bytes, Little-Endian
A unsigned eight-byte integer in little endian format, i.e. '65000' is 0xE8FD000000000000.
Literal
A literal value determined by the contents of the value attribute. When non-XML data is transformed to XML, the presence of the specified literal in the non-XML data is verified by WLXT. The literal is read, but is not transformed to the XML data. When XML data is transformed to a non-XML format, and a literal is defined as part of the non-XML format, WLXT writes the literal in the resulting Non-XML byte stream.
Numeric
A string of characters containing only digits, i.e. '0' through '9'. Requires a length, length field, delimiter, or a delimiter field.
Packed Decimal: Signed
IBM signed packed format. Requires a length, length field, delimiter, or a delimiter field to be specified. The length or length field should specify the size of this field in bytes.
Packed Decimal: Unsigned
IBM unsigned packed format. Requires a length, length field, delimiter, or a delimiter field to be specified. The length or length field should specify the size of this field in bytes.
String
A string of characters. Requires a length, a length field, a delimiter, or a delimiter field. If no length, length field, or delimiter is defined for a data type String, a delimiter of "\x00" (a NUL character) will be assumed.
String: NUL terminated
A string of characters, optionally NUL (\x00) terminated, residing within a fixed length field. This field type requires a length attribute or length field which determines the amount of data read for the field. This data is then examined for a NUL delimiter. If a delimiter is found, data following the delimiter is discarded. If a NUL delimiter does not exist, the fixed length data is used as the value of the field.
Time: hhmmss
A string defining a time, i.e. 122400.
Time: hh:mm AM
A string defining a time, i.e. 12:24 AM.
Time: hh:mm
A string defining a time, i.e. 12:24.
Time: hh:mm:ss AM
A string defining a time, i.e. 12:24:00 AM.
Time: hh:mm:ss
A string defining a time, i.e. 12:24:00.
Zoned Decimal: Leading sign
Signed zoned decimal format (US-ASCII or EBCDIC) where the sign indicator is in the first nibble. Requires a length, length field, delimiter, or a delimiter field to be specified. The length or length field should specify the size of this field in bytes.

Note: This data type is supported with US-ASCII data only with Message Format Language Version 2.02

Zoned Decimal: Leading separate sign
Signed zoned decimal format (US-ASCII or EBCDIC) where the sign indicator is in the first byte. The first byte only contains the sign indicator and is separated from the numeric value. Requires a length, length field, delimiter, or a delimiter field to be specified. The length or length field should specify the size of this field in bytes.

Note: This data type is supported with US-ASCII data only with Message Format Language Version 2.02.

Zoned Decimal: Signed
Signed zoned decimal format (US-ASCII or EBCDIC). Requires a length, length field, delimiter, or a delimiter field to be specified. The length or length field should specify the size of this field in bytes.

Note: This data type is supported with US-ASCII data only with Message Format Language Version 2.02.

Zoned Decimal: Trailing separate sign
Signed zoned decimal format (US-ASCII or EBCDIC) where the sign indicator is in the last byte. The last byte only contains the sign indicator and is separated from the numeric value. Requires a length, length field, delimiter, or a delimiter field to be specified. The length or length field should specify the size of this field in bytes.

Note: This data type is supported with US-ASCII data only with Message Format Language Version 2.02.

Zoned Decimal: Unsigned
Unsigned zoned decimal format (US-ASCII or EBCDIC). Requires a length, length field, delimiter, or a delimiter field to be specified. The length or length field should specify the size of this field in bytes.

Note: This data type is supported with US-ASCII data only with Message Format Language Version 2.02.

 


COBOL Copybook Importer Data Types

Table A-2 lists the COBOL data types and the support provided by the Importer. Support for these data types is limited. The following formats:

05 pic 9(5) comp-5
05 pic 9(5) comp-x

will be converted to an unsigned 4 byte integer type, while the following will generate errors:

05 pic X(5) comp-5
05 pic X(5) comp-x

In these samples, pic9(5) could be substituted for pic x(5).

Table A-2 COBOL Data Types
COBOL Type
Support
BLANK WHEN ZERO (zoned)
supported
COMP-1, COMP-2 (float)
supported
COMP-3, PACKED-DECIMAL
supported
COMP, COMP-4, BINARY (integer)
supported
COMP, COMP-4, BINARY (fixed)
supported
COMP-5, COMP-X
supported
DISPLAY (alphanumeric)
supported
DISPLAY numeric (zoned)
supported
edited alphanumeric
supported
edited float numeric
supported
edited numeric
supported
group record
supported
INDEX
supported
JUSTIFIED RIGHT
ignored
OCCURS (fixed array)
supported
OCCURS DEPENDING (variable-length)
supported
OCCURS INDEXED BY
ignored
OCCURS KEY IS
ignored
POINTER
supported
PROCEDURE-POINTER
supported
REDEFINES
supported
SIGN IS LEADING SEPARATE (zoned)
supported
SIGN IS TRAILING (zoned)
supported
SIGN IS TRAILING SEPARATE (zoned)
supported
SIGN IS LEADING (zoned)
supported
SYNCHRONIZED
ignored
66 RENAMES
not supported
66 RENAMES THRU
not supported
77 level
supported
88 level (condition)
ignored

The following values are defined as follows:

Some vendor-specific extensions are not recognized by the importer, however, any copybook statement that conforms to ANSI standard COBOL will be parsed correctly by the Importer. The Importer's default data model, which is based on the IBM mainframe model, can be changed in Format Builder to compensate for character set and data “endianness”.

When importing copybooks, the importer may identify fields generically that, upon visual inspection, could easily be identified by a more specific data type. For this reason, the copybook importer creates comments for each field found in the copybook. This information is useful in assisting you in editing the MFL data to better represent the original Copybook. For example:

original copybook entry:

05 birth-date    picxx/xx/xx

results in:

A field of type EBCDIC with a length of 8

Closer inspection indicates that this is intended to be a date format and could be defined as

A field of type Date: MM/DD/YY or a field of type Data: DD/MM/YY

 


Unsupported C Language Features

The C struct Importer utility does not parse files containing anonymous unions, bit fields, or in-line assembler code. The following samples of unsupported features are taken from the preprocessor output of a hello.c file that contained a #include <windows.h> statement:


  Back to Top       Previous  Next