FLAM

Synopsis

HELP:   FLAM parameter for reading from an existing archive
TYPE:   OBJECT
SYNTAX: FLAM(DECRYPT/IMPORT.{},MEMBER['str'/STREAM/DUMMY...],EXCLUDE='str',MATCH[{}...],SUBSET[=SEGMENT/RECORD/AUTO],SERASE[=AUTO/NO/YES],REMOVE,ENDOFT,REPAIR,TABLE,NAME,DIRS)

Description

This object defines how the FLAM archive will be decrypted, decompressed and unserialized.

The key must be entered for encrypted archives. You can define which members are to be read from the archive. If no specification is made here, all members are read. The REMOVE switch can be used to delete a successfully processed member from the archive. The TABEL switch can be used to force simple formats (records, text), which are treated internally as tables, to be output in the form of tables. This affects the following internal table formats.

 ROW(NAME='DATBLK'    MATTYP=DATBLK    COL(NAME='BLOB'   TYPE.BINARY()))
 ROW(NAME='STDREC'    MATTYP=STDREC    COL(NAME='RECORD' TYPE.BINARY()))
 ROW(NAME='STDASAREC' MATTYP=STDASAREC COL(NAME='RECORD' TYPE.STRING()) COL(NAME='ASA'  TYPE.BINARY()))
 ROW(NAME='STDMCCREC' MATTYP=STDMCCREC COL(NAME='RECORD' TYPE.STRING()) COL(NAME='MCC'  TYPE.BINARY()))
 ROW(NAME='RELREC'    MATTYP=RELREC    COL(NAME='RECORD' TYPE.BINARY()) COL(NAME='SLOT' TYPE.BINARY()))
 ROW(NAME='RELTXTREC' MATTYP=RELTXTREC COL(NAME='RECORD' TYPE.STRING()) COL(NAME='SLOT' TYPE.BINARY()))
 ROW(NAME='RELASAREC' MATTYP=RELASAREC COL(NAME='RECORD' TYPE.STRING()) COL(NAME='SLOT' TYPE.BINARY()) COL(NAME='ASA' TYPE.BINARY()))
 ROW(NAME='RELMCCREC' MATTYP=RELMCCREC COL(NAME='RECORD' TYPE.STRING()) COL(NAME='SLOT' TYPE.BINARY()) COL(NAME='MCC' TYPE.BINARY()))
 ROW(NAME='TXTREC'    MATTYP=TXTREC    COL(NAME='RECORD' TYPE.STRING()))
 ROW(NAME='TXTDLM'    MATTYP=TXTDLM    COL(NAME='RECORD' TYPE.STRING()))
 ROW(NAME='TXTRST'    MATTYP=TXTRST    COL(NAME='RECORD' TYPE.STRING()) COL(NAME='REST' TYPE.STRING()))

The attributes of these formats are transferred to additional columns. The ASA and MCC print control characters are provided in binary form in one byte. The slot number of an RRDS in an 8-byte binary value, which represents a 64-bit integer in 2's complement.

If you use filters to search for result sets here and enter names for the individual search queries, the filter column is added at the end, which makes setting the TABLE switch superfluous, as in this case you have to switch to table format anyway. The same applies if the "End-of-Table" handling is activated.

The ENDOFT switch makes it possible to access the name of the current row specification (format) in the INPUT TO OUTPUT NAME MAPPING with '[table]' and the filter name with '[filter]'.

With the subset switch, only individual segments or records where there were hits are transferred to the target. Of course, this is only relevant if you have defined a search. If no subset is requested here, the complete members where there was a hit are taken.

The repair switch ensures that all segments and members that are no longer accessible in a damaged archive are ignored and as much data as possible is saved. This option should never be used, but if a bit is broken or only part of an archive has been transferred, you can still try to read the rest of the data. However, if the directory is no longer readable, then the entire archive in this version is lost. If a member segment is no longer readable, then complete member is lost and if a data segment is no longer readable, then its data is lost. This applies 100% in each case. It is part of the security concept for the data that no parts of segments can be reconstructed here.

With the NAME switch, not the member names but the names of the original files are used for the input output name mapping. And with the DIRS switch, directory entries can be read from the archive so that empty directories are also created again. However, you should only do this if you want to restore the archived data one-to-one and no input-output name mapping is used.

Arguments