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
= library_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
= library_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
= N display will be manually 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:

MaskESCAN*B*LL
MatchesESCANDCBILL
ESCANCSBILLING
ESCANBILL
Mask!ESCAN*B*LL
MatchesBILL
Not matchedESCANDCBILL
Mask*BILL
MatchesSCANBILL
BILLCOUNT
MaskBILL*
MatchesBILLCOUNT
Not matchedSCANBILL

Size and age

These allow selection on size or age of files.

The following formats are allowed:

nsize/age = n
n- or -nsize/age <= n
n+ or +nsize/age >= n
m-nsize/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)
Atoggle autopaging on/off
Q quit