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 headerSTD - Only the standard key value pairs (Version, Comment, Chrset) for ARMOR headerEXT - 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 definedSYSTEM - 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 (static without mapping) [default]