HELP: Format all elements to one block of data (all meta data lost) TYPE: OBJECT SYNTAX: BLK(METHOD=L4I/L4X/B4I/B4X/S4I/S4X/HLI/HLX/HBI/HBX/HSI/HSX/DLM,RECDLM='bin'/CR-ASCII/LF-ASCII/NL-ASCII/CRLF-ASCII/CR-EBCDIC/LF-EBCDIC/NL-EBCDIC/CRLF-EBCDIC/CR-UTF08/LF-UTF08/NL-UTF08/CRLF-UTF08/CR-UTF16BE/LF-UTF16BE/NL-UTF16BE/CRLF-UTF16BE/CR-UTF16LE/LF-UTF16LE/NL-UTF16LE/CRLF-UTF16LE/CR-UTF32BE/LF-UTF32BE/NL-UTF32BE/CRLF-UTF32BE/CR-UTF32LE/LF-UTF32LE/NL-UTF32LE/CRLF-UTF32LE,SUPPAd,PUTATR,BUFSIZ=num)
By default (i.e. no method provided), the object "format block" simply concatenates the data of each element to one block of data. Through the method parameter, you can format blocks of data with 4 byte length fields in front of or a binary delimiter at the end of the element data. For example, if you provide a length method (METHOD) and a record delimiter (RECDLM), then a length field is written in front of the record and the delimiter at the end. Be aware that the result can be parsed only in 2 steps (e.g. cnv.rec() followed by fmt.rec()).
All attributes and additional element information is lost unless the PUTATR switch is activated. In this case, the attributes (slot number of RRDS, ASA or MCC) are written in front of each record.
If a length field is added for each element, the data will be organized as binary blocks and it is not possible, for example, to do character conversion or other text oriented things anymore.
With FMT.REC() length field formats or binary delimiters can be defined or detected and, if required, previously written attributes can be parsed.
NUMBER: METHOD=L4I/L4X/B4I/B4X/S4I/S4X/HLI/HLX/HBI/HBX/HSI/HSX/DLM - Method for block formatting [JOIN ELEMENTS TOGETHER]
L4I - Adds 4 byte length fields: Little endian integer, length inclusive
L4X - Adds 4 byte length fields: Little endian integer, length exclusive (ZIP)
B4I - Adds 4 byte length fields: Big endian integer, length inclusive
B4X - Adds 4 byte length fields: Big endian integer, length exclusive (USS)
S4I - Adds 4 byte length fields: System endian integer, length inclusive
S4X - Adds 4 byte length fields: System endian integer, length exclusive (VAR)
HLI - Adds 4 byte length fields: Little endian short (LL00), length inclusive
HLX - Adds 4 byte length fields: Little endian short (LL00), length exclusive
HBI - Adds 4 byte length fields: Big endian short (LL00), length inclusive (MVS)
HBX - Adds 4 byte length fields: Big endian short (LL00), length exclusive
HSI - Adds 4 byte length fields: System endian short (LL00), length inclusive
HSX - Adds 4 byte length fields: System endian short (LL00), length exclusive
DLM - Adds provided binary record delimiter
STRING: RECDLM='bin'/CR-ASCII/LF-ASCII/NL-ASCII/CRLF-ASCII/CR-EBCDIC/LF-EBCDIC/NL-EBCDIC/CRLF-EBCDIC/CR-UTF08/LF-UTF08/NL-UTF08/CRLF-UTF08/CR-UTF16BE/LF-UTF16BE/NL-UTF16BE/CRLF-UTF16BE/CR-UTF16LE/LF-UTF16LE/NL-UTF16LE/CRLF-UTF16LE/CR-UTF32BE/LF-UTF32BE/NL-UTF32BE/CRLF-UTF32BE/CR-UTF32LE/LF-UTF32LE/NL-UTF32LE/CRLF-UTF32LE - Delimiter used to define end of record
CR-ASCII - Delimiter: carriage return in ASCII (0x0D)
LF-ASCII - Delimiter: line feed in ASCII (0x0A)
NL-ASCII - Delimiter: new line in ASCII (0x85)
CRLF-ASCII - Delimiter: carriage return line feed in ASCII (0x0D0A)
CR-EBCDIC - Delimiter: carriage return in EBCDIC (0x0D)
LF-EBCDIC - Delimiter: line feed in EBCDIC (0x25)
NL-EBCDIC - Delimiter: new line in EBCDIC (0x15)
CRLF-EBCDIC - Delimiter: carriage return line feed in EBCDIC (0x0D25)
CR-UTF08 - Delimiter: carriage return in UTF-8 (0x0D)
LF-UTF08 - Delimiter: line feed in UTF-8 (0x0A)
NL-UTF08 - Delimiter: new line in UTF-8 (0xC285)
CRLF-UTF08 - Delimiter: carriage return line feed in UTF-8 (0x0D0A)
CR-UTF16BE - Delimiter: carriage return in UTF-16BE (0x000D)
LF-UTF16BE - Delimiter: line feed in UTF-16BE (0x000A)
NL-UTF16BE - Delimiter: new line in UTF-16BE (0x0085)
CRLF-UTF16BE - Delimiter: carriage return line feed in UTF-16BE (0x000D000A)
CR-UTF16LE - Delimiter: carriage return in UTF-16LE (0x0D00)
LF-UTF16LE - Delimiter: line feed in UTF-16LE (0x0A00)
NL-UTF16LE - Delimiter: new line in UTF-16LE (0x8500)
CRLF-UTF16LE - Delimiter: carriage return line feed in UTF-16LE (0x0D000A00)
CR-UTF32BE - Delimiter: carriage return in UTF-32BE (0x0000000D)
LF-UTF32BE - Delimiter: line feed in UTF-32BE (0x0000000A)
NL-UTF32BE - Delimiter: new line in UTF-32BE (0x00000085)
CRLF-UTF32BE - Delimiter: carriage return line feed in UTF-32BE (0x0000000D0000000A)
CR-UTF32LE - Delimiter: carriage return in UTF-32LE (0x0D000000)
LF-UTF32LE - Delimiter: line feed in UTF-32LE (0x0A000000)
NL-UTF32LE - Delimiter: new line in UTF-32LE (0x85000000)
CRLF-UTF32LE - Delimiter: carriage return line feed in UTF-32LE (0x0D0000000A000000)
SWITCH: SUPPAd - Suppress trailing padding/equal bytes [FALSE]
SWITCH: PUTATR - Put attributes in front of the records [FALSE]
NUMBER: BUFSIZ=num - Initial buffer size for preallocation [65536]