HELP: Write ASCII armored output TYPE: OBJECT SYNTAX: ARMOR(FORMAT=OFF/STD/EXT,CHRSET=NONE/SYSTEM/ASCII/UCS1/UTF8/EBCDIC/UCS2BE/UTF16BE/UCS2LE/UTF16LE/UCS4BE/UTF32BE/UCS4LE/UTF32LE/LOCAL,DELIM/RECDLM=HOST/BIN/TXT/NL/USS/LF/UNIX/CR/OLDMAC/CRLF/WINDOWS/DLM/SYSTEM,COMMENT='str')
The ARMOR object activates ASCII armor encoding. It also supports EBCDIC as charset. ASCII-armored data is Base64 encoded binary data with a line length of 76 character followed by an optional checksum, surrounded by a header and trailer. The component in whose context the ARMOR object is used (usually PGP) defines the header and trailer information like in the example below:
-----BEGIN header string----- Version: version string Comment: comment string yDgBO22WxBHv7O8X7O/jygAEzol56iUKiXmV+XmpCtmpqQUKiQrFqclFqUDBovzS vBSFjNSiVHsuAA== =njUN -----END header string-----
The ARMOR support adds by default several file attributes which allows FLAM to restore host datasets from such an armored file. The keywords below are supported:
The printed values are decimal numbers or keywords used by FLCL. You can find a detailed description for each keyword if you search for it in this document. Below you can see an example for a VSAM Relative Record Dataset (RRDS) archived in a BZIP2 file using a binary delimiter to separate each record:
flcl conv read.record(file='TST.IDAT.RRDS') write.record(file='.ODAT.BZ2ARMOR.RRDS' recdelim=x'FE03FF' prnc=retain comp.bzip() encode.armor(delim=host)) -----BEGIN BZIP2 FILE----- Version: FL-CNVBZ2 5.1.16.13587 Comment: created with FLUCv5.1.12.13587 (www.flam.de) Platform: z/OS on SystemZ with 31 bit (zosz31d0) BinaryDelimiter: FE03FF FileOrganization: RDS BlockSize: 18432 RecordFormat: FR RecordLength: 60 SlotNumbers: Yes QlpoMTFBWSZTWVfxaJMAAAD0B9nAQAAABkAAIiAIIBkgAAGgAEDapBpp6ho2nqhQNNDIyYjKJDNl bfpIZgkbO3n6iXJZxDK6wlOU8H4u5IpwoSCv4tEm =XvA6 -----END BZIP2 FILE-----
NUMBER: FORMAT=OFF/STD/EXT - Format of ARMOR header (which information is printed) [EXT]
OFF - Disable the printout of key value lines in ARMOR header
STD - Only the standard key value pairs (Version, Comment, Chrset) for ARMOR header
EXT - All available key value pairs are printed to ARMOR header (required for archiving)
NUMBER: CHRSET=NONE/SYSTEM/ASCII/UCS1/UTF8/EBCDIC/UCS2BE/UTF16BE/UCS2LE/UTF16LE/UCS4BE/UTF32BE/UCS4LE/UTF32LE/LOCAL - Character set [SYSTEM]
NONE - No character set defined
SYSTEM - SYSTEM (environment specific (on mainframe EBCDIC else ASCII))
ASCII - ASCII (mainly used in the for open system)
UCS1 - UCS-1 (for text formatting identical to ASCII < 64k)
UTF8 - UTF-8 (for text formatting identical to ASCII < 2M)
EBCDIC - EBCDIC (mainly used on IBM mainframe)
UCS2BE - UCS-2 Big Endian (multibyte character set < 64k)
UTF16BE - UTF-16 Big Endian (multibyte character set < 2M)
UCS2LE - UCS-2 Little Endian (multibyte character set < 64k)
UTF16LE - UTF-16 Little Endian (multibyte character set < 2M)
UCS4BE - UCS-4 Big Endian (multibyte character set < 64k)
UTF32BE - UTF-32 Big Endian (multibyte character set < 2M)
UCS4LE - UCS-4 Little Endian (multibyte character set < 64k)
UTF32LE - UTF-32 Little Endian (multibyte character set < 2M)
LOCAL - LOCAL (platform specific (on mainframe EBCDIC else ASCII))
NUMBER: DELIM/RECDLM=HOST/BIN/TXT/NL/USS/LF/UNIX/CR/OLDMAC/CRLF/WINDOWS/DLM/SYSTEM - Line delimiter to use when mode is BLOCK and line>0 [SYSTEM]
HOST - Adds no delimiter (HOST)
BIN - Adds no delimiter (HOST)
TXT - Adds the system specific delimiter (DEFAULT)
NL - Adds delimiter new line (USS)
USS - Adds delimiter for USS (new line)
LF - Adds delimiter line feed (UNIX)
UNIX - Adds delimiter for UNIX (line feed)
CR - Adds delimiter carriage return (MAC)
OLDMAC - Adds delimiter for old MACs (carriage return)
CRLF - Adds delimiter carriage return line feed (WIN)
WINDOWS - Adds delimiter for WINDOWS (carriage return line feed)
DLM - Adds the system specific delimiter (DEFAULT)
SYSTEM - Adds the system specific delimiter (DEFAULT)
STRING: COMMENT='str' - Define comment for ARMOR header [default]