(c) Copyright IBM Corporation 1990, 2008
 
 FLIST 
 
 
            .-*--*--A--------------------.
 >>--FLIST--+----------------------------+--.--------------------------.-----><
            |         .-*--A-----------. |  |   (1)                    |
            '-.-fn-.--+----------------+-'  '-(-----| Options |--.---.-'
              '-*--'  |         .-A--. |                         '-)-'
                      '-.-ft-.--+----+-'
                        '-*--'  |-fm-|
                                '-*--'
 
 Options:
                                                        (2)
                .-HELP--HFLIST-.  .-Profile--FLIST-.  .---------.
 |---.------.---+--------------+--+----------------+--+---------+------------->
     '-Menu-'   '-HELP--fn-----'  '-Profile--fn----'  '-Noclear-'
 
                                                .-SOrt--FLISTS-.
 >---.-------.---.------------.---.---------.---+--------------+-------------->
     '-Stack-'   '-One recnum-'   '-PROTect-'   '-SOrt--fn-----'
 
 >--.-------------------.-----------------------------------------------------|
    '-Use--fn--.------.-'
               '-EXEC-'
 
 Notes on the Syntax:
 (1)  You can enter Options in any order between the parentheses.
 
 (2)  The default is to clear the screen.
 
 
 Authorization 
 
 General User
 
 Purpose 
 
 Use the FLIST command to display a full-screen list of information about
 selected files residing on accessed minidisks and accessed shared file system
 (SFS) directories. Aliases, external objects, and subdirectories are also
 listed for directories. Once in FLIST, you can do normal CMS file operations
 such as EDIT, COPY, and ERASE on the listed files by entering the command in
 the input area immediately to the right of each file ID on the screen. You can
 also issue FLIST subcommands to sort the displayed data, or to enter a new
 FLIST level that displays a full-screen listing of another set of files.
 
 Operands 
 
 fn
     is the file name, the alias, the external object, or the subdirectory to
     be listed. The default is an asterisk (*). Specify only the first eight
     characters of subdirectory names. See "Pattern Matching" below for
     information on using * and + to specify a subset of files.
 
 ft
     is the file type of the file(s) to be listed. The default is an asterisk
     (*). Subdirectories will not be listed if a file type other than * is
     specified.
 
 fm
     is the file mode of the file(s) to be listed. The default is A.
 
 Options 
 
 Help fn
     specifies the file name of an exec to be called on invocation of the Help
     function (/H is a FLIST command). If this option is not specified, the
     default exec name used is HFLIST.
 
 Menu
     is used with the USE option to prevent formatting of the screen to the
     right of the input areas. When MENU is specified, the text from input file
     columns 8-27 is placed in screen columns 1-20. The text from file columns
     29-68 (for short date) or 29-71 (for full or ISO date) is moved intact to
     the right of the input areas.
 
 Profile fn
     specifies the name of an alternate file to be used as the FLIST profile.
     The file type must be $PROFILE. Anything entered after fn is ignored. If
     fn $PROFILE does not exist, or if this option is not specified, the
     default profile used is FLIST $PROFILE *.
 
 Noclear
     specifies not to clear the screen on entry to FLIST. The default is to
     clear the screen before display of FLIST.
 
 Stack
     specifies the following line is to be stacked (and not executed) if the
     input area is used:
 
       *FLIST  nnnnn  filename  filetype  filemode  user_input
 
     where:
 
     *FLIST    will make it a comment if CMS reads it.
 
     nnnnn     is the file entry number in the list.
 
     filename  is the displayed file name.
 
     filetype  is the displayed file type.
 
     filemode  is the displayed file mode.
 
     user_input is anything the user typed in the input area.
 
     If the input area used is for a subdirectory, the format of the stacked
     line will be:
 
       *FLIST  nnnnn  +fm.ni fm user_input
 
     where:
 
     nnnnn     is the file entry number in the list.
 
     +fm.ni    identifies the subdirectory named ni in the directory accessed
               as file mode fm.
 
     fm        is the displayed subdirectory's access mode.
 
     user_input is anything the user typed in the input area.
 
     For more information about the input area, see See "Using the Input Areas"
     below.
 
 One recnum
     causes the selected input line to be stacked (implies the STACK option)
     with any text entered in the input area, then the FLIST session ends. The
     display starts at the record number specified. If an incorrect value is
     found for recnum, the display starts with the first record. Any extraneous
     input following recnum will be ignored. Following are some occurrences
     when recnum is ignored, and the display starts with the first record:
 
       o No number specified
       o Negative numbers or zero are specified as recnum
       o Number specified as recnum exceeds the total number of records
       o Any erroneous value or text specified as recnum
 
 PROTect
     specifies input fields can be used only once.
 
 SOrt fn
     specifies an alternate exec file name to be called when an FLIST /SORT
     subcommand (/Sx) is issued and the USE option is also given.  The default
     file name is FLISTS. A sample FLISTS EXEC is not shipped with FLIST.
     However, one is shown as a sample under the section "Using a Sort Exec".
 
 Use fn
     specifies a display of the named file (which must be in CMS EXEC format)
     rather than FLIST's file listing. The file type must be EXEC and the file
     mode is assumed to be all (*). Parameters entered after fn are ignored.
 
     The data from file columns 8-27 is placed in screen columns 1-20. The
     remainder of the data columns are placed in the appropriate columns of the
     display, to the right of the user input areas. This means the LISTFILE
     DATE or LABEL options should be used when the input file is created.  For
     more information on using the LISTFILE command, see z/VM: CMS Commands and
     Utilities Reference.
 
 Pattern Matching
 
 You can use two special characters when specifying the file name and file
 type: * and +.
 
 *    represents any number of characters. As many asterisks as required can
      appear anywhere in a file name or file type.
 
      For example, if you enter:
 
        flist *d* *exec*
 
      you will get a list of all your A-disk or directory files whose file name
      contains a "d" and whose file type contains the character string "exec."
      The list might include the following files:
 
        DAYBREAK EXEC     A
        TUESDAY  SAVEEXEC A
        FUND     EXECUTE  A
        GOODIES  OEXEC2   A
 
      You may also substitute an asterisk for file mode (fn ft *), to list all
      files with file name fn and file type ft on all your accessed minidisks
      and directories. In addition, you may use an asterisk, followed by a file
      mode number (fn ft *5), to list the files with file name fn, file type
      ft, and file mode number 5 on all accessed minidisks and directories.
      You cannot use an asterisk in place of the file mode number (fn ft A* is
      not valid).
 
 +    means any single character. As many pluses as required can appear
      anywhere in a file name or file type.
 
      For example, if you enter:
 
        flist +++ stock
 
      you will get a list of all the files that have a three-letter file name
      and a file type of "stock" on your A-disk or directory. The list might
      include the following files:
 
        OCT      STOCK    A
        FUN      STOCK    A
        SUN      STOCK    A
 
 FLIST Subcommands
 
 The following subcommands are available to help you once you enter FLIST.  (In
 the syntax diagrams, uppercase letters indicate abbreviations. Only the
 uppercase letter(s) are needed; all subsequent characters are ignored.)
 
  /BOTTOM Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--/Bottom------------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /BOTTOM subcommand displays the last page of the current FLIST level.
 
 /CANCEL Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--/Cancel------------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /CANCEL subcommand cancels all active FLIST levels without processing any
 other commands entered after the /CANCEL command.
 
 /DSPF Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--/Dspf--------------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /DSPF subcommand displays the PF key settings for FLIST.
 
 /ENTER Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 |             .-*--*--A--------------------.                                 |
 | >>--/Enter--+----------------------------+--(--| Options |--.---.------->< |
 |             |         .-*--A-----------. |                  '-)-'          |
 |             '-.-fn-.--+----------------+-'                                 |
 |               '-*--'  |         .-A--. |                                   |
 |                       '-.-ft-.--+----+-'                                   |
 |                         '-*--'  |-fm-|                                     |
 |                                 '-*--'                                     |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /ENTER subcommand enters another FLIST level.
 
 The options are the same as the FLIST options except Profile and Noclear will
 be ignored if specified. When creating the second level, the screen will be
 split into two equal parts. To change the location of the split, move the
 cursor to the place you want the screen to be split and press the SPL PF key
 (usually PF5).
 
 To display a previous level, use the /En form of the subcommand, where n is a
 digit in the range 0-9 and corresponds to the level desired. The level
 identifier (LVL n ) is in the upper left corner of the display.
 
 /HELP Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--/Help--------------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /HELP subcommand displays information on the use of the FLIST command.
 
 /LEVEL Subommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 |             .-*--*--A--------------------.                                 |
 | >>--/Level--+----------------------------+--(--| Options |--.---.------->< |
 |             |         .-*--A-----------. |                  '-)-'          |
 |             '-.-fn-.--+----------------+-'                                 |
 |               '-*--'  |         .-A--. |                                   |
 |                       '-.-ft-.--+----+-'                                   |
 |                         '-*--'  |-fm-|                                     |
 |                                 '-*--'                                     |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /LEVEL subcommand enters another FLIST level.
 
 The options are the same as the FLIST options except Profile and Noclear will
 be ignored if specified. When creating the second level, the screen will be
 split into two equal parts. To change the location of the split, move the
 cursor to the place you want the screen to be split and press the SPL PF key
 (usually PF5).
 
 To display a previous level, use the /Ln form of the subcommand, where n is a
 digit in the range 0-9 and corresponds to the level desired. The level
 identifier (LVL n) is in the upper left corner of the display.
 
 /OMIT Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--/Omit--text--------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /OMIT subcommand (as the first token) prevents appending the file ID to
 the input text and may be used to issue CP or CMS commands. However, specific
 /n, /t, or /m symbols are substituted.
 
 /QUIT Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--/Quit--------------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /QUIT subcommand leaves the current FLIST level after processing entered
 commands for the level.
 
 /SORT Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--.-/SN-.------------------------------------------------------------->< |
 |     |-/ST-|                                                                |
 |     |-/SM-|                                                                |
 |     |-/SL-|                                                                |
 |     |-/SB-|                                                                |
 |     '-/SD-'                                                                |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 /sn  specifies sorting by file name, file type, file mode.
 
 /st  specifies sorting by file type, file name, file mode.
 
 /sm  specifies sorting by file mode, file name, file type.
 
 /sl  specifies sorting by record length, file name, file type, file mode.
      (Largest record length first.)
 
 /sb  specifies sorting by number of blocks, file name, file type, file mode.
      (Largest number of blocks first.)
 
 /sd  specifies sorting by date, time, file name, file type, file mode. (Most
      recent file first.)
 
 The /SORT subcommand lets you sort the current FLIST level on the specified
 field(s). After sorting, the level is redisplayed from the top. If entries
 have been deleted, they are removed during the sort. (See also "Using a Sort
 Exec" below.)
 
 +--- Sorting Subdirectories -------------------------------------------------+
 |                                                                            |
 | Because the file type, record length, and blocks fields are blank for      |
 | subdirectories, the /st, /sl, and /sb sorts cause subdirectories to appear |
 | first, followed by the sorted files. (Blanks come before any other         |
 | character when sorting.)                                                   |
 |                                                                            |
 | Also, when sorting by file name, only the first eight characters of the    |
 | subdirectory name are significant. So if you had subdirectories named      |
 | FAVORITEPIES and FAVORITECAKES, FAVORITEPIES could come before             |
 | FAVORITECAKES.                                                             |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 /TOP Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--/Top---------------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /TOP subcommand displays the first (top) page for the current level.
 
 /n Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--.-/--.-------------------------------------------------------------->< |
 |     '-/n-'                                                                 |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The /n subcommand positions the indicated line on the top line of the current
 level.
 
 where:
 
 /         positions the associated entry on the level top line.
 
 /n        positions the file n on the level top line.
 
 = (EQUALS) Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>-- = ----------------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The = subcommand repeats the last non-FLIST function for the current level.
 (FLIST functions, save for the /LEVEL, /ENTER, and /OMIT subcommands, cannot
 be repeated.) The repeat function does not cross level boundaries.
 
 ? (QUESTION MARK) Subcommand
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>-- ? ----------------------------------------------------------------->< |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 
 The ? subcommand displays the last non-FLIST function for the current level.
 This allows you to see what command would execute if the = subcommand were
 entered. To re-execute the displayed command, you must overtype at least one
 character of the command.
 
 Program Access Keys
 
 You can press the PA keys while you are in FLIST:
 
 PA1       enters CP mode. To return to FLIST, enter:
 
             b
 
           Note:  PA1 will not bring you to CP unless the terminal break key is
                  set to PA1; PA1 is the default setting upon logon. If the
                  terminal break key is not set to PA1, the PA1 key will enter
                  CMS Subset mode just like the PA2 key.  For more information
                  about setting the terminal break key, see the CP TERMINAL
                  BRKkey command in z/VM: CP Commands and Utilities Reference.
 
 PA2       enters CMS Subset mode. To return to FLIST, enter:
 
             return
 
 FLIST PF Key Settings
 
 Several PF keys are already set for use with FLIST. The settings and
 associated FLIST functions follow. Keywords marked with an asterisk are valid
 only when issued from a PF key.
 
 +-------+--------+--------------------------------+
 | PF    | Keyword| FLIST Action                   |
 | Key   |        |                                |
 +-------+--------+--------------------------------+
 |       |        |                                |
 +-------+--------+--------------------------------+
 |  1    | /H     | Obtains information on the use |
 |       |        | of FLIST.                      |
 +-------+--------+--------------------------------+
 |  2    | * BRW  | Browses the file to the left   |
 |       |        | of the cursor.                 |
 +-------+--------+--------------------------------+
 |  3    | * END  | Ends the level at cursor       |
 |       |        | position.                      |
 +-------+--------+--------------------------------+
 |  4    | XEDIT  | Edits the file at the cursor   |
 |       |        | position with the z/VM System  |
 |       |        | Product Editor (XEDIT).        |
 +-------+--------+--------------------------------+
 |  5    | * SPL  | Moves the split to the line    |
 |       |        | indicated by the cursor.       |
 +-------+--------+--------------------------------+
 |  6    | /SB    | Sorts by block size, file      |
 |       |        | name, file type, and file      |
 |       |        | mode.                          |
 +-------+--------+--------------------------------+
 |  7    | * SCB  | Scrolls backward (toward the   |
 |       |        | top of the list).              |
 +-------+--------+--------------------------------+
 |  8    | * SCF  | Scrolls forward (toward the    |
 |       |        | bottom of the list).           |
 +-------+--------+--------------------------------+
 |  9    | /SD    | Sorts by date, time, file      |
 |       |        | name, file type, and file      |
 |       |        | mode.                          |
 +-------+--------+--------------------------------+
 | 10    | /ST    | Sorts by file type, file name, |
 |       |        | and file mode.                 |
 +-------+--------+--------------------------------+
 | 11    | * >I   | Increases input area to end of |
 |       |        | line.                          |
 +-------+--------+--------------------------------+
 | 12    | * CAN  | Ends all levels and clears the |
 |       |        | stack if STACK option is in    |
 |       |        | effect.                        |
 +-------+--------+--------------------------------+
 
 Using the Input Areas
 
 You may use the input areas after the file IDs to enter any command as if in
 the normal CMS environment, to execute CMS/CP functions, or to invoke an exec.
 You do not have to indicate the command is for CP or that it is an exec.
 However, to prevent any part of the file ID from being used in the command
 string, use the /OMIT (/O) subcommand as the first parameter.
 
 Note:  Commands entered in the input area of an FLIST screen generated with
        the STACK or ONE option are not executed.
 
 Use a slash (/) if you want all or part of the file ID specified in the user
 input area. It may be used anywhere in the command sequence, as follows:
 
 +------+--------------------------------+
 | /    | Insert the complete file ID.   |
 +------+--------------------------------+
 | /n   | Insert the file name.          |
 +------+--------------------------------+
 | /t   | Insert the file type.          |
 +------+--------------------------------+
 | /m   | Insert the file mode.          |
 +------+--------------------------------+
 | /f   | Insert the subdirectory name   |
 |      | (+fm.ni).                      |
 +------+--------------------------------+
 
 Any combination of n, t, and m is valid up to a maximum of seven characters.
 
 +--- Note about Subdirectories ----------------------------------------------+
 |                                                                            |
 | Only /m and /f can be used with subdirectories. They can be used in any    |
 | combination up to a maximum of seven characters.                           |
 |                                                                            |
 | /f is only valid when used next to a subdirectory.                         |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
 If not explicitly specified, FLIST will append the complete file ID to the
 user command area. For example, if erase alone is entered, FLIST will generate
 the command string erase filename filetype filemode and pass it to CMS for
 execution.
 
 Note:  You should use the /O subcommand to prevent the file ID from being
        appended to the input text. If used, /O must be the first token on the
        line.
 
 After executing a command, the CMS console input stack is processed. Input
 starting with a slash will replace the original command and will be processed
 as if it had been entered by the user. Input not starting with a slash will be
 passed to CMS without any change in the contents of the line. If the stack is
 empty, the next input field is processed.
 
 When all input fields are processed, the screen is redisplayed and the input
 area is changed to indicate what happened. If the first character of the input
 area is displayed as:
 
 
 +------+--------------------------------+
 |  *   | The command was valid and gave |
 |      | a zero return code.            |
 +------+--------------------------------+
 |  ^   | The specified command gave a   |
 |      | nonzero return code. The       |
 |      | return code is displayed       |
 |      | following the ^ symbol.        |
 +------+--------------------------------+
 |  +   | An unknown FLIST subcommand    |
 |      | was issued.                    |
 +------+--------------------------------+
 |  ?   | The command was unknown to     |
 |      | CP/CMS.                        |
 +------+--------------------------------+
 
 Invalid FLIST functions will remain displayed. If any error condition arises,
 FLIST will sound the terminal's audible alarm.
 
 Below are examples of using the input area. FLIST uses the date format your
 virtual machine is using and displays the date in that format (for example:
 mm/dd/yy, mm/dd/yyyy, or yyyy-mm-dd).
 
 
   RECIPE   EXEC     A1 /tn                 V   107    14   1  3/18/00 16:00
   VANILLA  ICECREAM A1 copy / /nt b1       V   110    20   1  2/21/00 15:52
   SWEET    ROLLS    A2 copy / = = b (rep   V    76    81   2  9/11/99 15:58
   COOKIES           A  ac /f o             DIRECTORY       2  9/11/99 13:07
   INGREDIE ASSEMBLE A5 assemble /n         F    80    52   2  8/09/99  5:40
   FUDGE    BROWNIES A2 /o msg Come and get it!
   EMPTY    FILE     A1 xedit               V    1     0    0  4/11/99 12:58
   DROP     TEST     A1 erase               Dropped or revoked alias
   EXTERNAL OBJECT   A1 erase               -    -     -    -  3/09/99  5:42
 
 
 Figure 1. Examples of Using the FLIST Input Area
 
 In the example above, the following commands would be passed on to CMS for
 execution:
 
   erase apple pie a0
   exec recipe
   copy vanilla icecream a1 vanilla icecream b1
   copy sweet rolls a2 = = b (rep
   ac +A.cookies o
   assemble ingredie
   msg Come and get it!
   xedit empty file a1
   erase drop test a1
   erase external object a1
 
 Using a FLIST Profile
 
 FLIST looks for a profile (FLIST $PROFILE * by default) when it is first
 invoked. The profile may define PF key functions, the title for level 0, and
 the text at the bottom of the screen. FLIST will use default values for
 anything left undefined by the profile.
 
 After processing the profile, FLIST checks the CMS console input stack and
 treats any stacked records the same way it treats profile records. This means
 you can use the stack to override the profile definitions.
 
 FLIST only processes the profile once. It will ignore the PROFILE option if it
 is specified with the /ENTER or the /LEVEL subcommands.
 
 Here is what you need to know to create your own FLIST profile:
 
   o The profile is a file of fixed or variable record format with a logical
     record length (LRECL) of up to 132 characters.
 
   o Use the following record format to define the title for level 0:
 
         *HEADER header_text
 
     The first 50 characters following *HEADER will replace the level 0 title
     line. The text is centered in the top title.
 
   o Use the following record format to define PF key functions:
 
 +----------------------------------------------------------------------------+
 |                                                                            |
 |                                                                            |
 | >>--*PFKEYS--n--.-----------.--function--.----------.------------------->< |
 |                 '-(--btd--)-'            '-comments-'                      |
 |                                                                            |
 +----------------------------------------------------------------------------+
 
     n    specifies the number of the PF key to be set.
 
     (btd)
          if specified, FLIST will display these three characters on the bottom
          line of the screen to show this PF key's function. If not specified,
          FLIST will display the first three characters of the function.
          However, if the bottom line of the screen is defined--either by the
          last line in the profile or by the last stacked line--it will be
          displayed as defined, regardless of the *PFKEYS records.
 
          The (btd) format is important. It must be exactly three characters
          long and placed between parentheses.
 
     function
          specifies the FLIST keyword, CP or CMS command, or other command to
          be assigned to the PF key. Only one PF key or command can be set per
          record.
 
          Most functions are processed as if they were entered in the input
          area--except for the following FLIST keywords:
 
 +-------+----------------------------------------------------+
 | Functi|nMeaning                                            |
 +-------+----------------------------------------------------+
 |       |                                                    |
 +-------+----------------------------------------------------+
 | SPL   | Moves the split to the line indicated by the       |
 |       | cursor.                                            |
 +-------+----------------------------------------------------+
 | BRW   | Invokes the BROWSE function.                       |
 +-------+----------------------------------------------------+
 | HLP   | Invokes the HELP function (HFLIST EXEC).           |
 +-------+----------------------------------------------------+
 | SCF   | Scrolls forward (toward the end of the file).      |
 +-------+----------------------------------------------------+
 | SCB   | Scrolls backward (toward the top of the file).     |
 +-------+----------------------------------------------------+
 | >I    | Increases user input area to end of line.          |
 +-------+----------------------------------------------------+
 | CAN   | Cancels all levels.                                |
 +-------+----------------------------------------------------+
 | END   | Terminates the level containing the cursor.        |
 +-------+----------------------------------------------------+
 | %%    | Clears the definition for the PF key.              |
 +-------+----------------------------------------------------+
 
          These keywords are only valid when issued from a PF key. They cannot
          be abbreviated and must be in uppercase.
 
     comments
          explain what the function is. Comments may easily be specified with
          FLIST keywords. However, because other commands are processed as
          though they were entered in the input area, any comments will be sent
          as input to the command and may cause errors. In most cases, putting
          the comments after a closing parenthesis ()) will solve this problem.
          For example,
 
            *PFKEYS 6 (PRT) PRINT / (NOCC) Print an unformatted file.
 
   o To define the bottom line of the FLIST screen, enter what you want
     displayed as the last record of the profile. The record cannot begin with
     an asterisk and cannot be more than 132 characters long.
 
 The following is an example of an FLIST profile:
 
 ------------------------------------------------------------------------------
 
   **********************************************************************
   **                                                                  **
   **                         FLIST Profile                            **
   **                                                                  **
   **********************************************************************
   *PFKEYS 01 (HLP) /H   Invoke HELP function
   *PFKEYS 02 BRW  BROWSE the file on cursor line
   *PFKEYS 03 END  Terminate this level after processing input
   *PFKEYS 04 (XED) XEDIT
   *PFKEYS 05 SPL  Split the screen (only in multiple levels)
   *PFKEYS 06 /SB  Sort by block size (descending)
   *PFKEYS 07 SCB  Scroll backward (to top of list)
   *PFKEYS 08 SCF  Scroll forward (to end of list)
   *PFKEYS 09 /SD  Sort by date (descending)
   *PFKEYS 10 /ST  Sort alphabetically by file type
   *PFKEYS 11 >I   Increase input area length
   *PFKEYS 12 CAN  Cancel all levels, do not process input
   *PFKEYS 13 (HLP) /H   Invoke HELP function
   *PFKEYS 14 BRW  BROWSE the file on cursor line
   *PFKEYS 15 END  Terminate this level after processing input
   *PFKEYS 16 (XED) XEDIT
   *PFKEYS 17 SPL  Split the screen (only in multiple levels)
   *PFKEYS 18 /SB  Sort by block size (descending)
   *PFKEYS 19 SCB  Scroll backward (to top of list)
   *PFKEYS 20 SCF  Scroll forward (to end of list)
   *PFKEYS 21 /SD  Sort by date (descending)
   *PFKEYS 22 /ST  Sort alphabetically by file type
   *PFKEYS 23 >I   Increase input area length
   *PFKEYS 24 CAN  Cancel all levels, do not process input
   PF:1 HLP 2 BRW 3 END 4 XED 5 SPL 6 /SB 7 SCB 8 SCF 9 /SD 10 /ST 11 >I 12 CAN
 
 ------------------------------------------------------------------------------
 Figure 2. Sample FLIST Profile
 
 Using a Sort Exec
 
 If the SORT and USE options are specified when the FLIST command is issued,
 users should invoke their own sort routines while within the FLIST
 environment. The exec specified on the SORT option will be given control when
 the user issues a sort subcommand (/Sn) from the FLIST screen. FLIST will pass
 four parameters to the user's sort exec. They are:
 
   1.   The file name
 
   2.   The file type
 
   3.   An asterisk (*) as the file mode of the file specified with the USE
        option of the FLIST command
 
   4.   The second character of the sort subcommand issued from the FLIST
        screen (for example, the "n" in /Sn)
 
 When the exec completes, FLIST redisplays the file specified on the USE option
 of the FLIST command.
 
 Note:  When the USE option is specified creating a sort exec, the CMS EXEC
        created by the LISTFILE option may be in any of the 3 date formats
        (mm/dd/yy, mm/dd/yyyy, or yyyy-mm-dd). This should be considered when
        writing a sort exec.
 
 The following is a sample sort exec you can use with FLIST:
 
 ------------------------------------------------------------------------------
 
   /* Sample SORT routine */
   Trace Off
   /*                                                           */
   /* Routine to parse the input parameters, determine the type */
   /* of SORT to be done, and perform the SORT of the file.     */
   /* This routine assumes the file to be sorted is in CMS EXEC */
   /* format. The sorted file retains the input fileid.         */
   /*                                                           */
   Parse upper arg fn ft fm type .
   'SET CMSTYPE HT'
   'TYPE' fn ft fm
   A = POS(type,'XY')         /* X and Y are defined SORT types */
   say A
   say type
   If A ^= 0 then Do
      If A = 1 then Queue '8 15'  /* X - SORT file by filename  */
      Else Queue '17 24'          /* Y - SORT file by filetype  */
      'SORT' fn ft fm 'HOLD FILE A'
      'COPY HOLD FILE A' fn ft '= (REP'
      'ERASE HOLD FILE A'
   End
   Else rc = 111
   Exit rc
   /* End of EXEC */
 
 ------------------------------------------------------------------------------
 Figure 3. Sample FLISTS EXEC
 
 The following steps show how you can try out the sample FLISTS EXEC.
 
   1.   Be sure you are running in the CMS environment with a R/W minidisk or
        directory accessed as A.
 
   2.   Create a CMS EXEC A file, which you will specify with the USE option of
        FLIST. (Be sure files exist on the minidisk or directory accessed as
        A.) Issue the following CMS command:
 
          listfile * * a (exec label
 
   3.   Make sure the sample FLISTS EXEC exists on an accessed minidisk or
        directory.
 
        Unless someone already created it, you will have to create the FLISTS
        EXEC.
 
   4.   Make sure you do not have a HOLD FILE A file.
 
        If the file exists, you should rename it before invoking the FLISTS
        EXEC, because the exec erases HOLD FILE A.
 
   5.   Issue the following command to invoke FLIST:
 
          flist (use cms sort flists m
 
   6.   From the FLIST screen, issue the sort subcommand /sx. This causes
        FLISTS EXEC to get control and to sort CMS EXEC by file name. When the
        sort exec finishes, FLIST redisplays the sorted CMS EXEC.
 
   7.   From the FLIST screen, issue the sort subcommand /sy. This causes
        FLISTS EXEC to get control and to sort CMS EXEC by file type. Again,
        when the sort exec finishes, FLIST redisplays the sorted CMS EXEC.
 
   8.   When you are ready to quit, press PF3 (End) to leave FLIST. If you
        renamed HOLD FILE A in step 4, you may want to change its file ID back
        to HOLD FILE A.
 
 Usage Notes 
 
   1.   Never reaccess a minidisk or directory displayed on one of the levels.
 
   2.   Do not erase files displayed on any level with an exec or with an erase
        * filetype filemode sequence.
 
   3.   Do not erase a file displayed on more than one level.
 
 
 The situations described above cannot be detected by FLIST and may result in
 randomly displayed file IDs or FLIST termination.
 
   4.   Executing commands which alter files other than the subject file may
        result in randomly displayed file IDs upon return to FLIST. Processing
        of these commands is not affected.
 
   5.   FLIST will not clear the user-supplied I/O interrupt table. Therefore,
        you can handle your own interrupts if you want to.
 
   6.   FLIST loads itself as a nucleus extension.
 
   7.   FLIST supports the following screen sizes: 24 x 80, 32 x 80, 43 x 80.
        Screen sizes other than these are forced to 24 x 80. For example,
        screen size 27 x 132 is forced to a 24 x 80 screen size.
 
   8.   FLIST uses the date format your virtual machine is using and displays
        the date in that format.
 
   9.   In addition to the FLIST command, you can also use the preferred
        FILELIST command to obtain similar results. Seez/VM: CMS Commands and
        Utilities Referencefor details.
 
 Examples 
 
   1.   The following output is an example of using the FLIST command:
 
           LVL 0 - A 191  18000 BLKS 3390 R/W   1314 FILES 69%  FILE   1 OF  12
          DTRYLST  TXTAQ0   A1             F    80    44     1 12/20/01 10:41
          DTRYLST  AUXAQO   A1             F    80     1     1 12/26/01  1:45
          DTRYLST  LISTING  A1             F   121  1301     1 12/26/01  1:45
          DTRYLST  SJ871AQ0 A1             F    80     2     1 12/26/01  1:44
          DTRYLST  TXTAQ0   A1             F    80   445     1 12/26/01  1:45
          DTRYSAD  AUXAQ0   A1             F    80     1     1 12/10/01  4:08
          DTRYSAD  SJ966QQ0 A1             F    80     1     1 12/18/01 23:42
          DTRYSAD  TXTAQ0   A1             F    80    51     1 12/18/01 23:43
          FLIST    MAPAQ0   A5             F   100     2     1 12/26/01  1:46
          FLIST    MODULE   A2             F  1312     3     1 12/26/01  1:46
          FLIST1   $PROFILE A2             V    78    31     1 12/26/01  2:06
          GOPAL    NETLOG   A0             V   108    37     1 12/26/01 17:02
 
           (1)       (2)    (3)    (4)     (5)  (6)   (7)    (8)   (9)    (10)
 
          PF: 1 HLP 2 BRW 3 END 4 XED 5 SPL 6 /SB 7 SCB 8 SCF 9 /SD 10 /ST
             11> I  12 CAN
 
        Area Description
 
        (1)  FN - File name.
 
        (2)  FT - File type.
 
        (3)  FM - File mode.
 
        (4)  Area for entering subcommands.
 
        (5)  FF - File format. Designates how records are arranged in a file.
             F=Fixed and V=Variable.
 
        (6)  LRECL - Logical record length.
 
        (7)  Number of records in a file.
 
        (8)  Block size.
 
        (9)  Creation or last modified date.
 
        (10) Creation or last modified time.
 
   2.   In this example, a CMS EXEC was created using LISTFILE with the DATE
        option. Then, the FLIST command was issued with the USE option.
 
          l * exec (date e
          flist (use
 
 
        Following is the sample output. Note the output appears in CMS LISTFILE
        format:
 
          LVL 0 ------------- CMS   EXEC  *------------ FILE    1 OF     12
          $IDMON$  EXEC    A1              V    71     18    1  7/31/01 22:02
          $PLIOPT  EXEC    A2              V    68     15    1  5/11/01 14:05
          CHCKQREF EXEC    A1              V    35      9    1  7/15/99 21:53
          CHANGE   EXEC    A1              V    52    131    2  5/09/00 13:37
          CMS      EXEC    A1              V    99     93    2  8/12/00 10:10
          DL       EXEC    A1              V    67     18    1  1/20/02 16:24
          DMSA4220 EXEC    A1              F    80    110    3  8/27/01 10:36
          DZAXLOCI EXEC    A1              V   210    146    2 11/04/01 20:41
          GETHELP  EXEC    A1              V    67      9    1  6/03/00 11:51
          GETVDISK EXEC    A1              V    28     10    1  3/17/01  7:10
          PRINT    EXEC    A1              V    53     12    1  1/30/02 15:08
          3820P    EXEC    A1              V    73     13    1  5/23/01 15:08
 
 
          PF: 1 HLP 2 BRW 3 END 4 XED 5 SPL 6 /SB 7 SCB 8 SCF 9 /SD 10 /ST
             11>I  12 CAN
 
   3.   In the following example, a CMS EXEC was created using LISTFILE with
        the DATE option. The FLIST command was issued using the MENU and USE
        options.
 
 
          l * exec (date e
          flist (menu use
 
 
        Following is the sample output, which also appears in CMS LISTFILE
        format:
 
           LVL 0 -------------- CMS   EXEC  *------------ FILE    1 OF     12
          $IDMON$  EXEC     A1                V        71        18        1
          $PLIOPT  EXEC     A2                V        68        15        1
          CHCKQREF EXEC     A1                V        35         9        1
          CHANGE   EXEC     A1                V        52       131        2
          CMS      EXEC     A1                V        99        93        2
          DL       EXEC     A1                V        67        18        1
          DMSA4220 EXEC     A1                F        80       110        3
          DZAXLOCI EXEC     A1                V       210       146        2
          GETHELP  EXEC     A1                V        67         9        1
          GETVDISK EXEC     A1                V        28        10        1
          PRINT    EXEC     A1                V        53        12        1
          3820P    EXEC     A1                V        73        13        1
 
 
          PF: 1 HLP 2 BRW 3 END 4 XED 5 SPL 6 /SB 7 SCB 8 SCF 9 /SD 10 /ST
             11 >I  12 CAN
 
 Messages and Return Codes 
 
 To display information on a specific error message, enter HELP MSG and the
 message identifier, for example:  HELP MSG DMS111E.
 
 
 DMS002E   File not found (RC=28)
 DMS048E   Invalid filemode fm (RC=24)
 DMS069E   Filemode mode not accessed (RC=36)
 DMS104S   Error rc reading file from disk or directory (RC=2xxx)
 DMS109S   Insufficient free storage available (RC=2|4xxx)
 DMS514E   Return code nn from command (RC=1xxx)
 DMS618E   NUCEXT failed (RC=5xxx)
 DMS1153E  File pool filepoolid is unavailable or unknown (RC=99)
 DMS2189E  DMSRLD failed with return code rc. (RC=6xxx)
 DMS2190E  Invalid console type or console disconnected. (RC=1)
 
 Additional system messages may be issued by this command.
 
 These system messages may be due to:
 
   o Errors in command syntax.
 
 To display these messages, enter:
 
   help sysmsgs tasks