MIKESFILEMANAGER
MFM
Summary
MIKES_FILE_MANAGER displays a list of files in an object (library, group or user) and allows actions to be performed on selected files. The list can be paged forwards and backwards. Selection of files may be accomplished by various means - STARTFROM and STOPAFTER parameters, a FILEMASK parameter, which provides a degree of string-matching capability, and AGE and SIZE parameters.
MIKES_FILE_MANAGER(
@literal@ | OBJECT | := "", |
@literal@ | TARGET | := "", |
@literal@ | STARTFROM | := "", |
@literal@ | STOPAFTER | := "", |
@literal@ | FILEMASK | := "", |
@literal@ | SIZE | := "", |
@literal@ | AGE | := "", |
@literal@ | ACTION | := "SCEF(%Q%F)", |
@literal@ | MARK_FILE | := "", |
@literal@ | AUTO_PAGE | := "Y", |
@response@ | RESPONSE | := RESULT) |
Parameter details
Keyword | Meaning | Default |
---|---|---|
OBJECT |
The name of the object to be displayed
= group_name "*" displays current group or (if no current group) library |
The user is displayed |
TARGET |
The name of the object which is the target of Copy actions (and
user-defined actions, see below).
= group_name |
The user is the target |
STARTFROM |
Indicates where the display is to start
= filename or alphanumeric string |
Display starts at the first file |
STOPAFTER |
Indicates where the display is to stop
= filename or alphanumeric string |
Display stops at the last file |
FILEMASK |
Indicates a string or strings which identify files to be
selected
The wildcard character '*' is permitted, and if not present,
will be assumed to precede and follow the string. See below for
further details. = alphanumeric string |
All files are displayed |
SIZE |
Indicates the size or range of sizes of files to be selected.
See below for further details. = alphanumeric string |
All files are displayed |
AGE |
Indicates the age or range of ages of files to be selected.
See below for further details. = alphanumeric string |
All files are displayed |
ACTION |
Defines a command which can be invoked by the 'A' action in the
file list. The parameters to the command may be supplied by
string substitution (see below).
= command_line |
SCEF(%Q%F) - SCEF will be initiated on the file |
MARK_FILE |
Identifies a file to hold the names of files which are marked
using the 'M' action in the file list.
= file_name |
No file is defined. If any files are marked, a filename will be requested |
AUTO_PAGE |
Defines whether the display will page automatically or must
specifically be paged through using the 'F' command.
= Y display will be automatically paged This may be switched while in MFM (Autopage action) |
Display pages automatically |
RESPONSE | Response code variable | RESULT |
Filemask
Filemask parameter - allows a selected subset of files to be selected, using wild carding. Not, sadly, as sophisticated as on Unix, but there we go. The character '*' substitutes for any number of characters (including none). A trailing '*' is always assumed, but a leading one is only assumed when there is no '*' in the string.
If preceded by '!', then only files whose names do not match the mask will be selected.
Examples:
Mask | ESCAN*B*LL |
Matches | ESCANDCBILL |
ESCANCSBILLING | |
ESCANBILL | |
Mask | !ESCAN*B*LL |
Matches | BILL |
Not matched | ESCANDCBILL |
Mask | *BILL |
Matches | SCANBILL |
BILLCOUNT | |
Mask | BILL* |
Matches | BILLCOUNT |
Not matched | SCANBILL |
Size and age
These allow selection on size or age of files.
The following formats are allowed:
n | size/age = n |
n- or -n | size/age <= n |
n+ or +n | size/age >= n |
m-n | size/age in range m to n inclusive |
Action
Action parameter - allows user specified actions to be executed.
Parameter substitution will be performed on the line, the following rules being obeyed:
%F | filename with FGN |
%G | filename without FGN [1] |
%S | object of MFM (source) |
%T | target specified to MFM |
%Q | qualifier with any separator necessary (eg. %Q%F = full file name) |
[1] Alternative suggestions welcome
Mark file
Mark_file parameter - specifies a file in which a list of files marked with the 'M' action will be placed. These will be output to the file, one name per line, the name including the fgn but not the user, group, or library names.
The display.
Top line - display action. Page forward, backward, to first or last page, show files marked for deletion, toggle autopaging, request help, or quit.
Other lines - file lines. The Mark column which shows whether a file has been Marked ('*' by the file name), File action, filename and FGN, and the remaining columns are as per D_xx_D display.
File actions:
When showing selected files
A | perform user-defined action |
B | browse file |
C | copy file (uses COPY_RECORDS) |
D | display file details |
H | display help screen |
M | mark file |
Q | query file (browse, then check if file is to be deleted) |
U | unmark file |
X | delete file |
When showing files marked for deletion
B | browse file |
D | display file details |
H | display help screen |
U | unmark file for deletion |
Page actions:
N | next page |
P | previous page |
F | first page |
L | last page |
D | show files marked for deletion |
U | show files not marked for deletion (normal mode) |
A | toggle autopaging on/off |
Q | quit |