# 1. {Graphical User Interface}
SPF/Pro differs from previous versions in a number of ways. One of the
more obvious is the Graphical User Interface (GUI). The use of modern
graphical user interface techniques enhances the SPF/Pro experience and
contributes to increased user productivity.
The basic display mechanism of the GUI is the Window. All functions of
SPF/Pro are rendered in native mode windows of the operating system
platform in use.
The basic method of interaction with windows is the mouse. Keyboard
equivalents are provided for all mouse operations. See page for
further details on mouse operations.
SPF/Pro is a Multiple Document Interface application. In this
architecture, you have a parent window and one or more child windows. The
child windows are displayed within the parent client space.
Child windows within the parent client space may be maximized, normal, or
minimized:
* In maximized state, the child window fully occupies the parent client
space and the child title bar overlays the parent title bar.
When using low resolution display monitors (e.g. VGA on notebook PC),
this mode provides the greatest number of display lines and columns.
* In normal state, the child window may reside anywhere within the parent
client space and be of any size equal or less than the parent. In this
case, the child window has its own title bar.
* In minimized state, the child window is reduced to an icon and
positioned in the lower left corner of the parent client space.
The default display mode for child windows is NORMAL.
All windows are comprised of the following components:
Window Frame
The Window Frame is the outer border of the window. The functional
value of the frame is that it can be "grabbed" with the mouse and
"stretched" or "shrunk" to alter the window size. To resize the
window:
- position the mouse cursor over any part of the window frame
- press and hold down the left mouse button
- move the mouse to achieve the desired size
- let the left mouse button up to finalize the new window size
- "pulling" or "pushing" on the left or right frame alters the width
- "pulling" or "pushing" on the top or bottom frame alters the depth
- "pulling" or "pushing" on any corner alters the width and depth
simultaneously
Task Control Button
In the upper left corner of the window, there is a button which
controls the SPF task. You can use this button to:
- Close the task and exit.
Note: If you close from the main window, all SPF tasks are
terminated.
- Restore, Move, Size, Minimize, and Maximize. These functions are
accessible through alternate methods so we won't discuss them here.
Title Bar
At the top of the window is the Title Bar. It provides information
about the task context. For example, if you are in Edit, the title bar
displays the Task ID (an integer number starting with one) and the name
of the file being edited.
In addition to providing information, the Title Bar is used to:
- Move the window:
-- Position the mouse cursor over any portion of the Title Bar.
-- Press and hold down the left mouse button while moving the mouse
to move the window.
-- Let the left mouse button up to finalize the new window position.
- Maximize the window
-- double click on the title bar with the left mouse button.
Min/Max Buttons
On the upper right corner of the window:
- The MINIMIZE Button "shrinks" the window to the size of the SPF/Pro
icon. You can use this button to keep SPF/Pro on the desktop for
instant recall. To recall SPF/Pro click on the "shrunken" icon.
- The MAXIMIZE Button increases the size of the window to occupy the
full available space. Use this button when you want to display the
maximum number of rows and columns of text possible.
After maximizing, the MAXIMIZE button takes on a new form; this form
is called NORMAL. To return to normal window size from maximized
size, click on the NORMAL (formerly MAX) button.
Client Space
The client space is where SPF panels are displayed. These panels
contain text and graphical elements.
- Text fields defined in your panel definition are rendered as text.
- Input fields defined in your panel definition are rendered as
concave three dimensional areas.
- Attention fields defined in your panel definition are rendered as
three dimensional buttons. Text content of attention fields is
rendered as the button legend.
Scroll Bars
To view data outside the viewable frame, scroll bars are provided:
- In tables and select lists, vertical scroll bars are provided.
- In Edit and Browse, both vertical and horizontal scroll bars are
provided.
- In all other panel types, no scroll bars are provided.
Note: Scroll bars may be enabled/disabled via Option 0.1.
PFSHOW Bar
PF keys are displayed at the bottom or top of the parent frame. The
number, display position, and starting key may be set via Option 0.1 or
the PFSHOW primary command.
Status Bar
The status bar provides current information about the operating
environment:
- Whether the system is busy.
- Whether you are in "macro recording" mode.
- The day of week, date, and time.
- The state of the SHIFT key.
- The state of the CAPS LOCK key.
- The state of the INSERT key.
- In tables, the current table row and column.
- In edit, the current file line and data column.
Popup Menus
Popup menus are available via right mouse button in various contexts
during normal SPF/Pro operation. These menus provide a point and shoot
activation scheme for frequently used commands.
- In file select lists, verbs that apply to the current selection
- In edit line command field, line commands that apply to the current
selection
- In edit text area, primary commands that apply to the current
selection
- In any other panel type, useful general commands
Note: You can add or modify popup menus on a per panel basis or
reconfigure dynamically within a panel.
# 1.1 {Menu Bar}
The menu bar provides native GUI operational mode. You can perform many
mainline SPF tasks directly off the menu without using SPF dialogs. The
following menu commands are supported:
FILE
Perform file operations:
New
Open a new file in Edit. The default name for new file is "*.*".
Supply the desired name for your new file in the "File name" field
of the dialog. If you want a different directory, use the "Look in"
navigator of the dialog to set the desired directory.
Open for Edit
Open an existing file in Edit. The open file dialog is initialized
with the name of the last file edited. If you want to edit a
different file, supply the name in the "File name" field of the
dialog. If you want a different directory, use the "Look in"
navigator of the dialog to set the desired directory.
Open for Browse
Open an existing file in Browse. The open file dialog is
initialized with the name of the last file Browsed or Edited. If
you want to edit a different file, supply the name in the "File
name" field of the dialog. If you want a different directory, use
the "Look in" navigator of the dialog to set the desired directory.
Save
Saves the current edit file and continues in edit. Same as primary
command SAVE.
Save as
Brings up the Windows common open dialog. Specify the new "File
name" and press "SAVE". This creates the new file and a new edit
session to edit it.
End
End the edit session and return to the previous panel. If the file
was modified, it is automatically saved. Same as END primary
command.
End without Save
Exit the edit session without saving the file. Same as CANCEL
primary command.
Print Setup
This item invokes the Windows common printer setup dialog. This
dialog allows you to set a wide variety of printer properties. When
you commit the settings via OK, the setup values are bound to the
current SPF logical printer.
Print Selection
Prints the current selection. Same as SPRINT primary command.
Print All
Prints the entire file. Same as PRINT ALL primary command.
MRU Edit List
This is a list of the last 5 files Edited. You can click on any one
of them with the left mouse button to launch an Edit on the file.
Exit
Completely terminate SPF. Same as "=x" primary command.
EDIT
Perform edit operations:
Undo
Undo the last edit operation. Same as UNDO primary command.
Redo
Redo the last Undo operation. Same as REDO primary command.
Cut
Copy the current selection to the clipboard, then delete it from the
edit file. Same as SCUT primary command.
Copy
Copy the current selection to the clipboard. Same as SCOPY primary
command.
Paste
Paste the current clipboard contents into the current edit file at
the cursor. Same as SPASTE primary command.
Delete
Delete the current selection from the edit file. Same as SDELETE
primary command.
Find
Find a string in the current edit file. Same as FIND primary
command.
Find next
Repeat the last Find command. Same as RFIND primary command.
Change
Change one string to another in the current edit file. Same as
CHANGE primary command.
Change next
Repeat the last change command. Same as RCHANGE primary command.
WINDOW
Organize windows and tasks:
FSplit
Start a new SPF task.
-- In maximized state, the new task replaces the current task
display.
-- In normal state, the new task is created using the size of the
current task and is displayed in cascaded stair-step fashion.
Swap
If more than one SPF task is active, swap to the next SPF task in
the task ring. If only one SPF task is active, process the command
as an FSplit.
Tile
If more than one SPF task is active, arrange the SPF task windows
side by side in a non-overlapped manner sharing the parent display
space equally.
Cascade
If more than one SPF task is active, arrange the SPF task windows in
an overlapped stair-step fashion in the parent display space.
MRU Task List
This is a list of all active SPF tasks. You can click on any one of
them with the left mouse button to activate it.
HELP
Access SPF/Pro online HELP:
Help...
Invoke the SPF Help dialog. This dialog lets you select help by
topic and also allows dynamic searches.
About
Display information about SPF/Pro.
# 2. {Quickstart}
While it is helpful, you do not need prior knowledge of IBM's mainframe
based ISPF to use SPF/Pro. Reading this manual from front to back will
give you an in depth understanding of all the facilities available to you
but will also consume a lot of your valuable time. A more effective
approach for the uninitiated is to acquire a minimum working knowledge in
a short time that will enable you to perform simple file editing tasks.
This chapter will get you up and running in under one hour. As you use
SPF/Pro in this minimal way you can explore the full range of functional
capabilities described in the remainder of this manual at your leisure.
# 2.1 {Edit a New Empty File}
You can now execute SPF/Pro to edit a file. For this exercise let's edit
file TEST.TXT:
* Click on the SPF program group icon and/or the SPF program item icon to
launch SPF/Pro.
You are now in the Primary Option Panel.
* Type 2 in the "Option" field.
* Press [SPF-Enter] (the right [CTRL] key).
You are now in the Edit Entry Panel.
* Use the mouse or the [TAB] key to position to the "System File
Specification" field.
* Type TEST.TXT in the "System File Specification" field.
* Press [SPF-Enter].
The top line of the client space displays the SPF Title Line. The Title
Line is the first line of the body of each SPF Dialog. In the Edit Dialog,
the name of the file you are editing is displayed on the left. On the
right are the starting and ending columns of the displayed portion of the
file's records (usually 1 and 72). If you have records longer than 72
characters, the characters from column 73 to the end of each record are
not presently visible; we will talk about how to reveal them in another
section.
The second line is the Command Line. The first input field on the Command
Line is the Primary Command Field where edit primary commands are entered.
The second input field is the Scroll Field where scroll amounts are
entered. We will not modify the scroll field.
The third and subsequent lines to the bottom of the client space are data
lines. The first six columns of each data line are the Line Command Field
where edit line commands are entered. The Line Command Field normally
displays a six digit line number. Column 7 is a boundary between the Line
Command Field and the data area and is always blank. Columns 8 through 79
display columns 1 through 72 of each data record.
The first and last data lines are not part of your file. They are created
by the editor to indicate that you are at the top or bottom of the file
and are called the Top of Data and Bottom of Data lines respectively.
You are currently editing new empty file TEST.TXT. The cursor is setting
in the Primary Command Field. The top display line shows "TOP OF DATA".
The bottom display line shows "BOTTOM OF DATA". The intermediate display
lines are empty. Empty lines in SPF/Pro are called Null Lines and are
indicated by six apostrophes in the Line Command Field.
* Press the [ENTER] key to get to the top line (TOP OF DATA).
* Press the [ENTER] key a second time to get to the first data line.
* Press the [TAB] key to get to the first data column (8).
* Type "This is a line of text."
* Press the [SPF-Enter] key to commit the text to the file.
All the empty data lines were "closed up" when you pressed [SPF-Enter].
* Press [SHIFT][TAB] twice to position to the start of the display line
(the Line Command Field of line 000001).
* Type "r99" in the Line Command Field.
* Press the [SPF-Enter] key to "replicate the current line 99 times".
The file now contains 100 lines of "This is a line of text.". We will
use this sample file for the remaining exercises.
# 2.2 {Moving Around the Screen}
The MOUSE can be used to position the cursor anywhere on the screen.
Simply move the mouse pointer to the desired location and click the left
mouse button one time. More advanced mouse capabilities and techniques are
described elsewhere.
You can also use the cursor keys to move left, right, up and down by one
position. When you reach the edge of the display in any direction, the
cursor leaves that edge and reappears at the opposite edge.
The [ENTER] key moves you down one line and to the left edge of the screen
in a single step.
The [TAB] key moves you from screen column 1 (line command area) to screen
column 8 (data area) in a single step.
# 2.3 {Executing Primary Commands}
This section explains how to enter and execute primary commands which will
be discussed in later sections.
Move the mouse pointer on the Primary Command Field and click the left
mouse button one time, or press the [HOME] key. Your are now in the
Primary Command Field.
* Enter the primary command in the Primary Command Field.
* To execute:
- If you have an enhanced keyboard (101 keys), press the right [CTRL]
key. Hereafter this key is represented as [SPF-Enter].
- If you have a standard keyboard, press the ENTER key on the numeric
keypad. Hereafter this key is represented as [SPF-Enter].
- On any other keyboard type press [CTRL][ENTER]. Hereafter this key
sequence is represented as [SPF-Enter].
# 2.4 {Executing Line Commands}
This section explains how to enter and execute line commands which will be
discussed in later sections.
* Use the mouse or the [ENTER] key and/or cursor keys to move the cursor
to the Line Command Field of the line you want to operate on.
* Enter the line command in the Line Command Field.
* To execute press [SPF-Enter].
# 2.5 {Scrolling}
To move up or down one full frame in the file use the [PG-UP] and [PG-DN]
keys respectively.
Function keys [F7] and [F8] are pre-programmed with the UP and DOWN
primary commands respectively.
To go to the top of the file in a single step enter and execute primary
command:
top
To go to the bottom of the file in a single step enter and execute primary
command:
bot
To reveal text not visible on the right enter and execute primary command:
right
To reveal text not visible on the left enter and execute primary command:
left
Function keys [F10] and [F11] are pre-programmed with the LEFT and RIGHT
primary commands respectively.
# 2.6 {Summary 1}
You now know how to:
* Edit a file.
* Travel around the screen using the mouse or cursor keys.
* Enter and execute primary and line commands.
* Scroll the file vertically using the [PG-UP] and [PG-DN] keys.
* Go to the top or bottom of the file in a single step using the "top"
and "bot" primary commands.
* Go to the left or right edge of the data using the "left" and "right"
primary commands.
# 2.7 {Overtyping Text in Existing Line}
The default text entry mode is overtype. In overtype mode the cursor is
shaped like a box. Simply move the cursor to the data portion of the
record you want to change and type over the text you want replaced.
# 2.8 {Inserting Text in Existing Line}
To insert text you must first put the editor into insert mode by pressing
the [INS] key. In insert mode the cursor is a thin vertical line. Now
move the cursor to the data portion of the record you want to change and
type the text you want inserted.
# 2.9 {Insert New Lines in Existing File}
To insert a new line:
* Type "i" line command in the line above where you want a new line
inserted.
* Press [SPF-Enter].
* A new line is inserted immediately below the "i" line. The cursor is
placed in the first data column.
* Type the desired data in the new line.
If you would like more new lines immediately following the first:
* After entering text on the first new line and without any other
intervening keystrokes, press [SPF-Enter].
* Another new line is inserted and the cursor is positioned at the first
data column.
* Continue entering text. Repeat this process as required.
After all data is entered, press [SPF-Enter] one more time to eliminate
unused empty lines.
# 2.10 {Deleting Lines in Existing File}
To delete a single line:
* Type "d" line command in the line you want deleted.
* Press [SPF-Enter].
* The line is deleted.
To delete multiple lines:
* Type "dd" line command in the first line of the block of lines you want
deleted.
* Type "dd" line command in the last line of the block of lines you want
deleted.
* Press [SPF-Enter].
* The block of lines between the first "dd" and last "dd" inclusive is
deleted.
# 2.11 {Summary 2}
In the last information set you learned how to:
* Overtype existing lines.
* Insert text in existing lines.
* Insert new lines.
* Enter text in an empty file.
* Delete existing lines.
# 2.12 {Finding Text}
If you don't want to manually search an entire file looking for a
particular record, you can use the FIND primary command to get there in a
single step. For example,
find line
finds the first occurrence of the string "line" in upper, lower, or mixed
case.
If you want to find the next occurence of the same string press [F5].
# 2.13 {Changing Text}
You can change the first occurrence of a string to another value with the
CHANGE primary command. For example,
change line bit
changes the first occurrence of string "line" to "bit".
To change the next occurence of the same string press [F6].
change this bit all
changes all occurrences of string "this" to "bit".
# 2.14 {Summary 3}
In the last information set you learned how to:
* Find the first occurence of a string of text.
* Find the next occurence of the same string.
* Change the first occurrence of a string to another value.
* Change the next occurence of the same string.
* Change all occurrences of a string to another value.
# 2.15 {Copy Lines}
To copy a single line:
* Type "c" line command in line to be copied.
* Type "a" line command in line preceding desired destination.
* Press [SPF-Enter]. Line with "c" is copied after line with "a".
To copy multiple lines:
* Type "cc" line command in first line of block of lines to be copied.
* Type "cc" line command in last line of block of lines to be copied.
* Type "a" line command in line preceding desired destination.
* Press [SPF-Enter]. Block of lines between first line with "cc" and last
line with "cc" inclusive is copied after line with "a".
# 2.16 {Move Lines}
To move a single line:
* Type "m" line command in line to be moved.
* Type "a" line command in line preceding desired destination.
* Press [SPF-Enter]. Line with "m" is moved after line with "a".
To move multiple lines:
* Type "mm" line command in first line of block of lines to be moved.
* Type "mm" line command in last line of block of lines to be moved.
* Type "a" line command in line preceding desired destination.
* Press [SPF-Enter]. Block of lines between first line with "mm" and last
line with "mm" inclusive is moved after line with "a".
# 2.17 {Summary 4}
In the last information set you learned how to:
* Copy a single line from one location in the file to any other location.
* Copy a block of lines from one location in the file to any other
location.
* Move a single line from one location in the file to any other location.
* Move a block of lines from one location in the file to any other
location.
# 2.18 {Saving Modified File}
To save the file in its modified form, enter and execute primary command:
save
After the file is saved, editing can resume.
# 2.19 {Exit With Save}
To save the file in its modified form and exit SPF/Pro, enter and execute
primary command:
=x
# 2.20 {Exit Without Save}
To exit SPF/Pro without saving the file, enter and execute primary
command:
cancel
At this point a panel is presented with a number of options; enter and
execute primary command:
=x
# 2.21 {Summary 5}
In the last information set you learned how to:
* Save a modified file and continue editing.
* Exit a modified file saving all changes.
* Exit a modified file without saving changes.
# 2.22 {Epilogue}
This chapter illustrates a minute portion of the functional capability of
the Edit component of SPF/Pro. After you become familiar with what you
have learned here, examine the remainder of the book at your leisure.
This chapter describes only the most orthodox methods. Frequently there
are shortcuts to doing many of the operations discussed which you will
learn over time.
# 3. {Introduction}
# 3.1 {Feature Summary}
SPF/Pro is a complete integrated applications development environment for
MVS legacy applications programs. It is typically used for editing source
code, invoking compilers, linkers, and debuggers, in a variety of
programming languages, such as COBOL, FORTRAN, and C++. Of course SPF/Pro
can be used with other programming languages and source files.
SPF/Pro has many features designed to make managing and authoring source
code easier, such as:
* Custom Dialogs interfacing to:
- Micro Focus
- XDB
* Fully graphical user interface
* PC based Partitioned Dataset support
* FIND/CHANGE in select lists
* FIND/CHANGE string highlighting
* MODEL support
* SUPERC file compare
* Undo/Redo
* Program source colorization
* Horizontal or Vertical screen SPLIT
* Multiple full screen SPLITs
* Multi-way select list file management
* Multiple-file search and replace
* Run Time Macro support via REXX
* Unlimited file size
* Programmable keyboard and keyboard macros
* Multiple character set and file format support
* Several tabbing modes, several line numbering modes
* Full integration with popular COBOL workbenches
* Extended, expanded, and virtual memory support
* CUT/PASTE via clipboard
# 3.2 {SPF/Pro Files}
SPF/Pro uses several files during its processing:
SPFPRO.EXE (in SPFPRO)
This is the main executable file for Windows-95, and Windows-NT.
SPFPC50.GBL (in SPFPRO\PROFILES)
If not already present, this file is created at installation time. It
is updated whenever you change global profile variables. SPFPC50.GBL
can load from:
- the default location
- the location specified in environment variable SPF5PATH
- the location specified in command option /G
Note: If SPF/Pro can't find SPFPC50.GBL, it creates it with default
parameters.
*.PRF (in SPFPRO\PROFILES)
These files are not installation files. They are created as you edit
files, to record information about file formats. Each .PRF file
contains file format information which applies to all files with a
particular type. For example, the file profile for program source file
EDITCMD.CPP would be CPP.PRF.
The *.PRF files are found and loaded in the same manner as SPFPC50.GBL.
*.SPF (in SPFPRO\REXX and SPFPRO\REXX\USER)
These files are SPF/Pro edit macros which use ISREDIT macro commands.
Edit macros included on the installation diskette are documented in
README.MAC. Edit macros you create must be located in in one of the
following:
- SPFPRO\REXX
- SPFPRO\REXX\USER
- The directory specified in the MACRO SEARCH PATH field of the 0.8
OPTIONS Menu. If multiple directories are specified, they must be
separated by semicolons.
- The current directory.
For more information on sample macros, see README.MAC in directory
SPFPRO.
Note: Edit macros that have been precompiled, have the file type
".SP2" and reside in the same directories.
*.ISP (in SPFPRO\REXX and SPFPRO\REXX\USER)
Dialog procedures are developed using ISPEXEC dialog services. They
follow the same rules for directory residence as the edit macro files.
Note: Dialog procedures that have been precompiled, have the file type
".IS2" and reside in the same directories.
*.CLR (in SPFPRO\PROFILES)
These are program source colorization definition files.
SPFCOLR.TBF (in SPFPRO\PROFILES)
When you create a named color setup using Option 0.4 it is stored in
this file.
SPFMRU.TBF (in SPFPRO\PROFILES)
When you edit files, the Most Recent Edits list is stored in this file
and accessed via Panel 3.H.
SPFUSER.TBF (in SPFPRO\PROFILES)
When you create a named user program using Option 4 it is stored in
this file.
SPFLIST.TBF (in SPFPRO\PROFILES)
When you save a select list via primary command SAVELIST, the name of
the list is saved in this file.
list-name.TBF (in SPFPRO\PROFILES)
When you save a select list via primary command SAVELIST, the list is
saved in a file with the specified name. For example, if you "SAVELIST
PROJECT1", the list is saved in file PROJECT1.TBF.
*.TBF (in SPFPRO\PROFILES)
Tables created dynamicly with dialog services are kept in files of this
type.
*.KEY (in SPFPRO\PROFILES)
All named keyboard mappings created via 0.K are kept in files of this
type.
*.MAC (in SPFPRO\PROFILES)
When you create a named keyboard macro within a named keyboard via 0.M,
the macro is saved in files of this type.
*.PDS (in SPFPRO\PAN)
Panel definitions are normally stored in Partitioned Datasets. Access
to PDS files is through the special REXX API which we provide.
*.PAN (in SPFPRO\PAN and SPFPRO\PAN\USER)
Panel definitions that are in development or frequently modified, are
stored as individual PC files of this type.
SPFPRO.MSG (in SPFPRO\PAN)
Base message definition file.
SPFUSER.MSG (in SPFPRO\PAN)
User message definition file.
README.DOC (in SPFPRO)
A text file on the distribution diskette which contains documentation
developed after this document went to print.
README.WIN (in SPFPRO)
Information specific to running SPF/Pro in the Windows environment.
README.MAC (in SPFPRO)
Information specific to *.SPF macros supplied with SPF/Pro.
# 3.3 {Starting an SPF/Pro Session}
Click on the SPF program group icon and/or the SPF program item. This
action loads SPF/Pro and puts you into the Primary Option Panel.
# 3.3.1 {Start-up Parameters}
You can invoke SPF/Pro via "FILE" menu "RUN" or Command Window, with
parameters which allow you to bypass the Primary Option Panel and go
directly to a specific option:
SPFPRO [filename]
[/Bfilename]
[/E]
[/Gglobal-profile-path]
[/Iimacro-name]
[/Kkeyboard-macro-name]
[/L(line-number,col-number)]
[/Pedit-profile-name]
[/Rfile-name]
[/Sdialog-function]
[/T]
[/n.n]
The startup parameters are defined below:
filename
The name of a file to edit. If wild-card characters are specified, a
select list is presented for file selection.
Note: filename may not be specified if "/B" or "n.n" is specified.
/B
The name of a file to browse. If wild-card characters are specified, a
select list is presented for file selection.
Note: /B may not be specified if "filename" or "n.n" is specified.
/E
Exit directly to command prompt after edit.
/G
Specifies the path where the global profile will be found. This
overrides the value set in environment variable SPF5PATH.
/I
The name of an initial macro. Can only be used with a specific
filename.
/K
Specifies the keyboard macro name to execute on entry to SPF/Pro:
/Kkeyboard-macro-name.
/L
Specifies line and column numbers in the following form:
/L(line-number,col-number).
/P
The name of an edit profile. Can only be used with a specific
filename.
/R
The name of a compiler error message file. This file is merged as
NOTES into the edit file. The compiler messages must be in what is
generally known as "The Microsoft Format". Among the compilers that
support this format are the following:
Micro Focus COBOL
CA-Realia-II COBOL
Borland C++
Zortech C++
Microsoft (all languages)
/S
The name of a dialog function to be used in place of the primary option
panel. The dialog function can take one of the following forms:
/SPANEL(panel-id)[PARM(parameter-values)]
/SCMD(REXX-procedure-name)[PARM(parameter-values)]
/SCTC(internal-function-name)[PARM(parameter-values)]
/SPGM(external-program-name)[PARM(parameter-values)]
As an alternative to the /S startup command option you can set
environment variable SPFSTART with a value identical to that which you
would specify for /S and you would get the same result. For example,
issuing command
SPFPRO /SPANEL(MYPRIME)
and setting
SET SPFSTART=PANEL(MYPRIME)
would have the same effect. If /S is specified on the command line, it
overrides the SPFSTART environment variable.
/T
Activates the profile trace for diagnostic purposes.
/n[.n]
The specific id of a panel you want to enter directly.
Note: n.n may not be specified if "filename" or "/B" is specified.
Note: The older form =n.n is still supported but its use is
discouraged because if you use it in a command file (.BAT or .CMD) the
equal sign is stripped off by the batch command processor yielding a
syntax error.
A few examples of the startup command follow:
SPFPRO CONFIG.SYS [ENTER]
SPFPRO C:\SRC\MAIN.C [ENTER]
SPFPRO NEXNAME.COB /PDAT [ENTER]
SPFPRO CKDATE.COB /ICOBINIT [ENTER]
SPFPRO /BAUTOEXEC.BAT [ENTER]
SPFPRO /3.4 [ENTER]
# 3.4 {Ending an SPF/Pro Session}
When you have finished using SPF/Pro and are ready to end your session,
you can:
* Press [F3] (END command) repeatedly, backing up through previous panels
to the system prompt.
* Press [HOME], then type in the exit command, as follows:
COMMAND ===> =X [SPF-Enter]
* Double click with the left mouse button on the close box for the SPF
task you want to end.
* Select the FILE menu EXIT item with the mouse.
# 4. {Using the Mouse}
This chapter describes how to use the mouse to:
* select a menu item
* select a PF key
* select a list entry
* operate on multiple list entries
* activate a popup menu
* scroll select list
* position the cursor
* select a group of lines
* select a stream of characters
* select a block (rectangular area)
* extend the selection
* perform [SPF-Enter] processing
* cancel selection
* delete the selection from the file
* cut the selection from the file to the clipboard
* copy the selection from the file to the clipboard
* paste the selection from the clipboard to the file
* create/replace an external file from the selection
* convert the selection to all uppercase letters
* convert the selection to all lowercase letters
* print the selection
* exclude the selection (applies to lines only)
* move the split separator
* sort file select list
Using the mouse is most efficient when the primary commands that relate to
the mouse are mapped to function keys or control keys. In the following
discussion, we use function keys to describe how to do various operations
in conjunction with the mouse. For our examples, the following mapping is
used:
[SHIFT][F1] = SCUT
[SHIFT][F2] = SCOPY
[SHIFT][F3] = SPASTE
[SHIFT][F4] = SCREATE
[SHIFT][F5] = SREPLACE
[SHIFT][F6] = STOUPPER
[SHIFT][F7] = STOLOWER
[SHIFT][F8] = SXCLUDE
[SHIFT][F9] = SDELETE
See Keys Option 0.K for a description of how to map the keyboard. You can
map the mouse related primary commands in a manner which best suits your
style.
# 4.1 {Select a Menu Item}
Any time you are in an SPF/Pro menu, you can select a menu item by
clicking on it with the left mouse button.
# 4.2 {Select a PF Key}
Any time the PF keys are visible, you can select a PF key by clicking on
it with the left mouse button. Use the PFSHOW primary command to make PF
keys visible.
# 4.3 {Select a List Entry}
Any time you are in an SPF/Pro select list, you can invoke SELECT on a
single entry by double-clicking on it with the left mouse button.
# 4.4 {Operate on Multiple List Entries}
To operate on multiple list entries (e.g. a group of files):
* click on the line command field of the first entry in the block with
the left mouse button
* enter the desired operation (e.g. S, E, etc.)
* press the shift key then click on the last entry in the block with the
left mouse button
* press [SPF-Enter] to apply the line command you entered on the first
entry to all the entries between and including first and last
# 4.5 {Activate Popup Menus}
Popup menus are available in file select lists and edit to provide a
convenient point and shoot activation scheme for frequently used commands.
Click the right mouse button to activate the popup menu. Use the mouse to
select the desired entry. Click the left or right mouse button to activate
the command.
# 4.6 {Scroll Select List}
Scroll the select list by clicking on the vertical scroll bar when
present.
# 4.7 {Position the Cursor}
You can position the character cursor anywhere on the screen by moving the
mouse cursor to that position and clicking the left mouse button.
# 4.8 {Select a Group of Lines}
A group of lines is one or more complete lines. This is the most common
form of selection when dealing with program source. In EDIT or BROWSE to
select a group of one or more lines:
* Use the mouse to position the cursor to the line command field of the
first line in the block.
Note: If line commands are turned off (see LCMD primary command),
position to the first character in the line.
* Press down the left mouse button.
* With the left button still pressed and staying in the line command
field, drag the mouse to the last line in the block. As you drag the
mouse, the lines which become selected are highlighted.
Note: When you drag to the top or bottom edge of the display, EDIT (or
BROWSE) automatically scrolls to extend the selection in the direction
of travel.
* When you have reached the end of the selection, let the left mouse
button up. The selection is now complete.
# 4.9 {Select a Stream of Characters}
A stream is all the characters between the first character of the
selection, in a continuous stream (including line ends), to the last
character of the selection. This is the most common form of selection
when dealing with textual material. In EDIT or BROWSE to select a stream
of one or more characters:
* Use the mouse to position the cursor to the first character in the
stream.
* Press down the left mouse button.
* With the left button still pressed, drag the mouse to the last
character in the stream. As you drag the mouse, the characters which
become selected are highlighted.
Note: When you drag to the top, bottom, left or right edge of the
display, EDIT (or BROWSE) automatically scrolls to extend the selection
in the direction of travel.
* When you have reached the end of the selection, let the left mouse
button up. The selection is now complete.
Note: Unlike word processors, SPF/Pro preserves line ends within stream
selections.
# 4.10 {Select a Block}
A block is a rectangular area. This form of selection is used for special
cases. In EDIT or BROWSE to select a block:
* Holding the ALT key, click the left mouse button and drag to select the
block.
* Use the mouse to position the cursor to the upper left corner of the
block.
* Press down the right mouse button.
* With the right button still pressed, drag the mouse to the lower right
corner of the block. As you drag the mouse, the area which becomes
selected is highlighted.
Note: You can also select from lower right to upper left.
* When you have reached the end of the selection, let the right mouse
button up. The selection is now complete.
# 4.11 {Extend Selection}
To extend the current selection without dragging, reposition the mouse,
press the [SHIFT] key, then click the left mouse button. The selection is
extended from the end of the current selection to the current mouse
position. This technique also works with a null selection. (To extend a
block selection, click on the right mouse button.)
# 4.12 {Cancel Selection}
To cancel the selection, press any non-function key except [HOME] or click
the left mouse button.
# 4.13 {Delete Selection}
To delete the selection, press the [DEL] key or press the [SHIFT][F9] key
(=SDELETE). The deleted text is removed from the file but is not put into
the clipboard.
# 4.14 {Cut Selection}
To cut the selection, press the [SHIFT][F1] key, or [CTRL][X] (both are
mapped to SCUT). The selected text is copied into the clipboard; it is
then removed from the file.
# 4.15 {Copy Selection}
To copy the selection, press the [SHIFT][F2] key, or [CTRL][C] (both are
mapped to SCOPY). The selected text is copied into the clipboard; it is
not removed from the file.
# 4.16 {Paste Selection}
* For line selections - place the cursor anywhere on the target line,
* For stream selections - place the cursor at the target character within
the target line,
* For block selections - place the cursor at the upper left corner of the
target area
then press the [SHIFT][F3] key, or [CTRL][V] (both are mapped to SPASTE).
After the paste operation, the cursor is positioned at the end of the
pasted selection. The contents of the clipboard are not altered. To get
multiple copies of the selection, repeat the paste operation. This is
essentially the same as the SPF/Pro replicate function.
# 4.17 {Create/Replace File}
To create an external file from the selection press either [SHIFT][F4] key
(=SCREATE) to create an original file or [SHIFT][F5] key (=SREPLACE) to
replace an existing file. A panel is presented in which you specify the
name of the file that is being created.
# 4.18 {Convert to Uppercase}
To convert the entire selection to all uppercase letters press the
[SHIFT][F6] key (=STOUPPER).
# 4.19 {Convert to Lowercase}
To convert the entire selection to all lowercase letters press the
[SHIFT][F7] key (=STOLOWER).
# 4.20 {Print Selection}
To print the selection, press the [SHIFT][F10] key (=SPRINT). SPRINT
prints only the selected characters.
# 4.21 {Exclude Selection}
To exclude the selection, press the [SHIFT][F8] key (=SXCLUDE). Exclude
operates on whole lines regardless of the mode of selection. If the
selection is a stream or block, the exclude is applied to all characters
of each line touched by the selection.
# 4.22 {Extend a Selection}
As noted above, selections are normally extended by dragging the mouse
while holding down the left mouse button. An alternative method of
extending the selection is to:
* establish the origin of the selection by clicking the mouse at the
desired start point.
* position the mouse to the desired end point of a selection (no drag
required), then press [SHIFT] and click the left mouse button. The
complete selection is now highlighted.
* You can append to an existing selection using this same technique.
Position the mouse the the new desired end point. Press [SHIFT] and
click the left mouse button. All text between the origin of the
original selection and the new end point is now selected.
# 4.23 {Perform [SPF-Enter] Processing}
At any time, double-clicking the left mouse button on a text entry panel
(e.g. panel 2) produces the same effect as pressing [SPF-Enter].
# 4.24 {Move SPLIT Separator}
If you have split the screen into multiple SPF/Pro sessions via SPLIT,
SPLITV, or VSPLIT primary commands, you can move the split separator by:
* place the mouse cursor on the separator
* hold down the left mouse button
* drag the separator to the desired position
When dragging the separator, SPF/Pro maintains a five line buffer zone
from the top or bottom in the vertical direction, and a ten character
buffer zone from the left or right in the horizontal direction.
# 4.25 {Sort File Select List}
Above each column in file select lists is a labeled column sort button.
To sort the file select list by that property (Name, Size, Date, etc.)
click on the desired column sort button.
# 5. {Interacting With SPF/Pro}
SPF/Pro functions are available to:
* Have full operation control of all elements of Micro Focus Workbench
via custom SPF dialogs.
* Access XDB via extensive custom dialog.
* Browse or edit files.
* Manipulate files or directories.
* Set profile options.
* Launch foreground and background tasks.
* Issue operating system commands on PC.
All SPF/Pro functions are performed via Graphical User Interface through
SPF dialogs comprised of menus or panels. One aspect of learning SPF/Pro
is learning which menu or panel performs what functions and how to move
among them. This chapter explains how to:
* Use menus and panels. Each panel tells you where you are and what you
can do next. The Menus and Panels section below identifies different
panel types and how they are used.
* Use keyboard features. In addition to typing in text, there are a
number of keyboard features of interest. These include 3270-type
features, PF keys, and special purpose keys.
* Issue commands. The Command section introduces different types of
SPF/Pro commands, where to type them in, using commands together, and
other general information.
# 5.1 {Menus and Panels}
SPF/Pro menus and panels fall into basic categories:
MENUS
Menus display a list of available functions. The functions are listed
by number or letter. You select one by either:
- positioning the mouse pointer on the desired entry, and clicking the
left mouse button, or
- typing in the number or letter in the primary command field and
pressing [SPF-Enter].
When you select a menu item, SPF/Pro displays an entry panel or a lower
level menu.
Note: Once you determine which panels are most frequently used, you
can bypass the menus by using the "jump" feature.
ENTRY PANELS
Entry panels have fields for information which is needed to carry out a
function. Simply fill in the fields and press [SPF-Enter] to execute
the function. To position to fields either:
- position the mouse pointer on the desired field and click the left
mouse button
- use cursor and/or tab keys to position to fields
SELECT LISTS
SPF/Pro displays a select list when you initiate a function that
requires a filename but you only supply a path name or a partial
filename (including wild-card characters).
You would normally specify a partial filename intentionally to get a
select list. For example, if you wanted to edit a group of related
COBOL source files you would specify "*.COB" in the filename field of
the EDIT ENTRY PANEL. This would bring up a select list of all the
COBOL source files in the current (or project) directory.
Once a list is displayed, you can select one or more files to edit,
browse, or perform some other function. File selection can be done by
either:
- positioning the mouse pointer on the desired list entry and double
clicking the left mouse button, or
- cursor positioning to the desired entry, placing an "s" to the left
of the entry, and pressing [SPF-Enter].
- Click the left mouse button once on the desired list entry. Click
the right mouse button to display a popup menu of verbs that can be
applied to the selection.
- To select a block of entries, click once on the first entry of the
block, position the mouse to the last entry in the block, press
[SHIFT] and click the left mouse button. You can now use the popup
menu to apply a verb to all the entries in the block.
FILE DISPLAY PANELS
SPF/Pro brings up a file display panel when you request edit or browse
and give a complete filename. The file display panel includes fields
for primary and line commands.
# 5.2 {General Features}
This section describes features common to all panel types. General
features are discussed below. Features unique to a single panel type are
discussed in following sections.
# 5.2.1 {Display Topology}
SPF/Pro panels are normally pre-defined to display in an 80 by 25 display
space. In Windows the display space is arbitrarily sized.
If the available space is smaller than the panel definition calls for, the
excess columns and/or lines are clipped (not displayed) although they are
still part of the active panel. In any case where a portion of the panel
is not visible, you can MAXIMIZE the window to reveal the remainder of the
panel.
If the available space is larger than the panel definition calls for, the
panel is displayed flush top left in the available space. Excess space is
rendered in the protected-low attribute.
The SCREEN primary command of previous versions, is no longer supported.
# 5.2.2 {Select Lists and File Displays}
Select lists and file displays are often larger than the screen area.
Select lists are arbitrarily long and can be scrolled vertically. File
displays are arbitrarily long and wide and can be scrolled both vertically
and horizontally.
Menus and panels have the following basic features:
PANEL HEADING
The top line of the display contains:
- On the left, the product name followed by an integer number which is
the session id.
- In the center, the panel title.
- On the right, the product version number.
EDIT and BROWSE display a file name in place of the panel name and
column numbers in place of the product version number.
SHORT MESSAGE AREA
The short message area overlays the right edge of the top display line
when necessary to display a message. SPF/Pro uses this area to display
information and diagnostic messages.
COMMAND or OPTION FIELD
The second display line on all menus and panels contains the primary
command field labeled COMMAND or OPTION. In either case you can enter
general primary commands. In the OPTION case you can select an item
from the menu by number or letter.
You can enter any of the general commands listed at the end of this
chapter. On file display panels you can enter additional primary
commands supported by EDIT or BROWSE.
LONG MESSAGE AREA
When SPF/Pro displays a short message, enter HELP (or [F1]) to display
a more detailed message. The long message overlays the third display
line when necessary to display the message.
STATUS LINE
The bottom display line is the Status Line. It contains the following
status indicators from left to right:
- INPUT INHIBITED, a special symbol indicates that the last input
character was not accepted. If the symbol has a small arrow on each
side, you tried to type in a protected area such as a field name.
If the arrow is only on the right side of the symbol, you tried to
insert characters into a line or field that is full.
- SYSTEM BUSY, the text "X SYSTEM" indicates the system is busy.
Keyboard input is queued until the last command completes.
- KEYBOARD MACRO RECORDING, the text "RECORDING" indicates that a
keyboard macro is being recorded.
- DATE/TIME, an optional field displaying todays date and the current
time. Use Terminal Option 0.1 to set date and time options.
- SHIFT STATE INDICATOR is visible when the SHIFT key is down.
- CAPS LOCK INDICATOR is visible when the CAPS LOCK state is TRUE.
- INSERT INDICATOR is on when the INSERT state is TRUE.
# 5.2.3 {PFSHOW}
An alternative mode of display is one in which some or all of the PF keys
are displayed at the top or bottom of the screen along with their labels.
This mode is invoked with the PFSHOW primary command.
Key labels are either the first eight characters of the map value or an
explicitly assigned label from the KEYS panel. See Option 0.3 or Option
0.K for details on defining PF key mappings and labels.
When the PF keys are visible they can be selected by positioning the mouse
cursor to the desired key and clicking the left mouse button.
# 5.2.4 {Menus}
Menus present you with a list of SPF/Pro functions. For example, the
Primary Option Panel. Some options on this menu, like 2, Edit lead
directly to function panels. Others, like 3, Utilities lead to a
secondary menu, where other options are listed.
In addition to common general features, a Selection Menu has an OPTION
LIST which lists options by number or letter with a title and short
functional description. To select an Option:
* click on the Option button with the left mouse button
* type the number (or letter) of the Option in the OPTION field and press
[SPF-Enter].
# 5.2.5 {Entry Panels}
SPF/Pro displays an Entry Panel when a selected function needs information
such as a filename to proceed. Entry Panels have titled fields for all
needed information.
SPF/Pro often displays the fields with the last information you typed.
This data is often preserved from session to session. For example, the
file specification in the Edit Entry Panel is preserved across sessions.
Entry panels for different purposes have different formats. They all have
the items listed below, in addition to general panel features.
In addition to general features, an Entry Panel has the following
features:
INPUT FIELDS
These are blank fields indicating needed information. Input fields are
rendered in 3D giving a visual queue to their function. For example,
in the Option 2, EDIT panel, the PROFILE field is an Entry Field.
Some entry fields are scrollable. When you type past the end of the
field, it scrolls instead of giving you input-inhibited. For example,
the primary command field is scrollable.
The maximum amount of data that can be entered in a scrollable field is
1024 characters.
OUTPUT FIELDS
Output fields derive their content from SPF variables that are
specified in the panel definition. For example, the 0.1 Terminal Option
contains a number of output fields indicating various aspects of the
display technology.
LABELS
Input and output fields normally have labels and in some cases other
explanatory information in the form of comments. Labels clarify field
content and may give additional information or instructions.
Note: On color monitors labels and fields may be displayed in
different colors.
# 5.2.6 {File Specifications}
Some input fields call for a PC file specification. For convenience,
SPF/Pro supports several forms of file specification which augment the
conventional form DRIVE:\PATH\FILENAME. The following additional forms are
supported:
PATH;PATH
You can specify multiple paths separated by semicolon or comma. You
can also include a file name if desired with each path element. For
example, to access all .COB and .CPY files in the \SRC\V1 directory:
\SRC\V1\*.COB;\SRC\V1\*.CPY
If all the files you want are in the current directory you can simply
specify the file names:
*.COB;*.CPY
[PATH;PATH]filename
In cases where you want to operate on a common set of files from single
or multiple directories you can specify a path set enclosed in square
brackets followed by a file name or names. For example,
[\SRC\V1;\SRC\V2]*.COB;*.CPY
In this example we are asking for all .COB and all .CPY files from the
directories specified within the square brackets.
%ENV-VAR%
You can use this form of specification to refer to an environment
variable. For example:
%PATH%
To request all .EXE files in all elements of the PATH environment
variable:
[%PATH%]*.EXE
Or access all .CPY files in the COBCPY library set:
[%COBCPY%]*.CPY
Or access all .H files in the INCLUDE library set:
[%INCLUDE%]*.H
# 5.2.7 {Select Lists}
SPF/Pro displays a Select List when you request an operation on a file
without specifying a file name or when you use wild card characters. Wild
card characters are asterisk (*) and question mark (?). Normally you use
wild card characters when you are not sure of the file name or want to
work with a related group of files.
When all the files in a list reside in the same directory, the common
directory is shown on line three of the display. The common path
component of the file name is not repeated in the list.
PANEL HEADING
The top display line identifies the context for the select list.
SCROLL FIELD
On the right end of the second display line is the scroll field. This
field specifies how far the select list will be scrolled in response to
UP, DOWN, LEFT, or RIGHT commands.
CURRENT DIRECTORY
The third display line identifies the active disk and subdirectory. If
no disk or directory information is displayed with the file
information, this is the location of all files in the list.
FILE INFORMATION
The fourth and subsequent display lines contain file information for
all files that match your specification. Individual files are listed
by fields:
- When all files are in the same directory, the fields are:
NAME
EXTENSION
SIZE
DATE
TIME
ATTRIBUTES
- Attributes are indicated with single characters as follows:
A - archive
R - read-only
S - system
H - hidden
- When files are in different directories, the PATH field is appended
to the basic entry.
LINE COMMAND AREA
Each file information line has a two character input field for entry of
select list line commands. You can enter single or double character
line commands to do a variety of things to an individual file or group
of files. For example, in the edit or browse select list, the S line
command selects the file for editing or browsing.
SCROLL BAR
When select lists and other lists like 0.2 and 0.7 have more entries
than can be displayed, a vertical scroll bar is displayed.
Select lists are dynamic in nature. As the file name length increases the
SIZE, DATE, and TIME fields are moved to the right to accommodate the
longest name.
In the case where the longest name is such that the SIZE, DATE, or TIME
fields will not fit, the non-fitting field is clipped.
At any time you can use the I (information) line command to bring up a
panel containing a full elaboration of the file's name and other
attributes.
# 5.2.8 {File Display Panels}
SPF/Pro uses File Display Panels to display files for editing or browsing.
The edit panel displays line numbers and supports a full range of editing
commands. The browse panel has no line numbers and supports a limited set
of commands. If the file is deeper or wider than the available display
space, it can be scrolled UP, DOWN, LEFT, or RIGHT.
In addition to general panel features, a file display panel has the
following features:
MODE INDICATOR
On the left end of the top display line, a mode indicator BROWSE or
EDIT is displayed to indicate which function you are in.
PATH AND FILENAME
Following the mode indicator, the fully qualified path name of the file
being edited or browsed is displayed.
COLUMNS
At the right end of the top display line the start and end data column
are displayed. The COLUMNS display is updated whenever the screen is
scrolled LEFT or RIGHT. In the EDIT file display panel, columns 1
through 6 display line sequence numbers, columns 8 and beyond display
data commencing with data column one. The COLUMNS display shows 1
through N where N is the rightmost data column displayed.
If some characters do not fit in the display area, you can scroll to
reveal them with a "RIGHT" primary command. The COLUMNS display is
updated each time you scroll left or right.
In browse mode, the current line number is displayed along with the
column numbers.
SCROLL FIELD
At the right end of the second display line the scroll field specifies
how far the file will be scrolled in response to UP, DOWN, LEFT, or
RIGHT commands.
LINE COMMAND AREA
The first six character positions of each text line are available for
entry of Edit Line Commands. This area appears only on the edit panel.
It has two purposes:
1. It displays line sequence numbers (relative or absolute)
2. You enter EDIT Line Commands here.
By default line numbers are relative and incremented by 1. Line
numbers are updated whenever a line is inserted, deleted, or moved.
See primary commands NUMBER, RENUM and UNNUM for details on other
numbering methods.
Line commands are one or more characters that allow you to mark one or
more lines for insert, copy, move, or delete and many other line
related operations.
FILE TEXT AREA
This is the data in your file displayed one record per line. You can
scroll UP, DOWN, LEFT, or RIGHT as desired to reveal other areas of the
file. By default EDIT is in overtype mode so you can simply type
anywhere in the text area to make desired changes. The [DEL] key
deletes characters, and the [INS] key toggles the insert state.
BROWSE does not allow modifications to the file.
ROW/COLUMN INDICATOR
At the right end of the status line the file line number (R) and column
number (C) for the current cursor position is displayed. These
indicators are only displayed when in EDIT or BROWSE.
# 5.2.9 {Scrolling}
Scrolling is moving the viewport into a file or select list UP, DOWN, LEFT
or RIGHT.
There are four ways to issue a scroll command:
1. Use the [PG-UP] or [PG-DN] key.
2. Use one of the pre-assigned PF keys:
[F7] - UP
[F8] - DOWN
[F10] - LEFT
[F11] - RIGHT
3. Type it in the command field and press [SPF-Enter].
4. Click on the desired arrow or move the slider of a scroll bar.
# 5.2.10 {Scrolling Amount}
The amount you move with any scroll command is determined by the scroll
field. You can change the scroll amount any time by typing over it. The
scroll amount may also be typed in directly with any scroll command.
Valid scroll values are listed below:
PAGE (P)
Scroll by the full dimension of the display area. Vertically by the
depth in lines of the display area. Horizontally by the width in
columns of the display area.
HALF (H)
Scroll by one half the amount of PAGE.
CSR (C)
Scroll to move the cursor to the edge of the display area.
- For UP, data is moved to place the cursor at the bottom edge of the
display area.
- For DOWN, data is moved to place the cursor at the top edge of the
display area.
- For LEFT, data is moved to place the cursor at the right edge of the
display area.
- For RIGHT, data is moved to place the cursor at the left edge of the
display area.
DATA (D)
Scroll by the amount of PAGE minus one line in the vertical, or minus
one column in the horizontal.
MAX (M)
Scroll the maximum amount in the direction indicated. MAX is reset to
the original amount after the scroll is completed.
In the vertical direction MAX is used to get to the top or bottom of the
file or select list.
In the horizontal direction MAX is used to get to the leftmost or
rightmost data column.
nnnn
Scroll by nnnn lines or columns in the direction indicated.
To temporarily override the scroll amount:
* Type a command and an amount in the command field. For example, UP 10.
* Easier yet, type an amount in the command field and issue the scroll
command with a function key. For example, type 10 in the command
field, and press [F7] for UP.
Note: In addition to scrolling, you can use:
* LOCATE and SELECT commands to position in select lists
* FIND, LOCATE, SELECT and LABEL commands to position in files
# 5.3 {Moving Between Menus and Panels}
When you first start using SPF/Pro you will move from panel to panel
invoking functions in a serial fashion. This technique is fine but may not
be the most efficient for all cases. After you learn which panels are most
frequently useful to you, you can go to and from panels directly using the
techniques discussed below:
* Use the jump feature to go directly to a panel by typing =n or =n.n in
the command field followed by [SPF-Enter]. You can use this feature in
a random manner from any panel. For example, to go directly to the
UTILITIES, FILE LIST panel type =3.4 in the command area and press
[SPF-Enter].
Note: After using the jump feature, the END command returns to the
Primary Option Panel.
* Use the RETURN command (normally [F4]) any time to return directly to
Primary Option Panel regardless of your current position in the menu
tree.
* There are also startup options that allow you enter directly into EDIT,
BROWSE, or any panel.
# 5.4 {Split Screen}
This feature allows you to launch multiple independent copies of SPF/Pro.
You can launch multiple copies of SPF/Pro in one of three modes:
* HORIZONTAL SPLIT - one session above, one session below. To do a
horizontal split, position the cursor to the desired split point, then
press [F2] or use the SPLIT primary command. Limit: two sessions.
* VERTICAL SPLIT - one session on the left, one session on the right. To
do a vertical split, position the cursor to the desired split point,
then use the VSPLIT primary command. (We also support the mainframe
SPLITV primary command which always splits in the middle regardless of
the cursor position). Limit: two sessions.
* FULL SCREEN SPLIT - multiple copies occupying the full display space,
the active session is visible. To do a full screen split, use the
FSPLIT primary command. Limit: specified in Terminal Option 0.1.
If no split has been done, you can effect a full screen split by simply
pressing [F9] (SWAP).
We refer to all forms of multi-session operation as split screen. Each
session is a complete task that allows you to use all SPF/Pro features and
functions. The session ID, an integer from 1 to N, is displayed after the
product name at the left edge of the title line.
In discussions of split screen, the task where the cursor is located is
called the active task. Any command you issue is applied to the active
task.
Some things you can do with multiple sessions are:
* Edit two files at once, which is useful when you use the editor's
cut-and-paste feature.
* Edit a file in one task and execute a utility program or compiler in
the second task.
* Use an SPF/Pro feature in one task and use the command processing panel
to issue operating system commands from the second.
After you split the screen, use the SWAP command (normally [F9]) to switch
between the tasks.
If you are in horizontal split mode, and one of the sessions is less than
five lines deep, SWAP reallocates the screen so that the active task
always has the greater number of display lines.
If you are in vertical split mode, and one of the sessions is less than
ten columns wide, SWAP reallocates the screen so that the active task
always has the greater number of columns.
After splitting in one mode you can switch to the other mode by simply
issuing the opposite split command.
To change from horizontal split mode to vertical issue the VSPLIT or
SPLITV command.
To change from vertical split mode to horizontal issue the SPLIT command.
To end split screen mode, simply [F3] out, or =X out of either task. The
remaining task will occupy the full screen.
# 5.5 {SPF/Pro Commands}
In previous sections we discussed menus and panels. We will now cover
SPF/Pro commands. This section of the manual introduces three types of
commands, and explains some of the rules for using commands: where to type
them, how to use more than one command, how to stack commands, etc.
# 5.5.1 {Types of Commands}
SPF/Pro commands are classified by where you type them:
* Primary commands are typed in the field labeled COMMAND or OPTION.
These commands affect the panel, the function, the file, or your entire
session.
* Line commands are typed in the input field at the left end of lines in
files or select lists. This input field is called the Line Command
Field. These commands affect a single file or group of files in select
lists, or a single line or block of lines in edit.
You can also execute operating system commands without leaving the SPF/Pro
environment.
# 5.5.2 {Issuing Commands}
General rules for using each type of command are summarized below:
* Primary commands. To issue a primary command, use the mouse or [HOME]
key to move the cursor to the COMMAND or OPTION field. Type in the
command. If the command requires a parameter, or you use an optional
parameter, type it after the command. Press [SPF-Enter].
* Line commands. To issue a line command, use the mouse or cursor keys
to position the cursor to the Line Command Field of the desired line,
type in the command; press [SPF-Enter].
* To operate on a block of lines or group of files, type the desired line
command on the first line in the block; move to the end of the block
(use [F8] or [PG-DN] if necessary); then type the same line command on
the last line in the block; press [SPF-Enter].
* In Edit, ISREDIT macro commands are invoked in the same manner as
primary commands. You can also use the IMACRO feature to execute a
specific macro once at the time the file is opened.
* Operating system commands. These are standard operating system
commands that you normally enter at the operating system command
prompt. To issue an operating system command, use the mouse or [HOME]
key to move the cursor to the command or option line, type in DOS
followed by the command. If the command requires a parameter or you
use an optional parameter, type it after the command. Press
[SPF-Enter].
* PF keys. After you have used SPF/Pro for a while and know which
commands you use regularly, you can assign them to PF keys. Then they
can be executed with a single keystroke.
# 5.5.3 {Command Stacking}
To invoke multiple related commands, enter the commands separated by
semicolon (;), then press [SPF-Enter]. SPF/Pro executes the commands in
the order in which you typed them.
If an error occurs, the command in error remains in the primary command
field.
# 5.6 {Using Your Keyboard With SPF/Pro}
There are a number of single-keystroke functions on your keyboard. Some
of these are standard PC functions, others are unique to SPF/Pro. All are
listed in this section. In all cases the key assignment may be changed
using Option 0.K, Keyboard Mapping.
# 5.6.1 {General Keys}
[SPF-Enter]
This symbol is used throughout SPF/Pro documentation to identify the
equivalent to the 3270 ENTER key. This key activates all SPF/Pro
functions.
This key does not actually exist on any PC keyboard so we use the
following keys to effect [SPF-Enter]:
- For 101 key enhanced keyboard use:
-- Right [CTRL] key, or
-- [ENTER] key on the numeric keypad, or
-- Left [CTRL] + [ENTER] key
- For AT-style keyboard use:
-- key on numeric keypad, or
-- Left or Right [CTRL] + [ENTER] key
To get SPF/PC v. 2.1 style ENTER processing you must select the "SPF/PC
2.1" keyboard scheme in Keyboard Options 0.K. The default setting for
this keyboard differs from the standard 3270 approach in that the
[ENTER] key does newline processing AND 3270-ENTER processing.
[BACKSPACE]
Use this key to move the cursor to the left. The default backspace is
non-destructive. You can assign the destructive form of backspace with
Option 0.K, Keyboard Mapping.
[DEL]
Use this key to delete characters at the cursor; characters to the
right of the cursor are shifted left one position.
Left-[CTRL]
When pressed by itself, the left [CTRL] key performs a 3270 RESET.
[CTRL][DEL]
Use this combination of keys to erase characters from the current
cursor position to the end of the field or line. See 0.1 for an
alternative key configuration for this function.
[INS]
Use this key to toggle insert mode. If insert is on, characters to the
right of the cursor are moved farther to the right as new characters
are typed. Otherwise new characters overlay current characters as they
are typed. If a line or field is full, attempting to insert new
characters causes a beep and an input inhibited indicator in the status
line.
[NUMLOCK]
Use this key to set the shift state of the numeric keypad. The Num
Lock indicator is displayed when numeric lock is on.
[ESC]
Use this key to restore entry fields to their original values. This is
equivalent to an UNDO of the text typed since the last [SPF-Enter].
# 5.6.2 {Traveling Keys}
[ENTER]
Use this key to move from line to line or field to field. If there is
more than one field on a single line, use the [TAB] key to position to
the next field, described below. If the cursor is in the last line or
field, it wraps around to the top of the screen when you press the key.
[HOME]
Use this key to move the cursor to the command/option field. The
CURSOR command also performs this function.
[END]
Use this key to move the cursor to the end of the current field. When
you press the key, the cursor moves to the blank space following the
last character in the field. If the field is blank, the cursor is
positioned at the beginning of the field.
[PG-UP]
Use this key to scroll up toward the top of the file or select list.
The amount of the scroll is determined by the scroll field. [F7] can
also be used to scroll up.
[PG-DN]
Use this key to scroll down toward the bottom of the file or select
list. The amount of the scroll is determined by the scroll field.
[F8] can also be used to scroll down.
[CTRL][PG-UP]
Use this key to scroll to the top of the file.
[CTRL][PG-DN]
Use this key to scroll to the bottom of the file.
[ARROW-UP]
Use this key to move the cursor up. If you set VERTICAL SCROLL W/CURSOR
on Editor Options panel, the screen scrolls in the direction that the
cursor is moving when the cursor reaches the edge of the screen.
[ARROW-DOWN]
Use this key to move the cursor down. If you set VERTICAL SCROLL
W/CURSOR on Editor Options panel, the screen scrolls in the direction
that the cursor is moving when the cursor reaches the edge of the
screen.
[ARROW-LEFT]
Use this key to move the cursor left. If you set HORIZONTAL SCROLL
W/CURSOR on Editor Options panel, the screen scrolls in the direction
that the cursor is moving when the cursor reaches the edge of the
screen.
[ARROW-RIGHT]
Use this key to move the cursor right. If you set HORIZONTAL SCROLL
W/CURSOR on Editor Options panel, the screen scrolls in the direction
that the cursor is moving when the cursor reaches the edge of the
screen.
[ALT][ARROW-LEFT]
Use these keys to move the cursor two characters to the left.
[ALT][ARROW-RIGHT]
Use these keys to move the cursor two characters to the right.
[CTRL][ARROW-LEFT]
Use these keys to move the cursor one word to the left (word jump).
[CTRL][ARROW-RIGHT]
Use these keys to move the cursor one word to the right (word jump).
[TAB]
Use this key to move the cursor to the next tab position in edit or
field in a panel.
[SHIFT][TAB]
This is the backtab key. It works in the opposite direction of the tab
key, moving to the previous tab position or field.
# 5.6.3 {Selection Keys}
[SHIFT]+arrow-key
Use the shift key in conjunction with an arrow key in place of the
mouse to do selections.
Pressing [SHIFT][ARROW-UP] is equivalent to pressing the left mouse
button and dragging the mouse up.
Pressing [SHIFT][ARROW-DOWN] is equivalent to pressing the left mouse
button and dragging the mouse down.
Pressing [SHIFT][ARROW-LEFT] is equivalent to pressing the left mouse
button and dragging the mouse left.
Pressing [SHIFT][ARROW-RIGHT] is equivalent to pressing the left mouse
button and dragging the mouse right.
# 5.6.4 {PF Keys (Enhanced Keyboard)}
[F1]-[F12]
Base PF keys PF1 through PF12.
[SHIFT][F1]-[F12]
The SHIFT form of the base PF keys are used to effect PF13 through
PF24.
[CTRL][F1]-[F12]
The CTRL form of the base PF keys are used to effect PF25 through PF37.
[ALT][F1]-[F12]
The ALT form of the base PF keys are used to effect PF37 through PF48.
# 5.6.5 {PF Keys (AT Keyboard)}
[F1]-[F10]
Base PF keys PF1 through PF10.
[SHIFT][F1]-[F10]
The SHIFT form of the base PF keys are used to effect PF11 through
PF20.
[CTRL][F1]-[F10]
The CTRL form of the base PF keys are used to effect PF21 through PF30.
[ALT][F1]-[F10]
The ALT form of the base PF keys are used to effect PF31 through PF40.
# 5.6.6 {PF Keys, General}
The PF keys can be used to issue an SPF/Pro command in a single keystroke
and without moving to the command field. There is a default set of
SPF/Pro commands assigned to your PF keys. You can change the PF key
mappings any time with the KEYS command.
The default settings of the PF keys are listed below:
3270 Style SPF/PC 2.1
PF1 - HELP HELP
PF2 - SPLIT SPLIT
PF3 - END END
PF4 - RETURN SWAP
PF5 - RFIND RFIND
PF6 - RCHANGE RCHANGE
PF7 - UP UP
PF8 - DOWN DOWN
PF9 - SWAP LEFT
PF10 - LEFT RIGHT
PF11 - RIGHT RETURN
PF12 - RETRIEVE RETRIEVE
PF13 - SCUT n/a
PF14 - SCOPY n/a
PF15 - SPASTE n/a
PF16 - SCREATE n/a
PF17 - SREPLACE n/a
PF18 - STOUPPER n/a
PF19 - STOLOWER n/a
PF20 - SXCLUDE n/a
PF21 - SDELETE n/a
PF22 - n/a n/a
PF23 - n/a n/a
PF24 - n/a n/a
PF25-PF36 Repeat PF1-PF12
PF37-PF48 Repeat PF1-PF12
To execute one of these commands simply press the appropriate PF key (or
combination of [SHIFT], [ALT] or [CTRL] and PF key).
To pass a parameter to a PF key simply type it in the command field, then
press the PF key. For example, if you type 4 in the command field and
then press [F7], it is equivalent to executing the command "UP 4".
# 6. {Directories and Files}
In addition to the familiar services offered by the mainframe based ISPF,
SPF/Pro provides a rich set of enhancements to manipulate files.
You can use SPF/Pro's powerful file management system, to work with
operating system directories and files in ways not available on the
mainframe. File management functions are supported through panels, and
select lists. There is no need to issue operating system commands. Using
select lists you can apply various operations to individual files or
groups of files.
Standard ISPF file list line commands:
* Select
* Browse
* Edit
* Print
* Rename
* Delete
* Move
* Copy
* Information (display properties)
Additional SPF/Pro file list line commands:
* Go (execute program or batch file)
* Tree (create recursive sub-list)
* User (apply user command)
* Convert (one format to another)
* Exclude (prune list)
# 6.1 {Basic BROWSE/EDIT Operation}
* Select Browse or Edit from the Primary Option Panel.
* SPF/Pro displays an entry panel.
* In the PROJECT FILE or SYSTEM FILE SPECIFICATION field enter the fully
qualified path name for the directory containing files that you would
like to operate on. For example,
C:\SOURCE\COBOL\*.COB
* SPF/Pro displays all files that match your specification in a select
list. You can now apply operations to individual files.
* You can use the SORT command to order the list by name, extension,
date, time, size, or attributes.
* You can use the LOCATE command to find specific entries.
* You can use [PG-UP], [PG-DN], [F7], [F8] to scroll the list.
* Select a file to BROWSE or EDIT by placing an "s" in the line command
field of the individual file entry.
To edit a new file, use the SELECT primary command (e.g. "s new-name").
After EDIT, the new file's name is automatically added to the list.
* When you press [SPF-Enter] SPF/Pro invokes BROWSE or EDIT on the
selected file.
* If you issue an S (Select) line command on a subdirectory entry,
SPF/Pro presents a corresponding select list. You can continue to
select subdirectories in this manner as desired all the way down the
subdirectory tree.
* When you complete your operation:
- press [F3] to return to the select list, or
- press [F4] to return to the Primary Option Panel
# 6.2 {Basic UTILITIES Operation}
The UTILITIES function (Primary Option 3) provides additional file
manipulations beyond BROWSE and EDIT.
* Select Utilities (3) from the Primary Option Panel.
* Select File List (4).
* SPF/Pro displays an entry panel.
* You can now perform the same steps as you did for BROWSE and EDIT above
to create a select list of files that you would like to manipulate.
* In the Utilities File List, you place line commands on individual file
entries to perform specific operations.
The Utilities File List duplicates the functions of BROWSE and EDIT.
Operating from the Utilities File List provides a lot of convenience and
we highly recommend it.
# 6.3 {Super Lists}
If you really want to step up in power and flexibility, super lists
provide the most comprehensive set of functions available through a single
interface point.
Super lists extend the Utilities concept in a variety of ways:
* You can create a super list by searching:
- recursively
- across drives
- for a specific text string
- for directories only
- for files only
- for directories + files
in any combination!
* Once you have created a super list, you can:
- add entries via primary command INSERT.
- subtract entries via primary command EXCLUDE.
- preserve entries via primary command INCLUDE (inverse of EXCLUDE).
- create a subset list of files containing a specific text string via
primary command FIND.
- change one string to another in all files in the list via primary
command CHANGE.
- save the list under a symbolic name for later use via primary
command SAVELIST (a micro-project).
* Super lists support the extended line command set.
* Super lists support block operations for all line commands.
* Super Lists maintain the focus after an operation. In ISPF if you P
(print) a file, after the print is complete, the list is scrolled to
place the printed file entry at the top and the cursor is placed in the
primary command field. In Super Lists, the list is not scrolled and
the cursor remains in place.
* To eliminate ISPF style audit trails in select lists go to Option 0.6,
set CLEAR LISTS = Y. Example: if you delete a file, instead of
flagging the entry with "DELETED", the entry is simply deleted from the
list.
* To enable full super list line command set in all select lists go to
Option 0.6, set EXTENDED LINE COMMANDS = Y.
# 6.4 {Popup Menu}
For convenience, a popup menu containing the most frequently used select
list line commands is available with a click of the right mouse button.
For a operation on a single entry in the list, simply move the mouse
cursor to the desired entry, click the right mouse button, and select the
desired operation.
To operate on multiple entries, move the mouse cursor to the first entry,
click the left mouse button once to highlight the entry, move to the last
entry in the block, click the right mouse button to complete the selection
and display the popup menu. Select the desired operation with a single
click of the left mouse button.
# 6.5 {Entry Panel}
The Printer Characteristics panel is a typical example of most entry
panels. Browse, Edit, and Utility entry panels look slightly different,
but all use the same file specification rules.
As previously stated, you can use the file specification fields to select
a single file, a group, or an entire directory.
SPF/Pro entry panels have two places to type a file specification. These
two forms give you maximum flexibility in identifying the file you want to
work with.
The PROJECT FILE field allows you to type a file specification in a
structured format.
Unlike standard operating system file specifications, the PROJECT FILE
begins in the root directory regardless of the operating system current
directory.
On any PATH field you can enter multiple path elements separated by a
backslash. You can also type path elements without an initial backslash.
In all cases SPF/Pro insures that the path specification you enter begins
with backslash and does not end with backslash.
The project file fields can be displayed either vertically (the default)
or horizontally depending on the setting of File List Options 0.6. The
two forms are displayed below:
PROJECT FILE:
DRIVE ===> c:
PATH ===> \a
PATH ===> \b
PATH ===> \c
NAME ===> *.cob
PROJECT FILE:
DRIVE ===> c:
PATH ===> \a PATH ===> \b PATH ===> \c
NAME ===> *.cob
There is an implied backslash preceding the NAME field's contents; it
is never displayed.
The following example shows how you can move back and forth between the
program source of two related versions with a difference of one keystroke
(v1 vs. v2) in the file specifications:
PROJECT FILE: PROJECT FILE:
DRIVE ===> c: DRIVE ===> c:
PATH ===> \v1 PATH ===> \v2
PATH ===> \src PATH ===> \src
PATH ===> PATH ===>
NAME ===> *.cob NAME ===> *.cob
You can also request different subdirectories in a similar way. Changing
the second PATH field from \src to \doc, for example, would give you
access to the project documentation files.
PROJECT FILE: PROJECT FILE:
DRIVE ===> c: DRIVE ===> c:
PATH ===> \v1 PATH ===> \v1
PATH ===> \src PATH ===> \doc
PATH ===> PATH ===>
NAME ===> *.cob NAME ===> *.doc
Within a subdirectory the file subset is also easily changed. For
example, in the NAME field, a "C" program's source is accessed with *.c;
its data structures with *.h.
PROJECT FILE: PROJECT FILE:
DRIVE ===> c: DRIVE ===> c:
PATH ===> \v1 PATH ===> \v1
PATH ===> \src PATH ===> \src
PATH ===> PATH ===>
NAME ===> *.c NAME ===> *.h
You can also specify two or more file types in the NAME field separated by
semicolon or comma. For example:
PROJECT FILE:
DRIVE ===> c:
PATH ===> \v1
PATH ===> \src
PATH ===>
NAME ===> *.c;*.h
See page 31 for details on other advanced forms of file specification.
* If you want to specify the file in operating system command line form,
use the SYSTEM FILE SPECIFICATION field. Unlike the PROJECT FILE, if
you do not begin with an initial backslash, the file name is the
concatenation of the current directory and your specified name.
The SYSTEM FILE SPECIFICATION takes precedence over the PROJECT FILE.
* SPF/Pro displays the current drive and directory in the SYSTEM CUR DIR
field.
* If you leave other fields blank, and press [SPF-Enter], SPF/Pro
displays a select list for the current directory.
* You can create new files from an entry panel by typing the new file
name in either of the two file specification fields.
* You can create a new file from the Select List for Edit by typing s
newname in the COMMAND field and pressing [SPF-Enter].
# 7. {Primary Options}
SPF/Pro is accessed via a series of menus. The menus are organized in a
tree form. The first menu in the tree is the Primary Option Panel.
The Primary Option Panel is a Selection Menu. Selection Menus have
multiple choices indicated by buttons on the left with numbered or
lettered identifiers followed by descriptive text. We call these choices
Options. To activate an Option, either click on the desired button, or
type the Option identifier into the OPTION field and press [SPF-Enter].
Picking an Option presents a lower level panel which in turn may cause an
operation on a file or create a list of files which may be operated upon.
The Primary Options are described below:
0 - SPF PARMS
Allows you to set SPF/Pro start up parameters, program function key
definitions, run time parameters, and file profiles. It is a good idea
to review these items before working extensively with SPF/Pro.
1 - BROWSE
Allows viewing of a file without modifying it.
2 - EDIT
Allows viewing and modification of a file.
3 - UTILITIES
Provides select lists and file functions such as rename, delete, move,
copy, and print.
4 - FOREGROUND
Allows you to set up compilers, utilities or other programs as user
applications and execute them synchronously from within SPF/Pro.
Control returns to the current panel when user program execution is
complete.
5 - BACKGROUND
Allows you to set up compilers, utilities or other programs as user
applications and execute them asynchronously from within SPF/Pro. The
user program is launched as a peer of SPF; control returns immediately
to the current panel.
6 - COMMAND
Allows execution of operating system commands and programs from within
SPF/Pro.
7 - DIALOG TEST
Provides a test harness for Panel Definitions, REXX macros, and a
display facility for variables.
A - APPLICATIONS
This option provides access to the Custom Dialogs for Micro Focus, and
XDB.
C - CHANGES
Provides a summary of changes in the current release.
T - TUTORIAL
Displays information to assist you in using SPF/Pro. You can also
reach this information by pressing [F1] at any time.
X - EXIT
Exits SPF/Pro and returns to the operating system command prompt.
In most cases, selecting an Option takes you to a secondary menu. Each
time you make a selection you move one level deeper in the menu tree until
you reach the desired function.
After you use a specific function, you may:
* return to the next higher level by entering the END command (normally
[F3]).
* return directly to the Primary Option Panel by entering the RETURN
command (normally [F4]).
* return directly to the operating system prompt by entering =x in the
command field and press [SPF-Enter].
# 8. {Parameter Options (Option 0)}
SPF/Pro is a very flexible system. You can alter many of its operating
characteristics through Primary Option 0, SPF/Pro PARMS. The parameters
controlling SPF/Pro are logically divided into major functional areas:
* Display and keyboard (Option 0.1).
* Printer destination and formatting characteristics (Option 0.2).
* PF key definitions (Option 0.3).
* Display characteristics (Option 0.4).
* Editor options (Option 0.5).
* File List options (Option 0.6).
* File Profiles (0.7)
* Paths (0.8)
* Concurrent (Option 0.C)
* Environment (Option 0.E)
* Fonts (Option 0.F)
* Keyboard Mapping (Option 0.K)
* Keyboard Macros (Option 0.M)
There are two basic ways to access the parameter panels:
* When you start SPF/Pro, the first screen it presents is the Primary
Option Panel. If you want to work with the SPF/Pro parameters, select
option 0, SPF/Pro Parameter Options. SPF/Pro responds by displaying the
SPF Parameter Options menu.
* At any time, you can use the "jump" feature to move directly to the
parameter options. Move to the command line, type equal (=) and the
option number (e.g. =0.5), then press [SPF-Enter].
# 8.1 {Terminal Characteristics (Option 0.1)}
Panel 0.1 displays basic characteristics of your keyboard and display and
allows you to alter some of them. This information tells SPF/Pro how you
want to handle the display and keyboard.
SPF/Pro obtains much of the information it needs from the operating
system. Some entry fields on the panel prompt you for additional
information. For example, you identify the character you want to use as a
command delimiter when issuing a string of commands.
Individual fields are explained below:
USER ID
This field allows you to set up the user ID that SPF/Pro displays on
the Primary Option Panel. This is an informational field, it has no
effect on processing.
COMMAND DELIMITER
Type in the character that you want to use to separate stacked
commands. This character separates commands in a command string. The
default is a semicolon (;), which should only be changed with due
consideration.
PERSISTENT INSERT
If YES is specified, the insert state is not reset when [SPF-Enter] is
pressed.
If NO is specified, the insert state is reset when [SPF-Enter] is
pressed.
SCROLL BARS
If YES is specified, scroll bars are displayed for tables, browse, and
edit.
If NO is specified, scroll bars are not displayed for tables, browse,
and edit.
MAX CONCURRENT TASKS
Specifies the maximum number of SPF/Pro sessions that can be active at
any given time. New sessions are created by SPLIT, FSPLIT, SPLITV, and
VSPLIT primary commands.
DISPLAY TIME/DATE
Specifies whether time, date, or both are to be displayed on the status
line at the bottom of the display.
PFSHOW Enable
Specifies whether PFSHOW display should be enabled. Specify "Y" or
"N".
PFSHOW Display Mode
Specifies which PF key set is to be displayed as the first line of the
PFSHOW bar.
- Specify "N" for NORMAL (PF1 - PF12)
- Specify "S" for SHIFT (PF13 - PF24)
- Specify "C" for CTRL (PF25 - PF36)
- Specify "A" for ALT (PF37 - PF48)
PFSHOW Lines
Specifies the number of display lines in the PFSHOW bar. Each line
displays twelve PF keys.
Cursor Insert Size
Specifies the size of the text cursor when SPF/Pro is in insert mode.
The size is expressed as a percentage from 1% to 100% where 100% is the
largest available size. If 0 is specified, the SPF/Pro default is
used.
Cursor Overtype Size
Specifies the size of the text cursor when &PRODUCT is in overtype
mode. The size is expressed as a percentage from 1% to 100% where 100%
is the largest available size. If 0 is specified, the SPF/Pro default
is used.
Cursor Orientation
Specifies how the text cursor is to be oriented. Specify "V" for
vertical orientation. or "H" for horizontal orientation.
Note: Using other than default values for the cursor is only
recommended for notebook computers where cursor visibility may not be
as good as a traditional monitor.
Press [F3] to effect changes and return to the SPF Parameter Options menu.
# 8.2 {Printer Characteristics (Option 0.2)}
Panel 0.2 allows you to create multiple printer configurations which can
be used to perform different printing roles. Printer setups are
symbolically named. DEFAULT, the default, typically performs no formatting
functions and is routed to logical device PRN.
The following line commands are supported. Enter the line command to the
left of the list entry, then press [SPF-Enter].
S - select existing printer setup
E - edit existing printer setup
C - copy existing printer setup
You can also use one of the following primary commands to operate on the
printer setup:
S setup-name (select existing setup)
LPRINT setup-name (select existing setup)
E new-setup-name (edit a new setup)
When you END or [F3], the new definition is saved.
Fields of the printer setup dialog are described below:
PRINTER DESCRIPTION
Optional. A brief description of this printer's characteristics for
your reference. This description is presented to the right of the
logical printer name in the printer setup select list.
SETUP
The SETUP button invokes the Common Printer Connection Dialog of the
operating system. This dialog connects the SPF logical printer to a
specific system printer.
SELECT FONT
The SELECT FONT button invokes the Common Font Selection Dialog of the
operating system. This dialog sets the font which is to be used by this
print setup.
Note: Page depth in lines is automatically adjusted to correspond to
the font selection. The smaller the font, the more lines will fit and
vice versa.
FORM FEED:
Optional. Specifies whether and when form feeds should be produced.
INITIAL
Specifies whether an initial form feed is sent to the printer prior
to page one. This is normally not needed.
FINAL
Specifies whether a final form feed is sent to the printer after the
last page. This is normally not needed.
INTER
In the event that there is more than one page, you may specify that
an intermediate form feed be generated between pages. When pages are
printed to capacity (typically 66 lines), the intermediate form feed
is not required as the page is advanced when the page depth plus one
line prints. Some printers (HP LaserJet series) advance full pages
and treat an intermediate form feed as an ADDITIONAL page eject. In
this case you do not want to generate intermediate form feeds.
MARGINS:
Optional. Specifies page margins. If any margins are specified, the
PAGE parameter must be specified.
TOP
Specifies the number of blank lines to print before the header or
any body text is printed.
Note: SPF reserves a small amount of space at the top of the page
to accomodate the fact that laser printers disallow print access to
that area. The result is that the topmost printed line with TOP=0
prints slightly below the top edge of the physical sheet.
BOTTOM
Specifies the number of blank lines to print after the body text
and/or footer is printed. Normally 3 lines = .5 inch. If you
request intermediate form feeds, there is no need to print the page
to full capacity.
Note: SPF reserves a small amount of space at the bottom of the
page to accomodate the fact that laser printers disallow print
access to that area. The result is that the bottommost printed line
with BOTTOM=0 prints slightly above the bottom edge of the physical
sheet.
LEFT
The number of columns to reserve on the left edge of the page before
each line of text. Normally 10 columns = 1.0 inch.
The left margin is applied to header/footer and body text.
RIGHT
The number of columns to reserve on the right edge of the page after
each header/footer line of text. Normally 10 columns = 1.0 inch.
The right margin is only applied to header and footer text; not to
body text. Body text lines are allowed to print over the right
margin.
HEADER:
Optional. Specifies the elements to be included in the page header.
PARTS
This field lets you specify a variety of text elements that may be
included in the page header. The page header is printed below the
top margin and above the body text.
Header text elements are:
-- NAME, if printing a file, the file name
-- TIME, the current time
-- DATE, the current date
-- PAGE NUMBER, the physical page number
Header text elements are specified as one or more characters. For
example, to get the file name in the header specify "n". Up to four
text elements (all possibilities) may be specified. For example, to
get name, data, time, and page number, specify "ndtp".
ALIGN
Specifies the text alignment for the header text. The header text
alignment choices are:
-- LEFT, all parts of the header text are set flush left.
-- CENTER, all parts of the header text are centered.
-- RIGHT, all parts of the header text are set flush right.
-- SPREAD, the space remaining on the header line is evenly
distributed between the parts in such a way that they fill the
space available between the left and right margins.
SPACE
The number of blank lines to print immediately below the page
header.
FOOTER:
Optional. Specifies the elements to be included in the page footer.
PARTS
Same as the page header but the page footer is printed below the
body text and footer space.
ALIGN
Same as the page header but the alignment is applied only to the
footer text.
SPACE
The number of blank lines to print immediately above the page
footer.
# 8.3 {PF Key Definitions (Option 0.3)}
Panel 0.3 displays the current settings of the PF keys and allows you to
change them. You can also specify labels to be displayed when keys are
displayed with PFSHOW.
You change a PF key definition by typing over the current definition.
Primary commands are typed as-is; line commands are prefixed with a colon
(:); literal data strings are enclosed in single quotes.
PFSHOW labels are typed into the LABPFnn fields at the bottom of the KEYS
panel. If no labels are specified, the PFSHOW label is the first eight
characters of the PF key value. For example, "F1=HELP"
The sample panel above shows the initial settings for your keys, which
give you one-keystroke access to some frequently used general commands.
The initial settings are all primary commands; you can also use line and
macro commands. 1
The initial settings for keys beyond PF12 repeat PF1-PF12 settings. You
can modify these definitions as desired without affecting the definitions
for PF1-PF12.
Some of the ways in which changing key functions or adding new functions
can make your editing faster and more efficient are listed below:
* Set up PF keys to execute frequently used commands in one keystroke.
* Rearrange keys (move functions from one key to another) to help you
remember the functions or reach the keys more easily.
* Set a series of keys to perform related complex operations in different
ways depending on results of a previous operation. An example of this
is RFIND ([F5]), RCHANGE ([F6]).
* Create macro commands to perform arbitrarily complex operations and
assign them to PF keys.
PF keys are applied to the active panel. Not all commands accessed via PF
key may operate in all contexts. For example, editor line commands only
operate in the Edit File Display.
Changes to PF key definitions are applied when you press [SPF-Enter].
When a command is executed via PF key, the primary command field value, if
present, is passed to the command as a parameter. For example, type 5 in
the primary command field, then press [F7]. This is the equivalent of
entering the primary command "up 5".
# 8.3.1 {3270 Style PF Key Definitions}
The initial settings for PF keys [F1] to [F12] are briefly defined below.
The initial assignments are primary commands; you can execute all of them
from the primary command field.
[F1] HELP, present context sensitive help panel or long message.
[F2] SPLIT, split the screen, start another SPF/Pro session.
[F3] END, end the current function, return to the previous panel.
[F4] RETURN, end current function, return to the Primary Option Panel.
1. The appearance of the panel depends on the keyboard.
[F5] RFIND, repeat the last FIND primary command.
[F6] RCHANGE, repeat the last CHANGE primary command.
[F7] UP, scroll up by scroll field amount. Same as [PG-UP].
[F8] DOWN, scroll down by scroll field amount. Same as [PG-DN].
[F9] SWAP, swap to the other split-screen session.
[F10] LEFT, scroll left by scroll field amount.
[F11] RIGHT, scroll right by scroll field amount.
[F12] RETRIEVE, retrieve and display the last primary command.
# 8.3.2 {Mouse Selection Operations}
The shifted PF keys are set up to do operations on the current selection.
This mapping is for your convenience. Feel free to re-assign these keys as
you see fit for your own use.
[SHIFT][F1] SCUT, Copy the current selection to the clipboard, then delete
it from the file.
[SHIFT][F2] SCOPY, Copy the current selection to the clipboard.
[SHIFT][F3] SPASTE, Paste the contents of the clipboard at the current
cursor position. The pasted data is always inserted. The contents of the
clipboard are unchanged.
[SHIFT][F4] SCREATE, Create a new external file from the contents of the
current selection.
[SHIFT][F5] SREPLACE, Replace an existing external file with the contents
of the selection.
[SHIFT][F6] STOUPPER, Convert the alpha characters in the current
selection to uppercase.
[SHIFT][F7] STOLOWER, Convert the alpha characters in the current
selection to lowercase.
[SHIFT][F8] SXCLUDE, Exclude all lines touched by the current selection.
[SHIFT][F9] SDELETE, Delete the current selection from the file.
[SHIFT][F10] SPRINT, Print the current selection.
# 8.3.3 {Changing PF Key Definitions}
You can use a PF key to execute an SPF/Pro general command, edit primary
command, edit line command, or edit macro command. As mentioned above,
you set up a key to execute a command by typing the command on the PF Key
Definitions panel. The rules for typing in each type of command are
covered below:
* To assign a general command, an edit primary command, or a macro
command to a function key, simply type in the command name.
* To assign a line command to a function key, type in a colon (:)
immediately followed by the line command name.
* To assign string type data to the key, enclose the string in single
quotes.
* To reset the assignment to the default value, clear the field then
press [SPF-Enter].
Changes to PF key assignments are immediately reflected in the PFSHOW
display if present.
Press [F3] to return to the SPF Parameter Options menu.
# 8.4 {Color Definitions (Option 0.4)}
Panel 0.4 allows you to create multiple color schemes which can be used
for different purposes. Each color scheme is named. Only one is active at
any given time.
The following line commands are supported. Enter the line command to the
left of the list entry, then press [SPF-Enter].
C - copy an existing color scheme
D - delete an existing color scheme
E - edit an existing color scheme
R - rename an existing color scheme
S - select an existing color scheme
Use the following primary command to create a new color scheme:
S new-name
When a new color scheme is created, it is initialized to the values of the
active color scheme.
Use these panels to set colors for all SPF/Pro menus and panels.
SPF/Pro menus and panels are divided into multiple color zones. Each color
zone has a FOREGROUND and BACKGROUND color. A color zone is determined by
the context of the text in the zone, not by its location on the screen.
All text and symbols with the same context are displayed in the same
color. You can assign any color combination to any zone.
The following points should be considered when setting colors:
* Assigning the same color to FOREGROUND and BACKGROUND makes text
invisible (e.g. black on black); SPF/Pro does not allow this.
* On a monochrome monitor this feature can control the location of normal
and highlighted text. On gray-scale monitors it can control the level
of gray assigned to different types of text.
The GOTHAM color scheme is specifically designed for use on monochrome
displays. It is comprised of varying levels of grey to achieve
attractive results in the limited environment.
The names and functions of color zones are defined below:
PROTECTED NORMAL
Specifies the colors for protected areas which are used to display
characters that identify panel and display information. The "normal,"
or low-intensity protected areas are used for such items as the names
of display and input fields, and system-generated values in display-
only fields.
PROTECTED HIGH
Specifies the colors for the high-intensity protected areas which are
used for items that define the panel format: the panel title, the
command line, SPF/Pro messages, and the arrows that mark input and
display fields.
UNPROTECTED NORMAL
Specifies the colors for unprotected areas which are used to display
characters you type in, including characters you have already typed.
The "normal," or low-intensity unprotected areas are used for your
normal working area, such as text or code and line numbers on an edit
panel.
UNPROTECTED HIGH
Specifies the colors for the high-intensity unprotected areas which are
used where you interact directly with SPF/Pro, such as the filename
fields on entry panels, the scroll at the top of edit, browse, and
select lists, and the command line.
SHORT/LONG MESSAGE
Specifies the colors for the short message which is displayed in the
upper right corner of any panel. The long message is displayed on the
third display line of the panel.
SHORT/LONG MESSAGE WITH ALARM
Specifies the colors for the short message which is displayed in the
upper right corner of any panel. The long message is displayed on the
third display line of the panel.
BROWSE TEXT
Specifies the colors for the text area of the browse function.
EDIT TEXT
Specifies the colors for the text area of the edit function.
TOP/BOTTOM OF DATA TEXT
Specifies the colors for the Top of Data and Bottom of Data lines.
NOTE LINES
Specifies the colors for note lines.
MSG LINES
Specifies the colors for message lines.
INSERT LINES
Specifies the colors for insert lines.
PROF LINES
Specifies the colors for profile lines.
LINE COMMANDS
Specifies the colors for the line command field when any character is
typed in.
LINE LABELS
Specifies the colors for line labels.
LINE NUMBERS
Specifies the colors for line numbers.
LINE TYPE MARKERS
Specifies the colors for line type indicators such as "MSG", "NOTE",
etc.
LINE ACTIVE INDICATOR
Specifies the colors for the active line. The active line is
established by FIND and LOCATE primary commands and by software
tabbing.
SELECTED TEXT
Specifies the colors for text which is selected with the mouse in
BROWSE or EDIT, and text which is highlighted by FIND or CHANGE.
COLORIZATION WORD CLASS 1
Specifies the colors for class 1 programming language elements defined
in the active .CLR file.
COLORIZATION WORD CLASS 2
Specifies the colors for class 2 programming language elements defined
in the active .CLR file.
COLORIZATION WORD CLASS 3
Specifies the colors for class 3 programming language elements defined
in the active .CLR file.
COLORIZATION WORD CLASS 4
Specifies the colors for class 4 programming language elements defined
in the active .CLR file.
COLORIZATION SOURCE STRINGS
Specifies the colors for literal strings in program source.
COLORIZATION SOURCE COMMENTS
Specifies the colors for comments in program source.
COLORIZATION SPECIAL CHARACTERS
Specifies the colors for individual special characters in program
source.
Press [F3] to return to the SPF Parameter Options menu.
# 8.5 {Editor Options (Option 0.5)}
Panel 0.5 lets you specify a number of options that affect the general
operating characteristics of SPF/Pro. The fields on the panel are listed
and explained below:
SOUND ALARM
Indicate whether you want the alarm (beep) to sound when SPF/Pro issues
an error message:
Y
Specifies that SPF/Pro is to beep when it issues an error message.
N
Specifies that SPF/Pro is not to beep when it issues an error
message.
VERTICAL SCROLL WITH CURSOR
Indicate whether you want your cursor to cause vertical scrolling:
Y
Specifies that SPF/Pro is to scroll up or down by one when the
cursor reaches the top or bottom of the screen. This is typical for
PC systems.
N
Specifies that the cursor is to wrap to the opposite edge when it
reaches the top or bottom of the screen. This is typical of
3270-type terminals.
HORIZONTAL SCROLL WITH CURSOR
Indicate whether you want your cursor to cause horizontal scrolling:
Y
Specifies that SPF/Pro is to scroll left or right by one when the
cursor reaches the left or right edge of the screen. This is
typical for PC systems.
N
Specifies that the cursor is to wrap to the opposite edge when it
reaches the left or right edge the screen. This is typical of
3270-type terminals.
MAX RECORD LENGTH
Specifies the nominal maximum record length for any records that may be
handled. Set this value to the longest record you expect to process.
The smaller the default maximum is, the more efficiently SPF/Pro will
run. All internal buffers used to handle records are allocated at the
maximum record length.
When loading data delimited records from normal DOS text files, EDIT
examines the length of each variable length record. If it is the
longest record read, the maximum record length allowed is automatically
increased up to the limit set here by MAX RECORD LENGTH.
RECENT EDIT DEPTH
Specifies the depth of the Recent Edits file list which is accessed via
Utility function 3.H. The minimum depth is 1; the maximum is 99; the
default is 16.
SYNTAX COLORIZATION
Specifies whether program source should be colorized or not. This is a
global setting. In addition to enabling colorization here, it is also
necessary to bind a language colorization file (.CLR) to a particular
file type and set a color scheme which defines which colors apply to
the different classes of language elements.
Y
Program source colorization is globally enabled.
N
Program source colorization is globally disabled.
AUTOMATIC PROFILE CREATE
Indicate whether you want SPF/Pro to create profiles automatically.
Y
Create profiles automatically. If not already present, a profile is
created when a profile variable is altered.
N
Do not create profiles automatically under any circumstance.
VIRTUAL LOAD
Specifies the method of file loading to be used. Virtual loading loads
a small portion of the file and then displays the first frame. This
provides the effect of "instant" loading even on very large files.
A
Specifies that virtual loading is ALWAYS used.
E
Specifies that virtual loading is used with EDIT only.
B
Specifies that virtual loading is used with BROWSE only.
N
Specifies that virtual loading is NEVER used.
FIND/CHANGE SEARCH TYPE
Indicate whether you want case-sensitive or case-insensitive searches
when you issue a FIND, CHANGE, or EXCLUDE primary command.
Whichever you select, you can request the other type explicitly when
you issue the command.
C
Specifies that text searching is to be case-sensitive. Character
search mode matches your string exactly as entered, including
upper/lower case.
T
Specifies that text searching is to be case-insensitive. Text
search mode matches your string with any case character in any
position.
EDIT READ-ONLY FILES
Specifies whether you want to be able to edit read-only files. In this
case edit loads the file and allows all functions of EDIT to operate in
the normal manner but will not allow you to save the file. This is
handy when you want to examine a file which has the read-only attribute
and you want to perform operations which are not available in BROWSE.
Y
Allow edit of read-only files.
N
Don't allow edit of read-only files.
SCROLL NOTELINES
Specify whether NOTE lines are to scroll with the adjacent text or be
static while text scrolls past them.
Y
Specifies that NOTE lines are to scroll.
N
Specifies that NOTE lines are not to scroll.
UNDO ENABLE
Specifies whether UNDO support is to be active. When UNDO support is
active more memory is used to record edit transactions that may later
be undone. In a memory constrained system you may want to disable UNDO.
Y
Activate UNDO support.
N
Deactivate UNDO support.
ABEND RECOVERY ENABLE
Specifies whether abnormal termination recovery procedures should be
activated. Abnormal termination recovery gives you an opportunity to
save work in progress before SPF terminates.
Y
Activate ABEND recovery.
N
Deactivate ABEND recovery.
Press [F3] to return to the SPF Parameter Options menu.
# 8.6 {File List Options (Option 0.6)}
Panel 0.6 lets you specify a number of options that affect the general
operating characteristics of SPF/Pro. The fields on the panel are listed
and explained below:
CLEAR LISTS
Indicate whether you want ISPF style audit trail of file actions in
select lists or not:
Y
Clear standard ISPF file action indicators in select lists. For
example, a deleted file simply drops out of the list.
N
Present standard ISPF file action indicators in select lists. For
example, a deleted file is marked "< DELETED >".
CONFIRM DELETE OF FILES
Indicate whether you want a delete confirmation panel presented any
time you delete a file from a select list:
Y
Present a delete confirmation panel before deleting a file.
N
Do not present a delete confirmation panel before deleting a file.
EXTENDED LINE COMMANDS
Indicate whether you want the extended line command set to be available
in all select lists.
Y
Make all extended line commands available in all select lists.
N
Extended line commands are only available in 3.x select lists.
DEFAULT DIRECTORY SEQUENCE
Specifies the sort sequence for select lists:
*
Files are presented in the same order as they are maintained in the
system directory. Same as operating system DIR command.
N
Sort files by NAME. This option produces ISPF/PDF style select
lists.
E
Sort files by EXT.
S
Sort files by SIZE.
D
Sort files by DATE (TIME field is also sorted). The sort is in
descending time order, most recent first.
Note: All sort sequences except "*" present subdirectories together at
the top of the list.
Note: You can also sort the select list with the SORT primary command.
SHOW HIDDEN/SYSTEM FILES
Specifies whether files with the hidden or system attribute should be
displayed in directory lists.
Y
Show all files regardless of attributes.
N
Show all files except files with hidden or system attribute.
SORT DIRS TO TOP
In select lists you can have both files and sub-directories. This
option specifies that all directory type entries be displayed together
at the top of the list.
Y
Display all directories together at the top of the list.
N
Display directories in the order they naturally occur.
LIST PATHS HORIZONTALLY
Specifies how path fields are to be displayed in panels which contain a
PROJECT FILE section.
Y
Array the three elements of the path field horizontally.
N
Array the three elements of the path field vertically.
EXPAND VARS
Specifies whether to expand Ampersand (&) and Percent (%) type
variables in file name specifications.
Y
Expand the variables.
N
Do not expand the variables.
Press [F3] to return to the SPF Parameter Options menu.
# 8.7 {File Profiles (Option 0.7)}
# 8.7.1 {Profile Select List}
Panel 0.7 lets you access individual file profiles from a select list.
Each file profile is stored in directory SPFPRO\PROFILES. Profiles are
named extension.PRF corresponding to the various file extensions that you
work with. Files without an extension use profile NULL.PRF.
The following line commands are supported. Enter the line command to the
left of the list entry, then press [SPF-Enter].
C - copy an existing entry
D - delete an existing entry
R - rename an existing entry
S - edit an existing entry
To create a new entry, use the following primary command:
S new-name
SPF/Pro allows you to apply special treatment to different classes of
files based on the file type (file extension). For example,
* .COB files might be comprised of fixed length records of 80 characters.
On an IBM mainframe this would be DSORG=F, LRECL=80.
* .C files might be variable length records delimited by a special escape
sequence like CR/LF per the operating system stream file convention.
* Other files downloaded from a mainframe might contain binary data which
requires special input processing.
SPF/Pro is distributed with a number of example profiles. When you edit a
file with a type not provided, a default profile is used. If you alter
profile values while editing the file, the altered profile is saved under
the name of the file type in question.
For example, after editing FOO.ABC, the profile ABC.PRF is created to
preserve your profile changes. Subsequent edits of file type .ABC use the
saved profile.
As you can see from the example, file profiles are assigned a unique name
matching the file type (extension) in the form "extension.PRF". File
profiles are kept in SPFPRO\PROFILES (or the directory where you installed
SPF/Pro).
Automatic profile creation is controlled by Option 0.5, AUTOMATIC PROFILE
CREATE.
When a new profile is created, its initial values are copied from the
profile "DEFAULT".
Option 0.7 allows you to set up information that SPF/Pro uses to process
files. If all your files are in standard ASCII data delimited format you
will have little need to work with this panel.
If you work with files that have non-standard formats, you must set up
profiles that supply SPF/Pro with the information it needs to read and
write these files. The following file formats are supported:
* ASCII or EBCDIC character set
* variable or fixed length data delimited records
* data delimiters CR, LF, or CR/LF
* Micro Focus Header-variable and VRECGEN formats
Before discussing individual fields on the profile panel and explaining
how to set up profiles for different purposes, we will take a look at how
SPF/Pro uses the information in file profiles.
# 8.7.2 {How SPF/Pro Uses File Profiles}
A file profile is a description of a file format. Whenever you ask
SPF/Pro to open a file, it looks for profile "extension.PRF". The
information in the profile tells SPF/Pro how to separate individual
records within the file, how to find the end of the file, and other
information needed to prepare the file for display and write it back to
disk.
To illustrate the significance of file profile information, let's review
the standard format for ASCII text files and see how SPF/Pro processes
these files:
* ASCII files are data-delimited. They contain a continuous stream of
ASCII characters (bytes), with carriage-return (CR, x'0D') and line-
feed (LF, x'0A') characters marking the end of each record. That is,
the records are delimited by escape sequences, rather than by record
length, and they contain a variable number of characters. The end of
the file is indicated in one of two ways: by the length recorded in the
operating system directory, or by an end-of-file (EOF, x'1A') character
in the last character of the file.
* When SPF/Pro opens a standard file, it knows from the profile that it
is data-delimited. It reads the stream of characters until it reaches
a CR/LF sequence; that constitutes one logical record. The data
portion of each record is preserved in memory, while the CR/LF
sequences are discarded. Input records are processed until the EOF
character is encountered or physical end of file.
Note: If you create a profile for a new extension, SPF/Pro uses the
default values from DEFAULT.PRF.
* In the standard case, when you close a file (with SAVE or END) SPF/Pro
writes a standard file back to disk. For each record on the display,
it writes out the data characters, removes trailing blanks, and
terminates the record with the CR/LF sequence. After writing the last
record it writes the EOF character and closes the file.
When you work with files in other formats, you need to set up profiles
that tell SPF/Pro how to process these files. Following sections cover
individual fields that make up a file profile. After that, we present
some examples of setting up non-standard profiles.
# 8.7.3 {Profile Definition Panel}
Profile definitions are effected through multiple panels. The first panel
is common to all profiles. The second panel takes one of four forms
depending on the record format D, L, M, or V. File profile fields are
discussed below:
PROFILE NAME
The name of the profile. This name must match an existing file
extension if it is to be applied automatically when a file of that type
is loaded. Names that do not exactly match a particular file extension
may be applied by filling in the PROFILE field of the EDIT ENTRY PANEL.
For reference, FAT file systems limit file extensions to three
characters; HPFS file systems have no restriction on length.
RECORD FORMAT
This field indicates the record format.
D (Data-delimited)
This is the standard file format. It is also the SPF/Pro default.
The input file is read and parsed into logical records at CR/LF (or
other specified) record terminator boundaries.
L (Length-delimited)
This option is for non-standard files that may have been transferred
to your system with fixed-length records, or for files (such as
.EXE) that are not divided into records at all.
M (Micro Focus Header-variable)
This option is for Micro Focus header-variable record format.
V (Micro Focus VRECGEN)
This option is for Micro Focus VRECGEN record format.
If you indicate that the input format is length delimited, SPF/Pro uses
the maximum record length amount to divide the file into records,
rather than looking for record delimiter characters. In addition,
SPF/Pro uses the file length in directory entry to find the end of the
file, instead of looking for the EOF character. If the file length is
not an even multiple of the record length, the last record is padded
with blank characters to the maximum record length.
If you don't know the format of a particular file, use example profile
L72; its properties are
MAX REC LENGTH = 72
RECORD FORMAT = L
Load the file via Option 2 (Edit). In this mode, literally every
character in the file is displayed in successive 72 byte records. If
the characters are not meaningful as ASCII, use HEX ON to display them
in hexadecimal format. If the file is of standard format, you will see
the CR/LF characters on the screen as well as the EOF character at the
end. Other file formats can be examined using this technique.
MAXIMUM RECORD LENGTH
The maximum record length in bytes. The maximum allowable value is
64000.
- For data-delimited files, if an input record is longer than the
profile maximum, an error message is issued and the maximum length
is automatically increased to the maximum actual length encountered.
Under no circumstance can an individual record be longer than 64000
bytes.
Each output record is written to disk with a CR/LF terminator.
Trailing blanks are clipped. An EOF character is written after the
last record.
- For length-delimited files, input blocks of data are read in and
parsed into records exactly equal to the maximum record length
without regard to the data content. So for example, a file of 800
bytes with a maximum record length of 80 would yield exactly 10
records of 80 bytes.
Output records of maximum length are written directly to disk "as
is" without delimiters. No CR/LF or EOF characters are written.
CHARACTER SET
Specify the character set for this file type. Each data character is
represented by a single byte of data with a decimal value in the range
of 0 to 255. The ASCII character set is used in most non-IBM large
computer systems and virtually all small computer systems. The EBCDIC
character set is used in all IBM S/370 systems.
A
Files of this type contain ASCII data characters.
E
Files of this type contain EBCDIC data characters.
SAVE ON COUNT
Specifies whether a file being edited should be saved after [SPF-Enter]
has been pressed a specific number of times.
If 0 is specified, the file is not saved until an END or SAVE command
is processed.
If a non-zero value is specified, the edit file is saved when
[SPF-Enter] has been pressed the specified number of times.
The default is 0.
BACKUP ON SAVE
Indicate whether a backup copy (.BAK) of the file you are editing
should be created when you SAVE it.
Y
Create .BAK file on SAVE (or END).
N
Do not create .BAK file on SAVE (or END).
OVERWRITE ORIGINAL
Specifies whether on SAVE or END, the file is to be directly
overwritten in place or written to a temp file which is subsequently
renamed. The former choice uses less disk space, the latter choice is
safer.
Y
Overwrite the file in place. The amount of disk space needed to
save the file in this manner is equal to its size.
N
Create a new temporary file; then delete the original file (unless
backup is on), then rename the temp file to the original file name.
The amount of disk space needed to save the file in this manner is
double its size. This method is safer but does require more space.
DATA SHIFT ON CHANGE
Indicate whether the CHANGE command should follow the ISPF DATA SHIFT
rules.
Y
CHANGE should follow the ISPF DATA SHIFT rules.
N
CHANGE should not follow the ISPF DATA SHIFT rules.
LINE TERMINATOR
This item only applies to data-delimited files. On input SPF/Pro
treats the line terminator sequence as end of record. On output
SPF/Pro writes the line terminator sequence at the end of each record.
See Maximum Record Length and Record Format for a summary of SPF/Pro's
processing of these delimiters. The options available for the line
terminator are:
CR
On input, end records on CR (Carriage Return, x'0D'). On output,
write CR at end of each record.
LF
On input, end records on LF (Line Feed, x'0A'). On output, write LF
at end of each record.
CRLF
On input, end records on CR+LF. On output, write CR+LF at end of
each record. This is standard PC DOS ASCII file format. It is also
the SPF/Pro default.
SCRLF
On input, end records on LF or CR+LF. On output, write CR+LF at end
of each record. This form is provided to untangle corrupted files.
It is not normal to mix record terminator forms in the same file.
Note: Using the CR form, you can import/export files to/from APPLE
systems. Using the LF form, you can import/export files to/from UNIX
systems.
FILE TERMINATOR
This field indicates whether on input to interpret the EOF (End of
File, x'1A') character as "end of file". Similarly, on output it
indicates whether to write the EOF character at the end of the file.
Y
On input, end reading when EOF character is processed. On output,
write EOF character at end of file.
N
On input, ignore EOF character; read to physical end of file. On
output, do not write EOF character at end of file.
INPUT TABS TO
Specifies whether TAB characters should be expanded to blanks when a
file is loaded. It also specifies where the TAB stops are.
If 0 is specified, TAB characters are not expanded when a file is
loaded.
If a non-zero value is specified, TAB characters are converted to
blanks every N characters.
The default is 0.
OUTPUT TABS AT
Specifies whether TAB characters should be inserted in place of blanks
when a file is written to disk. It also specifies where the TAB stops
are.
If 0 is specified, TAB characters are not inserted when a file is
loaded.
If a non-zero value is specified, blanks are converted to TABs every N
characters.
The default is 0.
PAD RIGHT W/BLANKS
This field specifies whether data-delimited records, which are normally
stripped of trailing blanks, should be padded with blanks to the
maximum record length. One of the examples (Fixed-length Files From
Other Systems) in the following section makes use of this option.
NULL PROTECTED
Specifies whether characters in the range of decimal 0 (x'00') to
decimal 31 (x'1F') are protected by the null character (x'00'). (This
is a unique data form used in the Micro Focus Workbench environment.)
Y
On input, if a null character is processed, ignore it and process
the character that follows it as a data character regardless of its
value.
N
Process characters "as is". All characters below decimal 32 are
non-data characters and may have side effects.
Press [F3] apply changes and return to the SPF Parameter Options panel.
# 8.7.4 {File Profile Examples}
Using the proper profile, SPF/Pro can adapt automatically to any file
format. This section includes some examples of using profiles to work
with non-standard file formats.
Fixed-length Files from Mainframes
Program source files downloaded from IBM mainframe computers are
normally fixed-length 80 character records (no delimiters). To edit
these files set up a profile with a name like F80 with the following
properties: RECORD FORMAT = L, MAX RECORD LENGTH = 80 (or other
appropriate value), CHARACTER SET = E.
UNIX Files
Program source files downloaded from UNIX systems are variable length
data-delimited with the LF character. To edit these files, set up a
profile with a name like UNIX with the following properties: RECORD
FORMAT = D, MAX RECORD LENGTH = 80 (or other appropriate value),
CHARACTER SET = A, LINE TERMINATOR = LF.
APPLE Files
Program source Files downloaded from APPLE systems are variable length
data-delimited with the CR character. To edit these files, set up a
profile with a name like APPLE with the following properties: RECORD
FORMAT = V, MAX RECORD LENGTH = 80 (or other appropriate value),
CHARACTER SET = A, LINE TERMINATOR = CR.
.EXE Files
Executable file (.EXE) and other binary file forms (data bases) are of
undefined format. You can however scan them using an arbitrary record
length. For the purpose of the example we will use the editors default
viewing width of 72 so that no horizontal scrolling will be necessary.
To edit these files, set up a profile with a name like EXE or BIN with
the following properties: RECORD FORMAT = L, MAX RECORD LENGTH = 72 (or
other appropriate value), CHARACTER SET = A (or E as appropriate).
When editing binary files, regardless of record length, you must not
delete or add any characters. This would change the length of the
affected line and corrupt the file. You can overtype characters. To
replace a character string with a shorter one, pad the replacement
string with blanks to maintain the original length.
Note: If you intend to keep a non-standard file in your system for an
extended period (or permanently), use Option 3.G, File Convert, to convert
the file to the standard ASCII form. The conversion process is
straightforward; you specify one profile to read the file (e.g. UNIX_C)
and a different profile to write the file (e.g. STD_C). In this manner you
can convert any file form to any other form by simply applying different
profiles.
# 8.8 {Paths (Option 0.8)}
Panel 0.8 lets you display and modify all paths which are of interest to
SPF/Pro. SPF/Pro paths may be specified with multiple directories
separated by a semicolon.
Distinct paths are provided to facilitate shared use on LANS so that you
can subscribe to a common set of control files while at the same time
maintaining your own local control files without interfering with others.
The 0.8 panel supports the following fields:
DEFAULT SEARCH PATH
Displays the value set in the SPF5PATH environment variable. If
SPF5PATH is not present, it displays the same value as that shown in
EXECUTABLE PATH.
EXECUTABLE PATH
Displays the path where the SPF/Pro executable was found.
GENERAL PROFILE, TABLE, AND KEYBOARD SEARCH PATH
This is the directory (or directories) in which all profile and table
based options are found (and altered). When storing a new profile (or
option), the data is always stored in the first directory in the path.
MACRO AND COMMAND PROCEDURE SEARCH PATH
This is the directory (or directories) where all ISREDIT macros and
ISPEXEC procedures are stored.
PANEL AND MESSAGE SEARCH PATH
This is the directory (or directories) where all panel and message
definition files are stored.
The search for control files proceeds in the following directory order:
* applicable custom path, if not found, then
* applicable preset path, if not found, then
* default search path, if not found, then
* executable path, if not found, then
* current directory
# 8.9 {Concurrent (Option 0.C)}
The Concurrent option displays information about the Concurrent SPF/Pro
execution environment. This panel is used by your network administrator to
manage access to the concurrent form of SPF/Pro. A detailed discussion of
this panel and its use is contained in the Concurrent SPF/Pro
Administrator Reference.
# 8.10 {Environment (Option 0.E)}
The Environment option displays information about the platform the SPF/Pro
is running on. This is most frequently helpful when there is a question
about your hardware or software configuration.
# 8.11 {Font (Option 0.F)}
The FONT option lets you set the display fonts for panels and the PFSHOW
buttons. The panel font is always monospace as panels are rendered on a
grid of common sized cells. The PFSHOW font is used for the button labels
on the PFSHOW bar. This font can be monospace or proportional.
The first panel presented when you select Option 0.F is the FONT SELECTION
PANEL. You can choose either the PANEL FONT option or the PFSHOW FONT
option.
Either font selection displays a lower level FONT SELECTION PANEL which
displays the current face, size, and a table of available faces. When you
select a face, the FONT STYLE SELECTION panel is displayed. This panel
lets you set the font size, and the attributes BOLD and ITALIC.
In summary to set the panel font:
* Activate Option 0.F
* on the first panel, select the PANEL FONT Option
* on the next panel, select the desired font face
* on the third panel specify the font size
* also on the third panel, set the bold and/or italic attributes if
desired
* exit all panels via [F3] or END primary command
The same procedure (modifying the second step) is followed to set the
PFSHOW font.
# 8.12 {Keyboard (Option 0.K)}
Panel 0.K allows you to create multiple keyboard schemes which can be used
for different purposes. Each keyboard scheme is named. Only one is active
at any given time.
The following line commands are supported. Enter the line command to the
left of the list entry, then press [SPF-Enter].
S - select keyboard scheme
E - edit keyboard scheme
D - delete keyboard scheme
C - copy keyboard scheme
R - rename keyboard scheme
When a new keyboard scheme is created via "e newname" primary command, it
is initialized to the values of the active keyboard scheme.
When you edit a keyboard scheme you are presented with a menu of Keyboard
Mapping Options. All non-data key variations are represented in the
keyboard mapping choices. Data keys are not mappable. You can pick one
of:
1. Function Keys - allows you to specify mappings for all variations of
FUNCTION keys.
2. ALT Keys - allows you to specify mappings for all variations of the ALT
keys.
3. CTRL Keys - allows you to specify mappings for all variations of the
CTRL keys.
4. SHIFT Keys - allows you to specify mappings for all variations of the
SHIFT keys.
5. Extended Keys - allows you to specify mappings for all variations of
the Extended keys (i.e. numeric keypad and island keys)
6. Mouse - allows you to specify mappings for all variations of mouse
buttons.
7. Custom Keys - allows you to specify mappings for variations of the keys
of your own design.
# 8.12.1 {Keyboard Mapping Data}
For each key in any given set of keys there is a key name and mapping
data. Mapping data is typed to the right of the key name in the key entry
and consists of one of the following mapping data types:
* DATA - any text string enclosed in single quotes. Example:
'the man in the moon'
Hexadecimal data is entered in the form x'nn'. Example:
x'1B'
* PRIMARY or LINE COMMANDS - commands are entered "as is" with no special
syntactic treatment just as they would be in the primary or line
command field. Line commands are prefixed with a colon (:). As with
function keys, data entered in the primary command field is treated as
a parameter when a mapped key is processed. Example:
LOCATE SPECIAL
* SPF ACTIONS - a single SPF action enclosed in square brackets.
Example:
[CURSOR-UP]
SPF actions are described below:
CURSOR-UP nnn
Move the cursor up "nnn" positions. If "nnn" is not specified, 1 is
assumed.
CURSOR-DOWN nnn
Move the cursor down "nnn" positions. If "nnn" is not specified, 1 is
assumed.
CURSOR-LEFT nnn
Move the cursor left by "nnn" positions. If "nnn" is not specified, 1
is assumed.
CURSOR-RIGHT nnn
Move the cursor right by "nnn" positions. If "nnn" is not specified, 1
is assumed.
WORD-LEFT
Move the cursor one word to the left.
WORD-RIGHT
Move the cursor one word to the right.
END-OF-DATA
Move the cursor to the end of data in the current field (the blank
after the last data character).
TAB
Move the cursor to the first position of the next field.
BACKTAB
Move the cursor to the first position of the current field. If already
at the first position, move to the first position of the previous
field.
NEWLINE
Move the cursor to the first position of the next field or line.
CURSOR
Move the cursor to the first position of the primary command field.
CURSOR-MOUSE
Move the cursor to where the mouse pointer is located.
SCROLL-LEFT nnn
Scroll left "nnn" positions. If "nnn" is not specified, scroll the
number of positions specified in the current scroll amount.
SCROLL-LEFT-MAX
Scroll left to character position one.
SCROLL-RIGHT nnn
Scroll right "nnn" positions. If "nnn" is not specified, scroll the
number of positions specified in the current scroll amount.
SCROLL-RIGHT-MAX
Scroll to the rightmost position of the file record length.
SCROLL-UP nnn
Scroll up "nnn" lines. If "nnn" is not specified, scroll the number of
positions specified in the current scroll amount.
SCROLL-UP-MAX
Scroll to the top of the file.
SCROLL-DOWN nnn
Scroll down "nnn" lines. If "nnn" is not specified, scroll the number
of positions specified in the current scroll amount.
SCROLL-DOWN-MAX
Scroll to the bottom of the file.
ENTER-3270
Perform 3270 style enter processing.
ENTER-SPFPC
Perform early style SPF/Pro ENTER processing. This action is provided
for compatibility with older versions of SPF/Pro.
CURSOR-SELECT
Select the item on which the cursor resides. In menus this is the
equivalent of typing the menu item number in the primary command field
and pressing [SPF-Enter]. In select lists this is the equivalent of
entering the select line command and pressing [SPF-Enter].
CURSOR-MOUSE-SELECT
Move the cursor to where the mouse pointer is located. Select the item
on which the cursor resides. In menus this is the equivalent of typing
the menu item number in the primary command field and pressing
[SPF-Enter]. In select lists this is the equivalent of entering the
select line command and pressing [SPF-Enter].
MOUSE-STREAM-SELECT
Holding the left mouse button down and dragging the mouse produces the
"Button-1-Drag" mouse event. By default this mouse event is mapped to
"MOUSE-STREAM-SELECT". In this context, if the mouse cursor is in the
text area, the selection is extended character by character as the
mouse is dragged. If the mouse cursor is in the line command field,
the selection is extended line by line as the mouse is dragged.
EXTEND-STREAM-SELECT
Once the mouse cursor has been set via single click on the left mouse
button, you can reposition the mouse, press [SHIFT] and click the left
mouse button again. This extends the selection from the original mouse
cursor position to the the current mouse position in a single step (no
mouse dragging necessary).
MOUSE-BLOCK-SELECT
Holding the right mouse button down and dragging the mouse produces the
"Button-2-Drag" mouse event. By default this mouse event is mapped to
"MOUSE-BLOCK-SELECT". In this context, the block selection is extended
blockwise as the mouse is dragged.
EXTEND-BLOCK-SELECT
Once the mouse cursor has been set via single click on the left mouse
button, you can reposition the mouse, press [SHIFT] and click the right
mouse button. This extends the block selection from the original mouse
cursor position the the current mouse position in a single step (no
mouse dragging necessary).
STREAM-SELECT-UP
STREAM-SELECT-DOWN
STREAM-SELECT-LEFT
STREAM-SELECT-RIGHT
STREAM-SELECT-PGUP
STREAM-SELECT-PGDN
These events are mapped to the [SHIFT] key combined with the desired
arrow key or page scroll key. In all of these cases, the stream
selection is extended in the direction and amount of the key pressed.
DEL-CHAR
Delete the character at the current cursor position. If there are
characters to the right of the deleted character, shift them to the
left one position.
BACKSPACE
Move the cursor left one position; delete the character at that
position. If there are characters to the right of the deleted
character, shift them to the left one position.
BACKSPACE-BLANK
Move the cursor left one position; blank the character in that
position.
DEL-END-OF-DATA
Delete characters from the current cursor position to the end of the
field.
CANCEL
If searching a list of files for a text string, abort the search.
If a keyboard macro is playing, abort the macro.
If entering data in a panel or the text area of an edit session, clear
all data entered since the last [SPF-Enter] was processed.
RESET
Reset the input-inhibited condition and insert mode.
KEY-MACRO macro-name
Execute the named keyboard macro.
KEY-MACRO-RECORD
This action toggles key macro recording. If key macro recording is
OFF, start key macro recording. If key macro recording is ON, stop key
macro recording.
# 8.12.2 {Mapping a Custom Key}
Custom keys come in two forms:
* Combinations of CTRL, ALT, and SHIFT keys that are not already
represented in the standard keyboard mapping tables.
* Non-standard keyboards may have keys which are unknown to SPF/Pro.
These keys are mappable through the CUSTOM interface (see following
instructions).
Follow these steps to map a custom key:
1. After selecting 0.K, edit the desired keyboard scheme. Select Option 7
(CUSTOM).
2. You are presented with a panel which requests that you press the custom
key you want mapped. Press it. For example, you might press CTRL+ALT+A
to create a unique custom key sequence.
3. The custom key pressed is echoed in the KEY NAME field of the panel.
Press [SPF-Enter] to accept the name.
Note: Keys which are unknown to SPF/Pro are given system generated
names in the form "CUSTOM-nnnn" which you can alter later.
4. You are now presented with a panel which once again echoes the name.
At this point you can alter the name to be more meaningful or leave it
"as is".
5. Specify the mapping value for the custom key (i.e. data, primary or
line command, or SPF/Pro action).
6. Press [SPF-Enter] to accept the name and value. Press [F3] to return to
the custom key list. The custom key is now mapped and should appear in
the list in alphabetical order.
# 8.13 {Keyboard Map Files}
Keyboard map files are kept in files corresponding to the map name with
file type .KEY appended. For example, the keyboard map file for key map
CCODE would be in file SPFPRO\PROFILES\CCODE.KEY.
# 8.14 {Key Macros (Option 0.M)}
Panel 0.M displays a list of active keyboard macros. The main use of the
list is to refresh your memory as to which keyboard macros exist.
Keyboard macros are bound to keys with the "[KEY-MACRO ...]" SPF action.
The following line commands are supported. Enter the line command to the
left of the list entry, then press [SPF-Enter].
C - copy existing keyboard macro
D - delete an existing keyboard macro
E - edit existing keyboard macro
R - rename existing keyboard macro
Keyboard macros may be used to perform complex operations that do not
naturally fall into the other categories of keyboard mapping.
To record a keyboard macro, press [ALT]+[M]. You are presented with a
panel which has fields for Name and Description.
After entering the name and description, press [F3]. That returns you to
the current context. All subsequent keystrokes are recorded exactly as
entered. While you are recording keystrokes, the status line displays
"RECORDING".
When you press ALT+M a second time, macro recording is ended. A panel is
presented which has a field for the key sequence to activate the macro.
The initial value is "NONE". At this point if you press [SPF-Enter] the
panel is dismissed and no key assignment is made. The named macro is
placed in the macro pool for future assignment.
If you press any other key, the key legend is presented in the entry field
for confirmation. At this point if you press [SPF-Enter] the macro is
bound to the displayed key in the active keyboard scheme and the panel is
dismissed. If you press any other key, it takes the place of the currently
displayed key.
At any time you can press [ESC] to reset the entry field to the "(no
assignment)" value. Your recorded keystrokes are played back when you
press the key that is bound to the macro. See SPF action [KEY-MACRO ...]
for a description of how to manually bind a keyboard macro to a key.
# 8.15 {Keyboard Macro Files}
Keyboard macro files are kept in files corresponding to the macro name
with file type .MAC appended. For example, the keyboard macro file for key
map IF would be in file SPFPRO\PROFILES\IF.MAC
# 9. {Browse (Option 1)}
The SPF/Pro browse option allows you to view but not modify files. When
you start SPF/Pro the Primary Option Panel is presented. Select option 1,
Browse Entry Panel.
A new screen is presented to you called Browse Entry Panel. Enter the
file name of the file you want to browse.
If the file name specified contains wild-card characters ("*" or "?"), a
Select List is generated.
You can select a file to browse from this list by placing an S to the left
of the desired filename and pressing [SPF-Enter]. The system then brings
up the file to be browsed.
Browse mode differs from edit mode in two fundamental ways:
* You can not modify the file in any way.
* There are no line commands; all columns are used for display.
# 10. {Edit (Option 2)}
SPF/Pro edit allows you to create, modify, or display files. Normally,
you edit standard text files. By using length-delimited record format, you
can edit files of any format or content.
Standard text files are simply collections of variable length records
terminated by CR/LF sequences. The file is terminated by an EOF character.
There are many variations on this theme all of which can be processed by
SPF/Pro with appropriate profiles.
Some examples of standard operating system text files are:
* Computer program source files (*.COB, *.C, et al)
* system procedure language source (*.BAT, *.CMD)
* dBASE procedure files (*.PRG, *.FRM)
* Listing files (*.LST)
Some examples of non-standard files are:
* S/370 mainframe EBCDIC files
* Executable programs (*.EXE)
* DLL files (*.DLL)
* dBASE databases (*.DBF, *.NDX)
# 10.1 {Selecting a File to Edit}
After you start SPF/Pro, the Primary Option Panel is displayed. Select
Option 2, Edit.
The Edit Entry Panel is presented. Enter the name of the file you want to
edit.
If the file name contains wild-card characters ("*" or "?"), a select list
is generated.
You can select a file to edit from a select list by placing an S to the
left of the desired filename and pressing [SPF-Enter].
# 10.2 {Edit Profile}
Each time you edit a file, SPF/Pro activates an environment consisting of
modes, options, and parameters, called the edit profile. SPF/Pro maintains
edit profiles in disk files between sessions.
For each file extension, there is a corresponding edit profile. Each time
an edit session is begun, the corresponding profile is loaded to create
the edit environment. SPF/Pro saves the profile whenever the environment
is changed. For example, if you change CAPS mode from OFF to ON while
editing a file with extension .COB, subsequent edits of files with that
extension will have CAPS mode ON.
To avoid saving changes from a particular edit session, use the PROFILE
LOCK command.
A different profile may be used when editing a particular file by
specifying the PROFILE NAME in the Edit Entry Panel.
A new edit profile is created when:
* a profile for this file extension does not exist, and
* Option 0.5, field AUTOMATIC PROFILE CREATE = Y, and
* a profile variable is altered from the default setting.
The following table lists edit profile fields.
Change with Primary Commands
AUTONUM Renumbers data automatically
AUTOLIST Lists data automatically on exit
AUTOSAVE Saves data automatically on exit
BNDS Specifies right and left bounds for edit commands
CAPS Controls translation to uppercase
COLORMAP Colorizes program source
COMPARE SUPERC file compare
HEX Displays data in hexadecimal format
IMACRO Names an initial macro to execute
XMACRO Names an exit macro to execute
NUMBER Controls line number generation
PROFILE Allows locking the edit profile
STATS Controls generation of a level number
TABS Enables or disables tabbing
Change with Line Commands
BNDS Specifies right and left bounds for edit commands
MASK Applies a preset mask to inserted lines
TABS Defines tab stops
Change with Line Commands
SCROLL Scrolling amount on edit, browse, select list panels
The following table lists profile fields set in panel 0.7
PROFILE NAME The name of the profile (corresponds to file EXT)
RECORD FORMAT Specifies whether the file is data-delimited or
length-delimited
MAX RECORD LEN Specifies the maximum record length
CHARACTER SET Specifies the character set for text files, either
ASCII or EBCDIC
SAVE ON COUNT Specifies that SAVE should be invoked after
[SPF-Enter] is pressed a specific number of
times
BACKUP ON SAVE Specifies whether .BAK file should be created
OVERWRITE Specifies whether SAVE overwrites in place or not
DATA SHIFT TYPE Specifies whether the CHANGE primary command
should use ISPF style data shift
LINE TERMINATOR For data-delimited files,
specifies the line terminator sequence
FILE TERMINATOR For data-delimited files,
specifies the file terminator sequence
INPUT TABS For data-delimited files,
specifies expansion of tabs to blanks
OUTPUT TABS For data-delimited files,
specifies insertion of tabs in place of blanks
PAD RIGHT W/BLNK For data-delimited output files,
specifies that output records should be padded on
the right with blanks to maximum record length
NULL PROTECTED For data delimited files, specifies protection
method for non-data characters
The contents of edit profiles are displayed in:
* Panel 0.7 - this panel allows you to select, display, and modify
profiles for specific file types.
* Within EDIT - the PROFILE command displays variables that are not part
of Panel 0.7.
Profile Name
The first profile display field is unnamed. It contains the profile
name followed by the record format and maximum record length in
parenthesis.
Normally the profile name is derived from the extension of the file
being edited. For example, if you are editing PROG1.COB, the profile
will be COB.PRF. You can invoke edit with a different profile by
putting the alternate profile name in the PROFILE field of the EDIT
ENTRY PANEL.
RECOVERY
RECOVERY is not supported and is always shown as OFF.
NUMBER
OFF
No numbers are generated or expected. This is the system default.
ON
SPF/Pro verifies that all lines have valid numbers in ascending
sequence. It renumbers all lines if any lines are either unnumbered
or out of sequence, but does not otherwise alter existing sequence
numbers.
STD
Specifies that sequence numbers are to be generated in columns 73 to
80.
If stats is on, sequence numbers are in columns 73 to 78; a level
number is generated in columns 79 and 80. The level number is
increased by one each time the file is modified.
COBOL
Specifies that sequence numbers are to be generated in columns 1 to
6.
DISPLAY
Specifies that sequence numbers, normally obscured, are to be
displayed.
This variable can be changed with the NUMBER primary command.
CAPS
ON
Specifies that all data entered is to be set in upper case.
OFF
Specifies that all data entered is to be set "as is". This is the
default.
HEX
ON
Display the file being edited in hexadecimal format. Each data line
is followed by two corresponding lines vertically depicting its
hexadecimal value. The data can be modified by changing the text
line or the hex lines.
OFF
Text is displayed in the normal manner. This is the default.
SAVECOUNT
Displays OFF or the number of times [SPF-Enter] must be pressed before
an automatic SAVE is performed.
TABS
This field specifies whether and how tabs are to be processed.
ON
Specifies that tabs are to be processed.
STD
Specifies that the [TAB] key is to move the cursor to the next
hardware tab stop as defined by asterisk (*) characters on the
TABS line.
Unlike ISPF/PDF, SPF/Pro does not simulate 3270 attribute bytes.
The cursor is still positioned one character after the tab stop
(*) but the character at the tab stop can be modified.
ALL
Same as STD.
character
When a logical tab character is specified, data entered with that
character is positioned to the nearest tab stop when [SPF-Enter]
is pressed.
OFF
Hardware and logical tabs are ignored. This is the default.
CHARSET
This field identifies the character set that the file data is in.
ASCII
Used in most small and midsize computer systems.
EBCDIC
Used in IBM S/370 mainframes and compatible systems.
This variable can be changed in panel 0.7.
AUTOSAVE
This field describes whether to automatically save the file on exit.
ON
Files are saved on exit. This is the default.
OFF
Files are not saved on exit.
AUTONUM
This field describes whether lines are to be renumbered when the file
is saved.
ON
Lines are renumbered on exit.
OFF
Line numbers are not changed on exit. This is the default.
AUTOLIST
This field describes whether listing is made on exit.
ON
The file is printed on exit.
OFF
The file is not printed on exit. This is the default.
STATS
Stats indicates whether level stamping is on or off.
ON
If standard line numbering is on, columns 79 and 80 receive a level
number which is incremented each time the file is edited.
OFF
No level stamping is done. This is the default.
PROF
This is identical to ISPF field PROFILE. We did not have enough room
on the profile line to fully spell the field name. Specifies whether
the profile is locked.
LOCK
Changed profile parameters are not saved on exit.
UNLK
Changed profile parameters are saved on exit. This is the default.
This is identical to ISPF state PROFILE UNLOCK. We did not have
enough room on the profile line to fully spell the state value.
IMAC
This is identical to ISPF field IMACRO. We did not have enough room on
the profile line to fully spell the field name. Identifies the name of
the initial macro.
This variable can be changed in the EDIT ENTRY PANEL.
XMAC
Identifies the name of the exit macro.
This variable can be changed in the EDIT ENTRY PANEL.
PACK
PACK is not supported and is always shown as OFF.
COLORMAP
Displays the name of the colormap file or OFF.
# 10.3 {Editing a File}
If you haven't already done so, take a moment now to read the quickstart
chapter. This brief chapter will give you a minimal working knowledge of
SPF/Pro. It explains how to enter primary and line commands and a subset
of editing operations.
# 10.4 {Popup Menus}
Two popup menus are provided for your convenience while editing files:
* To access the line command popup menu, position the mouse cursor
anywhere in the line command field area, click the right mouse button.
Select the desired line command by positioning the mouse cursor over it
and and clicking the left mouse button.
* To access the primary command popup menu, position the mouse cursor
anywhere in the text area, click the right mouse button. Select the
desired line command by positioning the mouse cursor over it and and
clicking the left mouse button.
# 10.5 {Edit Termination}
The edit session may be ended in one of following ways:
* Press [F3]. (normally the END primary command)
* Execute the END primary command. This command saves the file then
returns to the parent panel.
* Execute the CANCEL primary command. This command returns to the parent
panel without saving the file.
* Double-click on the task close box with the left mouse button.
Note: When the END command is processed and AUTOSAVE = OFF + NOPROMPT,
the file is not saved. In this case END is equivalent to CANCEL.
When the END command is processed and AUTOSAVE = OFF + PROMPT, a prompt
message appears, giving you a chance to issue a SAVE or CANCEL primary
command to terminate the edit session.
You may save the data at any time by issuing the SAVE primary command.
# 11. {Utilities (Option 3)}
You can perform a number of utility functions, including moving, copying,
renaming, and deleting files, without leaving the SPF/Pro environment. You
can use SPF/Pro utility features to manage files instead of operating
system commands. If you are an experienced ISPF/PDF user, this gives you
the opportunity to work with directories and files in a familiar way.
If you prefer to use operating system commands, you can issue them from
the command line, or the Primary Option 6 panel (COMMAND). If you have
non-SPF/Pro utilities you prefer to use, you can use Primary Option 4
(FOREGROUND) to execute them from inside SPF/Pro.
The two basic ways to access the utility functions are listed below:
* When you start SPF/Pro it displays the Primary Option Panel. If you
want to work with the utility functions, select Option 3, SPF/Pro
Utilities. SPF/Pro responds by displaying the Utility Selection Menu.
* At any time, you can use the "jump" feature to reach the utility
panels. Type =3.x, in the primary command field, where "x" is the
number or letter of the utility panel you want to use. Then press
[SPF-Enter].
SPF/Pro utilities are located on multiple entry panels. You can perform
utility functions by selecting a utility entry panel and typing in the
file(s) and utility function(s) you want. The functions available on each
panel are summarized below.
3 - MOVE/COPY
This panel allows you to move or copy a file, group of files or an
entire directory. You can move or copy from one directory to another or
from one drive to another. You can also rename the files as part of the
move or copy.
4 - FILE LIST
This panel presents a select list that allows you to browse, edit,
print, rename, or delete files with line commands. This is useful when
you want to clean up or reorganize a directory.
Note: Super Lists A - E provide significant extensions to the basic 3.4
functional set.
A - DIRECTORY SEARCH
If you are interested exclusively in directories, use this panel to do
a single or multilevel search for directories. The result of the
search is a select list of directories that meet the search criteria.
B - FILE SEARCH
If you are interested exclusively in files, use this panel to do a
single or multilevel search for files. The result of the search is a
select list of files that meet the search criteria.
C - TEXT SEARCH
If you want to search for a specific text string in one or more files,
use this panel to do a single or multilevel text search. The result of
the search is a select list of files that contain the specified text
string.
D - COMPLEX SEARCH
Complex search is provided for the power user who is already familiar
with the basic directory, file, and text search methods. It combines
the capabilities of 3.A, 3.B, and 3.C in a single panel. The result of
the search is a select list of files and/or directories that meet the
complex search criteria.
E - DRIVE SEARCH
Drive search lets you take a drive-oriented approach to your search.
It presents a select list from which you can select one or more drives
to search. The cross drive search can be particularly useful when you
are in a networked environment that gives you visibility to many
logical drives. You can do a single or multilevel search for
directories, files, or both. The result of the search is a select list
of files and/or directories that meet the drive search criteria.
F - SAVED LISTS
When you use the SAVELIST primary command to save a select list, the
saved list is preserved under a symbolic name. This panel displays a
select list of those names. When you select an entry, it displays the
selected list.
G - FILE CONVERSION
File conversion lets you convert files from one format to another. For
example, you might download a batch of mainframe files and then using
file conversion, convert them to standard ASCII format for permanent
residence on your PC.
H - MOST RECENT EDITS
Each time you edit a file, it is placed in the Most Recent Edits file
list. List depth is optioned. The list persists across SPF/Pro
sessions.
I - SUPERC
Compare one or more files, one to the other, line by line or byte by
byte. Produce a change report in a variety of formats. Send the
change report to BROWSE, PRINT, or a file.
J - Command Tables
This option lets you add new primary commands to the system or modify
the behavior of existing primary commands.
K - Partitioned Dataset Access
This option provides access to PC based Partitioned Datasets which are
used to contain SPF/Pro control information such as panel definitions.
From the Utility Selection Menu you can select a utility panel or press
[F3] to return to the Primary Option Panel. Individual utility panels are
covered in the following sections.
# 11.1 {MOVE/COPY (Option 3.3)}
Panel 3.3 allows you to to move or copy a files and/or directories. You
can move or copy from one directory to another on the same drive or
different drives.
You can use wild-card characters (* and ?) in the from fields, to fields,
or both, to specify a group of files:
* Typically you copy FROM files intact to the TO directory. In this case
you specify the FROM NAME field and LEAVE the TO name field blank.
* If you want to rename files as they are copied or moved, you specify
the FROM NAME field with a particular extension and the TO NAME field
with a different extension. For example:
FROM FILE:
NAME ===> *.CBL
TO FILE:
NAME ===> *.COB
In this example as the *.CBL files are moved or copied, they are
renamed to *.COB.
Individual fields are explained below.
OPTION
Specify the desired action in the OPTION field:
M
Moves files from one directory to another. All files and
sub-directories within the FROM directory are moved.
C
Copies files from one directory to another. All files and
sub-directories within the FROM directory are copied.
FROM FILE
Use these fields to specify the file(s) you want to move or copy. The
SYSTEM FILE SPECIFICATION overrides this field.
TO FILE
Use these fields to specify the destination for files you are moving or
copying. The SYSTEM FILE SPECIFICATION overrides this field.
SYSTEM CURRENT DIRECTORY
This field displays the current directory. This field applies to the
SYSTEM FILE SPECIFICATION only.
FILE SPECIFICATION FROM/TO
If you prefer operating system command line syntax, use these fields
instead of the FROM FILE / TO FILE fields.
Press [F3] to return to the Utility Selection Menu menu.
# 11.2 {FILE LIST (Option 3.4)}
Panel 3.4 allows you to browse, edit, print, rename, or delete a file or
group of files. Simply specify the file (or files) on the FILE LIST
UTILITY panel and press [SPF-Enter]. SPF/Pro presents a select list where
you can specify line commands to perform various functions.
This panel is particularly useful when you want to reorganize a directory;
you can scroll up and down the select list, using different line commands
to work with different files.
You can:
* Browse or edit to review individual files.
* Use the delete command to remove outdated files.
* Use the rename command to reorganize the directory.
* Use the SORT command to reorder the directory.
Use wild-card characters (* and ?) in the file selection fields to specify
a group of files:
* The sample panel above would result in SPF/Pro displaying a select list
of all files in the c:\TEST directory. You could then use select list
line commands to work with this group of files.
* If you wanted to be more specific, you could specify *.COB in the NAME
field. SPF/Pro would then display a select list containing only files
with the COB extension.
Individual fields are explained below.
OPTION
This is a standard command field, where you can enter SPF/Pro general
commands. Line commands are only available in the select list.
PROJECT FILE
Use this group of fields to identify the file(s) you want to work with.
The SYSTEM FILE SPECIFICATION overrides this field.
SYSTEM CURRENT DIRECTORY
This field displays the current directory. The current directory
applies to the SYSTEM FILE SPECIFICATION field only.
SYSTEM FILE SPECIFICATION
If you prefer operating system command line syntax, use this field
instead of the PROJECT FILE fields.
CONFIRM DELETE REQUEST
Use this field to specify whether you want confirmation before a file
is deleted.
YES
When you issue a delete command in the select list, SPF/Pro displays
a panel requesting confirmation before the delete is actually done.
NO
Delete commands in the select list are processed without
confirmation.
Once in the FILE LIST select list, the following line commands are
available:
B - browse the file.
E - edit the file.
N - launch new SPF task to edit the file
P - print the file.
R - rename the file.
D - delete the file.
G - execute .EXE, .BAT, or .CMD file
T - make directory tree list
K - convert file
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.3 {DIRECTORY SEARCH (Option 3.A)}
Panel 3.A allows you to search for directory type files, at one or more
levels, from a specific path origin. The resulting select list contains
all directories at all requested levels that meet the directory file
specification criteria.
Individual fields are explained below:
SYSTEM CUR DIR
Identifies the current directory. This field only applies when the path
specification does not proceed from the root directory. For example,
if you specified "C:\FOO" the search for "FOO" would begin in the root
directory of drive "C". If you specified simply "FOO" the search for
"FOO" would begin in the current directory.
PATH
Specifies the origin for the search. Directories may have file
extensions although this is not a common practice.
SEARCH SUBDIRECTORIES
This field lets you specify whether the search should be limited to the
first level of the specified path or to all levels (via recursive
search). For example, you might have a directory structure like:
SPF (directory for SPF project)
+- DOC (sub-directory for documentation)
| +- TEXT (sub-directory for text files)
| +- SCREENS (sub-directory for raw images)
| +- CHARTS (sub-directory for annotated images)
|
+- SRC (directory for program source files)
+- EDIT (sub-directory for edit source)
+- DM (sub-directory for DM source)
+- TOOLS (sub-directory for tools source)
In the example directory structure, if you specified
PATH ===> \SPF
SEARCH SUBDIRECTORIES ===> N
you would get a select list of the directories from the first level
only:
DOC <dir>
SRC <dir>
Alternatively, if you specified
PATH ===> \SPF
SEARCH SUBDIRECTORIES ===> Y
you would get a select list of the directories from all first levels:
CHARTS <dir>
DM <dir>
DOC <dir>
EDIT <dir>
SCREENS <dir>
SRC <dir>
TEXT <dir>
TOOLS <dir>
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.4 {FILE SEARCH (Option 3.B)}
Panel 3.B allows you to search for files, at one or more levels, from a
specific path origin. The resulting select list contains all files at all
levels that meet the file specification criteria.
Individual fields are explained below:
SYSTEM CUR DIR
Identifies the current directory. The current directory comes into
play when the file specification does not start in the root directory.
For example, if you specified simply "FOO" the search for "FOO" would
begin in the current directory.
If you specified "C:\FOO", the search for "FOO" would begin in the root
directory of drive "C".
PATH
Specifies the origin for the search and optionally constrains
conformant files to a particular file extension. Normal files are
typically classed by extension. For example, COBOL program source files
might have the extension ".COB".
SEARCH SUBDIRECTORIES
This field lets you specify whether the search should be limited to the
first level of the specified path or to all levels (via recursive
search).
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.5 {TEXT SEARCH (Option 3.C)}
Panel 3.C allows you to search for files containing a specific text
string, at one or more levels, from a specific path origin. The resulting
select list contains all files at all levels that contain the specified
text string.
Individual fields are explained below:
SYSTEM CUR DIR
Identifies the current directory. This field only applies when the path
specification does not proceed from the root directory.
PATH
Specifies the origin for the search and optionally constrains
conformant files to a particular file extension.
SEARCH SUBDIRECTORIES
This field lets you specify whether the search should be limited to the
first level of the specified path or to all levels (via recursive
search).
TEXT
Specifies the text string to look for.
CASE SENSITIVE
Specifies whether the TEXT string search should be for an exact match
(CASE SENSITIVE = Y), or for a match on upper and lower case characters
(CASE SENSITIVE = N).
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.6 {COMPLEX SEARCH (Option 3.D)}
Panel 3.D incorporates all the functions of panels 3.A, 3.B, and 3.C.
With Complex Search you can:
* Search for directories, on one or more drives, at one or more levels,
in one or more paths.
* Search for files, on one or more drives, at one or more levels, in one
or more paths.
* Search for files and directories, on one or more drives, at one or more
levels, in one or more paths.
* Search for one or more text strings, in files, on one or more drives,
at one or more levels, in one or more paths.
Individual fields are explained below:
SYSTEM CUR DIR
Identifies the current directory. This field only applies when the path
specification does not proceed from the root directory.
FILE TYPES TO DISPLAY
Specifies the types of files that are to be displayed. You can specify
"D" for directories only, "F" for files only, or "B" for both files and
directories.
SEARCH SUBDIRECTORIES
This field lets you specify whether the search should be limited to the
first level of the specified path or to all levels (via recursive
search).
PATH
Specifies the origin for the search and optionally constrains
conformant files to a particular file extension. You can specify up to
four individual paths, all of which participate in the search. Paths
may specify different drives.
TEXT
Specifies the text string to look for. You can specify up to four
independent text strings. If ANY of the text strings is found, the
file containing the text appears in the resulting select list.
CASE SENSE
Specifies whether the TEXT string search should be for an exact match
(CASE SENSE = Y), or for a match on upper and lower case characters
(CASE SENSE = N).
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.7 {DRIVE SEARCH (Option 3.E)}
Panel 3.E presents the search function from a disk drive viewpoint. It
displays a select list of drives attached to your system which contains
useful information about each drive. You can then select one or more
drives via the "s" line command and perform a variety of functions:
* Search for directories, on one or more drives, at one or more levels,
from the root directory.
* Search for files, on one or more drives, at one or more levels, from
the root directory.
* Search for files and directories, on one or more drives, at one or more
levels, from the root directory.
Individual fields are explained below:
FILE TYPES TO DISPLAY
Specifies the types of files that are to be displayed. You can specify
"D" for directories only, "F" for files only, or "B" for both files and
directories.
SEARCH SUBDIRECTORIES
This field lets you specify whether the search should be limited to the
first level of the specified path or to all levels (via recursive
search).
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.8 {SAVED LISTS (Option 3.F)}
Panel 3.F displays a select list of saved lists. In practical terms, a
saved list is a select list that you have decided to save under a symbolic
name.
A typical application of saved lists is to keep track and act upon groups
of related files. For example a programmer might be working on ten related
source files out of a larger set. By creating and then saving a list of
these files, he can repeatedly access them without regard to the larger
file set. When the activity related to a particular list is complete, the
list is deleted. One simple way to think about saved lists is as "micro-
projects".
Use the SAVELIST primary command to save a list.
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.9 {FILE CONVERSION (Option 3.G)}
Panel 3.G lets you specify a source and destination file and their
respective profiles. In this way you can convert any file to any supported
format. Individual fields are explained below:
SOURCE
The SOURCE specification has two fields: FILENAME and PROFILE. Specify
the name of the source file you want to convert and the profile to be
used for input processing of the specified file.
DESTINATION
The DESTINATION specification has three fields: FILENAME, PROFILE, and
MAX LRECL. Specify the name for the converted output file and the
profile to be used for output processing. If you simply want to change
the record length, use the MAX LRECL field.
The source file is read using the source profile and then written out to
the destination file name using the destination profile.
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.10 {MOST RECENT EDITS (Option 3.H)}
Panel 3.H lets you reactivate a previous edit session. Each time you edit
a file, the file name and associated information is placed in the Most
Recent Edits file list. This list is functionally equivalent to any of the
3.x lists. You can use any of the super list line commands. List entries
are in temporal order (order of creation).
The depth of the list is controlled by the RECENT EDIT DEPTH field of
panel 0.5.
Note: Files residing on removable drives (e.g. A:, B:, etc) are not
included in the Most Recent Edits list.
Press [F3] to return to the FILE LIST UTILITY.
Press [F3] again to return to the Utility Selection Menu.
# 11.11 {SUPERC (Option 3.I)}
Panel 3.I allows you to:
* compare one or more files in one or more directories
* compare files line by line or byte by byte
* create change reports in a variety of formats
* direct the change report to a variety of destinations
Individual fields are explained below:
NEW FILE
NAME
Required. Specifies the more recent version of the file (or files)
to be compared. Specify one of:
-- a fully qualified individual file name
-- an ambiguous file name (contains * or ?)
PROFILE
Optional. Specifies the profile name for reading the new file. If
not specified, the profile is determined by the file type. If
COMPARE TYPE = BYTE, the profile is ignored.
OLD FILE
NAME
Required. This is the original (or older version) of the file (or
files) to be compared. Specify one of:
-- a fully qualified individual file name
-- an ambiguous file name (contains * or ?)
PROFILE
Optional. Specifies the profile name for reading the old file. If
not specified, the profile is determined by the file type. If
COMPARE TYPE = BYTE, the profile is ignored.
Note: The following scenarios occur when specifying new and old file
names:
* NEW FILE is an individual file. OLD FILE is a directory (or ambiguous
file name). In this case the "new" file is compared to the "old" file
of the same name (if it exists) in the directory specified in OLD FILE.
* NEW FILE is a directory (or ambiguous file name). OLD FILE is a
directory (or ambiguous file name). In this case all "new" files that
fit the file pattern are compared to "old" files of the same name (if
they exist) in the OLD FILE directory.
* NEW FILE is a directory (or ambiguous file name). OLD FILE is an
individual file. In this case the "new" file (if it exists) with the
same name as the "old" file is compared to the file specified in OLD
FILE.
COMPARE TYPE
This field specifies the type of comparison to make.
FILE
This mode of compare is the fastest available. It does not report
specific differences; it simply reports if files differ (forces
LISTING TYPE = OVSUM).
LINE
This mode of compare is the most intelligent comparison mode for
program source. It reports inserts and deletes on a line by line
basis.
BYTE
This mode of compare is most useful in comparing binary or other
non-record oriented files. The files are compared byte by byte and
the report provides differences in hexadecimal dump format with a
summary. When BYTE is specified, the PROFILE fields are ignored.
LISTING TYPE
This field specifies the form for the output listing of the report.
OVSUM
This form provides an overall summary of differences without a
detail level report.
Note: When COMPARE TYPE = FILE is set, OVSUM is the only allowable
choice.
DELTA
This form provides differences only in the detail level of the
report followed by a summary.
CHANGE
This form provides the same data as the DELTA form with the addition
of up to 10 matching lines before and after each differences
section.
LONG
Lists the entire new file with all differences noted and a summary
section. This is the most detailed level of reporting available.
OUTPUT
This field specifies where the report is to be sent.
BROWSE
The report is placed in temporary file SUPERC.TMP and BROWSE is
invoked on that file. When you exit from BROWSE, the temporary file
is deleted.
PRINTER
The report is sent to the current logical printer. See Print Setup
Option 0.2 for details on selecting and setting up logical printers.
filename
The report is placed in the specified file.
PROCESS OPTIONS
This field specifies a variety of special processing operations that
may be applied to the compare.
ANYC
This option causes all characters to be treated as if they are
uppercase for the purpose of the comparison. The actual file is not
changed. For example, with ANYC specified, "ABC" and "abc" would
compare equal. This option is only valid for COMPARE TYPE = LINE.
COBOL
This option causes characters in columns 1 through 6 to be ignored.
In COBOL source files these columns are reserved for sequence
numbers. This option is only valid for COMPARE TYPE = LINE.
STD
This option causes the last eight characters of each fixed length
record to be ignored. In assembly language and some control type
source files these columns are reserved for sequence numbers. This
option is only valid for COMPARE TYPE = LINE.
COMPARE COLUMNS
This field specifies the range of columns to which the comparison
applies.
START
The first column to which the comparison applies. Columns prior to
the start column are ignored.
END
The last column to which the comparison applies. Columns after the
end column are ignored.
# 11.11.1 {Detail Report (Line Compare)}
The detail report for COMPARE TYPE = LINE provides three classes of
information regarding differences between files:
* Lines that are present in the old file but not present in the new file
are displayed as "deletes" in the following form:
D - ... text of line ... 00000 DELETED
Where 00000 is the line sequence number in the old file.
* Lines that are present in the new file but not present in the old file
are displayed as "inserts" in the following form:
I - ... text of line ... 00000 INSERTED
Where 000000 is the line sequence number in the new file.
* Lines that are present in both files are displayed when LISTING TYPE =
CHANGE or LONG is specified.
# 11.11.2 {Detail Report (Byte Compare)}
The byte compare detail report displays 32 hex bytes at a time (64 printed
characters). For each 32 byte segment, the report shows offset (OFFSET),
matching bytes (M), inserted bytes (I), and deleted bytes (D), on three
separate lines one above the other in the following format:
OFFSET: 000080
M - 6D5C6C6F 646D69 2E 7973 202F723A
I - 31 58
D - 34 65*
In the example above, the asterisk (*) on the "D" line indicates that more
than one character was deleted at that point.
If all characters in the line match, only the M (match) line is printed.
This case applies to LISTING TYPE = CHANGE and LONG.
# 11.11.3 {Summary Report (All Compares)}
The summary report is always produced. It is comprised of:
* date and time of comparison
* old and new file names on separate lines
* number of inserts, deletes, and matches
* separator line for multiple compares
mm/dd/yy hh:mm:ss INSERT DELETE MATCH
... old name ...
... new name ... 000000 000000 000000
---------------------------------------------------
... old name ...
... new name ... 000000 000000 000000
---------------------------------------------------
... old name ...
... new name ... 000000 000000 000000
---------------------------------------------------
# 11.12 {Command Tables (Option 3.J)}
This option lets you add new primary commands to the system or modify the
behavior of existing primary commands.
# 11.13 {Partitioned Dataset Access (Option 3.K)}
This option provides access to PC based Partitioned Datasets which are
used to contain SPF/Pro control information such as panel definitions.
# 12. {Foreground (Option 4)}
The SPF/Pro foreground feature allows you to set up external programs and
utilities for execution while you are working with SPF/Pro. Foreground
tasks run synchronous to SPF/Pro. Control is returned to the current
panel when their execution is complete. See page for a method of
running tasks asynchronous to SPF/Pro.
The distinction between using FOREGROUND and executing operating system
commands directly from the primary command field is that FOREGROUND has
access to SPF/Pro variables which are automatically set when you edit,
browse, select a file from a select list:
* &ZDSN, the fully qualified file name (path + name). Example,
\PROJECT1\SOURCE\ACCOUNTS.COB
* &ZDSNPATH, the path component of the fully qualified file name.
Example, \PROJECT1\SOURCE
* &ZDSNNAME, the name component of the fully qualified file name.
Example, ACCOUNTS.COB
* &ZDSBASE, The base component (file name) of the fully qualified file
name. Example, ACCOUNTS
* &ZDSNEXT, the extension component (file type) of the fully qualified
file name. Example, COB
In addition, FOREGROUND eliminates the need to key in set patterns of
parameters when you invoke commands.
There are two foreground panels; the first panel is a select list of the
applications you can execute. The second panel is used when setting up a
specific application.
The following line commands are supported. Enter the line command to the
left of the list entry, then press [SPF-Enter].
B - execute an existing application in background
C - copy an existing application
D - delete an existing application
E - edit an existing application
F - execute an existing application in foreground
R - rename an existing application
S - execute an existing application
To set up a new application, use the following primary command:
S new-application-name
To execute a specific user application directly, use the following primary
command:
USER application-name
# 12.1 {Setting Up a User Application}
When you edit an application using the E line command, SPF/Pro displays
the User Application Definition panel. Use this panel to identify a user
application program by drive, path, and program name. You can also set up
a parameter that will be passed to the user application program when you
execute it. The parameter can be a literal string, or a variable (such as
the current filename symbol) that is resolved when the user application is
executed.
The information on this panel is passed to the operating system when you
request execution of a user application. Individual fields are explained
below:
USER APPLICATION NAME
A symbolic name of your choice representing the function performed by
the application. This is the name you type in the primary command field
to execute the application.
APPLICATION DESCRIPTION
A short description of the function performed by the application. This
information augments the application name.
PROGRAM
Specify the fully qualified path name of the executable file (.EXE)
which is to be activated by this application.
PARMS
Use this field to specify a parameter to be passed to the named
program.
You can specify literals or variables in this field. If you specify a
variable, it will be resolved before it is passed to the operating
system.
The most commonly used variable is &ZDSN, the name of the last file
Edited, Browsed, or identified with the U or UU line command in a
select list. This facilitates launching a compile directly out of the
editor.
WORKING DIRECTORY
Some programs must execute within a directory which is different from
the current directory. In this case, use this field to specify the
directory that should be used.
After setting up the application, press [F3] to return to the Application
Edit Selection Menu.
After any foreground application executes, you will get the Press any key
to continue. prompt. Press any key to dismiss the TTY screen and return to
normal SPF/Pro operation.
Note: The only applications that may be executed via this option are:
* system commands or batch files
* commands serviced by COMMAND.COM (e.g. DIR)
# 13. {Background (Option 5)}
The SPF/Pro background feature allows you to set up external programs and
utilities for execution in parallel with SPF/Pro. This is essentially
identical to FOREGROUND Option 4 except that applications launched via
BACKGROUND run asynchronously to SPF/Pro under a separate process.
See page 119 for details on setup and use.
# 14. {Command Processor (Option 6)}
This option allows you to execute operating system commands from inside
the SPF/Pro environment. You can also do this from any primary command
field. This function is primarily useful when you want to issue a series
of operating system commands without intervening SPF/Pro operations.
The are a number of ways to access the command processing panel:
* From the Primary Option Panel select Option 6, Command.
* From any panel use jump command =6 to go directly to Primary Option 6.
* From any panel use the DOS primary command without parameters. This is
equivalent to invoking Primary Option 6. You can also use DOS command
alias CMS, CP, TSO.
There are three entry fields:
ENTER SYSTEM COMMAND BELOW:
===>
Type the command or program name and any parameters desired at the arrow
following the field name, then press [SPF-Enter].
FORCE KEY PRESS AFTER COMMAND EXECUTION ===> Y | N
Specify "Y" (yes) if you want the command to run to completion and then be
prompted before the command shell is terminated.
Specify "N" (no) if you want the command to run to completion and
automatically terminate the command shell.
EXECUTE IN FOREGROUND ===> Y | N
Specify "Y" (yes) if you want the command to suspend SPF/Pro execution
during its execution.
Specify "N" (no) if you want the command to run outside the process
control of SPF/Pro. In this case, the command and SPF/Pro operate
completely independently.
The entry fields are followed by a table containing a command history.
Use this table to retrieve any previously entered command to the command
entry field. Commands are retrieved by either the select (S) line command
or by double-clicking the mouse on the desired comamnd.
Command history is most recent first with automatic elimination of
duplicates.
The command history is maintained across SPF sessions so that you may use
it repeatedly after fully terminating SPF/Pro.
# 15. {Dialog Test (Option 7)}
The Dialog Test Option provides facilities for testing of modified or
newly developed dialogs.
# 16. {Applications (Option A)}
SPF/Pro provides custom dialogs to interface with a number of complex
environments which are integral to the development and maintenance of
business applications.
MF
This custom dialog of over 65 panels provides a comprehensive SPF style
interface to all elements of the Micro Focus Workbench development
tools allowing trouble free development of applications targeting the
MVS host environment.
XDB
This custom dialog of over 25 panels provides a comprehensive SPF style
interface to the XDB RDBMS DB2 emulator. All the familiar panels found
in DB2I are now at the workstation level.
SAMPLES
Sample dialog applications.
# 17. {Custom Dialog for Micro Focus}
This custom dialog provides an SPF style interface to Micro Focus'
workstation tools for COBOL application development. It completely
replaces all menus provided by Micro Focus with a more familiar SPF style
presentation while executing in a functionally equivalent manner.
Access is also provided to the ancilliary tools related to development of
programs which use IMS, DB2 and CICS.
# 17.1 {Main Menu}
SPF/Pro(1) ------------------ Custom Dialog for MF Main Menu -------------- 5.0
OPTION===>
0 Environment - View the environment variables USERID - CTCUSER1
1 BROWSE - Browse source and data files TIME - 10:37
2 EDIT - Create or change source data OPER SYS - Win95
3 UTILITIES - Invoke file utilities Version - V1
4 FOREGROUND - Checking, Compiling, Animating and Running
5 BACKGROUND - Checking, Compiling and Running in background
6 COMMAND - Execute operating system command
7 DIRECTIVES - Edit Checker Directive files
A About - About Custom Dialog for MF (help has more information)
C CICS - Invoke MCO and associated utilities
D DB2 - Invoke XDB and associated utilities
I IMSVS86 - Invoke IMSVS86 and associated utilities
The Main Menu offers access to all the components of the custom dialog.
These are:
Environment
List all environment variables. All the system's environment variables
are displayed in alphabetical order. Details are displayed on one
screen, with extended lines being broken into readable components.
BROWSE
Browse source and data files (SPF/Pro Browse). Source and simple data
files can be browsed with the usual Browse utility.
EDIT
Edit source and data files (SPF/Pro Edit). Source and simple data
files can be edited with the usual Edit utility.
UTILITIES
Access common Workbench file utilities. The Micro Focus utilities for
file management are provided via this menu. The facilities available
are listed below. A standard ISPF style interface is provided where
possible otherwise the product's own interface is invoked.
FOREGROUND
The foreground options are similar to those on the mainframe providing
familiar front end panels to drive the Micro Focus Checker, Animator
and run time environments.
BACKGROUND
The background options are also similar to those on the mainframe
providing familiar front end panels to drive the Micro Focus Checker
and Compiler. The tasks initiated as background tasks post completion
messages when finished.
COMMAND
SPF/Pro command line interface. Execute operating system commands from
the command line.
DIRECTIVES
Edit checker directives for selected COBOL dialect. The checker
directives files can be accessed and edited from this panel. It lists
all the available checker files.
About
Display information about Custom Dialog for Micro Focus. Help
information and technical support.
CICS
Load the Micro Focus CICS option panels if installed.
DB2
Load the DB2 emulator, either XDB or PC based DB2, if installed.
IMS
Load the Micro Focus IMS option panels if installed.
# 17.2 {Environment Variables Display List (Option 0)}
SPF/Pro(1) ------ Custom Dialog for MF Environment Variables --- ROW 017 OF 096
OPTION ===>
The following list shows the current setting of the environment variables.
The values may be scrolled up and down and left to right.
Environment Current Startup Directory
Variable Setting ===>E:\MASTER\SOURCE
------------------------------------------------------------------------------
COBDEMO E:\ADE\COBOL\DEMO
COBDIR E:\ADE\COBOL\LBR;E:\ADE\COBOL\EXEDLL;
---> E:\ADE\MCO\LBR;E:\ADE\IMS;e:\ade\ds\gui
COBFSTATCONV HOSTSTAT
COBHNF E:\ADE\COBOL\ON-LINE
COMSPEC D:\OPSYS\CMD.EXE
CPE E:\ADE\CP2
DB2CHKPTR O
DB2INSTANCE DB2
DB2PATH E:\SQLLIB
DLSINI D:\IBMLAN\NETPROG\NETGUI.INI
DPATH D:\ibmcom;D:\IBMLAN\NETPROG;D:\IBMLAN;D:\MUGLIB;
---> D:\OPSYS;D:\CMLIB;D:\OPSYS\SYSTEM;D:\OPSYS\INSTALL;D:\;
---> D:\OPSYS\BITMAP;D:\OPSYS\MDOS;D:\OPSYS\APPS;D:\MMOPSYS;
---> D:\MMOPSYS\INSTALL;C:\WINDOWS
This panel allows you to browse the environment variable settings for the
environment. It provides a list of all the environment variables, Micro
Focus, XDB, as well as those set for Windows.
The list is scrollable if it extends over more than one screen. For long
environment variable values these are broken down over serveral lines -
note the "--->" notation indicating continuation.
# 17.3 {Browse Source and Data Files (Option 1)}
SPF/Pro(1) ------------------- BROWSE - ENTRY PANEL --------------------- V 5.0
COMMAND ===>
PROJECT FILE:
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.cbl
(Blank or pattern for file selection list)
SYSTEM CUR DIR: E:\MASTER\
SYSTEM FILE SPECIFICATION:
===>e:\samples\*.cbl,*.cpy
PROFILE ===> (Blank defaults to file extension)
The source file name can be entered directly or a wild card specification
can be used as in the example above. This results in the display of a
selection list as seen below.
SPF/Pro(1) ------------------- BROWSE SELECTION LIST ----------- ROW 134 OF 186
COMMAND ===> SCROLL ===>CSR
E:\SAMPLES
NAME EXT SIZE DATE TIME ATTRS COMMENTS
------------------------------------------------------------------------------
PROGRAMA CBL 2190 5-01-91 2:23a A...
PROGRAMB CBL 2091 5-01-91 2:23a A...
PROGRAMC CBL 2091 5-01-91 2:23a A...
PRINTPRG CBL 2712 5-07-91 12:31p A...
PUBLISHR CPY 177 7-27-92 10:06p A...
READER01 CBL 3545 9-11-91 12:10p A...
READER02 CBL 1238 2-21-89 5:44p A...
REPORT01 CBL 2451 4-30-90 11:21a A...
REPORT02 CBL 2451 1-23-90 2:14p A...
REPORT03 CBL 2370 4-30-90 11:24a A...
REPORT04 CBL 2422 5-03-90 12:22p A...
ROOMPLAN CPY 178 3-29-90 4:34p A...
ROUTERX1 CBL 845 5-01-91 2:23a A...
RTS-INVO CBL 28497 4-08-91 5:23a A...
SALESLST CBL 4976 5-01-91 2:23a A...
SCREEN1 CPY 2896 4-30-90 10:07a A...
SCREEN2 CPY 3546 5-01-90 10:36a A...
SCREEN3 CPY 2407 10-09-91 11:21a A...
SCREEN4 CPY 375 1-25-91 11:32p A...
Source and data files can be browsed using the normal SPF/Pro Browse
utility.
# 17.4 {Edit Source and Data Files (Option 2)}
SPF/Pro(1) -------------------- EDIT - ENTRY PANEL ---------------------- V 5.0
COMMAND ===>
PROJECT FILE:
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.cbl
(Blank or pattern for file selection list)
SYSTEM CUR DIR: E:\MASTER
SYSTEM FILE SPECIFICATION:
===>e:\samples\*.cbl,*.cpy
PROFILE ===> (Blank defaults to file extension)
MAX RECL ===> (1..4096, new profile default = 80 )
IMACRO ===>
XMACRO ===>
As with the Browse utility a file name can be entered directly or wild
cards can be used to select a list of candidate files for editing.
The Profile, Max Recl, IMACRO and XMACRO options allow the file to be
viewed with alternative settings to the default for .CBL and .CPY files
thus enabling data files, in EBCDIC for example, to be edited directly.
See page 72 for details on profile specification. IMACRO and XMACRO allow
an edit macro to be applied to the file being edited, perhaps to expand
all the COPY statements as note lines (try using the NOTECOPY macro).
Source and data files can be edited using the normal SPF/Pro Browse
utility.
# 17.5 {Utilities Menu (Option 3)}
The file utilities provided by Micro Focus support development of
mainframe programs which use non-database (IMS/DB2) files. This menu
provides access to the most common features of the Workbench products.
They are:
SPF/Pro(1) ----------- Custom Dialog for MF File Utilities Options -------- 5.0
OPTION===>
0 HYHELP - On line help panels
1 MFXFER - File transfer
2 MDECONV - Conversion utility for source with embedded hex
3 DIFF - File comparison utility
4 MFWFL - Workbench file loader
5 HEXEDIT - Hexadecimal editor
6 DFED - Data file editor
7 PARMPASS - Define runtime program Parameters
8 MFEXTMAP - Define DDnames for local files
F File-AID/PC VSAM - Invoke File-AID/PC IF INSTALLED
P ProxMVS - Invoke ProxMVS IF INSTALLED
+----------------------------------------------------------------------------+
| File utilities are provided for supporting the development of a COBOL |
| program. |
+----------------------------------------------------------------------------+
0 HYHELP
On line help panels. Micro Focus On-line Help gives ready access to
detailed information about COBOL and the Workbench Products.
MFXFER
File transfer. MFXFER is the intelligent file transfer mechanism
provided by Micro Focus. The intelligence comes from the ability of the
source file transfer mechanism to read the download/upload source for
CALL and COPY (and INCLUDE) statements and then to append these to the
download/upload list.
MDECONV
Conversion utility for source code with embedded hex. Some downloaded
programs contain embedded characters which are not printable (that is
special EBCDIC codes often used as some kind of attribute in CICS and
IMS/C programs). The conversion program MDECONV translates a source
program in EBCDIC to ASCII but it will not alter literals containing
any non-printable EBCDIC codes.
DIFF
File comparison utility. DIFF is used to compare two source files; it
highlights differences in content in terms of lines added, deleted and
changed.
MFWFL
Workbench file loader. MFWFL is similar to Access Methods Services on
the mainframe and it enables the developer to convert data files from
sequential formats to indexed and relative formats and vice versa as
well as doing EBCDIC to ASCII conversion.
HEXEDIT
Hexadecimal editor. HEXEDIT allows you to see the contents of the file
in hexadecimal format. Internal file structure is ignored. Every byte
of the file can be viewed in its raw form including all control
information.
DFED
Data file editor. DFED is used to edit indexed and relative files
without the need to write a specific COBOL program for that limited
purpose.
PARMPASS
Define runtime program parameters. PARMPASS allows you to specify run
time parameters in the absence of JCL.
MFEXTMAP
Define DDnames for local files. MFEXTMAP allows you to specify DD name
assignments in the absence of JCL.
File-AID/PC
Invoke FileAid-PC (if installed). If Compuware's FileAid-PC is
installed it can be accessed from this option.
ProxMVS
Invoke ProxMVS (if installed). Proximity Software's JCL emulator
PROXMVS can be invoked from this option if it is available.
# 17.5.1 {Online Help (HYHELP) (Option 3.0)}
SPF/Pro(1) ------------ Custom Dialog for MF Online Help (HYHELP) --------- 5.0
COMMAND ===>
Online Help (HYHELP)
Access to on line help provides information on all aspects of the Micro Focus
product range. You can enter a topic which is any text string such as a COBOL
reserved word. If no topic is entered you will be presented with the contents
page. You may use the mouse to navigate around on line help.
Enter optional topic ===>
Press ENTER to continue END to exit with no action
Micro Focus online help (HYHELP) is available from this menu. It provides
information about all aspects of the Micro Focus products from COBOL
syntax and error messages to Checker Directives and guidance on the use of
tools.
Field on the panel:
Optional topic
Optional. Any name, COBOL reserved word, Checker directive message
number. If omitted a menu is provided.
# 17.5.2 {Micro Focus File Transfer (Option 3.1)}
The file transfer program, MFXFER, when invoked by the Utilities Option 1
presents the Micro Focus panels for driving this program.
MFXFER allows specification of host and workstation defaults for such
things as PDS names containing source and copy code, target directories,
source control commands etc.
During the upload/download process MFXFER can be programmed to detect
COPY, INC, INCLUDE and CALL statements and add these objects to the list
to be transfered.
Note: Custom Dialog for MVS provides these same features from within the
SPF/Pro, a seamless integration the MVS host mainframe. Contact Command
Technology Sales for more information. Custom Dialog for MVS also allows
direct access to Panvalet and Librarian datasets.
# 17.5.3 {Source File Conversion (Option 3.2)}
SPF/Pro(1) ---- Custom Dialog for MF Source File Conversion ---- ROW 001 OF 018
COMMAND ===>
Source File Conversion (MDECONV)
If the downloaded program or the program to be uploaded contains NTC's (or
Non-Text Characters) then Source Converter will correctly deal with them.
File name of source file ===>e:\ade\spfpc40\rexx.doc
File name of target file ===>e:\ade\spfpc40\rexx.doc
(if left blank the source file will be overwritten)
Directives ===>
Directives are listed below (the list can be scrolled)
------------------------------------------------------------------------------
Directive Description
ASC DEFAULT - Causes file to be converted from EBCDIC to ASCII
BAD:A Abort if file contains bad characters and stop
BAD:F Fail if file contains bad characters and go on to next one
BAD:O Turn checking for bad characters Off
BAD:U DEFAULT - Ask the user if file contains bad characters
BAD:W Warn the user if file contains bad characters and continue
EBC Causes the file to be converted from ASCII to EBCDIC
ERR:A Abort if the conversion errors and stop
ERR:F Fail if the conversion errors and go on to next one
The MDECONV panel (Source File Conversion) allows you to specify the files
for conversion and the directives to use to control the conversion. The
directives are listed at the bottom of the screen and can be scrolled.
Source File Conversion is required when the EBCDIC source file on the
mainframe contains embedded hexadecimal characters for such things as
screen attributes in CICS and IMS/DC programs. If these sources were
converted to ASCII during the file transfer process the embedded hex
values would be changed also.
MDECONV converts EBCDIC to ASCII and vice versa.
Note: For VSC2 programmers, a new way of specifying hex constants is
provided in COBOL (e.g. VALUE X'E231').
Fields on the panel:
Source file
Required. The name of the original source file. The usual extension is
.CBL. The field can have the full path specified as it is scrollable.
Target file
Optional. The name of the converted source file. The usual extension
is .CBL. The field can have the full path specified as it is
scrollable. If this field is omitted, the input file is also used as
the output file.
Directives
Optional. Here is where the MDECONV directives are listed. Any number
can be typed into this scrollable field. The values which can be typed
are shown at the bottom of the screen in a scrolling list.
# 17.5.4 {Source File Comparison (Option 3.3)}
SPF/Pro(1) ------- Custom Dialog for MF Source File Comparison - ROW 001 OF 053
COMMAND ===>
Source File Comparison (DIFF)
This utility will allow the user to compare two files (in ASCII) and to list
the differences. A large number of directives are available for use.
File name of 'old' file ===>e:\backup\source\stats001.cbl
File name of 'new' file ===>e:\master\source\stats001.cbl
Directives ===>list(e:\work\stats0001.dif)
Alternatively create a file called DIFF.DIR which contains these directives.
Directive Description
------------------------------------------------------------------------------
AHEAD(n) DEFAULT(257) - ABBR AHD - Look ahead limit - 1 to Buffer size
ASM DEFAULT NOASM - Don't include spaces lines or * and ; lines
BEEP DEFAULT NOBEEP - Beep if Diff halts
BELL DEFAULT NOBELL - Beep if Diff halts
BROWSE(n) DEFAULT(10) - ABBR BRO - Display n records if look ahead reached
BUFFER(n) DEFAULT(512) - ABBR BUF - Specify buffer size
COBCPY(pat DEFAULT($COBCPY) - Path of copy/include books
COBOL DEFAULT NOBCOBOL - ABBR CBL - Matches in col 7 to 72 and ignore * bl
CONFIRM DEFAULT NOCONFIRM - ABBR CNF - Writes directives used in report
The DIFF panel (Source File Comparison) allows you to specify the files
for comparison and the directives to use to control the comparison. The
directives are listed at the bottom of the screen and can be scrolled.
Alternatively use SUPERC on Option 3.I.
Fields on the panel:
Old file name
Required. The name of the original or 'old' source file. The usual
extension is .CBL. The field can have the full path specified as it is
scrollable.
New file name
Required. The name of the replacement or 'new' source file. The usual
extension is .CBL. The field can have the full path specified as it is
scrollable.
Directives
Optional. This is where DIFF directives are listed. Any number can be
typed into this scrollable field. The values which can be used are in
the table shown.
# 17.5.5 {Workbench File Loader (Option 3.4)}
SPF/Pro(1) ----------- Custom Dialog for MF Workbench File Loader --------- 5.0
COMMAND ===>
Workbench File Loader (MFWFL)
WFL is used to convert data files from one format to another. Formats include
line sequential, record sequential(fixed or variable), indexed sequential (f/v)
relative (f/v), VRECGEN, mainframe report and PC report formats. In addition a
'mask' can be created to allow for COMP and PACKED DECIMAL fields and ASCII/
EBCDIC conversion can take place.
If you have a profile already set up enter it here ===>.PRO
Press ENTER to continue END to exit with no action
File formats on the workstation and mainframe are similar but must be
converted via Workbench File Loader (or FileAid/PC from Compuware if it is
available). The correspondence between file formats is as follows:
Other file formats are supported including Mainframe and PC report
formats, VRECGEN and BTRIEVE.
Field on the panel:
Name of Profile File
Optional. The profile name is the name of a pre-existing file which
has been created by Workbench File Loader. If no profile exists, leave
this field empty and the WFL entry panel will be displayed.
# 17.5.6 {Hexadecimal Editor (Option 3.5)}
SPF/Pro(1) ----------------- Custom Dialog for MF Hexedit ----------------- 5.0
COMMAND ===>
Hexadecimal Editor (HEXEDIT)
The HEXEDIT utility gives the ability to see both source and data files in hex.
The same facility is available through edit by using the primary command
HEX ON. Also, for data files when using Data File Editor, vertical hex can be
toggled on via ALT F2.
Enter file name ===>
Press ENTER to continue END to exit with no action
The HEXEDIT utility gives the ability to see both source and data files in
hex. The same facility is available through edit by using the primary
command HEX ON. Also, for data files when using Data File Editor, vertical
hex can be toggled on via ALT F2. Hexadecimal editing of Indexed
Sequential and Relative files is best achieved with FileAid/PC if
available.
Note: Records cannot be inserted or deleted with HEXEDIT. They can only be
updated. Hex searching is provided as well as view modes of ASCII or
EBCDIC.
Field on the panel:
Name of file
Required. The file name is the name of a pre-existing file which needs
to be edited.
# 17.5.7 {Data File Editor (Option 3.6)}
SPF/Pro(1) ------------- Custom Dialog for MF Data File Editor ------------ 5.0
COMMAND ===>
Data File Editor (DFED)
The Data File Editor utility allows data files, sequential, indexed or relative
to be edited in situ. By using the Structure Selector record layouts (copy
books) can be superimposed upon the data and this can be done selectively.
Enter file name ===>LIBCODED.DAT
EBCDIC or ASCII ===>E (E/A)
Backup file ===>N (Y/N) Backup files are called name.DBK (Index=name.IBK)
Full edit mode ===>Q (F/Q) FULL (all file types) or QUICK (indexed and rel.)
Press ENTER to continue END to exit with no action
This provides easy editing of EBCDIC (and ASCII) data files especially
Indexed and Relative forms. Alternatively you replace this option with
FileAid/PC.
Fields on the panel:
Name of file
Required. The name of a pre-existing or new file which needs to be
edited.
EBCDIC or ASCII
Required. Specify one of: 'E' or 'A'. The choice between E and A
invokes DFED in EBCDIC or ASCII mode.
Backup file
Required. Specify one of: 'Y' or 'N'. If backup is selected the
original data file is copied (.DAT becomes .DBK and .IDX becomes .IBK).
This can take some time on a large data file.
Edit Mode
Required. Specify one of: 'F' or 'Q'. Quick edit mode is only for
Indexed and Relative files. It is useful on large files because they
are not loaded into memory. Full edit (all file types) edits in memory;
being written to disk when a save is performed.
# 17.5.8 {Parameter Passer (PARMPASS) (Option 3.7)}
In JCL the option exists to pass data to the COBOL program's Linkage
Section by means of the PARM= statement. As JCL is not available (unless
PROX/MVS is used) on the Workstation the Micro Focus Workbench enables
this data to be added to a file called PARMPASS.DAT.
SPF/Pro(1) EDIT E:\MASTER\DATA\PARMPASS.DAT ------------------- COLUMNS 001 072
COMMAND ===> SCROLL ===>CSR
****** ********************************* TOP OF DATA **************************
000001 ********?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
000002 PROGNAME?Description of Parameters
000003 ********?is Y for EBCDIC and N for ASCII
****** ******************************** BOTTOM OF DATA ************************
Option 7 on the utility menu provides invokes the editor on this file.
The internal format of this files is as follows:
The the PARMPASS.DAT file does not exist, it is created for you with an
example layout.
# 17.5.9 {External File Mapper (Option 3.8)}
In JCL the mapping of files to DDNAMES is done with DD statements. As JCL
does not exist on the workstation (unless PROX/MVS is used) an external
file can be used to map DDNAMES to workstation names. This file is called
MFEXTMAP.DAT. It can be located in the current directory or on the path
specified by the MFEXTMAP environment variable.
SPF/Pro(1) EDIT E:\SHELLS\MVSSHELL\MFEXTMAP.DAT --------------- COLUMNS 001 072
COMMAND ===> SCROLL ===>CSR
****** ********************************* TOP OF DATA **************************
000001 *Example layout for file external mapper file
000002 *--------------------------------------------
000003 *These DDNAMES are for program: XYZ123
000004 *DDNAME data set name
000005 DDNAME01 MAINFILE.DAT
000006 DDNAME01 X:\DATA\TRANFILE.DAT
000007 DDNAME03 \PROJECT\TESTING\HISTORY.DAT
000008 *--------------------------------------------
****** ******************************** BOTTOM OF DATA ************************
Option 8 on the Utility Menu invokes the editor on this file. The
internal format of the file is as follows:
If the MFEXTMAP.DAT file does not exist, it is created for you with an
example layout and recommended standards.
Note: If more than one program is being developed at the same time they
share MFEXTMAP.DAT. If two or more programs have the same DDNAME, the
lines for that program must be placed higher in the file to ensure they
are detected first.
# 17.5.10 {Fileaid-PC/VS (Option 3.F)}
Compuware's Fileaid-PC/VS can be invoked if it is installed.
When invoked, Fileaid-PC appears in the VS (VSAM) mode and this can be
toggled to IMS or DB2 (if installed) modes by use of F2=Change Environment
command.
Please note that Fileaid-PC is a self contained program an its panels are
not modifiable nor are function key settings passed from SPF/Pro to
Fileaid-PC.
# 17.5.11 {ProxMVS (Option 3.P)}
Proximity Software's JCL emulator PROXMVS can be invoked from this option
if it is available.
# 17.6 {Foreground Menu (Option 4)}
Foreground gives access to the most common features of the Workbench
products involved in Check, Compile, Animate and Run.
SPF/Pro(1) ------------ Custom Dialog for MF Foreground Options ----------- 5.0
OPTION===>
Foreground Processing Options
1 CHECK - Check program (to .INT)
2 COMPILE - Compile program (to .GNT)
3 ANIMATE Batch Non-IMS - Batch Programs (with QSAM/VSAM/DB2)
4 ANIMATE IMS - Batch(IMS/DB)/Online(IMS/DC) Programs (with DB2)
5 ANIMATE CICS - Online(CICS) Programs (with VSAM/IMS/DB2)
6 RUN Batch Non-IMS - Batch Programs (with QSAM/VSAM/DB2)
7 RUN IMS - Batch(IMS/DB)/Online(IMS/DC) Programs (with DB2)
8 RUN CICS - Online(CICS) Programs (with VSAM/IMS/DB2)
(Select option and press ENTER )
+----------------+----------------------------------------------------+------+
| Program Type: | Animation or Run option: |Select|
| CICS | Animation or Run via CICS (including CICS/IMS/DB2) | 5/8 |
| IMS/DB | Animation or Run via IMS (including IMS/DB/DB2) | 4/7 |
| IMS/DC | Animation or Run via IMS (including IMS/DC/DB2) | 4/7 |
| Other | Animation or Run via 'Normal' (incl. Batch/DB2) | 3/6 |
+----------------+----------------------------------------------------+------+
CHECK
Check program (to .INT). Programs of all kinds can be checked in this
option. If required the CICS HLPI(IMS) or DB2(XDB) pre-processor can be
invoked. If checker errors are detected control is passed to SPF/Pro
Edit.
COMPILE
Compile program (to .GNT). Programs can be compiled and thus have
their code optimized.
Note: .GNT programs cannot be animated.
ANIMATE Batch
Animate batch non-IMS. Invoke the animator for all batch COBOL
programs not using IMS or CICS.
ANIMATE IMS
Animate batch IMS/DB or online IMS/DC. Invoke the animator for batch
or online COBOL programs using IMS.
ANIMATE CICS
Animate online CICS. Invoke the animator for online COBOL programs
using CICS.
RUN Batch
Run batch COBOL programs not using IMS or CICS.
RUN IMS
Run batch or online COBOL programs using IMS. Invoke 'native' IMS and
start the application with a TRANCODE, /FOR, BMP, prog, psb or DLI,
prog, psb option.
RUN CICS
Run online COBOL programs using CICS. Invokes MCO (the CICS option).
# 17.6.1 {Foreground Check (Option 4.1)}
The Check panel allows you to specify a COBOL source file to be syntax
checked to produce .INT executables. After compilation, if any errors have
been detected, the error messages are posted into the source file as
=NOTE= lines allowing easy correction of syntax errors.
SPF/Pro(1) ----------------- Custom Dialog for MF Checker ----------------- 5.0
COMMAND ===>
ENTER NAME OF PROGRAM TO BE CHECKED:
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.cbl
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES: PREPROCESS REQUIREMENTS: OTHER DIRECTIVES:
Language ===>VSC23 EXEC SQL ===>N (Y/N) ________________________
Error Pause ===>N (Y/N) EXEC CICS ===>N (Y/N) ________________________
CSI ===>N (Y/N) EXEC DLI ===>N (Y/N) ________________________
Structure ===>N (Y/N) Subroutine ===>N (Y/N) ________________________
Analyze ===>N (Y/N) ________________________
List to ===>NONE (NONE/CON/PRN:/FILE)
Press ENTER to continue END to exit with no action
The directives in use can be viewed and edited via Custom Dialog for MF
Option 7.
Fields on the panel:
Name of program to be checked
Required. A file name of a COBOL Source (usually .CBL or .CPY). Wild
cards are permitted. If specified, the 'system file spec' takes
precedence. If a 'wild card' is specified, SPF/Pro presents a select
list of all files matching the search criteria. Several programs can
be checked by selecting each one with an 'S'. After checking the
results are displayed alongside. Further panel field descriptions can
be found on the next panel.
Directives:
Language
Required. Specify one of: OSVS, VSC21, VSC22, VSC23, VSC24, COB370,
DOSVS, SAAL1, SAAL2, ANS85, MF, WB, NONE. This specifies the
language dialect. Details of current checker directives can be found
via panel M.5.
continued ...
Error Pause
Required. Specify one of: 'Y' or 'N'. Should a syntax error
(information, warning, error or severe depending on the WARNING
directive) be detected should the compilation stop? If the answer is
Y, you have the option to continue or return to the source file to
correct the errors.
CSI
Required. Specify one of: 'Y' or 'N'. COBOL Source Information.
CSI provides for online help information about a COBOL program. If
this option is selected CSI becomes available in the Animator.
Structure
Required. Specify one of: 'Y' or 'N'. This causes the program to be
checked such that a hierarchical structure diagram can be presented
during animation.
Analyze
Required. Specify one of: 'Y' or 'N'. This causes the program to be
checked such that the analyzer can be invoked during animation. The
analyzer counts lines as they are executed.
List to
Required. Specify one of: CON, LPT1, LPT2, LPT3, PRN: and FILE.
This option specifies where the listing is to be displayed. CON is
the console (or screen), FILE is a file (name.LST), and the others
are printers.
Preprocess Requirements:
EXEC SQL
Required. Specify one of: 'Y' or 'N'. If the program contains
embedded SQL statements invoke the appropriate pre-processor.
EXEC CICS
Required. Specify one of: 'Y' or 'N'. If the program contains EXEC
CICS statements invoke the appropriate pre-processor.
EXEC DLI
Required. Specify one of: 'Y' or 'N'. If the program contains
embedded HLPI statements invoke the appropriate pre-processor.
Subroutine
Required. Specify one of: 'Y' or 'N'. When a subroutine is compiled
which contains embedded SQL it has to be compiled differently to a
main-program. Main programs use the Logon and Logoff pre-processor
directives to establish communication with the XDB Server.
Subroutines must not do this. If done, the linkage is lost.
This option only takes effect if XDB Pre-process is also selected.
Other Directives
Optional. Five input fields are available. Here any other checker
directives can be added. For a full list of these directives choose
Hyhelp =M.3.0.
An example of selected list for compilations follows. Note how several
programs can be selected together and the results of the compilations
shown in the message column.
SPF/Pro(1) ---------------- Custom Dialog Select List ---------- ROW 099 OF 145
COMMAND ===> SCROLL ===>CSR
Foreground Checker
Type an S against each entry to action or E to Edit the file
Name Date Time Size Attr Message
------------------------------------------------------------------------------
PROGRAMA CBL 1990/06/13 02:41 566 A-
PROGRAMB CBL 1989/02/21 14:08 923 A-
PROGRAMC CBL 1989/02/21 15:33 2955 A-
PRINTPRG CBL 1991/09/11 12:23 4674 A-
PUBLISHR CPY 1991/05/01 02:23 2190 A- Check failed
READER01 CBL 1991/05/01 02:23 2091 A- Checked errors
READER02 CBL 1991/05/01 02:23 2091 A- Checked OK
REPORT01 CBL 1991/05/07 12:31 2712 A-
REPORT02 CBL 1991/09/11 12:10 3545 A-
REPORT03 CBL 1989/02/21 17:44 1238 A-
REPORT04 CBL 1990/04/30 11:21 2451 A-
ROOMPLAN CPY 1990/01/23 14:14 2451 A-
ROUTERX1 CBL 1990/04/30 11:24 2370 A-
RTS-INVO CBL 1990/05/03 12:22 2422 A-
SALESLST CBL 1991/05/01 02:23 845 A-
SCREEN1 CPY 1991/04/08 05:23 28497 A-
SCREEN2 CPY 1991/05/01 02:23 4976 A-
The message Checker failed is issued if the checker is terminated before
it completes the check process. Checked errors means that syntax errors
were detected and these can be seen as =NOTE= lines in the source be
selecting the file again with an "E" (for Edit). If the message is Checked
OK, there are no syntax errors and the program is ready to be tested.
# 17.6.2 {Foreground Compile (Option 4.2)}
The Compile invokes COBOL to convert .INT programs to .GNT (optimized).
SPF/Pro(1) ----------------- Custom Dialog for MF Compiler ---------------- 5.0
COMMAND ===>
ENTER NAME OF PROGRAM TO BE COMPILED: TARGET PATH OF .GNT
DRIVE ===>E: DRIVE ===>
PATH ===>\master PATH ===>
PATH ===>\source PATH ===>
PATH ===> PATH ===>
NAME ===>*.cbl (note any .INT and .IDY will be deleted)
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES:
ASM ===>N (Y/N)
List to ===>NONE
Bound ===>Y (Y/N)
Press ENTER to continue END to exit with no action
Fields on the panel:
Name of program to be compiled
Required. A file name of a checked program (.INT). Wild card
specification is permitted. If present the 'system file spec' is used
in preference.
Directives:
ASM
Required. Specify one of: 'Y' or 'N'. This specifies whether an
assembly listing is to be produced, or not.
List to
Required. Specify one of: CON, LPT1, LPT2, LPT3, PRN: and FILE.
This option specifies where the listing is to be displayed. CON is
the console (or screen), FILE is a file (name.LST), and the others
are printers.
Bound
Required. Specify one of: 'Y' or 'N'. Specifies whether subscript
and index boundary checking should be done.
# 17.6.3 {Batch Animation (non-IMS) (Option 4.3)}
SPF/Pro(1) ----------------- Custom Dialog for MF Animator ---------------- 5.0
COMMAND ===>
ENTER NAME OF PROGRAM TO BE ANIMATED (WITH PARMPASS):
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.INT
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES:
Structure ===>N (Y/N)
Analyze ===>N (Y/N)
Zoom ===>N (Y/N)
Others ===>user-session(pm) end_________________________________________
===>_____________________________________________________________
===>_____________________________________________________________
Press ENTER to continue END to exit with no action
The animation panel allows you to select the name of a program (.INT) for
animation. Wild cards can be used and the program selected from a list.
Fields on the panel:
Name of program to be animated
Required. A file name of clean checked program with a .INT extension.
Wild cards may be used to obtain a selection list. The system 'file
spec' is used if present.
Directives:
Structure
Required. Specify one of: 'Y' or 'N'. This causes the program
structure diagram to be drawn when animation commences. If the
program has not been checked with the structure option, no structure
will be drawn.
Analyze
Required. Specify one of: 'Y' or 'N'. This causes the analyzer to
be turned on during animation. The analyzer counts lines as they are
executed and can be used with CSI. If the program has not been
checked with the analyze option, this will not occur.
Zoom
Required. Specify one of: 'Y' or 'N'. This option invokes the
animator in zoom mode. That is, program execution begins without the
animate screen. The animator appears only if an exception condition
occurs, a break point is encountered or you type [CTRL].
Others
Optional. Entry space is available for free form entry of other
Animator directives.
# 17.6.4 {Batch Animation IMS (Option 4.4)}
To animate an IMS program the IMS Emulation environment must be loaded.
Once the environment has loaded, the following screen is presented.
CONNECTED TO MICRO FOCUS IMS OPTION (Version=3.x.xx ApplRgnID=0074)
To invoke a program there are three possible methods.
* Enter the TRANCODE as defined in IMSCONFIG, see Option I.0
* Enter 'BMP,progname,psbname' for a BMP type program
* Enter 'DLI,progname,psbname' for a DLI type program
# 17.6.5 {Batch Run non-IMS (Option 4.6)}
The run panel allows you to select the name of a program (.INT or .GNT)
for execution. Wild cards can be used and the program selected from the
list offered.
SPF/Pro(1) ------------------- Custom Dialog for MF Run ------------------- 5.0
COMMAND ===>
ENTER NAME OF PROGRAM TO BE RUN (WITH PARMPASS):
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.INT
SYSTEM FILE SPECIFICATION:
===>
Press ENTER to continue END to exit with no action
Fields on the panel:
Name of program to be run
Required. A file name of clean checked program with a .INT extension.
Wild cards may be used to obtain a selection list. The system 'file
spec' is used if present.
# 17.6.6 {Batch Run IMS (Option 4.7)}
To run an IMS program, the IMS Emulation environment must be loaded. Once
the environment has loaded, the following screen is presented.
CONNECTED TO MICRO FOCUS IMS OPTION (Version=3.x.xx ApplRgnID=0074)
To invoke a program there are three possible methods.
* Enter the TRANCODE as defined in IMSCONFIG, see Option I.0
* Enter 'BMP,progname,psbname' for a BMP type program
* Enter 'DLI,progname,psbname' for a DLI type program
# 17.7 {Background Menu (Option 5)}
SPF/Pro(1) ------------ Custom Dialog for MF Background Options ----------- 5.0
OPTION===>
Background Processing Options
1 CHECK - Check program (to .INT)
2 COMPILE - Compile program (to .GNT)
Check and compile will execute in background, i.e. separate sessions
will be started (START command) and will complete independently.
(Select option and press ENTER )
Background gives access to the most common features of the Workbench
products involved in Check and Compile. On completion of the selected
task, the success or failure of the event is posted to the screen.
CHECK
Check program to produce .INT format. Programs of all kinds can be
checked in this option. If required the CICS HLPI(IMS) or DB2(XDB)
pre-processor can be invoked. If checker errors are detected control is
passed to the editor (SPF).
COMPILE
Compile program to produce .GNT format. Programs can be compiled and
thus thus have their code optimized.
Note: .GNT programs cannot be animated.
# 17.7.1 {Background Check (Option 5.1)}
The Check panel allows you to specify a COBOL source file to be syntax
check to .INT executables. After compilation, the system displays the
outcome of the check to the screen.
SPF/Pro(1) ----------------- Custom Dialog for MF Checker ----------------- 5.0
COMMAND ===>
ENTER NAME OF PROGRAM TO BE CHECKED:
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.CBL
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES: PREPROCESS REQUIREMENTS: OTHER DIRECTIVES:
Language ===>VSC23 EXEC SQL ===>N (Y/N) ________________________
Error Pause ===>N (Y/N) EXEC CICS ===>N (Y/N) ________________________
CSI ===>N (Y/N) EXEC DLI ===>N (Y/N) ________________________
Structure ===>N (Y/N) Subroutine ===>N (Y/N) ________________________
Analyze ===>N (Y/N) ________________________
List to ===>NONE (NONE/CON/PRN:/FILE)
Press ENTER to continue END to exit with no action
The directives in use can be viewed and edited via Custom Dialog for MF
Option 7.
The fields on the Background Check Panel are identical to those on the
Foreground Check Panel described on page 142.
# 17.7.2 {Background Compile (Option 5.2)}
SPF/Pro(1) ----------------- Custom Dialog for MF Compiler ---------------- 5.0
COMMAND ===>
ENTER NAME OF PROGRAM TO BE COMPILED: TARGET PATH OF .GNT
DRIVE ===>E: DRIVE ===>
PATH ===>\master PATH ===>
PATH ===>\source PATH ===>
PATH ===> PATH ===>
NAME ===>*.CBL (note any .INT and .IDY will be deleted)
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES:
ASM ===>N (Y/N)
List to ===>NONE
Bound ===>Y (Y/N)
Press ENTER to continue END to exit with no action
The Compile invokes COBOL to convert .INT programs to .GNT (optimized).
The fields on the Background Compile Panel are identical to those on the
Foreground Compile Panel described on page 146.
# 17.8 {Edit Checker Directives (Option 7)}
SPF/Pro(1) ----------- Custom Dialog for MF Compiler Directives ----------- 5.0
OPTION===>
0 OSVS - IBM OSVS COBOL Compiler (ANSI 74)
1 VSC21 - IBM Version 2 COBOL Compiler release 1
2 VSC22 - IBM Version 2 COBOL Compiler release 2
3 VSC23 - IBM Version 2 COBOL Compiler release 3
4 VSC24 - IBM Version 2 COBOL Compiler release 4
5 COB370 - IBM COBOL 370 Compiler
6 SAAL1 - IBM SAA Level 1
7 SAAL2 - IBM SAA Level 2
8 DOSVS - IBM DOS/VS Compiler (ANSI 68)
A ANS85 - ANSI 85 COBOL Compiler
C COBOL - Micro Focus COBOL.DIR default directive file
M MF - ANSI 85 COBOL with Micro Focus extensions
W WB - Default compiler directives file
+----------------------------------------------------------------------------+
| You can edit the compiler directive files for the particular dialect of |
| COBOL you are using. A backup copy of the directives file will be made. |
+----------------------------------------------------------------------------+
This menu allows you to edit the mainframe style environment variable
files supplied by Micro Focus. These files are found on the COBDIR
environment variable path.
# 17.9 {IMS Menu (Option I)}
The IMS Menus include access to the most common IMS Utilities:
SPF/Pro(1) ----------------- Custom Dialog for MF IMS Menu ---------------- 5.0
OPTION===>
IMS Main Menu (access to IMSVS86 tools)
0 IMSGEN - IMS configuration and installation information
1 DBDGEN - DBDGEN and/or ZEROLOAD a database
2 ZEROLOAD - ZEROLOAD a database
3 PSBGEN - PSBGEN
4 MFSGEN - MFSGEN and /FOR emulation
5 MFSPaint - MFS Screen Painter (if installed)
6 IMSPRINT - Convert BTS.LST into user readable format
7 Animate - Invoke IMS Animation Environment
8 Run - Invoke IMS Run Environment
F File-AID/PC IMS - Invoke File-AID/PC for IMS IF INSTALLED
(Select one option and press ENTER or END to exit)
IMSGEN
IMS Configuration and environment maintenance.
DBDGEN
Database Description Generation and Optional Zeroload.
ZEROLOAD
Initialize database area in preparation for receipt of data.
PSBGEN
Program Specification Block Generation.
MFSGEN
Message Format Services Generation and Optional /FOR test.
MFSPaint
Message Format Services Screen Painter (IMSVS86 Optional Product).
IMSPRINT
Convert BTS trace file to readable format and browse results.
Animate
Invoke Animator in 'native' IMS.
Run
Invoke Run in 'native' IMS.
# 17.9.1 {IMSGEN (Option I.0)}
When the IMSGEN option is selected, the IMSGEN panel appears. This gives
access to the following features:
* Define transaction codes
* Define logical terminal ids
- General configuration options
- Colorization options
- IMS Data Communications (IMSDC)
- IMS Database options (IMSDB) cache sizes, shared database options,
catalog defaults etc.
* DBDGEN maintenance (view/delete) including BTS tracing options, 5x
PSB/DBD information (view/delete) DB2 emulator used and IMSLIB
* PSBGEN maintenance (view/delete)
* MFSGEN information (view/delete)
* Reorganize DBDGEN library (The reorganize option REPRO's the file
consolidating the space used by deleted entries and improving IMS
performance)
* Reorganize PSBGEN library define USER ID, LTERM, PFKEY
* Reorganize MFSGEN library type, max SPA size etc.
* Catalog database definition
Help for IMSGEN is included for completeness as IMSGEN does not contain
any help. The IMSGEN panels are not modifiable as they are hard coded into
IMSVS86.
# 17.9.2 {DBDGEN (Option I.1)}
The DBDGEN panel allows you to select a file containing DBD macros (the
usual naming convention is name.DBD) for generation.
SPF/Pro(1) ------------------ Custom Dialog for MF DBDGEN ----------------- 5.0
COMMAND ===>
ENTER NAME OF DBD TO BE GENERATED:
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.DBD
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES:
COPY ext ===>CPY blank, CPY, ASM or NULL
Listing ===>N (Y/N)
Map ===>N (Y/N)
Run type ===>NORMAL NORMAL, PHYSONLY or VIRTONLY
DBDGen/Zeroload ===>G G(en only), Z(eroload only) or B(oth)
Press ENTER to continue END to exit with no action
Fields on the panel:
Name of DBD to be generated
Required. A file name of DBD macros. Wild card specification is
permitted. If present, the 'system file spec' is used in preference.
Directives:
Copy ext
Optional. Specify one of: 'blank', 'CPY', 'ASM' or 'NULL'. This
specifies the extension used on any file names which contain DBD
macros in copybooks. The 'CPY' option is the usual one.
Listing
Required. Specify one of: 'Y' or 'N'. Specifies whether a hard
copy listing is to be produced or not. If specified, a the listing
is placed in file "name.LST" which is printable.
Map
Required. Specify one of: 'Y' or 'N'. Specifies whether a
hierarchical map of the DBD is to be generated. The map shows
pictorially the database hierarchy. If 'Y' is specified, the map is
placed in file "name.MAP" which can be browsed or printed later.
Run Type
Required. Specify one of: 'NORMAL', 'PHYSONLY' or 'VIRTONLY'.
-- NORMAL - both the physical and logical elements of the DBD are
processed and generated. If the physical base segments which are
described as logical in this DBD have not themselves been
generated yet, the DBDGEN will fail.
-- PHYSONLY - allows all the DBDs to have just their physical
components generated.
-- VIRTONLY - allows for later generation of the logical segments.
DBDGen/Zeroload
Required. Specify one of: 'G', 'Z' or 'B'. This selects the action
to be taken.
-- If just a DBDGEN is required, select 'G' generation only.
-- If just a Zeroload (initialization of the database and
destruction of data - if any) is required, select 'Z'.
-- If both a DBDGEN and a Zeroload are required, choose 'B' for
both.
# 17.9.3 {ZEROLOAD (Option I.2)}
If an IMS database is about to be used for the first time or if it needs
to be re-initialized a Zeroload is performed. This panel allows the name
of the database to entered.
SPF/Pro(1) ---------- Custom Dialog for MF Zero Load IMS Database --------- 5.0
COMMAND ===>
Zeroload and IMS Database
If you ZEROLOAD the database all data will be lost. You must DBD Gen the
database first. You can DBDGEN and ZEROLOAD from the DBDGEN panel.
Enter IMS Database ===>
Press ENTER to continue END to exit with no action
Zeroload can also be achieved via the DBDGEN panel.
Field on the panel:
IMS Database
Required. The name of a DBDGENed database. A name.GNT should exist for
the specified database.
# 17.9.4 {PSBGEN (Option I.3)}
The PSBGEN panel allows you to select a file name containing PSB macros
(the usual naming convention is name.PSB) for generation.
SPF/Pro(1) ------------------ Custom Dialog for MF PSBGEN ----------------- 5.0
COMMAND ===>
ENTER NAME OF PSB TO BE GENERATED:
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.PSB
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES:
COPY ext ===>CPY blank, CPY, ASM or NULL
Listing ===>N (Y/N)
Verify ===>Y (Y/N) Y recommended
Press ENTER to continue END to exit with no action
Fields on the panel:
Name of PSB to be generated
Required. A file name of PSB macros. Wild card specification is
permitted. If present, the 'system file spec' is used in preference.
Directives:
Copy ext
Optional. Specify one of: 'blank', 'CPY', 'ASM' or 'NULL'. This
specifies the extension used on any file names which contain PSB
macros in copybooks. The 'CPY' option is the usual one.
Listing
Required. Specify one of: 'Y' or 'N'. Specifies whether a hard copy
listing to be produced. If specified, the listing is placed in file
"name.LST" which is printable.
Verify
Required. Specify one of: 'Y' or 'N'. Specifies whether the PSB is
to be validated against the DBD (effectively an ACBGEN). It is
recommended that this be done.
# 17.9.5 {MFSGEN (Option I.4)}
The MFSGEN panel allows you to select a file name containing MFS macros
(the usual naming convention is name.MFS) for generation.
SPF/Pro(1) ------------------ Custom Dialog for MF MFSGEN ----------------- 5.0
COMMAND ===>
ENTER NAME OF MFS TO BE GENERATED:
DRIVE ===>E:
PATH ===>\master
PATH ===>\source
PATH ===>
NAME ===>*.MFS
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES:
COPY ext ===>CPY blank, CPY, ASM or NULL
Listing ===>N (Y/N)
/FOR ===>Y (Y/N)
3270 Model ===>MOD2 MOD2, MOD3, MOD4, MOD5 or MODEL(?)
Stack ===>OFF AUTO, OFF or ON
Press ENTER to continue END to exit with no action
Fields on the panel:
Name of MFS to be generated
Required. A file name of MFS macros. Wild card specification is
permitted. If present, the 'system file spec' is used in preference.
Directives:
Copy ext
Optional. Specify one of: 'blank', 'CPY', 'ASM' or 'NULL'. This
specifies the extension used on any file names which contain MFS
macros in copybooks. The 'CPY' option is the usual one.
Listing
Required. Specify one of: 'Y' or 'N'. Specifies whether a hard copy
listing to be produced. If specified, the listing is placed in file
"name.LST" which is printable.
/FOR
Required. Specify one of: 'Y' or 'N'. Specifies whether a /FOR
message is to be issued after successful generation. If specified,
the message is presented on the screen. The message can be modified
for testing purposes.
3270 Model
Required. Specify one of: MOD2, MOD3, MOD4, MOD5, MODEL(?). This
indicates the target terminal type for the generation. Model2 is 80
columns by 24 lines.
Stack
Required. Specify one of: 'AUTO', 'OFF' or 'ON'.
# 17.9.6 {MFSPaint (Option I.5)}
This product allows you to Paint MFS screen layouts and then generate the
MFS macros and copybooks for them.
Since the SPF like dialog is hard coded, the panels cannot be modified.
MFS Paint/MSG are optional products and do not not form part of the
IMSVS86 product suite.
# 17.9.7 {IMSPrint (Option I.6)}
If BTS (Batch Terminal emulator) tracing is switched on (see IMSGEN option
3A) then a file called BTS.LST (by default) is created as programs are Run
and Animated. This file is overwritten each time a program is run.
Because the data is usually stored in EBCDIC, file BTS.LST is unreadable.
IMSPRINT reads this file and converts it to ASCII with some additional
formatting in case the file is to be printed. Once the conversion is
complete, the file is Browsed. Use the PRINT ALL primary command to print
the file. The converted file is called IMSPRINT.LST.
Note: If in IMSGEN, and the name is changed, this option will not work.
# 17.9.8 {ANIMATE (Option I.7)}
Animate batch IMS/DB or online IMS/DC. Invoke the animator for batch or
online COBOL programs using IMS.
# 17.9.9 {RUN (Option I.8)}
Run batch or online COBOL programs using IMS. Invoke 'native' IMS and
start the application with a TRANCODE, /FOR, BMP, prog, psb or DLI, prog,
psb option.
# 17.9.10 {Fileaid-PC/IMS (Option I.F)}
Compuware's Fileaid-PC/IMS can be invoked if it is installed.
When invoked, Fileaid-PC appears in IMS mode. The mode can be toggled to
VSAM or DB2 (if installed) by use of F2=Change Environment command.
Fileaid-PC is a self contained program, not part of SPF/Pro. Its panels
are not modifiable nor are function key settings passed from SPF/Pro to
Fileaid-PC.
# 18. {Custom Dialog for XDB}
This custom dialog provides an ISPF/DB2I like interface to XDB Systems'
XDB database and all of its features.
Appropriate XDB programs are invoked in batch mode using all published
interfaces. Options are captured in normal SPF/Pro dialogs and passed to
XDB. Results are then presented to the user as panels or as messages
depending on the context.
The arrangement of options in Custom Dialog for XDB is designed to echo
the organization of XDB itself. For example F1 on the XDB main menu is
Create/Alter. Option 1 in Custom Dialog for XDB is also Create/Alter.
The main menu of Custom Dialog for XDB gives access to all the main
features of the tool. Here is a brief summary of the facilities. Further,
more detailed, information can be obtained by selecting an option and
selecting HELP from that panel.
SPF/Pro(1) ----------------------- Custom Dialog for XDB ------------------ 4.0
OPTION ===>
Custom Dialog for XDB Main Menu
0 XDB - Access XDB Main Menu
1 CREATE/ALTER - Create/Alter Menu (location, table, or index)
2 DATA ENTRY - Invoke XDBEDIT (similar to DB/ProEdit)
3 SPUFI - SQL Processing Using File Input
4 DCLGEN - Invoke XDBDCLGE to gen. COBOL copybooks
5 QMT - Invoke XDBQMT (similar to QMF) - IF INSTALLED
6 IMPORT - Invoke XDBIMPOR to load data and SQL
7 EXPORT - Invoke XDBEXPOR to unload data and SQL
8 Select Location - Alter current location
9 XDB Profile - Invoke XDBPROFI for profile and config information
10 DATA DICTIONARY - Invoke XDBDATAD for data dictionary information
11 Error messages - XDB and DB2 error codes and messages
F File-AID/PC - Invoke File-AID/PC for DB2 - IF INSTALLED
Location : SYSTEM
Application : E:\XDBOPSYS\TUTORIAL\
Select one option and press Enter or press END to exit.
The XDB/DB2 options are listed below. The help topics are selected by
number:
continued ...
# 18.1 {Access XDB Main Menu}
If you require direct access to the XDB menu, this option simply invokes
XDB in native mode. The user should have some familiarity with XDB in
order to do this.
By selecting this option XDB is loaded in 'native' mode. The familiar XDB
main menu appears. The function key assignments are as XDB has defined
them - this means that F3 is not END, instead ESC must be used to exit
back to SPF/Pro. Menu options are:
continued ...
# 18.2 {Create/Alter Menu}
The Create/Alter menu lists three options. These are:
SPF/Pro(1) ---------------- Custom Dialog for XDB Create/Alter ------------ 4.0
OPTION ===>
1 Location - Interactive Create/Alter Table
2 Index - Interactive Create/Alter Index
3 Table - Interactive Create/Alter Table
A location must be created before objects are defined for development. Once
it is created it must be pointed to via D.8.
Tables and indexes will be created (by default) in the current location.
Location : SYSTEM
Application : E:\XDBOPSYS\TUTORIAL\
Select one option and press Enter or press END to exit.
These three utilities work interactively to emulate the CREATE LOCATION,
CREATE TABLE and CREATE TABLE statements.
A LOCATION is similar in function to a DB2 subsystem. It has its own
Catalog and can contain a number of databases, tables and indexes. It
contains, by default, a number of databases, DSNDB04 (default database),
DSNDB06 (system catalog), XDBACF (access control facility tables) and
DSNDDF (local and remote locations).
A new SQL statement is available which can be executed from SPUFI to
define define a location. The syntax is:
CREATE LOCATION name IN path
[ SORT SEQUENCE EBCDIC | INSENSITIVE | SENSITIVE | USER ]
[ FORWARD LOG name ]
[ XDB SYSTEM TABLES ] ;
Note: EBCDIC sensitivity is set for the Location not for the User as
previously. The XDB SYSTEM TABLES option allows for version 2.41 XDB
tables.
A TABLE is identical in XDB and DB2. It can be defined as usual with a
CREATE TABLE statement in SPUFI as normal or Option D.1.2 allows
interactive definition of the table.
An INDEX is identical in XDB and DB2. It also can be defined as usual with
a CREATE INDEX statement in SPUFI as normal or Option D.1.3 allows
interactive definition of the table.
# 18.3 {XDB Data Entry}
The data entry utility is designed to allow tables to be viewed and
modified directly. Simple predicates can be specified to limit the number
of rows which listed. Rows can be listed in single line (formatted screen
layout) or multiple line mode.
When this option is selected XDBEDIT is invoked directly. This means that
function key assignments are those defined by XDB. F3 will not return
control to SPF/Pro, however ESC will.
Use of data entry is similar in function to the DB/ProEdit utility tool
found in some mainframe environments.
# 18.4 {SPUFI - SQL Processing Using File Input}
The SPUFI panel is comprised of three distinct phases:
* Edit SQL statements
* Execute SQL statements
* Browse results
On the panel the fields are completed as follows:
SPF/Pro(1) -------------------- Custom Dialog for XDB SPUFI --------------- 4.0
COMMAND ===>
ENTER NAME OF INPUT SQL DATASET:
DRIVE ===> E:
PATH ===> \master
PATH ===> \source
PATH ===> \sql
NAME ===> *.sql
OUTPUT FILE SPECIFICATION:
===> e:\work\results.out
DIRECTIVES:
Edit SQL ===> Y (Y-yes, N-no) Echo SQL commands ===> N (Y-yes, N-no)
Execute SQL ===> Y (Y-yes, N-no)
Browse Results ===> Y (Y-yes, N-no)
Location : SYSTEM
Application : E:\XDBOPSYS\TUTORIAL\
Press ENTER to continue END to exit with no action
INPUT SQL DATASET
The path and name of a file which contains SQL statements. If the file
does not exist, it is created. Usual file extension is .SQL. Blank
offers a selection list.
OUTPUT FILE SPEC
The name of the results file. If it already exists, it is over-written,
if it does not it is created.
DIRECTIVES
The directives control the behavior of the SPUFI emulator.
EDIT SQL
Cause edit to be invoked. Initially set to 'Y'.
EXECUTE SQL
Run XDBSQL in batch mode. Initially set to 'Y'.
BROWSE RESULTS
Browse the output file. Initially set to 'Y'.
As each SQL statement is encountered it is separated and written to a
temporary file called \XDB-n.SQL (where 'n' is the number of the SQL
statement). Each of these files is passed, in turn, to XDBSQL in batch
mode (/B). If the SQL statement is a SELECT, the output is sent to
\XDB-n.RES. If SQL errors are found, they are be placed in \XDB-n.ERR.
These files are found in the \TMP directory wherever XDB is installed.
When all the SQL statements have been executed the files are combined into
the designated output file. Additional 'break' lines are added to this
file to improve the layout and to more closely reflect the mainframe look
of SPUFI output files.
SQL and DB2 errors are both reported. A full description of these errors
is available via help panel D.11.
# 18.5 {DCLGEN}
Data Control Language COBOL Copybook Generation (DCLGEN) creates a
copybook for inclusion in COBOL programs which use embedded SQL. The
copybooks contain a DECLARE TABLE and a record layout. To use:
EXEC SQL INCLUDE
name
END-EXEC
where 'name' is the name of a file (extension .CPY usually) on the COBDIR
path.
SPF/Pro(1) --------------- Custom Dialog for XDB DCL Generation ----------- 4.0
COMMAND ===>
TABLE NAME ===> CUSTOMER_ID_LIST
FIELD PREFIX ===> (if required)
REAL OR NUMBERED PREFIX ===> R (R-real, N-numbered)
STRUCTURE NAME ===> CUST-ID-LST (default = 'DCL-table')
COBOL COPYBOOK NAME ===> E:\MASTER\COPY\CUST0001.CPY
Location : SYSTEM
Application : E:\XDBOPSYS\TUTORIAL\
Press ENTER to continue END to exit with no action
The DCLGEN panel needs the following information:
Table name
The name of a table in the current location. If the table is in another
location, the location should be changed via Option D.8.
Field prefix
A prefix for the column names.
Real or numbered prefix
Should the column names be used (real) or sequential numbers.
Structure name
The 01 level name to be used. Defaults to DCL-table name.
COBOL copybook name
The name of the copy book (usually name.CPY). This file is placed in
the \XDB\DB2WB\COBCPY directory.
Example of DCLGEN options:
Assuming a sample table created as follows:
CREATE TABLE SAMPLE(FIELD1 CHAR(10), FIELD2 SMALLINT, ...);
The generated copy books are in one of the following formats:
continued ...
# 18.6 {QMT - Query Management Tool}
The Query Management Tool is an XDB utility (similar to QMF from IBM)
which allows interactive definition of queries and report layouts for
regularly used table interrogations.
Access from the menu launches QMT directly. Function key assignments are
not carried over into QMT. To return to SPF/Pro, press [ESC].
It provides 5 main functions, Query (to run SQL queries and create simple
report layouts), Form (to customize report layouts), Report (display a
report), Chart (convert reports into graphs and charts) and Procedure
(create programs to automatically run reports and forms). Additional
miscellaneous utilities are also provided. Import and export utilities
allow transfer of QMT queries to and from QMF.
QMT is an optional product which can be installed alongside XDB. It
provides a QMF like facility which can be used to automate the selection
of data in to reporting and interactive applications.
QMT can import and export the underlying data used by QMF on the
mainframe.
If QMT is not installed, an error is reported.
# 18.7 {IMPORT}
The Import panel of this custom dialog provides a simple interface to the
XDBIMPOR utility which takes a file in DSNTIAUL format and uses it to
populate a table either by replacing or appending the rows.
SPF/Pro(1) ------------------- Custom Dialog for XDB Import --------------- 4.0
COMMAND ===>
ENTER NAME OF DSNTIAUL UNLOADED DATAFILE:
DRIVE ===> E:
PATH ===> \master
PATH ===> \download
PATH ===>
NAME ===> *.dnl
SYSTEM FILE SPECIFICATION:
===>
DIRECTIVES:
TABLE NAME ===> CUSTOMER_ID_LIST
(name in format: [location.][authid.]table )
REPLACE/APPEND ===> R (R-replace, A-append) Replace rows or append to table
NULLS/BLANKS ===> N (N-nulls, B-blanks) Treat empty flds as null or blanks
Location : SYSTEM
Application : E:\XDBOPSYS\TUTORIAL\
Press ENTER to continue END to exit with no action
DSNTIAUL files can be produced on the mainframe from DB2 tables and down
loaded or produced from XDB tables using the export utility (Option D.7).
Panel fields:
Unloaded datafile
The path and name of the file containing the unloaded data
System file
Alternate path and name of the unloaded data file
Directives:
Table name
The name of a table in the current location
Replace/Append
Specify whether rows are to replace those already there or be
appended
Nulls/Blanks
Specify whether empty fields are to be treated as NULL or blanks
# 18.8 {EXPORT}
The Export panel of this custom dialog provides a simple interface to the
XDBEXPOR utility which produces a file in DSNTIAUL format. Additionally
export can generate the SQL DDL statements to CREATE the
table/index/synonyms.
SPF/Pro(1) ------------------- Custom Dialog for XDB Export --------------- 4.0
COMMAND ===>
Export DSNTIAUL data ===> Y (Y/N) | Export SQL DDL source ===> Y (Y/N)
ENTER TARGET DSNTIAUL FILE: | ENTER TARGET SQL DDL FILE:
DRIVE ===> E: | DRIVE ===> F:
PATH ===> \master | PATH ===> \MASTER
PATH ===> \upload | PATH ===> \SOURCE
PATH ===> | PATH ===> \SQL
NAME ===> *.upl | NAME ===> CUST0001.DDL
|
SYSTEM FILE SPECIFICATION: | SYSTEM FILE SPECIFICATION:
===> | ===>
|
DIRECTIVES: | DIRECTIVES:
Table name ===> CUSTOMER_ID_ | Table name ===> user.master
(format:[location.][authid.]table) | (format:[location.][authid.]table)
Replace or Append ===> R (R/A) | Replace or Append ===> R (R/A)
------------------------------------+ SQL Statements to generate (Y/N):
Locn: SYSTEM | CREATE TABLE ===> Y INSERT ===> N
Appl: E:\XDBOPSYS\TUTORIAL\ | CREATE INDEX ===> Y COMMENT ===> Y
Press ENTER to continue END to exit with no action
# 18.8.1 {DSNTIAUL Export Options:}
Export DSNTIAUL data
Specify "Y" to invoke this option.
Target DSNTIAUL file
Path and file name for exported data
System file
Alternate path and file name for exported data
Directives:
Table name
The name of a table in the current location. If the table is not in
the current location, use the location name to prefix the table
name. If two tables exist for different users, include the Authid as
well.
Replace or Append
Replace data in unloaded file or add to the end
# 18.8.2 {SQL DDL Export Options:}
Export SQL DDL source
Specify "Y" to invoke this option.
Target SQL DDL file
Path and file name for exported SQL DDL
System file
Alternate path and file name for SQL DDL
Directives:
Table name
The name of a table in the current location. If the table is not in
the current location, use the location name to prefix the table
name. If two tables exist for different users, include the Authid as
well.
Replace or Append
Replace SQL statements in the file or add to the end
SQL Statements to Gen
Select with 'Y' the options required for generation. Options are
CREATE TABLE, CREATE INDEX and COMMENT. If required, the INSERT DML
statements can be produced for table loading via SPUFI.
# 18.9 {Select Location}
When using XDB it is necessary to specify a Location and an Application
Path which tell the RDBMS where the database files are to be found and
where to find/place generated objects such as unloaded data and SQL DDL.
SPF/Pro(1) -------------------- Custom Dialog for XDB Path ---------------- 4.0
OPTION===>
Select the required location and application path :
Location ===> SYSTEM
Application Path ===> E:\XDBOPSYS\TUTORIAL\
Enter the desired location and application path. These values will be used
to update CONFIG.XDB.
The location is the name of a valid location as defined in the catalog.
The application path is the name of a valid directory for use by XDB.
Press ENTER to continue END to exit with no action
By invoking this option the program XDBPATH is executed. This in turn
updates the CONFIG.XDB file containing this information. Consequently,
when XDB is started, the location and application path set here apply to
XDB also.
The Location is similar to a DB2 location (or DB2 sub-system) in that it
has its own catalog and is usually associated with a separate development
area, as with Development, Testing and Live sub-systems on the mainframe.
The Application Path is the name of a directory which XDB uses as the
default location for finding SQL and data files.
# 18.10 {Profile and Configuration Options}
By selecting this option the XDB program XDBPROFI is invoked. This program
gives access to a number of configuration options. These are listed below:
Install Colors
Colorization option
Locations and Paths
Change the default location, application path, temporary file path and
XDB directory.
Text Editor
Define an alternate text editor
Printer
Specify the correct printer driver to use
Sort Sequence
Define the default sort sequence for the data
Escape Character
Define the character to use in front the "?" character to have it
accepted as text.
Abort Character
Define the key to be used to exit XDB modules
Prompt for Exit Conf.
Define when exit prompts should appear in XDB modules
Compatibility
Select which dialect of SQL to support. Choices are XDB, DB2, ANSI, SAA
and SQL/DS
Date Picture
Choices are USA (MM/DD/YYYY), European (DD.MM.YYYY), ISO (YYYY-MM-DD),
Japanese Industrial Standard Christian Era (YYYY-MM-DD) and User
Defined local standard.
Edit Months
Edit the month names from the default names in English
Weekday Format
Choose between 2, 3 or 4 characters for weekdays.
Time Picture
Choices are USA (HH:MM AM/PM), European (HH.MM.SS 24h), ISO (HH.MM.SS
24h) and Japanese Industrial Standard Christian Era (HH.MM.SS 24h), or
User Defined local standard.
Money Picture
Modify the default picture. This allows modification of the suppression
options. Adding a national language character after the picture allows
local currency presentation.
Decimal Picture
Modify the default picture of -zzzzzzzz,zzz.99.
Floating Point Places
Define the number of decimal places for Float columns
Time Zone
Specify number of hours variable from GMT.
Change Password
Define Users, Authids and Passwords
Backward Logging
Toggles backward logging on/off to allow/disallow the use of ROLLBACK
within XDB.
Isolation Level
Choose between EXCLUSIVE USE (lock entire database), REPEATABLE READ
(Read locks retained to COMMIT point), CURSOR STABILITY (Read locks
maintained until next row read), LOCK CURRENT (lock only current row),
DIRTY READ (No locking - read-only) or SNAPSHOT READ (access works on a
database snapshot).
Autocommit
Toggles autocommit on/off. Autocommit causes all SQL statements to
commit when they have successfully executed.
XDB Server Name
Select the name of the XDB server.
Communication Protocol
Choose the comms protocol. Choose between NETBIOS, Named Pipes, TCP/IP
or Windows Local.
Primary Authid
Primary authorization identifier, usually your name.
User defined options
The user can add additional menu options to the XDB main menu via this
option. These additional options can be third party or locally
developed applications such as report writers and specialized editors.
# 18.11 {Data dictionary}
This provides you with an interactive method of displaying the current
situation in the catalog on a table by table or location wide basis.
# 18.12 {Error messages}
The majority of XDB error messages and SQLCODES can be viewed with this
option. This allows you to look up error codes online when they occur.
SPF/Pro(1) ----- Custom Dialog for XDB DB2 Error Messages ---- ROW 0001 OF 1496
OPTION ===>
Location : SYSTEM
Application : E:\TUTORIAL\
Scroll the list to locate the error.
Error Message
------------------------------------------------------------------------------
+100 ROW NOT FOUND FOR FETCH, UPDATE OR DELETE, OR THE RESULT OF A QUERY
+162 TABLESPACE [name] HAS BEEN PLACED IN CHECK PENDING
+218 THE SQL STATEMENT REFERENCING A REMOTE OBJECT CANNOT BE EXPLAINED.
+304 A VALUE WITH DATA TYPE [name] CANNOT BE ASSIGNED TO A HOST VARIABLE
+402 LOCATION [name] IS UNKNOWN
+403 THE LOCAL OBJECT REFERENCED BY THE CREATE ALIAS STATEMENT DOES NOT E
+558 THE WITH GRANT OPTION IS IGNORED BECAUSE GRANT IS TO PUBLIC
+560 THE WITH GRANT OPTION IS IGNORED FOR UPDATE (COLUMN-LIST)
+561 THE ALTER AND INDEX PRIVILEGES CANNOT BE GRANTED TO PUBLIC AT ALL LO
+625 THE DEFINITION OF TABLE [name] HAS BEEN CHANGED TO INCOMPLETE
+802 EXCEPTION ERROR [name] HAS OCCURRED DURING [name] OPERATION ON [name]
-007 STATEMENT CONTAINS THE ILLEGAL CHARACTER [name]
-060 INVALID [name] SPECIFICATION: [name]
-084 UNACCEPTABLE SQL STATEMENT
# 18.13 {Fileaid-PC/DB2}
Compuware's Fileaid-PC/DB2 can be invoked if it is installed.
When invoked Fileaid-PC appears in the DB2 mode, and this can be toggled
to VS (VSAM) or DB2 (if installed) modes by use of F2=Change Environment
command.
Fileaid-PC is a self contained program, not part of SPF/Pro. Its panels
are not modifiable nor are function key settings passed from SPF/Pro to
Fileaid-PC.
# 19. {Changes (Option C)}
SPF/Pro includes a set of panels that list changes between the release you
are running and the previous release. If you have been regular user of
the previous release you should check this information before using the
new release extensively. If you are not familiar with the previous
release, the information on these panels is not significant.
When you select the Changes Option, SPF/Pro displays a panel that
functions like a table of contents. It lists the changes in the version
you are running by number. You can select topics by number, or press [F3]
or [SPF-Enter] to return to the main menu.
# 19.1 {Changes Main Panel}
There are two basic ways to access the Changes panel:
* When you start SPF/Pro, the first screen it presents is the Primary
Option Panel Menu. Select option C - Changes, and SPF/Pro displays the
Changes panel.
* At any time, you can use the jump feature to move directly to the
changes panels. Move your cursor to the command line, type =C and
press [SPF-Enter].
Changes are listed by topic. Each topic identifies a general area of
change between your release and the previous one. If you want to read a
detailed explanation of a particular change, select it by number. (Type
the number on the command line and press [SPF-Enter].)
Once you select a topic and display a text panel, two keys control the way
you move through the remaining panels:
[SPF-Enter]
Moves you to the next panel. After you have reviewed all of the text
panels, you are returned to the Main Panel. At this point you can leave
Changes, or take a second look at one of the topics.
[F3] returns you to the Primary Option Menu from any CHANGES panel.
# 20. {Tutorial (Option T)}
SPF/Pro includes on-line documentation in clear text. Selecting Primary
Option "T" invokes a dialog which lets you access the online documentation
by topic or search for topics which contain a particular text string.
Online documentation is provided in files with the .HLP extension residing
in SPFPRO\HELP:
You can also get into the online documentation directly by clicking on the
HELP menu or from any panel by issuing the HELP primary command (or press
[F1]).
# 21. {Find, Change, and Exclude}
The FIND, CHANGE, and EXCLUDE commands are highly generalized and very
powerful. They allow you to search for, and operate upon, a specific
character string or pattern throughout an entire file. You can make
changes stepwise or globally.
Two other commands repeat the functions. RFIND repeats the last FIND using
the same parameters. RCHANGE repeats the last CHANGE.
FIND highlights any string that is found. CHANGE highlights any string
that is changed.
# 21.1 {Basic Search and Change Format}
The basic format of FIND, CHANGE and EXCLUDE commands is:
FIND string-1 [search-limits]
CHANGE string-1 string-2 [search-limits]
EXCLUDE [string-1] [search-limits]
Find finds a string. Change changes a string. Exclude excludes the line
containing the string from view.
The string-1 parameter always specifies the search character string. The
string-2 parameter specifies the replacement character string. These
strings are usually very simple to specify. In addition to simple strings,
SPF/Pro provides some very powerful facilities to handle special
situations.
The string parameters may be followed by several parameters that tell
SPF/Pro where the search should begin and how it should proceed. These
parameters specify:
* Search forward or backward from the current cursor location.
* Search all lines in the file.
* Search only a specific block of lines.
* Exclude or include "excluded" lines from the search.
* Restrict the search to certain columns.
# 21.2 {Find - Change Relationship}
The relationship between Find and Change can be used to solve a common
problem. Suppose that you want to change all of the characters "1.0" to
"2.0" in your documentation because you just changed version numbers. But
also assume that you don't know if all of the characters "1.0" in your
file refer to a version number.
By using the relationship between FIND and CHANGE you can find each
instance of "1.0" and then decide whether to change it or leave it alone.
First, scroll to the top of the file. Then, issue the following command:
CHANGE 1.0 2.0
Then press [F5] to find the next "1.0". This is where the subtle but
powerful interaction begins; the RFIND command applied by [F5] uses the
parameters specified in the pending CHANGE primary command. Now having
found the first instance of "1.0", if you wish to change it, press [F6].
If you don't want to change it, press [F5] again to continue to the next
"1.0".
Note: This example assumes you have not redefined [F5] or [F6].
# 21.3 {Find - Exclude Relationship}
The problem described in the previous sub-section can also be solved using
the relationship between the FIND and EXCLUDE commands.
The first relationship this solution uses is that the FIND command makes
excluded lines containing the find string visible.
The second relationship this solution uses is that one parameter of the
change command limits the change to non-excluded lines.
Now for the solution:
First, use the EXCLUDE primary command to exclude all lines:
EXCLUDE ALL
Note: You could also use the X or XX edit line commands to accomplish the
same thing.
Second, use the FIND primary command the make all "1.0" lines visible.
FIND 1.0 ALL
Third, use the X line command selectively to exclude lines containing
"1.0" that you do not want to change. Now, only lines containing "1.0"
that you want to change are visible.
Next, use the CHANGE primary command to change only non-excluded lines
containing "1.0" to "2.0".
CHANGE 1.0 2.0 ALL NX
Finally, use the RESET primary command to make all lines visible.
RESET EXCLUDE
To review:
* All these commands are entered in the primary command field or by
function key.
* To exclude all lines (make them invisible): EXCLUDE ALL
* To find all lines with a particular string (make them visible): FIND
string ALL
* To find an instance of a particular string: FIND string
* To find the next instance of a particular string: RFIND ([F5])
* To alter an instance of a string to a new value: C string1 string2
* To step through the file considering each instance of a target string
for possible change: RFIND ([F5]) then RCHANGE ([F6])
# 21.4 {Specifying Strings}
FIND, CHANGE, and EXCLUDE commands include strings as parameters.
The first string, string-1 is a search string. The second string,
string-2 is a replacement string. SPF/Pro provides several flexible and
powerful methods for specifying these strings.
# 21.4.1 {Simple Strings}
If a search string is specified without quotes and does not contain
blanks, commas, or asterisks, it is a simple string. Simple strings are
case insensitive. For example:
FIND AB
would find any combination of the letters A and B in upper or lower case:
AB, ab, aB, or Ab.
# 21.4.2 {Delimited Strings}
If a string contains blanks, commas, or asterisks, it must be enclosed in
quotes to insure proper processing. When a string is enclosed in single or
double quotes, it is a delimited string. For example:
FIND 'all good men'
If single or double quotes are part of the string, it must be enclosed in
the opposite quote type. For example:
CHANGE "they can't" "they won't" all
CHANGE '"hello all"' '"good-bye all"'
If you wish to specify an empty string (null), enter two adjacent quotes.
For instance, if you want to delete all occurrences of "FREE" from your
file, issue the following command:
CHANGE FREE '' ALL
# 21.4.3 {Character Strings}
Character strings are case sensitive. The comparison is made using exactly
the string specified and no other. For example:
FIND C'AB'
finds AB; does not find ab, aB, or Ab.
# 21.4.4 {Hex Strings}
If you want to find or change hexadecimal strings, you must specify the
hex delimiter character X followed immediately by hexadecimal digit pairs
in quotes. For example:
FIND X'2C'
You can search for generic characters such as "any number", or "any
non-blank" using picture strings. A picture string is specified with the P
prefix character followed by the picture string in quotes. For example,
P"... picture string ...". The picture string may contain any combination
of picture characters and normal text characters.
As an example let's say you want to find all references to error messages
in a particular set of document source files and that the messages have
the form "ERRnnn" where "nnn" is any three digit number. To find and
display exclusively all lines containing an error message:
EXCLUDE ALL (make all lines invisible)
FIND P'ERR###' (make "ERRnnn" lines visible)
With the foregoing example in mind, the following picture strings may be
specified in string-1:
P'='
Any character
P'^'
Any non-blank character
P'.'
Any non-ASCII character (decimal 0 - 31, 127 - 255)
P'#'
Any numeric character (0 - 9)
P'-'
Any non-numeric character
P'@'
Any alphabetic character
P'<'
Any lower case alphabetic character
P'>'
Any upper case alphabetic character
P'$'
Any special character (neither numeric nor alphabetic)
In the CHANGE command when picture strings are used, string-2 must conform
to the following rules:
* string-1 and string-2 must be same length
* string-2 picture chars are limited to:
P'='
The character in string-1 is to be unchanged.
P'<'
If the character in string-1 is alphabetic upper-case, change it to
lower-case.
P'>'
If the character in string-1 is alphabetic lower-case, change it to
upper-case.
Picture strings may be any combination of picture characters and normal
text characters. The following command finds any string that:
* begins with a blank
* is followed by two numerics
* is followed by a blank character
* and ends with a non-numeric
FIND P' ## -'
The following command changes all characters in columns 56-60 to blanks.
CHANGE p'=' ' ' 56 60 all
The following command would change all characters to upper case.
change all P'=' P'>'
# 21.4.6 {Asterisk (*) Strings}
String-1 or string-2 can be specified as a single asterisk (*). In that
case, the values from the corresponding string in the previous FIND,
CHANGE, or EXCLUDE command are used.
# 21.5 {Limiting Search and Replace Functions}
# 21.5.1 {Range Search}
The search for string-1 may be limited to a specific range of lines. To do
this, include the line labels of the first and last line of the range of
lines to be searched. Both labels must be used. If a search is limited to
a single labeled line, enter that label twice, as the first and last line
of the range.
Line labels are created using the "." line command. The system provides
some built-in labels for commonly used file positions:
.ZF
The first line of the file.
.ZFIRST
The first line of the file.
.ZL
The last line of the file.
.ZLAST
The last line of the file.
.ZCSR
The cursor line.
For example, the following command finds all occurrences of the word "boy"
between the lines labeled .A and .B.
find boy .a .b all
The following example changes the first occurrence of "this" to "that"
between the first line of the file and the line on which the cursor is
positioned.
change this that .zf .zcsr
# 21.5.2 {Direction of Search}
Additional operands are provided to control the starting point and the
direction of a search:
NEXT
Start at the current cursor location and search forward to find the
next string-1 match.
ALL
Start at the top of data line and search forward to find all matches
with string-1 until the bottom of data line is reached.
FIRST
Start at the top of data line and search forward to find the first
string-1 match.
LAST
Start at the bottom of data line and search backward until a string-1
match is made.
PREV
Start at the current cursor location and search backward until a
string-1 match is made.
If the direction of search is forward (NEXT, ALL or FIRST specified), then
RFIND and RCHANGE ([F5] and [F6]) moves the cursor forward from one
occurrence of string-1 to the next.
If the direction of search is backward (LAST or PREV specified), then
RFIND and RCHANGE ([F5] and [F6]) moves the cursor backward from one
occurrence of string-1 to the previous.
If either "TOP OF DATA REACHED" or "BOTTOM OF DATA REACHED" messages are
displayed, RFIND and RCHANGE ([F5] and [F6]) may be used to "wrap around"
the file to search through the unsearched portion.
Note: If you want to search for a string that contains one of the
FIND/CHANGE/EXCLUDE keywords like "next" or "all", the words must be
enclosed within quotes:
FIND "all the king's men"
CHG "next time" "last time" ALL
# 21.5.3 {String Matching Parameters}
Another set of parameters allow you to limit the matching of characters to
words, prefixes of words, or suffixes of words. They are only used after
the string is found.
To make this explanation simpler, let's first define word-character:
A-Z, a-z, 0-9, #, $, and @
A word then is any string of one or more characters that is preceded and
followed by a non-word-character. For example,
" word "
is a word. So is
"(word)"
With these examples in mind the following "word" related parameters may be
used to further constrain searches:
CHARS
The search is successful whenever the specified string is found
regardless of what precedes or follows it. This is the SPF/Pro
default.
PREFIX
The search is successful only if the string is preceded by a
non-word-character and is followed by a word-character.
SUFFIX
The search is successful only if the string is preceded by a word-
character and is followed by a non-word-character
WORD
The search is successful only if the string is preceded and followed by
a non-word-character.
PREFIX, SUFFIX, and CHARS may be abbreviated "PRE", "SUF", and "CHAR",
respectively.
In the following examples, with string-1 set to "DO", underscored strings
would be found; non-underscored strings would be ignored:
CHARS
DO DONT ADO ADOPT 'DO' +ADO (DONT) ADO-
PREFIX
DO DONT ADO ADOPT 'DO' +ADO (DONT) ADO-
SUFFIX
DO DONT ADO ADOPT 'DO' +ADO (DONT) ADO-
WORD
DO DONT ADO ADOPT 'DO' +ADO (DONT) ADO-
# 21.5.4 {Search Excluded Lines}
In addition to labeled lines, a search may be limited to previously
excluded or non-excluded lines. If this operand is not specified, all
lines are searched.
X
Search excluded (invisible) lines only.
NX
Search non-excluded (visible) lines only.
For example,
change me my all x
would change "me" to "my" on all excluded lines.
# 21.5.5 {Column Search}
The search for string-1 may also be limited to specified columns. Two
numeric operands may be specified. The first specifies the column in which
the search is to begin; the second specifies the column in which the
search is to end. The two numbers must be separated by at least one blank
space.
* If neither column-1 nor column-2 are specified, the search is limited
to the current BOUNDS setting.
* If only column-1 is specified, the search is limited to that column for
the length of string-1.
For example, the following command finds all occurrences of ABC anywhere
between columns 1 and 30.
FIND ABC 1 30 ALL
The following command finds all occurrences of ABC beginning in column 5
exclusively.
FIND ABC 5 ALL
The following command changes the next occurrence of ABC in columns 8 to
10 to DEF.
CHG ABC DEF 8 10
An even more efficient way to specify the same request is
C ABC DEF 8
# 21.6 {UNDO/REDO}
You can optionally specify that EDIT maintain a journal of alterations
made to your file during an edit session. At any time you can undo the
last alteration by issuing the UNDO primary command. Repeating the UNDO
command causes successive levels of alterations to be undone.
Having undone a particular alteration, you may then redo it by invoking
the REDO primary command. Repeating the REDO command causes successive
levels of undo to be redone.
After an UNDO has been performed, restoring a previous state, it is
possible to REDO the operation which was just undone. However, if any
changes are made after the UNDO but before REDO, those changes are
recorded, eliminating the ability to REDO the last UNDO. The following
sequence demonstrates this point:
UNDO ... no changes ... REDO REDO OK.
UNDO ... changes ... REDO REDO not OK.
# 22. {Program Source Colorization}
When using SPF/Pro to write and maintain programs it can be helpful to
colorize reserved words in the source of the programming language being
used. This helps in understanding the program providing for more efficient
authoring.
SPF/Pro supports a simple method of specifying program source colorization
which can be applied to the reserved words of any programming language.
Some languages that can be easily colorized with SPF/Pro are COBOL,
FORTRAN, PL/1, ADA, "C", PASCAL, MODULA, and other similar languages.
Languages that make extensive use of punctuation and other special
characters are not well suited to the reserved word colorization technique
used by SPF/Pro. An example of this type of language would be APL.
There are three basic components to colorization:
1. A control file specifying the reserved words by color class.
2. A binding of color classes to actual colors via the 0.4 Display
Characteristics panel.
3. A binding of the control file to a particular file type via the
COLORMAP profile command.
The basic premise of this support is that there are language specific
reserved words which when colorized provide meaning to the program author.
Further it is assumed that there may be more than one class of reserved
words which might take on different colors.
# 22.1 {Creating Colorization Control File}
To specify language colorization, you must create a control file in the
SPFPRO\PROFILES directory for each language you expect to colorize.
Colorization control files are in the form: name.CLR - where "name" is
a name of the programming language. For example, you would create
COBOL.CLR for the COBOL programming language and C.CLR for the "C"
programming language.
The control file consists of records. Each record tells SPF/Pro how to
colorize a specific element of the language in question. Following are
detailed description of each record type and its respective syntax.
Reserved Word Case
Specify how the case of the reserved words should be processed. The
consideration is whether the compiler recognizes reserved words in
upper case, lower case, or mixed case:
CASE = ASIS (must match file exactly)
or
CASE = IGNORE (compare ignoring case)
Reserved Word Classes
Specify up to four classes of reserved words as follows:
WORD_COLOR1 = "word1", "word2", ... , "wordn"
WORD_COLOR2 = "word1", "word2", ... , "wordn"
...
WORD_COLOR4 = "word1", "word2", ... , "wordn"
You can specify multiple words on the same line as shown above or you
can specify them one word per line:
WORD_COLOR1 = "word1",
"word2",
...
"wordn"
How you decide which reserved words go together in a class is up to
you. For simplicity you could put all the reserved words in a single
class which uses a single color.
Literal values specified in colorization control records must be
enclosed in single or double quotes.
Source Comments
Specify how source comments should be processed. For comments that
begin in any column, that may span multiple lines, and may end in any
column, specify a begin and end comment sequence as follows:
BLOCK_COMMENT = "/*", "*/" ("C" example)
Only one BLOCK_COMMENT record is allowed.
For comments that begin in any column, and run from that column to the
end of the line, specify only a begin sequence as follows:
LINE_COMMENT = "/*" (COBOL example)
LINE_COMMENT = "//" (C and C++ example)
For comments that begin in a specific column, and run from that column
to the end of the line, specify a begin sequence and column number as
follows:
LINE_COMMENT = "*", "7" (COBOL example)
You can have as many LINE_COMMENT records as you wish designating
different comment schemes supported by your particular compiler.
Quoted Strings
Specify how quoted strings should be processed:
STRING_DELIMITERS = '"', "'"
Most programming languages recognize strings and other literals by way
of either a single quote or double quote delimiter. There are
exceptions and they can be added as required. For example, DBASE
recognizes square brackets as string delimiters ([]).
Note that in the example above, we used the single quote to enclose the
double quote character, and vice versa.
Reserved Word Parsing
Specify how reserved words should be parsed. A reserved word is
considered started by the left edge of the line, a blank, or any
non-alpha or non-numeric character. A reserved word is considered
ended by the right edge of the line, a blank, or any non-alpha or
non-numeric character.
Under some circumstances you may not want a non-alpha character to
cause a word break. For example, if the underscore character is
commonly used in variable names, you do not want the text next to that
character to be a reserved word candidate. You can specify characters
which should not cause a word break as follows:
NO_BREAK_CHAR = "_"
You can specify as many no-break characters as desired within the
quoted string.
Special Characters
Specify any individual characters that have particular meaning in the
language being colorized. You can specify as many individual characters
as desired in a single quoted string. The following example is from the
"C" language colorization file:
SPECIAL_CHARS = "(){};."
# 22.2 {Attaching Specific Colors to a Control File}
The control file itself has no specific color assignments. These are done
separately so that you can re-assign colors without altering the control
file.
In parameter option panel 0.4 specify the colors corresponding to the
control records in your "name.CLR" file.
# 22.3 {Activating Colorization}
After creating a colorization control file and assigning colors via panel
0.4, you must bind the colorization control file to a specific file type
by setting the COLORMAP profile variable to the colorization file name
(not including the extension).
Get into EDIT on a program source file of the type you want to colorize.
While in EDIT, invoke the COLORMAP primary command to bind the color map
to the file type:
COLORMAP name ("name" part of "name.CLR")
To discontinue colorization:
COLORMAP NONE
Below is a small portion of the "C" colorization control file supplied
with SPF/Pro. If you want to see the complete version of any of the
program colorization control files, look in SPF/Pro directory in files
*.CLR.
You can set colorization ON or OFF globally on Option Panel 0.5.
From colorization control file C.CLR:
CASE = ASIS
WORD_COLOR1 = "#define",
"#if",
"#else",
"#endif"
WORD_COLOR2 = "if",
"else",
"for",
"while",
"switch"
WORD_COLOR3 = "char",
"int",
"short",
"long"
BLOCK_COMMENT = "/*", "*/"
LINE_COMMENT = "//"
SPECIAL_CHARS = "(){};."
# 23. {General Primary Commands}
SPF/Pro includes a number of commands that can be issued from any menu or
panel. Commands in this group are known as general commands.
All commands in this group are primary commands. You issue primary
commands in the command field or through PF keys. (Notice that many
general commands are included in the default set of PF key assignments.)
The table below summarizes the general commands. Following the table,
there is detailed information about each of the general commands.
Command Function
= Jump directly to specified panel
BROWSE Browse a file
COLOR Display the current color settings (also COLOUR)
CRETRIEV go to primary cmd field, then retrieve last cmd
CURSOR Move cursor to the primary command field
DOS Execute external command (also CMS, CP, TSO)
EDIT Edit a file
END Return to the previous panel
EOF Clear entry field (assign to PF key)
FF Write Form-feed to active printer
FONT Change font (same as 0.F)
FSPLIT Create another full screen task
HELP Invoke HELP feature
KEYBOARD Change keyboard map (same as 0.K)
KEYS Display the PF key definitions
LPRINT Change the logical printer assignment
PANELID Display the panel ID
PFSHOW Toggle the display of the PF keys
PRINT Print the contents of the current screen
REDIT Bring up the Most Recent Edits list for inline use
RETRIEVE Redisplay a previous primary command
RETURN Return directly to the Primary Option Panel
SPLIT Split the screen horizontally at the cursor
SPLITV Split the screen vertically at the midpoint
SWAP Swap control to the other task
USER Execute user application (same as Option 4)
VSPLIT Split the screen vertically at the cursor
# 23.1 {= (Jump)}
Purpose
Use this command to move directly to any SPF/Pro panel. Issue this
command from any SPF/Pro panel.
Format
=x[.x]
Remarks
After you become familiar with SPF/Pro features and panels, you will find
it faster to bypass the menu system and use this short-hand way of
identifying the panel you want to work with. The parameters for this
command are simply the primary and secondary (if it applies) option
numbers for the panel you want to move to.
When you jump to a panel the current context is reset to the target panel.
Thus when you exit via [F3], you are positioned to the Primary Option
panel.
Note: If you are in a custom dialog, JUMP treats the panel which
originated of the custom dialog as the base for the jump destination.
Example
=0
This command would move you to Panel 0, the Parameter Options panel.
=0.2
This command would move you to Panel 0.2, the Printer Characteristics
panel.
# 23.2 {BROWSE}
Purpose
Use this command to browse a file.
Format
BROWSE file-spec
Remarks
The BROWSE primary command can be used anywhere. When BROWSE is invoked,
the current context is preserved. When you exit BROWSE, you return to
where you were when you invoked BROWSE.
Note: If you invoke BROWSE via "=1" jump, the current context is not
preserved. On exit you are returned to the Primary Option Menu.
Example
BROWSE SAMPLE.COB
# 23.3 {COLOR}
Purpose
Use this command to display and change the current color settings.
Format
COLOR
COLORS
COLOUR
Remarks
This command displays the COLOR DEFINITIONS, which allows you to review
and change the colors assigned to various display elements.
The COLOR primary command can be used anywhere. When COLOR is invoked,
the current context is preserved. When you exit COLOR, you return to
where you were when you invoked COLOR.
Note: If you invoke COLOR via "=0.4" jump, the current context is not
preserved. On exit you are returned to the Primary Option Menu.
# 23.4 {CRETRIEV}
Purpose
Use this command to position to the primary command field and then
redisplay previous commands.
Format
CRETRIEV [ BACK ]
Remarks
The first execution of CRETRIEV, places the cursor in the primary command
field; no further action is taken. The second execution of CRETRIEV with
no intervening primary commands, retrieves the last primary command
executed.
You can optionally specify BACK to alter the direction of retrieval.
Note: You can also use the RETRIEVE primary command which positions to
the primary command field and retrieves the last command in a single step.
# 23.5 {CURSOR}
Purpose
Same as [HOME] key. Use this command to move to the command field.
Format
CURSOR
Remarks
This command is only practical when issued with a PF key; it is not
initially assigned to a PF key.
The [HOME] key performs this function without [SPF-Enter] processing.
# 23.6 {DOS}
Purpose
Use this command to execute an operating system command or program.
Format
DOS [operating-system-command | program-name]
CMS
CP
TSO
Remarks
When you issue the command, SPF/Pro turns control over to operating
system, for execution of the command or program you specified. Varied
forms are provided for convenience; they all send the command to operating
system.
SPF/Pro dialog variables (Z...) in command parameters are automatically
expanded.
If no system command is specified, the entry panel for Primary Option 6
(COMMAND) is displayed.
Example
To display the current directory:
DOS DIR
To change the current directory:
DOS CD directory-name
To invoke Lotus 1-2-3:
DOS 123
To compile the last source file edited:
DOS COBOL &ZDSN
# 23.7 {EDIT}
Purpose
Use this command to edit a file.
Format
EDIT file-spec
[file-spec2]
[file-spec...]
Remarks
The EDIT primary command can be used anywhere. When EDIT is invoked, the
current context is preserved. When you exit EDIT, you return to where you
were when you invoked EDIT.
You can specify multiple file specifications. This creates a select list
of all matching files.
Note: If you invoke EDIT via "=2" jump, the current context is not
preserved. On exit you are returned to the Primary Option Menu.
Example
EDIT SAMPLE.COB
EDIT *.COB
EDIT *.COB *.CPY
EDIT (with no parms brings up Panel 2)
# 23.8 {END}
Purpose
Same as [F3] key. Use this command to end the current function and return
to the preceding panel.
Format
END
Remarks
If exiting the Primary Option Panel, SPF/Pro is terminated.
If exiting the Primary Option Panel, when two or more split sessions are
present, the active session terminates and the adjacent peer session
becomes active.
If exiting edit and AUTOSAVE is on, the modified file is saved.
# 23.9 {EOF}
Purpose
This command may be assigned to a PF key to clear an entry field.
Format
EOF
Remarks
Has same effect as CTRL-DEL erase-end-of-field.
# 23.10 {FF}
Purpose
Send a Form Feed command to the current logical printer.
Format
FF
Remarks
None.
# 23.11 {FONT}
Purpose
Change display fonts.
Format
FONT
Remarks
This command behaves identically to Option 0.F except that when you exit
the dialog via the END command (normally [F3]), you return to the panel
you were in when you issued the FONT command.
# 23.12 {FSPLIT}
Purpose
Use this command to start another full screen SPF/Pro session.
Format
FSPLIT
Remarks
Issuing FSPLIT saves the current session, starts another session, and
swaps it into view. The maximum number of sessions that may be started is
set in Terminal Option 0.1.
To swap among full screen sessions, enter the SWAP command (normally
[F9]).
Once a full screen session is established, it can then be split either
horizontally or vertically (see SPLIT, SPLITV, and VSPLIT).
# 23.13 {HELP}
Purpose
Same as [F1] key. Use this command to display online help.
Format
HELP
Remarks
This command works one of the following ways:
* After an error has caused display of a short message, requesting HELP
displays the corresponding long message which provides additional
information.
* After the long message has been displayed, requesting HELP again
displays Context Sensitive HELP for the feature you are using.
* If no error has occured, requesting HELP displays Context Sensitive
HELP for the feature you are using.
* Specifying Primary Option Tutorial displays the online help starting at
the Table of Contents.
# 23.14 {KEYBOARD}
Purpose
Change or edit the keyboard map.
Format
KEYBOARD
KEYB
Remarks
This command behaves identically to Option 0.K except that when you exit
the dialog via the END command (normally [F3]), you return to the panel
you were in when you issued the KEYBOARD command.
# 23.15 {KEYS}
Purpose
Use this command to display and change the current PF key settings.
Format
KEYS
Remarks
This command displays PF Key Definitions, which allows you to review and
change the commands and PFSHOW labels assigned to your PF keys.
The KEYS primary command can be used anywhere. When KEYS is invoked, the
current context is preserved. When you exit KEYS, you return to where you
were when you invoked KEYS.
PF key mappings and PFSHOW labels may also be set via Keyboard Option 0.K.
Note: If you invoke KEYS via "=0.3" jump, the current context is not
preserved. On exit you are returned to the Primary Option Menu.
# 23.16 {LPRINT}
Purpose
Use this command to change the assignment of the logical printer.
Format
LPRINT [logical-printer-name]
Remarks
This command changes the logical printer assignment. If no logical
printer name is specified, the 0.2 list is presented.
The LPRINT primary command can be used anywhere. When LPRINT is invoked,
the current context is preserved. When you exit LPRINT, you return to
where you were when you invoked LPRINT.
Note: If you invoke LPRINT via "=0.2" jump, the current context is not
preserved. On exit you are returned to the Primary Option Menu.
Example
LPRINT format1
# 23.17 {PANELID}
Purpose
Use this command to toggle the display of the panel ID.
Format
PANELID [ ON | OFF ]
Remarks
This command turns panel ID display ON or OFF. If no parameter is
specified, it toggles the present panel ID display state. When PANELID is
ON, the panel ID is displayed in the upper left corner of all SPF/Pro
panels.
# 23.18 {PFSHOW}
Purpose
Use this command to set the display mode of the PF keys, the display
position, or the number of display lines.
Format
PFSHOW [ ON | OFF ] [ TOP | BOT ] [ nn ]
Remarks
Specifies whether the PF keys are to be displayed or not, where they are
to be displayed, and how many lines of keys are to be displayed (12 keys
per line). If no parameter is specified, the ON/OFF state of the PF keys
is toggled.
If TOP or BOT is specified, it is remembered so that subsequent toggling
of the PFSHOW state keeps the proper display position. If neither is
specified, BOT is assumed.
If a number is specified, it is remembered so that subsequent toggling of
the PFSHOW state keeps the proper number of display lines.
When the PF keys are visible, you can activate them by placing the mouse
cursor on a particular key and double-clicking the left mouse button.
# 23.19 {PRINT}
Purpose
Use this command to print the current screen, or part or all of the
current file.
Format
PRINT [ALL ]
PRI [PART]
Remarks
The printout is sent to the file or device specified in panel 0.2, Printer
Characteristics.
If no parameter is specified, the full screen is printed.
For EDIT or BROWSE, if ALL is specified, the entire file contents are
printed.
For EDIT, if PART is specified, the block of lines identified by CC is
printed.
# 23.20 {REDIT}
Purpose
Use this command to bring up the Most Recent Edits list for inline use.
Format
REDIT
Remarks
If you want to preserve the current context and do a quick edit of a file
on the Most Recent Edits list, use this command.
# 23.21 {RETRIEVE}
Purpose
Same as [F12] key. Use this command to redisplay previous commands.
Format
RETRIEVE [ BACK ]
Remarks
You can press the PF key assigned to this command repeatedly to redisplay
up to 10 of the previous commands you have issued.
You can optionally specify BACK to alter the direction of retrieval.
# 23.22 {RETURN}
Purpose
Same as [F4] key. Use this command to return directly to the Primary
Option Panel.
Format
RETURN
Remarks
Issuing this command is the same as issuing multiple END commands to reach
the Primary Option Panel. If you are in edit, and AUTOSAVE is on, the
file is saved as if END had been issued.
If you are in a recursive EDIT or BROWSE, this command returns you to the
original EDIT or BROWSE session respectively.
Note: If you are in a custom dialog, RETURN only goes back to the panel
which originated of the custom dialog.
# 23.23 {SPLIT}
Purpose
Same as [F2] key. Use this command to split the screen horizontally into
two complete SPF/Pro sessions. The split point is determined by the
cursor position.
Format
SPLIT
Remarks
Issuing SPLIT does one of three things:
1. If only one session has been started, SPF/Pro saves the current
session, splits the screen horizontally at the current cursor position,
starts a second session, and makes it the active session.
2. If a second session has been started, SPF/Pro splits the screen
horizontally at the current cursor position, and swaps to the other
session.
3. If the current session is split vertically, it is switched to a
horizontal split.
Note: To swap between horizontally split sessions, enter the SWAP command
(normally [F9]).
SPLIT only affects the current full screen session.
# 23.24 {SPLITV}
Purpose
Use this command to split the screen vertically at the midpoint into two
complete SPF/Pro sessions.
Format
SPLITV
Remarks
If only one session has been started, SPF/Pro saves the current session,
splits the screen vertically at the midpoint, starts a second session, and
makes it the active session.
If a second session has been started, SPF/Pro splits the screen vertically
at the midpoint, and swaps to the other session.
To swap between vertically split sessions, enter the SWAP command
(normally [F9]).
SPLITV only affects the current full screen session.
# 23.25 {SWAP}
Purpose
Same as [F9] key. Use this command to move among split screen sessions.
Format
SWAP
Remarks
Sessions are activated according to the rules listed below:
* If only one session is active, SWAP is treated as an FSPLIT.
* If you are in FSPLIT mode, SPF/Pro activates the next session in the
ring and swaps it into view.
* If you are in SPLIT mode,
- If the second task occupies less than five lines of the screen,
SPF/Pro swaps the positions and line counts of the sessions.
- If the second task occupies more than five lines of the screen,
SPF/Pro activates the second task and moves the cursor to it,
without changing the split point.
* If you are in VSPLIT mode,
- If the second task occupies less than ten columns of the screen,
SPF/Pro swaps the positions and column counts of the sessions.
- If the second task occupies more than ten columns of the screen,
SPF/Pro activates the second task and moves the cursor to it,
without changing the split point.
* If you are in SPLITV mode, the split is at the midpoint, SPF/Pro
activates the second task and moves the cursor to it, without changing
the split point.
# 23.26 {USER}
Purpose
Use this command to execute a user application.
Format
USER [user-application-name]
Remarks
This command executes a user application. If no user-application-name is
specified, Primary Option 4, Foreground list is presented.
The USER primary command can be used anywhere. When USER is invoked, the
current context is preserved. When you exit USER, you return to where you
were when you invoked USER.
If no application name is specified, the entry panel for Primary Option 4
(FOREGROUND) is displayed.
Note: If you invoke USER via "=4" jump, the current context is not
preserved. On exit you are returned to the Primary Option Menu.
Example
To invoke the Micro Focus compiler for the current edit file:
USER MFCOMP
# 23.27 {VSPLIT}
Purpose
Use this command to split the screen vertically into two complete SPF/Pro
sessions. The split point is determined by the cursor position.
Format
VSPLIT
Remarks
If only one session has been started, SPF/Pro saves the current session,
splits the screen vertically at the current cursor position, starts a
second session, and makes it the active session.
If a second session has already been started via VSPLIT (or SPLITV),
SPF/Pro swaps to the other session.
To swap between vertically split sessions, enter the SWAP command
(normally [F9]).
VSPLIT only affects the current full screen session.
# 24. {File Select List Primary Commands}
This section covers basic ways of using file select lists.
When you type a file specification that includes wild-card characters (*
or ?) on an entry panel, SPF/Pro creates a file select list matching your
specification.
The current directory is displayed above all file select lists. When all
files in the list reside in the same directory, the path information is
not included in the individual list entries. When multiple paths are
present, they are displayed to the right of the ATTRIBUTES field in each
entry.
Note: SPF/Pro file select lists differ somewhat from the ISPF/PDF file or
member list. This is due to differences in the respective file systems.
For more information on PC file systems, including directories and
subdirectories, see the respective operating system User's Reference.
The remainder of this chapter details the select list primary commands,
which are summarized in the table at the end of this section.
File Select List Primary Commands
BOT Position to bottom of list
CHANGE Change one string to another in one or more files
CONFIRM Display delete-confirmation screen
DOWN Scroll view of list down
ERRORFILE Set active error file name
EXCLUDE Exclude files specified, include all others
FIND Find a string in one or more files
IMACRO Set active IMACRO
INCLUDE Include files specified, exclude all others
INSERT Add files specified to the list
LOCATE Locate a specific list entry
LRECL Set active max record length
MD Make subdirectory in current select list
PROFILE Set active file profile
REFRESH Refresh list based on original file specification
SAVELIST Save select list under a symbolic name
SEARCH alias for FIND
SELECT Select a file or directory
SORT Sort the list
TOP Position to top of list
UP Scroll view of list up
XMACRO Set active XMACRO
# 24.1 {BOT}
Purpose
This is a primary command. Use this command to position to the bottom of
the select list. This command also operates on file displays.
Format
BOTTOM
BOT
Remarks
None.
# 24.2 {CHANGE}
Purpose
This is a primary command. Use this command to change occurences of a
character string in all files in a file select list.
Format
CHANGE str1 str2 [NEXT ][CHARS ][col1[col2]]
CHG [ALL ][PREFIX]
C [FIRST][SUFFIX]
[LAST ][WORD ]
[PREV ]
Remarks
When CHANGE is used in file select lists, it creates a sublist of all
files containing the target string (str1).
* If ALL is specified, the files are automatically altered and the number
of changes per file is displayed in the select list MESSAGE field.
Only the files which contained the target string appear in the list.
* If ALL is not specified, CHANGE automatically jumps into edit on the
first file in the list and changes the first occurence of the string.
At this point you can press F5 (RFIND) and F6 (RCHANGE) to repeat the
specified change on a per file basis as desired. Press F3 (END) to
exit the changed file, and automatically jump into the next file in the
CHANGE list.
See page for a detailed description of all parameters and examples of
use.
Note: RANGE, X, and NX parameters are not supported in select lists.
# 24.3 {CONFIRM}
Purpose
This is a primary command. Use this command to change the current setting
for delete confirmation.
Format
CONFIRM [ON ]
[OFF]
Remarks
When delete confirmation is ON, SPF/Pro asks you to confirm delete
requests made in select lists via the delete line command.
You can also set delete confirmation on the File List Utility entry panel.
See the DELETE command for more information.
Example
CONFIRM OFF
# 24.4 {DOWN}
Purpose
This is a primary command. Use this command to move toward the bottom of
the file select list. Same as [F8] key. This command also applies to
file displays.
Format
DOWN [PAGE]
[HALF]
[CSR ]
[DATA]
[MAX ]
[nnnn]
Remarks
There are three ways to specify how much SPF/Pro moves when you issue the
command:
1. Issue the command without a scroll amount. In this case the SCROLL
field determines the amount scrolled. The SCROLL field is in the upper
right corner of the screen.
2. Issue the command with a scroll amount. Type the command and the
amount, or type the amount and press the appropriate PF key.
3. Change the SCROLL field and execute step 1.
Note: Scroll amounts can be abbreviated. For example, P for PAGE, M for
MAX, etc.
Example
[F8]
Move down by amount specified in SCROLL field.
DOWN 8
Move down eight lines.
Type 8 in command field, then press [F8]
Also, move down eight lines.
# 24.5 {ERRORFILE}
Purpose
This is a primary command. Use this command to set the name of the active
error file. This command also applies to file displays.
Format
ERRORFILE file-name
Remarks
If you can direct your compiler to assign a specific name to its error
message file and append error messages as each file compiles, then you can
have SPF/Pro automatically incorporate the error messages for a specific
file into that file when you edit it from the select list.
Example
The following example directs that error messages in errorfile MSVC.LOG be
incorporated into any file which is edited from this select list.
ERRORFILE MSVC.LOG
# 24.6 {EXCLUDE}
Purpose
This is a primary command. Use this command to exclude a specific group
of files from the current select list.
Format
EXCLUDE file-spec
EXC [ file-spec2 ]
EX [ file-spec... ]
Remarks
Standard operating system wild card characters are accepted.
Individual files or blocks of files can be excluded using the x or xx line
commands respectively.
You can specify multiple file specifications. This creates a select list
of all matching files.
Example
EXCLUDE TEST1.BAK
EXCLUDE *.BAK
EXCLUDE *.BAK *.TMP
# 24.7 {FIND}
Purpose
This is a primary command. Use this command to search all files in the
list for a string, word or characters, creating a sublist of files that
contain the target string.
Format
FIND str1 [NEXT ][CHARS ][col1[col2]]
F [ALL ][PREFIX]
[FIRST][SUFFIX]
[LAST ][WORD ]
[PREV ]
Remarks
After the list is created, FIND automatically jumps into the first file in
the list and positions to the target string. Press F3 (END) to exit the
current file, and automatically jump into edit on the next file in the
list.
See page for a detailed description of all parameters and examples of
use.
Note: RANGE, X, and NX parameters are not supported in select lists.
# 24.8 {IMACRO}
Purpose
This is a primary command. Use this command to set the IMACRO profile
variable. This command also applies to file displays.
Format
IMACRO macro-name
Remarks
The IMACRO specified is executed before each edited file.
# 24.9 {INCLUDE}
Purpose
This is a primary command. Use this command to include a specific group
of files from the current select list and exclude all others.
Format
INCLUDE file-spec
INC [ file-spec2 ]
[ file-spec... ]
Remarks
This is the inverse of EXCLUDE. Standard operating system wild card
characters are accepted.
You can specify multiple file specifications. This creates a select list
of all matching files.
Example
INCLUDE TEST1.COB
INCLUDE *.COB
INCLUDE *.COB *.CPY
# 24.10 {INSERT}
Purpose
This is a primary command. Use this command to add a specific group of
files to the current select list.
Format
INSERT file-spec
Remarks
New files are inserted in proper sort sequence. Standard operating system
wild card characters are accepted.
Example
INSERT *.OBJ
# 24.11 {LOCATE}
Purpose
This is a primary command. Use this command to locate a specific file in
a select list. This command also applies to file displays.
Format
LOCATE [FNAME] [full name (name + extension)]
LOC [NAME] [name (no extension)]
L [EXT] [extension (no name)]
[SIZE] [file size (bytes)]
[DATE] [modification date (mm-dd-yy)]
[TIME] [modification time (hh:mm[a|p])]
Remarks
If found, the list is scrolled to position the requested entry at the top.
If a keyword is specified, the search is made as directed.
If a keyword is not specified, the search is made based on the last sort
order of the select list. For example, if the last sort was by date, the
search parameter is assumed to be a date.
If you have not sorted the select list, the last sort order is the
default specified in the Editor Options panel.
A number of keywords from mainframe environments are accepted as synonyms
for SPF/Pro keywords:
BYTES = SIZE
TRACKS = SIZE
CREATED = DATE
REFERRED = DATE
DIRECTORY = FNAME
ORIGINAL = FNAME
BASE = NAME
FNAME = NAME
Note: For the purposes of the LOCATE command, Option 0.2 (Printer Setup),
0.7 (Profiles), and 4 (Foreground) are considered to be in NAME sequence.
Example
LOCATE PRIMOPT1
The example command positions the select list to the PRIMOPT1 entry. If
an exact match is not found, it positions to the nearest entry.
# 24.12 {LRECL}
Purpose
This is a primary command. Use this command to set the LRECL profile
variable. This command also applies to file displays.
Format
LRECL number
Remarks
The maximum record length is used at load time to check incoming records,
and used during edit to limit the length of modified or new records for
any file edited from the select list.
# 24.13 {MD}
Purpose
This is a primary command. Use this command to make a new subdirectory in
the current select list.
Format
MD directory-name
Remarks
The new subdirectory is created in the path displayed at the top of the
select list.
Example
MD SUB2
# 24.14 {PROFILE}
Purpose
This is a primary command. Use this command to set the PROFILE profile
variable. This command also applies to file displays.
Format
PROFILE profile-name
Remarks
The active profile is used in conjunction with any file edited from the
select list.
# 24.15 {REFRESH}
Purpose
This is a primary command. Use this command to refresh the select list
using the original file specification.
Format
REFRESH
Remarks
If you SPLIT and the operate on files in the same directory that an
earlier SPF task is opened on, the file list may become obsolete. It is
also possible to obsolete a file list by executing non-SPF functions in
parallel with SPF.
# 24.16 {SAVELIST}
Purpose
This is a primary command. Use this command to save the current select
list under a symbolic name for later use.
Format
SAVELIST [name]
SAVE
Remarks
SAVELIST presents a panel which requests a LIST NAME (if not provided) and
DESCRIPTION. Saved lists are accessed via Option 3.F, GROUP LIST. When
you invoke Group List, you get a select list of saved names. You then
select the desired name and the associated list is presented.
Example
SAVELIST project1
# 24.17 {SEARCH}
Purpose
This is a primary command. Use this command to search all files in the
current select list for a specific string. A sublist is created containing
only the files which contain the specified string.
Format
SEARCH [text] [CAPS | ASIS]
Remarks
If text is not specified, a panel is presented allowing you to specify
multiple strings in either CAPS or ASIS form.
If text is specified, you can optionally specify whether the search is
ASIS or CAPS form. If the search form is not specified, CAPS is assumed.
This feature is most typically used to find all source modules which
access a particular variable name or all text files referring to a
particular subject.
After using a list created by SEARCH you can return to the original
context via [F3].
Note: SEARCH is fast but is limited to simple searches for raw text. If
you need more context on your search criteria, use the FIND command with
its more general and powerful capabilities.
Example
Here are some examples of use:
SEARCH ...exact-text... ASIS
SEARCH 'text with blanks'
SEARCH textnoblanks
SEARCH
Specifying SEARCH without parameters results in the search panel being
presented. You can specify up to four ASIS and four CAPS text arguments.
If a searched file contains ANY of the specified arguments, it is included
in the resulting sublist.
# 24.18 {SELECT}
Purpose
This is a primary command. Use this command to select a list entry.
Format
SELECT [entry-name]
SEL
S
Remarks
Select is used in a variety of contexts:
* In Option 1, BROWSE, selects file to browse.
* In Option 2, EDIT, selects file to edit or creates a new file when a
non-existent filename is specified.
* In Option 0.2, Printer Setup, selects printer setup by name.
* In Option 0.4, Color Definitions, selects color scheme by name.
* In Option 0.7, File Profiles, selects file profile to edit by name.
* In Option 0.K, Keyboard Mapping, selects keyboard scheme by name.
* In Option 4, Foreground, selects user program by name.
If you issue this command without specifying a file, the top entry in the
list is selected.
If you select a subdirectory, a select list for the subdirectory is
presented. You can return to the original select list by pressing [F3].
Example
SELECT PROGRAM.COB
This command opens PROGRAM.COB for Edit or Browse, depending on the mode
you are in. If the file doesn't exist, and you are in edit mode, SPF/Pro
opens a new file with the specified name.
# 24.19 {SORT}
Purpose
This is a primary command. Use this command to sort a select list.
Format
SORT [FNAME]
[NAME]
[EXT]
[SIZE]
[DATE]
[TIME]
Remarks
Sorting can help you find a file, review the contents of a directory, or
set up the select list for a LOCATE command.
Sort keywords are as follows:
FNAME
Sort by full name (name + extension).
NAME
Sort by name (no extension).
EXT
Sort by extension (no name).
SIZE
Sort by file size (bytes).
DATE
Sort by modification date (mm-dd-yy).
TIME
Sort by modification time (hh:mm[a|p]).
A number of keywords from mainframe environments are accepted as synonyms
for SPF/Pro keywords:
BYTES = SIZE
TRACKS = SIZE
CREATED = DATE
REFERRED = DATE
DIRECTORY = FNAME
ORIGINAL = FNAME
BASE = NAME
FNAME = NAME
Sorting the select list before issuing a LOCATE makes the locate more
efficient. For example, if you issue a LOCATE DATE command on an unsorted
select list, SPF/Pro locates the first occurrence of the date, but other
files with the same date will be elsewhere in the select list. If you sort
the list by date before issuing the command, after SPF/Pro locates the
first occurrence of the specified date; adjacent files with the same date
are also displayed.
Note: Sort buttons are provided on file selection lists.
Example
SORT EXT
The command above sorts the select list by extension. Files are grouped
by extension, and the extensions are sorted into alphabetical order.
SORT NAME DATE
The command above sorts the select list first by name, and then by date
within name.
# 24.20 {TOP}
Purpose
This is a primary command. Use this command to position to the top of the
select list. This command also operates on file displays.
Format
TOP
Remarks
None.
# 24.21 {UP}
Purpose
This is a primary command. Use this command to move toward the top of a
file display or select list. Same as [F7] key. This command also applies
to file displays.
Format
UP [PAGE]
[HALF]
[CSR ]
[DATA]
[MAX ]
[nnnn]
Remarks
There are three ways to specify how much SPF/Pro moves when you issue the
command:
1. Issue the command without a scroll amount. In this case the SCROLL
field determines the amount scrolled. The SCROLL field is in the upper
right corner of the screen.
2. Issue the command with a scroll amount. Type the command and the
amount, or type the amount and press the appropriate PF key.
3. Change the SCROLL field and execute step 1.
Note: Scroll amounts can be abbreviated. For example, P for PAGE, M for
MAX, etc.
Example
[F7]
Move up by amount specified in SCROLL field.
UP 8
Move up eight lines.
Type 8 in command field, then press [F7]
Also, move up eight lines.
# 24.22 {XMACRO}
Purpose
This is a primary command. Use this command to set the XMACRO profile
variable. This command also applies to file displays.
Format
XMACRO macro-name
Remarks
The macro name specified is executed after each edited file.
# 25. {Select List Line Commands}
Select List Line Commands
B Browse a file
C Copy a file
D Delete a file
E Edit a file
G Execute program or batch file
I Display information about a file
K Convert file format
M Move a file
N New, select file with new SPF task
P Print a file
R Rename a file
S Select a file
T Create a recursive sublist
U Apply a user command to a file
X Exclude a file from the list
IMPORTANT INFORMATION RELATING TO SELECT LIST LINE COMMANDS:
1. The block form of all select list line commands are supported. For
example, D = delete entry (or file), DD = delete block, etc.
2. Block line commands may not overlap with other block line commands or
individual line commands.
3. Block line commands do not apply to directories (i.e. directories are
ignored if they occur within a block.)
4. Iteration counts are not supported on select list line commands.
# 25.1 {B (Browse)}
Purpose
This is a line command. Use this command to open a file for Browse.
Format
B
Remarks
Type a B next to the file you want to Browse. This command is accepted in
3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
If you select a subdirectory, SPF/Pro displays a select list for the
subdirectory. You can return to the original select list by pressing
[F3].
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
B_ MM26 SRC 5123 10-25-90 01:23p A...
This command opens file MM26.SRC for Browse.
# 25.2 {C (Copy)}
Purpose
This is a line command. Use this command to copy a file.
Format
C
Remarks
Type a C next to the file you want to copy. COPY presents a panel
requesting information on the target file. This command is accepted in
3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
If you copy a subdirectory, SPF/Pro copies all files and subdirectories in
the selected subdirectory.
Note: If the target file already exists, you have to specify the
OVERRIGHT FILE option in the COPY dialog.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
C_ MM26 SRC 5123 10-25-90 01:23p A...
This command copies file MM26.SRC.
# 25.3 {D (Delete)}
Purpose
This is a line command. Use this command to delete a file.
Format
D
Remarks
Type a D next to the file you want to delete. If 0.6 field CONFIRM DELETE
OF FILES = Y, DELETE presents a panel requesting confirmation of the
delete operation. This command is accepted in 3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
If you delete a subdirectory, all files and subdirectories within that
subdirectory are deleted.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
D_ MM26 SRC 5123 10-25-90 01:23p A...
This command deletes file MM26.SRC.
# 25.4 {E (Edit)}
Purpose
This is a line command. Use this command to edit a file.
Format
E
Remarks
Type an E next to the file you want to edit. This command is accepted in
3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
If you select a subdirectory, SPF/Pro displays a select list for the
subdirectory. You can return to the original select list by pressing
[F3].
Note: In 3.x you can use primary command EDIT to create a new file, by
selecting a new but valid filename.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
E_ MM26 SRC 5123 10-25-90 01:23p A...
This command opens file MM26.SRC for Edit.
# 25.5 {G (Go)}
Purpose
This is a line command. Use this command to execute a program or batch
file.
Format
G
Remarks
Type a G next to the program (.EXE) or batch file (.BAT, .CMD) that you
want to execute. The contents of the primary command field are passed as
parameters to the program or batch file being executed. This command is
accepted in 3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MYAPP EXE 2222 01-25-91 10:56a A...
__ FOO BAT 2345 12-01-90 09:55a A...
G_ NEWS BAT 5123 10-25-90 01:23p A...
This command executes batch file NEWS.BAT.
# 25.6 {I (Information)}
Purpose
This is a line command. Use this command to display attribute information
about a file.
Format
I
Remarks
Type an I next to the file for which you want information displayed. This
command is accepted in 3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
I_ MM26 SRC 5123 10-25-90 01:23p A...
This command displays information for file MM26.SRC.
# 25.7 {K (Convert)}
Purpose
This is a line command. Use this command to convert a file from one file
format to another.
Format
K
Remarks
The file format change is effected by using different input and output
file profiles.
Type a K next to the file you want to convert. Convert presents a panel
with INPUT and OUTPUT file sections:
* The INPUT section is primed with the file which you identified for
conversion. You can also specify the input file profile name.
* The OUTPUT section allows you to specify the output file name, the
output file profile name, and the maximum output record length.
This command is accepted in 3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
K_ MM26 SRC 5123 10-25-90 01:23p A...
This command converts file MM26.SRC.
# 25.8 {M (Move)}
Purpose
This is a line command. Use this command to move a file.
Format
M
Remarks
Type an M next to the file you want to move. MOVE presents a panel
requesting information on the target file. This command is accepted in
3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
If you move a subdirectory, SPF/Pro moves all files and subdirectories in
the selected subdirectory.
Note: If the target file already exists, you have to specify the
OVERRIGHT FILE option in the MOVE dialog.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
M_ MM26 SRC 5123 10-25-90 01:23p A...
This command moves file MM26.SRC.
# 25.9 {N (New)}
Purpose
This is a line command. Use this command to select a file entry and
launch a new SPF task to process the selection.
Format
N
Remarks
Normally when you select a file, the select operation invokes either EDIT
or BROWSE on the file and stacks the select list for later use. With NEW,
a new SPF task is launched to directly EDIT or BROWSE the selected file.
In this mode, the select list remains active and can be used to launch
other file EDITS in parallel.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
N_ MM26 SRC 5123 10-25-90 01:23p A...
This command launches a new SPF task to directly Edit or Browse file
MM26.SRC leaving the select list active.
# 25.10 {P (Print)}
Purpose
This is a line command. Use this command to print a file or directory.
Format
P
Remarks
Type a P next to the file or directory you want to print. If you "p" a
file, the contents of the file are printed. If you "p" a directory, a
listing of the file names in that directory is printed. This command is
accepted in 3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
It is possible to set up a variety of output destinations and formats
using option 0.2.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
P_ MM26 SRC 5123 10-25-90 01:23p A...
This command prints file MM26.SRC.
# 25.11 {R (Rename)}
Purpose
This is a line command. Use this command to rename a file.
Format
R
Remarks
Type an R next to a file you want to rename. RENAME presents a panel
requesting information on the target file. This command is accepted in
3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
R_ MM26 SRC 5123 10-25-90 01:23p A...
This command renames file MM26.SRC.
# 25.12 {S (Select)}
Purpose
This is a line command. Use this command to select a a list entry for
action.
Format
S
Remarks
Type an S next to the entry you want selected. There are a variety of
contexts in which select is operative.
* In Option 0.x, many of the parameter options are presented as lists in
which you select a specific parameter entry to operate on.
* In Option 1, BROWSE, select applies the browse function to the file.
* In Option 2, EDIT, select applies the edit function to the file.
* In Option 3.x, many of the utility options present a file list from
which you select a file to operate on.
* In Option 4, FOREGROUND, you pick a user application to run from a
list.
If you select a subdirectory, SPF/Pro displays a select list for the
subdirectory. You can return to the original select list by pressing [F3].
Note: In edit mode, you can use primary command SELECT to create a new
file, by selecting a new but valid filename.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
S_ MM26 SRC 5123 10-25-90 01:23p A...
This command selects file MM26.SRC for Edit or Browse, depending on the
mode you are in.
# 25.13 {T (Tree)}
Purpose
This is a line command. Use this command to create a list of directories
below the selected directory.
Format
T
Remarks
Type a T next to the subdirectory you want to have recursively searched
for lower level directories. All lower level directories are listed in a
single flat sublist. This command is accepted in 3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
You can not put a T on a normal file.
Example
__ NAME EXT SIZE DATE TIME ATTRS
T_ SOURCE 10-25-90 01:23p
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
__ MM26 SRC 5123 10-25-90 01:23p A...
This command creates a flat sublist of all directories below
subdirectory SOURCE.
# 25.14 {U (User)}
Purpose
This is a line command. Use this command to apply a user command to a
file. User commands are set up in FOREGROUND, Option 4.
Format
U
Remarks
Type a U next to the file you want to apply the user command to. USER
presents a panel allowing you to select the desired user command. Global
variable &ZDSN is automatically set to the file name of the selected file
prior to invocation of the user command. This command is accepted in 3.x
select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
U_ MM26 SRC 5123 10-25-90 01:23p A...
This command applies a user command to file MM26.SRC.
# 25.15 {X (Exclude)}
Purpose
This is a line command. Use this command to exclude a file from the
select list.
Format
X
Remarks
Type an X next to the file you want to exclude. This command is accepted
in 3.x select lists.
If 0.6, EXTENDED LINE COMMANDS = Y, this command is accepted in all select
lists.
Unlike edit, the RESET command does not bring excluded lines back into
view. If you want the entry back, just redisplay the file select list.
Example
__ NAME EXT SIZE DATE TIME ATTRS
__ MM23 DOC 2222 01-25-91 10:56a A...
__ MM23 SRC 2345 12-01-90 09:55a A...
X_ MM26 SRC 5123 10-25-90 01:23p A...
This command excludes file MM26.SRC from the select list.
# 26. {Browse Primary Commands}
The BROWSE function has no line commands.
The following table summarizes the browse primary commands detailed in the
remainder of this chapter.
Command Function
BOT Position to bottom of file
COLORMAP Set active color map
COLUMNS Displays a line that identifies column positions
DISPLAY Sets non-displayable char for EBCDIC file display
DOWN Scroll view of file down
FIND Searches for a string, word, or character
HEX Displays text in HEX mode
LEFT Scroll view of file left
LOCATE Positions the file at a line number
RESET Resets columns display and excluded lines
RFIND Repeat last FIND command
RIGHT Scroll view of file right
SCOPY Copy selection to cut buffer
SCREATE Create a new file from current selection
SPRINT Print the current selection
SREPLACE Replace a file with current selection
SXCLUDE Exclude lines touched by current selection
TOP Position to top of file
UP Scroll view of file up
# 26.1 {BOT}
Purpose
Use this command to position to the bottom of the file.
Format
BOTTOM
BOT
Remarks
None.
# 26.2 {COLORMAP}
Purpose
Use this command to set the active colormap for the current file type.
Format
COLORMAP file-extension
Remarks
The colormap file is an ASCII file which contains control records which
tell SPF/Pro how to colorize a particular file type.
Example
COLORMAP COBOL
The example sets binds the COB colormap to the current file type.
Colormaps supplied with SPF/Pro include:
ASM
COBOL
C
CPP
PAN
PASCAL
PL1
# 26.3 {COLUMNS}
Purpose
The COLUMNS command displays a line which identifies the current column
positions.
Format
COLUMNS
COLS
COL
Remarks
To remove the COLUMNS line, use the RESET command.
# 26.4 {DISPLAY}
Purpose
Sets the character to display in place of non-displayable EBCDIC
characters. This command is only available in BROWSE mode.
Format
DISPLAY char
DISPL NONE
DISP
DIS
Remarks
By default, non-displayable EBCDIC characters (ie: bytes within packed
fields) are displayed as blanks. The DISPLAY command allows you to select
the character to display for each non-displayable character. Also HEX ON
displays the hex value of each character.
Example
DISPLAY '.'
Specifies that the period (.) character should be displayed in place of
any non-displayable character.
DISPLAY NONE
Specifies that the IBM-PC Graphics Characters should be displayed at their
respective code points. This choice shows a unique graphic character for
each non-displayable EBCDIC character.
DISPLAY ' '
Returns to the original state of displaying a blank character in place of
any non-displayable character.
# 26.5 {DOWN}
Purpose
Use this command to scroll the view of the file down.
Format
DOWN [ PAGE ]
[ HALF ]
[ CSR ]
[ DATA ]
[ MAX ]
[ nnn ]
Remarks
See page 226 for a detailed description of the parameters and examples.
# 26.6 {FIND}
Purpose
This command searches a file for a specific string or word.
Format
FIND str1 [NEXT ] [CHARS ] [col1[col2]]
F [ALL ] [PREFIX]
[FIRST] [SUFFIX]
[LAST ] [WORD ]
[PREV ]
Remarks
FIND command parameters are free form and may be entered in any order. The
only exception is that col2 must follow col1.
Usually, the FIND command is issued with only the str1 parameter. In that
case, SPF/Pro searches for the next instance of str1 starting at the
current cursor location. If the line is not currently displayed on the
screen, SPF/Pro scrolls the file so that it is.
In order to find the next string with the same value, press [F5] (RFIND).
Although the rest of the optional parameters of FIND are not used as
frequently, together they provide a very powerful search capability.
The FIND command in browse is almost exactly the same as the FIND command
in edit. The only differences are:
* The "X" and "NX" parameters are not valid in browse.
* The browse version does not have a range parameter.
* If col1 and col2 are not specified, the browse version searches the
entire data width. This contrasts with the edit version which defaults
to the columns defined by the BOUNDS command.
Because of the similarities, the parameters for the FIND command are fully
documented as part of the edit chapter. So, if you want to do any of the
following:
* specify character strings containing blanks or quotes
* do case sensitive/insensitive searches
* search for hexadecimal strings
* find a line containing a string that you specified in a previous FIND
* match string dependent on location within a word
* change the direction of searching
* restrict searching to specific columns
Example
FIND ABC
A search begins at the cursor position for "ABC".
FIND ABC 1 20
The search is confined to columns 1 - 20.
FIND 'ABC D' FIRST
Search for the first occurrence of "ABC D".
Note: Quotes (' or ") must surround the string when it contains embedded
blanks.
FIND ABC LAST
Search for the last occurrence of ABC.
FIND ABC ALL
Find all occurrences of ABC and position the cursor at the first
occurrence.
# 26.7 {HEX}
Purpose
This command enables or disables file display in HEX mode.
Format
HEX [ON ]
[OFF]
Remarks
When HEX display mode is ON, three lines of data are displayed for each
line in your file. The first line contains the original data in ASCII
format. The next two lines display the same data in vertical hexadecimal
format. A separator line is generated between line groups as a visual
queue.
# 26.8 {LEFT}
Purpose
This is a primary command. Use this command to move toward the left edge
of the displayed text. Same as [F10] key.
Format
LEFT [PAGE]
[HALF]
[CSR ]
[DATA]
[MAX ]
[nnnn]
Remarks
There are three ways to specify how much SPF/Pro moves when you issue the
command:
1. Issue the command without a scroll amount. In this case the SCROLL
field determines the amount scrolled. The SCROLL field is in the upper
right corner of the screen.
2. Issue the command with a scroll amount. Type the command and the
amount, or type the amount and press the appropriate PF key.
3. Change the SCROLL field and execute step 1.
Note: Scroll amounts can be abbreviated. For example, P for PAGE, M for
MAX, etc.
Example
[F10]
Move left by amount specified in SCROLL field.
LEFT 8
Move left eight columns.
Type 8 in command field, then press [F10]
Also, move left eight columns.
# 26.9 {LOCATE}
Purpose
This command scrolls the screen to a specific line number.
Format
LOCATE line-number
LOC
L
Remarks
Locate scrolls the file to a specific line number.
Example
LOC 472
Line 472 is displayed at the top of screen.
Different line numbering modes may result in the line number field being
different than the requested line. For example, if you are numbering by
10, the displayed line number for ordinal line number 472 would be 004720
not 000472.
# 26.10 {RESET}
Purpose
This command resets the columns display and excluded lines.
Format
RESET
RES
Remarks
None.
# 26.11 {RFIND}
Purpose
Same as [F5] key. Use this command to repeat the last FIND command.
Format
RFIND
Remarks
This command functions in BROWSE, EDIT, and file select lists.
# 26.12 {RIGHT}
Purpose
This is a primary command. Use this command to move toward the right edge
of the displayed text. Same as [F11] key.
Format
RIGHT [PAGE]
[HALF]
[CSR ]
[DATA]
[MAX ]
[nnnn]
Remarks
There are three ways to specify how much SPF/Pro moves when you issue the
command:
1. Issue the command without a scroll amount. In this case the SCROLL
field determines the amount scrolled. The SCROLL field is in the upper
right corner of the screen.
2. Issue the command with a scroll amount. Type the command and the
amount, or type the amount and press the appropriate PF key.
3. Change the SCROLL field and execute step 1.
Note: Scroll amounts can be abbreviated. For example, P for PAGE, M for
MAX, etc.
Example
[F11]
Move right by amount specified in SCROLL field.
RIGHT 8
Move right eight columns.
Type 8 in command field, then press [F11]
Also, move right eight columns.
# 26.13 {SCOPY}
Purpose
Use this command to copy the current selection to the clipboard.
Format
SCOPY
Remarks
Selections are made with the mouse. The selection is not deleted from the
file.
# 26.14 {SCREATE}
Purpose
Use this command to create an original external file with the contents of
the selection.
Format
SCREATE [ file-name ]
Remarks
Selections are made with the mouse. The selection is not deleted from the
file. If you don't specify a file name, a dialog panel is presented which
enables you to enter the target file name.
If the file already exists, SCREATE will not overwrite it. To overwrite
the file with the selection use SREPLACE.
# 26.15 {SPRINT}
Purpose
Use this command to print the current selection.
Format
SPRINT
Remarks
For all selection types, only selected characters are printed.
# 26.16 {SREPLACE}
Purpose
Use this command to create or replace an external file with the contents
of the selection.
Format
SREPLACE [ file-name ]
Remarks
Selections are made with the mouse. The selection is not deleted from the
file. If you don't specify a file name, a dialog panel is presented which
enables you to enter the target file name.
If the file already exists, SREPLACE will overwrite it. To avoid
overwriting the file with the selection, use SCREATE.
# 26.17 {SXCLUDE}
Purpose
Use this command to exclude all the lines which are touched by the
selection.
Format
SXCLUDE
Remarks
Selections are made with the mouse.
# 26.18 {TOP}
Purpose
Use this command to position to the top of the file.
Format
TOP
Remarks
None.
# 26.19 {UP}
Purpose
Use this command to scroll the view of the file up.
Format
UP [ PAGE ]
[ HALF ]
[ CSR ]
[ DATA ]
[ MAX ]
[ nnn ]
Remarks
See page 244 for a detailed description of the parameters and examples.
# 27. {Edit Primary Commands}
The commands listed in this chapter are edit primary commands. In general
they operate over the entire range of the file, rather than upon a single
line or group of lines. Edit primary commands are entered in the primary
command field rather than in the line command area of individual lines.
# 27.1 {Edit Primary Command Summary}
The following table summarizes the edit primary commands detailed in the
remainder of this chapter.
Command Function
& Keep command displayed after it is executed
: Treat primary command as line command
AUTOLIST Create a source listing after END or [F3]
AUTONUM Renumber STD, COBOL, or BASIC upon save
AUTOSAVE Turn autosave on/off
BOT Position to bottom of file
BOUNDS Set/reset current bounds
BUILTIN Not supported
CANCEL Cancel or disregard edit changes
CAPS Turn upper case conversion on or off
CHANGE Change a string of data
CHARSET Set the character set to EBCDIC or ASCII
COLORMAP Bind program colorization file to file type
COMPARE SUPERC compare current file to external file
COPY Copy a file into the current file
COUNTSAVE Set number of ENTERs before SAVE (also SAVECOUNT)
CREATE Create a new file
CUT Cut lines marked with CC or MM to cut buffer
DATA Insert data at the current cursor position
DEFINE Enable/disable specific macros by name
DELETE Delete a group of lines
DOWN Scroll view of file down
END End edit session; return to prior menu
ERRORFILE Insert compiler errors as message lines
EXCLUDE Exclude lines from viewing
FIND Find a string of data
FLIP Invert sense of excluded lines
HEX Turn HEX display on or off
IMACRO Set initial macro name in the edit profile
LCOMMAND Turn line command field ON or OFF
LEFT Scroll view of file left
LEVEL Set/reset modification level
LOCATE Locate a given line
LRECL Set logical record length
MODEL Access program source templates
MOVE Move a file into the current file
NOTE Not supported
NULLS Not supported
NUMBER Turn numbering mode on or off
PACK Not supported
PASTE Insert lines from cut buffer
PROFILE Display current profile information
RCHANGE Repeat last CHANGE command
RECOVERY Set UNDO support ON or OFF
REDO Redo the last alteration which was undone
RENUM Renumber the current file
REPLACE Replace a file on disk
RESET Reset all pending line commands
RFIND Repeat last FIND command
RIGHT Scroll view of file right
RMACRO Not supported
SAVE Save a file on disk
SAVECOUNT Set number of ENTERs before SAVE (also COUNTSAVE)
SCOPY Copy the selection to the clipboard
SCREATE Create a new file from the selection
SCUT Copy selection to clipboard, then delete it
SDELETE Delete the selection
SORT Sorts records or columns
SPASTE Paste contents clipboard at cursor position
SPRINT Print the current selection
SREPLACE Replace an existing file with the selection
STATS Turn stats on or off
STOLOWER Convert selection to all lower case chars
STOUPPER Convert selection to all upper case chars
SXCLUDE Exclude all lines touched by the selection
TABS Turn tabs on or off
TOP Position to top of file
UNDO Undo the last alteration
UNNUM Reset numbers to blanks
UP Scroll view of file up
XMACRO Sets exit macro name in the edit profile
VERSION Not supported
# 27.1 {& (Keep Command)}
Purpose
Keep edit primary command in primary command field after execution.
Format
&edit-primary-command
Remarks
To keep any edit primary command in the primary command field after
execution is complete, prepend the ampersand (&) character to the command.
# 27.2 {: (Line Command)}
Purpose
Treat the command entered in the primary command field as a line command.
Apply it to the current line.
Format
:primary-command
Remarks
To apply a line command to the current line without actually typing on
that line, type colon followed by the line command in the primary command
field (or in PF key map).
Example
If you want to delete a single line using a PF key, you would assign
that PF key the value:
:d
# 27.3 {AUTOLIST}
Purpose
Turns automatic listing generation on or off. Creates a source listing
after changes have been made and saved.
Format
AUTOLIST [ON ]
[OFF]
Remarks
If AUTOLIST is on when the edit session ends, a listing of the file is
generated.
If AUTOLIST is off when the edit session ends, a listing of the file is
not generated.
# 27.4 {AUTONUM}
Purpose
Turns automatic renumbering on or off.
Format
AUTONUM [ON ]
AUTO [OFF]
Remarks
If AUTONUM is on and NUMBER is on, lines are renumbered when the file is
saved.
If AUTONUM is off or NUMBER is off, lines are not renumbered when the file
is saved.
# 27.5 {AUTOSAVE}
Purpose
Determines whether the file is automatically saved when the edit session
ends.
Format
AUTOSAVE [ON ]
[OFF [PROMPT ]]
[OFF [NOPROMPT]]
Remarks
If AUTOSAVE is on, the file is saved when the edit session ends via the
END primary command.
If AUTOSAVE is off, and PROMPT is in effect, and the file was modified, a
prompt is displayed at END. You may enter either SAVE or CANCEL at this
time. SAVE saves the file, then exits. CANCEL exits without saving the
file.
If AUTOSAVE is off and NOPROMPT is in effect, the file is not saved at
END. In this case END behaves exactly the same as CANCEL.
# 27.6 {BOT}
Purpose
Use this command to position to the bottom of the file.
Format
BOTTOM
BOT
Remarks
None.
# 27.7 {BOUNDS}
Purpose
Sets the left and right column boundaries and saves them in the Edit
Profile.
Format
BOUNDS [left-column right-column]
BNDS
BND
Remarks
Left-column identifies the left column boundary and right-column
identifies the right column boundary. The same column cannot be specified
for both boundaries. Either column may be specified as an asterisk (*);
the existing column boundary is used.
If the BOUNDS command is entered without operands, the boundaries are set
to their default columns. If numbering is set to COBOL, the default left
bound is column 7. In all other cases, the default left bound is column 1.
If numbering is set to STD, the default right bound is 72. In all other
cases, the default right bound is equal to the maximum record length.
Column boundaries are used to limit the scope of:
1. Left and right line shift commands.
2. Left and right line scroll commands.
3. FIND, CHANGE, and EXCLUDE commands.
4. SORT command.
5. TE, TS, and TF line commands.
6. O, OO line command.
BOUNDS allows scrolling to the bounds extents. A left scroll stops at the
left bound, a right scroll stops at the right bound. An additional scroll
request causes scrolling beyond the bounds.
Bounds may also be changed by displaying the boundary definition line with
the BNDS line command.
The bounds are automatically adjusted to exclude the sequence-number
fields whenever NUMBER is turned on.
Example
To reset bounds to defaults:
BOUNDS
To set the left boundary to 1 and the right boundary to 72:
BOUNDS 1 72
# 27.8 {CANCEL}
Purpose
Cancels editing of current file.
Format
CANCEL
CAN
Remarks
Any changes made during an edit session are cancelled.
Note: If the SAVE command was used before CANCEL, edit changes made up to
the SAVE are not cancelled.
# 27.9 {CAPS}
Purpose
Controls the CAPS mode.
Format
CAPS [ON ]
[OFF]
Remarks
If on is specified, data entered is set to upper case.
If off is specified, data entered is left "as is".
# 27.10 {CHANGE}
Purpose
Searches the file for a character string then replaces it with another
character string. Strings which are changed are highlighted.
Format
CHANGE str1 str2 [range][NEXT ][CHARS ][X ][col1[col2]]
CHG [ALL ][PREFIX][NX]
C [FIRST][SUFFIX]
[LAST ][WORD ]
[PREV ]
Remarks
Generally CHANGE is entered with only the two required parameters: str1
and str2. In this case, SPF/Pro searches for the next instance of str1
starting at the current cursor location. When str1 is found it is replaced
with str2. SPF/Pro searches for str1 within the current BOUNDS (see page
294 for more on this).
You can press [F6] to repeat the change on the next occurrence of str1.
The most common parameter used is ALL which replaces all occurrences of
str1 rather than just the next one.
The remaining optional parameters are not used as frequently. Together
they provide a very flexible and powerful extension to the basic search
and replace capability.
CHANGE has common parameters with FIND and EXCLUDE; these parameters are
fully documented once at the beginning of this chapter. So, if you want
to:
* specify character strings containing blanks or quotes
* do case sensitive/insensitive searches
* find and replace hexadecimal strings
* find or replace a string that you just specified in a previous FIND,
CHANGE, EXCLUDE command
* match strings dependent on its location within a word
* change the direction of searching
* restrict searching to a range of lines
* affect searching by whether lines are currently "excluded" or not
* cause searching in columns other than that currently specified in the
BOUNDS command
CHANGE parameters are free form and may be entered in any order. The only
exceptions are:
1. If entered, col2 must follow col1.
2. Str2 must follow str1.
Str1 and str2 are required; all other parameters are optional.
If CHANGE strings are not the same length, SPF/Pro automatically shifts
characters on the right of the string. In doing this, it tries to meet
the following objectives:
* It will not shift any characters to the right of the current right
bound.
* It will not shift any non-blank characters between the right of the
string and the right bound.
If str1 is longer than str2, SPF/Pro shifts characters on the right of
str2 to the left until it finds a blank or reaches the right bound.
There, it inserts the number of blanks equal to the shift amount.
If str1 is shorter than str2, SPF/Pro shifts characters on the right of
str2 to the right to make room for str2. While doing so, it attempts to
avoid shifting non-blank characters. It does this by replacing adjacent
blank characters with a single blank. If there are insufficient blanks
between the end of the string and the right bound, an error flag is placed
in the line command area:
==ERR>
When a CHANGE is successfully made, a change flag is placed in the line
command area:
==CHG>
To remove change and error flags use the RESET primary command.
Example
To change string "this" to string "that":
change this that
To change string "something" to a null string (""):
CHANGE something ''
To change string "ABC" to string "XYZ" in columns 1 through 20 inclusive:
CHANGE ABC XYZ 1 20
To change the first occurrence of string "ABC" to "DEF" commencing the
search at the start of the file:
CHANGE abc def first
To change all occurrences of string "ABC" to "XYZ":
CHANGE ABC XYZ ALL
To change string "ABC" to "XYZ" only in excluded lines:
CHANGE ABC XYZ X
To change string "ABC" to "XYZ" only in non-excluded lines:
CHANGE ABC XYZ NX
To change all blanks to hyphens in columns 1 to 5, between lines labeled
.B and .E, but only in excluded lines:
CHG ALL ' ' '-' 1 5 .B .E X
# 27.11 {CHARSET}
Purpose
Sets the character set to either EBCDIC or ASCII.
Format
CHARSET [ EBCDIC | ASCII ]
Remarks
The character set determines how character code points are interpreted.
If you download a file from the mainframe without conversion, its
characters are EBCDIC. It can be edited without conversion by setting the
character set to EBCDIC. DOS files are natively in ASCII. This value can
also be set in the file profile via panel 0.7.
# 27.12 {COLORMAP}
Purpose
Binds a program colorization control file to a particular file type.
Format
COLORMAP name | NONE
Remarks
To activate program colorization for the current file type, specify the
name of the program colorization file (no extension). To de-activate
program colorization for the current file type, specify NONE.
You can enable or disable program source colorization globally via Option
Panel 0.5.
# 27.13 {COMPARE}
Purpose
Use this command to compare the file being edited to an external file.
After compare is complete, the differences are integrated into the current
file as "==INS>" and "==DEL>" lines.
Format
COMPARE [ file-name ]
Remarks
If "file-name" is not specified, an entry panel is presented which allows
you to specify an individual file or generate a select list from which you
can select an individual file.
See SUPERC Utility (3.I) for details on other fields in the SUPERC entry
panel.
# 27.14 {COPY}
Purpose
Copies a file from disk into the file being edited.
Format
COPY [filename] [BEFORE label] [range]
[AFTER label]
Remarks
If filename is specified, the file is copied from the same drive and
subdirectory as the current file.
If filename is not specified, a file-specification menu is presented. On
this menu, you can specify any drive and subdirectory.
If the file-specification menu is presented, the file to be copied is
specified in either SPF/Pro FILE DEFINITION or FILE NAME.
A Select List menu is presented if you specify wild-card characters ("*"
or "?"). In the select list you can select a file to copy by placing an S
to the left of the file name or press [F3] to cancel the request.
There are two ways to specify where the copied text is to be inserted.
First, a edit line command can be used to mark the appropriate line with A
(after) or B (before). Second, an option can be given as part of the COPY
command to place the records AFTER or BEFORE a line that has been
previously labeled.
If a range of line numbers is not specified, the entire file is copied.
Note: CUT and PASTE primary commands can also be used to move or copy
lines between files. See page and page for details.
Example
To copy DEMO.DOC from the same drive/subdirectory as the current file to a
point in the file indicated by the A or B line command:
COPY DEMO.DOC
To display a select list of all DEMO document candidates that could be
copied:
COPY DEMO*.DOC
To copy a file specified on a subsequent menu to a point after the line
labeled ".A":
COPY AFTER .A
# 27.15 {COUNTSAVE}
Purpose
Use this command to cause files being edited to be automatically saved
based on the number of times that [SPF-Enter] has been pressed.
Format
COUNTSAVE nnn
Remarks
If 0 is specified, files being edited are not automatically saved.
If 1 or greater is specified, files being edited are automatically saved
every "nnn" presses of [SPF-Enter].
Same as SAVECOUNT.
# 27.16 {CREATE}
Purpose
Creates a new file using all or part of the file being edited.
Format
CREATE [filename] [range]
CRE
Remarks
If filename is specified, the file is created in the same drive and
subdirectory as the current file.
If filename is not specified, a file-specification menu is presented. On
this menu, you can specify any drive and subdirectory.
If the menu is presented, the file to be created is specified in either
SPF/Pro FILE DEFINITION or FILE NAME.
Note: Using wild-card characters ("*" and "?") in the file
specification is not valid.
There are two ways to specify which lines are to go to the new file:
* Mark text to be copied/moved with the COPY (C, Cn, CC) or MOVE (M, Mn,
MM) line commands. Using COPY line commands does not affect the
current file. Using MOVE line commands deletes the marked lines from
the current file after the new file is created.
Note: See COPY and MOVE line commands on page , page , page ,
and page , for additional information.
* Specify a range of lines as part of the CREATE command. The range is
specified with beginning and ending labels. The source line range
parameter is not supported as it is on COPY.
If the file already exists, CREATE will not overlay it. See page for
details on how to create a new file which replaces an existing file.
Example
To create DEMO.DOC in the same drive/subdirectory as the current file
using records identified by CC line commands:
CREATE DEMO.DOC
To create a file specified on a subsequent menu using lines beginning at
line labeled ".B" and ending at line labeled ".E":
CREATE .B .E
# 27.17 {CUT}
Purpose
Use this command to copy or move a block of lines to the clipboard.
Format
CUT [ APPEND ]
Remarks
First mark the block of lines to be cut with either CC or MM line
commands. After the lines have been cut, they can be pasted another edit
file.
If APPEND is specified, the cut lines are appended to the current contents
of the clipboard, otherwise the cut lines replace the current contents of
the clipboard.
Note: If you have selected text with the mouse, use SCUT, SCOPY, and
SPASTE.
Example
To cut the block of lines marked with CC or MM:
CUT
# 27.18 {DATA}
Purpose
Use this command to insert data at the current cursor position.
Format
DATA string
Remarks
Normally the DATA command and its associated text is assigned to a
function key. The data is inserted (or overtyped) at the current cursor
position just as if you had typed it in through the keyboard. This is
particularly convenient when you want to repeatedly insert some text
throughout a document or program source.
Example
Use KEYS to assign the paragraph markup tag to [F1]. Then press [F1]
whenever you want to insert the paragraph markup in a document.
PF1 ===> DATA
An easier method is to simply define the value of a PF key as a quoted
string:
PF1 ===> " "
# 27.19 {DEFINE}
Purpose
Use this command to enable, disable, or alias specific macros or primary
commands.
Format
DEFINE name [MACRO CMD ] | [CMD MACRO ]
DEF [ALIAS name2 ]
[NOP ]
[RESET ]
[DISABLED ]
Remarks
The command is primarily used to manage the selective invocation of macros
and primary commands.
name
Specifies the name that is used to invoke the macro or primary command.
MACRO CMD
Specifies that the name parameter identifies a macro. This is the
default and thus need not be specified.
Note: SPF/Pro does not support the direct invocation of programs and
thus the ISPF MACRO PGM parameter is not supported.
ALIAS
When name and ALIAS name2 are both specified, name is an alias of
name2.
NOP
Specifies that name is a NOP (no operation). Any aliases are also set
to NOP.
RESET
Specifies that name be reset, that is, restored to its default state.
For example if name were previously NOPed, it would be returned to
operational status.
DISABLED
Specifies that name be disabled. Disablement is identical to NOP except
that the state can not be reversed with the RESET option. You must exit
to the Primary Option Menu to restore the disabled macro to operational
status.
Command tables are also accessible via Option Panel 3.J.
Example
To define that QQ is an alias for the CANCEL primary command:
DEFINE QQ ALIAS CANCEL
To restore the CANCEL primary command to its original status:
DEFINE CANCEL RESET
To define that the MOVE primary command is to have no operation (NOP):
DEFINE MOVE NOP
To define that the MOVE primary command is to have no operation (NOP):
DEFINE MOVE NOP
To define that the COPY primary command is to be disabled (like NOP):
DEFINE COPY DISABLED
# 27.20 {DELETE}
Purpose
Removes one or more lines from the file being edited.
Format
DELETE ALL [ X | NX ] [ range ]
DEL
Remarks
You can delete one of the following:
* All excluded lines (DELETE ALL X).
* All non-excluded lines (DELETE ALL NX).
* Lines within a range (DELETE ALL .B .E)
* Excluded lines within a range (DELETE ALL X .B .E)
* Non-excluded lines within a range (DELETE ALL NX .B .E)
Note: If you have selected text with the mouse, use SDELETE.
Example
To delete all lines that contain a non-ASCII character:
RESET X (make all lines visible)
EXCLUDE ALL P'.' (exclude lines with non-ASCII)
DELETE ALL X (delete all excluded lines)
To delete all lines between lines labeled ".B" and ".E":
DELETE ALL .B .E
# 27.21 {DOWN}
Purpose
Same as [F8] key. Use this command to move toward the bottom of the file.
Format
DOWN [PAGE]
[HALF]
[CSR ]
[DATA]
[MAX ]
[nnnn]
Remarks
There are three ways to specify how much SPF/Pro moves when you issue the
command:
1. Issue the command without a scroll amount. In this case the SCROLL
field determines the amount scrolled. The SCROLL field is in the upper
right corner of the screen.
2. Issue the command with a scroll amount. Type the command and the
amount, or type the amount and press the appropriate PF key.
3. Change the SCROLL field and execute step 1.
Note: Scroll amounts can be abbreviated. For example, P for PAGE, M for
MAX, etc.
Example
[F8]
Move down by amount specified in SCROLL field.
DOWN 8
Move down eight lines.
Type 8 in command field, then press [F8]
Also, move down eight lines.
# 27.22 {END}
Purpose
Terminates the edit session and returns you to the prior menu.
Format
END
Remarks
Normally you would use END to exit and save any changes you have made to
the edited file. Saving is conditioned by the AUTOSAVE profile variable
which is manipulated by the AUTOSAVE primary command. If you do not want
to save changes made in this edit session, use the CANCEL primary command
in place of END. The default key mapping places the END command on [F3].
If you are in Edit and SAVE has been disabled due to a system error, END
will not exit the Editor. Use CANCEL instead.
Example
To end the current edit session and save changes:
END
# 27.23 {ERRORFILE}
Purpose
This command merges the content of a compiler error message file with the
file being edited.
Format
ERRORFILE [filename]
ERROR
EF
Remarks
Error messages are merged as NOTEs into the file being edited at the line
position where the error occurred. You can also use the /R command line
option to merge compiler error messages with the associated source file.
The following message formats are supported:
Micro Focus COBOL
Realia COBOL
Borland C++
Zortech C++
Microsoft (all languages)
Example
The following examples merge error message file ERROR.OUT with the active
edit file:
ERRORFILE ERROR.OUT
ERRORFILE C:\COBOL\DEMOS\ERROR.OUT
# 27.24 {EXCLUDE}
Purpose
Allows you to exclude selected lines from view.
Format
EXCLUDE str1 [range][NEXT ][CHARS ][col1[col2]]
EXC [ALL ][PREFIX]
EX [FIRST][SUFFIX]
X [LAST ][WORD ]
[PREV ]
Remarks
Excludes one or more lines containing str1. String edge characteristics
may also be specified. The number of lines excluded is controlled by the
search direction and scope. The search for str1 can be limited to a range
of lines.
Parameters may be entered in any order. One exception is that col1 must
precede col2.
The lines containing a match on str1 are excluded from view just as if an
X line command was entered on those lines.
Of all of the possible combinations of parameters, the following two are
most frequently:
* "EXCLUDE str1 ALL" excludes all lines that match str1. It is often
followed with a CHANGE ... NX command to change non-excluded lines
only. Or the inverse, a CHANGE ... X command to change excluded lines
only.
* EXCLUDE ALL excludes all lines from view. This is usually followed by
a FIND command which makes only a subset of lines visible. After the
subset lines are visually verified, a CHANGE ... NX is used to change
them.
Although the rest of the optional parameters are not used as frequently,
together they provide a very powerful search capability.
EXCLUDE has common parameters with CHANGE and FIND; these parameters are
fully documented once at the beginning of this chapter. So, if you want
to:
* specify character strings containing blanks or quotes
* do case sensitive/insensitive searches
* search for hexadecimal strings
* exclude a line containing string that you just specified in a previous
FIND, CHANGE, EXCLUDE command
* match strings dependent on its location within a word
* change the direction of searching
* restrict searching to a range of lines
* affect searching by whether lines are currently "excluded" or not
* cause searching in columns other than that currently specified in the
BOUNDS command
Once lines are excluded, they can be returned to view (not excluded) in
one of 4 ways:
1. The RESET command makes all excluded lines visible.
2. The FIND command makes excluded lines containing the find string
visible.
3. The S (Show) line command makes lines visible based on their
indentation level. (See page .)
4. The FIRST and LAST line commands make one or more excluded lines (at
beginning or end of a block of excluded lines) visible.
Note: If you have selected text with the mouse, use SXCLUDE.
Example
This example excludes all ELSE strings in columns 1 to 4 between lines
labeled .E and .S:
EXC ALL ELSE 1 4 .E .S
# 27.25 {FIND}
Purpose
Searches a file for a string, word or characters. Strings which are found
are highlighted.
Format
FIND str1 [range][NEXT ][CHARS ][X ][col1[col2]]
F [ALL ][PREFIX][NX]
[FIRST][SUFFIX]
[LAST ][WORD ]
[PREV ]
Remarks
FIND command parameters are free form and may be entered in any order. The
only exception is that col2 (if entered) must follow col1. The str1 parm
is required; all others are optional.
Usually, the FIND command is issued with only the str1 parameter. In that
case, SPF/Pro searches for the next instance of str1 starting at the
current cursor location. SPF/Pro only searches for str1 within the
current BOUNDS specification. (See page 294) If the line is not currently
displayed on the screen, SPF/Pro scrolls the file so that it is displayed.
If the line is currently excluded, it is made visible.
Although the rest of the optional parameters are not used as frequently,
together they provide a very powerful search capability.
FIND has common parameters with CHANGE and EXCLUDE; these parameters are
fully documented once at the beginning of this chapter. So, if you want
to:
* specify character strings containing blanks or quotes
* do case sensitive/insensitive searches
* search for hexadecimal strings
* find a line containing string that you just specified in a previous
FIND, CHANGE, EXCLUDE command
* match a string dependent on its location within a word
* change the direction of searching
* restrict searching to a range of lines
* affect searching by whether lines are currently "excluded" or not
* cause searching in columns other than that currently specified in the
BOUNDS command
* search for a string in one or more files in a select list
Example
Find the next occurrence of string "ABC" starting at the current cursor
position:
FIND ABC
Find the next occurrence of string "ABC" between columns 1 and 20:
FIND ABC 1 20
Find next occurrence of string "one of a kind":
FIND 'one of a kind'
Find the last occurrence of string "ABC":
FIND ABC LAST
Find all occurrences of string "ABC":
FIND ABC ALL
Find the next occurrence of string "ABC" in excluded lines:
FIND ABC X
Find the next occurrence of string "ABC" in non-excluded lines:
FIND ABC NX
Find the first occurrence of string "ABC" from the start of the file:
FIND ABC FIRST
Find the next occurrence of word "pages" between the lines labeled .start
and .end:
FIND pages word .start .end
Note: This search starts at the current cursor position and scans
forward. This search is also delimited by the range, .start to .end. You
must be conscious of both of these facts, as well as the current cursor
location, in order to predict precisely how this command works. Confusion
results when the cursor resides between the two labels. In that case,
searching does not start at the first label. Instead, it starts at the
current cursor location.
This example finds the first hyphen (-) in columns 1 to 5 between lines
labeled .E and .S, but only in those lines that are excluded.
FIND FIRST '-' 1 5 .E .S X
# 27.26 {FLIP}
Purpose
Invert the sense of excluded lines.
Format
FLIP
Remarks
Makes excluded lines non-excluded, and non-excluded lines excluded. This
is useful when you want to exclude all lines which contain a particular
string.
Example
To exclude all lines containing string EMPLOYEE-NUMBER:
EXCLUDE ALL
FIND EMPLOYEE-NUMBER ALL
FLIP
# 27.27 {HEX}
Purpose
Enables or disables hexadecimal display mode.
Format
HEX [ON ]
[OFF]
Remarks
In HEX mode, three lines of data are displayed for each line in the file.
The first shows data in standard ASCII form. The next two lines show the
same data in vertical hexadecimal representation.
Either the data lines or the hex lines may be altered. Simply overtype the
change you wish on either ASCII character line or the hexadecimal lines.
If a conflict exists, the hex lines are used.
WARNING: using Hex 1A (decimal 26) as a data character in a file can cause
inadvertent file truncation as this is the DOS EOF Character. If you enter
this character and save the file, the file is saved "as is"; however, if
you then edit the file AND your file profile honors the DOS EOF character,
the file is truncated at the point where the first Hex 1A is encountered.
To use the Hex 1A character, in 0.7 (File Profile) set the FILE TERMINATOR
option to NO.
# 27.28 {IMACRO}
Purpose
Saves the name of an initial macro in the current edit profile.
Format
IMACRO [name]
[NONE]
Remarks
You can specify either:
name
The name of the initial macro to be executed when editing a file that
matches this file's type. The IMACRO is executed before any data is
displayed.
Specify NONE to reset the IMACRO value.
Example
To set STARTUP as the initial macro:
IMACRO STARTUP
To reset the edit profile to no initial macro:
IMACRO NONE
# 27.29 {LCOMMAND}
Purpose
Specifies whether the line command field is present or not.
Format
LCOMMAND [ ON | OFF ]
LCMD
Remarks
If on is specified, the line command field is present.
If off is specified, the line command field is not present. In this case
it is necessary to map specific line command actions to PF keys (or other
control keys) to be able to execute those line commands.
See the KEYS primary command or Keyboard Option 0.K for a description of
how to map PF keys and other key sequences to specific line commands.
# 27.30 {LEFT}
Purpose
Same as [F10] key. Use this command to move toward the left edge of the
displayed text.
Format
LEFT [PAGE]
[HALF]
[CSR ]
[DATA]
[MAX ]
[nnnn]
Remarks
There are three ways to specify how much SPF/Pro moves when you issue the
command:
1. Issue the command without a scroll amount. In this case the SCROLL
field determines the amount scrolled. The SCROLL field is in the upper
right corner of the screen.
2. Issue the command with a scroll amount. Type the command and the
amount, or type the amount and press the appropriate PF key.
3. Change the SCROLL field and execute step 1.
Note: Scroll amounts can be abbreviated. For example, P for PAGE, M for
MAX, etc.
Example
[F10]
Move left by amount specified in SCROLL field.
LEFT 8
Move left eight columns.
Type 8 in command field, then press [F10]
Also, move left eight columns.
# 27.31 {LEVEL}
Purpose
Assigns a modification level to the current file.
Format
LEVEL number
LEV
Remarks
If STATS mode is on, and STD number mode is on, the modification level is
stored in positions 79 and 80 for any lines that are modified during the
edit session. In addition, the modification level is replaced for any
record that already has a modification level number that is greater than
the number specified.
Normally, the level number is one greater than the largest number found in
these columns before editing starts. This command allows you to choose a
different number.
If LEVEL number 0 is specified, all lines are reset to LEVEL 0 when the
file is saved.
# 27.32 {LOCATE}
Purpose
Used to position the file to a specific line number or a specific type of
generic line.
Format
LOCATE line-number | label
LOC
L
LOCATE [NEXT ] [LABEL ] [range]
LOC [PREV ] [COMMAND ]
L [FIRST] [ERROR ]
[LAST ] [CHANGE ]
[SPECIAL ]
[EXCLUDED]
Remarks
The first format scrolls the file so that the line with the specified line
number or label is at the top of the display.
If the command contains any parameters other than line number or label,
SPF/Pro assumes that it is the second format.
The operands NEXT, PREV, FIRST and LAST are used to control the direction
of search:
NEXT
start at the cursor line and search forward (this is the default)
PREV
start at the cursor line and search backward
FIRST
start at the front of the file and search forward
LAST
start at the end of the file and search backward
The next optional parameter specifies a particular line type to be
located:
LABEL
(or LAB) search for a line with a label
COMMAND
(or COM) search for a line with a pending line command
ERROR
(or ERR) search for a line with an error flag ( ==ERR>)
CHANGE
(or CHG) search for a line with a change flag (==CHG>)
SPECIAL
(or SPE) search for a line marked with =PROF>, =MASK>, =TABS>, =BNDS>,
==MSG>, or =NOTE=)
EXCLUDED
(or X) search for an excluded line
In addition, the second form of this command can include a range
specification to restrict the locate to a range of lines.
Example
Put line 472 at top of screen:
LOC 472
Scroll to the next line that has a label:
LOC LABEL
Locate the first line of the file:
L .ZFIRST
Locate the next special line:
LOCATE SPE
Locate the first error line (==ERR>):
L ERR FIRST
Locate the next line with a label:
LOC NEXT LABEL
Locate the next excluded line between labels .START and .END:
L X .START .END
Locate the first excluded line between labels .E and .S:
L FIRST .E .S X
# 27.33 {LRECL}
Purpose
Used to set the logical record length profile variable.
Format
LRECL nnn [ TRUNC ]
Remarks
Sets the maximum logical record length for records in a particular file
type. You can also set this value with the profile options panel 0.7.
If you have a corrupted file, and want to truncate records which exceed
the desired LRECL, specify TRUNC along with the LRECL value. The TRUNC
parameter only applies to the current file in EDIT.
# 27.34 {MODEL}
Purpose
Use this command to incorporate program source templates for a particular
programming language into the file you are editing.
Format
MODEL [source-template-name]
Remarks
The typical use for the MODEL command is to directly incorporate a
template for a particular construct of a programming language into your
program source. This can be accomplished in a variety of ways:
* If you know the name of the template you simply enter the MODEL primary
command with the template name as the only parameter. You must also
place an "A" or "B" line command at the insert point. For example,
MODEL IF
* If you are not sure of the template name, enter the MODEL primary
command with no parameters to bring up a list of available templates.
Select the desired template from the list and it will be inserted.
* The MODEL primary command determines which templates to present based
on the file extension. For example, if you are editing PROG1.COB, the
MODEL command will present the templates for the COBOL language; if you
are editing PROG1.C, the MODEL command will present the templates for
the "C" language.
* If you are editing a file type which is not known to MODEL, for
example, PROG1.XYZ, it will present a list of all known types from
which you can select the desired language. From that point onward, the
selected template group will be associated with type ".XYZ".
In all cases, once a source template is selected, it is inserted after the
"A" or before the "B" insert point. Included with many templates are NOTE
line annotations which explain the usage for the selected template. NOTE
lines are dismissed with the RESET primary command.
# 27.35 {MOVE}
Purpose
Moves a file from disk into the current file.
Format
MOVE [filename] [BEFORE label]
[AFTER label]
Remarks
Works the same as the COPY primary command (see page 303) but it removes
the file after it has been copied into the current file. The source line
range parameter is not supported as it is on COPY.
# 27.36 {NUMBER}
Purpose
Sets NUMBER mode on or off and specifies the numbering method.
Format
NUMBER [ON ] [STD] [COBOL] [DISPLAY]
NUM [OFF]
Remarks
COBOL and DISPLAY may be abbreviated COB and DIS, respectively.
If no number type is specified, STD is assumed.
When number mode is turned on, the NUMBER command verifies that all lines
have valid numbers in ascending sequence. If any lines are either
unnumbered or out of sequence, it renumbers all lines. Otherwise, it does
not alter existing sequence numbers.
If STD is specified (or defaulted), sequence numbers are generated in
columns 73 to 80. This option is invalid for files with records longer
than 80 characters.
If COBOL is specified, sequence numbers are generated in columns 1 to 6.
If DISPLAY is specified, COBOL sequence numbers are shown on the screen.
This has the same effect as pressing [F9] immediately after entering edit
mode.
If STATS is on, and number is STD, sequence numbers are placed in columns
73 to 78, and a level number is placed in columns 79 and 80. The level
number is incremented by one each time the file is edited. When a line is
inserted or changed, the level number is placed in columns 79 and 80. See
page 323 for other ways to set the level number.
Note: For file types .COB, .CBL, and .CPY, when loading the file, each
record is examined to determine whether it contains sequence numbers in
either the COBOL or STANDARD number columns.
If all lines have valid numbers in ascending sequence, edit assumes the
data is numbered and turns number mode on. Otherwise, edit turns number
mode off. If the initial setting of the number mode differs from the
previous setting in the profile, a message is displayed indicating that
edit has changed the mode.
Example
Turn on STD numbering:
NUMBER
Turn on COBOL numbering and cause sequence numbers to be visible:
NUMBER COBOL DISPLAY
Turn on STD numbering:
NUMBER STD
Turn on STD and COBOL numbering:
NUMBER STD COBOL
# 27.37 {PASTE}
Purpose
To retrieve the current contents of the cut buffer.
Format
PASTE
Remarks
For PASTE to function, you must mark the destination for the paste block
with the "A" or "B" line command. The cut buffer contents are not altered
by PASTE so you may do multiple PASTEs of the same cut buffer data.
Note: If you have selected text with the mouse, use SCUT, SCOPY, SPASTE.
Example
To retrieve the block of lines in the cut buffer:
PASTE
# 27.38 {PROFILE}
Purpose
Displays the current edit profile. It can also be used to choose an edit
profile for a different extension or lock the current profile.
Format
PROFILE name [number]
PROF number
PRO LOCK
PR UNLOCK
Remarks
name
Specifies the profile name that you would like to change to. If the
specified name does not exist, a new profile is created using the
parameters that are in effect when the ISREDIT PROFILE command is
processed.
number
The number of profile lines to display. You can specify any number
from 1 to 8. The default is 4, the maximum is 8. If you don't want to
see the profile lines, enter RESET or PROFILE 0.
LOCK
Save and lock the profile. All current modes and options are saved and
marked so that they can not be overwritten. Each time that an edit
session is begun, the locked profile is re-called exactly as it was
when it was locked. Changes made during a new edit session affect only
the current edit session, and not subsequent sessions.
UNLOCK
Unlock the current edit profile so that it can be changed.
The following information is displayed:
NAME Current file extension
RECORD FORMAT Length-delimited/Data-delimited
RECORD LENGTH 1 - 64000
RECOVERY On/Off
NUMBER On/Off/STD/COB/DISP
CAPS On/Off
HEX On/Off
TABS On/Off/Std/All/Character
CHARSET ASCII or EBCDIC
AUTOSAVE On/Off/Prompt/Noprompt
AUTONUM On/Off
AUTOLIST On/Off
STATS On/Off
PROF Lock/Unlk
IMAC IMACRO Name
XMAC XMACRO Name
PACK Not supported (always OFF)
COLORMAP name or OFF
# 27.39 {RCHANGE}
Purpose
Same as [F6] key. Use this command to repeat the last CHANGE command.
Format
RCHANGE
Remarks
This command only functions in File Select Lists, EDIT, and BROWSE. See
page 297 for details.
# 27.40 {RECOVERY}
Purpose
Specifies whether UNDO support is on or off.
Format
RECOVERY [ ON | OFF ]
Remarks
If on is specified, UNDO/REDO support is activated.
If off is specified, UNDO/REDO support is de-activated.
This command is identical to UNDO ON/OFF.
# 27.41 {REDO}
Purpose
Specifies that one or more EDIT operations which were undone should be
re-done. This is the opposite of UNDO.
Format
REDO [ nnn | ALL ]
Remarks
In the normal use of EDIT, you make numerous changes to a file. When undo
processing is on, each change is recorded in a journal which may
subsequently be used to undo a change. Having undone a change, you may
want to redo it. This is when the REDO command comes into play.
For each undo with no intervening changes, you can apply REDO. If no
parameters are specified, only the last posted undo is redone.
If a number is specified, redo is applied to the specified number of
posted undos. In the event that the number of posted undos is smaller than
the specified number, only the posted undos are redone.
If ALL is specified, all posted undos are redone.
# 27.42 {RENUM}
Purpose
Turns on NUMBER mode and re-sequences all lines starting with 100
incrementing by 100. If the number of lines in the file is so great as to
use all available numbers when numbering by 100, the number increment is
automatically reduced to 10.
Format
RENUM [ COBOL ] [ STD ] [ DISPLAY ]
REN
Remarks
RENUM forces a re-sequence. It does not preserve existing sequence
numbers. Parameters COBOL, STD, and DISPLAY are identical to the NUMBER
command.
If numbers are not visible, press [F9] or [F10] scroll keys.
For more information, see NUMBER command on page 329.
# 27.43 {REPLACE}
Purpose
Replaces an existing file using all or part of the file currently being
edited.
Format
REPLACE [filename] [range]
REPL
REP
Remarks
The REPLACE primary command works identically to the CREATE primary
command with the exception that if the file already exists, it is
replaced.
# 27.44 {RESET}
Purpose
Resets special lines, flagged lines, pending line commands, current
selection, and FIND/CHANGE highlighting. The effect is that line command
fields are cleared and line numbers are displayed.
Format
RESET [LABEL] [COMMAND] [ERROR] [CHANGE]
RES
..... [SPECIAL] [EXCLUDED] [range]
Remarks
The following parameters allow limiting the effect of this command:
LABEL
(or LAB) clear labels
COMMAND
(or COM) clear pending line commands
ERROR
(or ERR) clear error flags (==ERR>)
CHANGE
(or CHG) clear change flags (==CHG>)
SPECIAL
(or SPE) delete "special" lines flagged with =PROF>, =MASK>, =TABS>,
=BNDS>, ==MSG>, or =NOTE=)
EXCLUDED
(or X) make excluded lines visible
If none of the above parameters is specified, all except labeled lines are
reset.
In addition, the RESET command can include a range specification to
restrict the action to a range of lines.
Example
To clear ==CHG> flags and redisplay excluded lines between the start of
the file and the current cursor location:
RESET CHG X .ZFIRST .ZCSR
# 27.45 {RFIND}
Purpose
Same as [F5] key. Use this command to repeat the last FIND command.
Format
RFIND
Remarks
Remarks
This command only functions in File Select Lists, EDIT, and BROWSE. See
page 316 for details.
# 27.46 {RIGHT}
Purpose
Same as [F11] key. Use this command to move toward the right edge of the
displayed text.
Format
RIGHT [PAGE]
[HALF]
[CSR ]
[DATA]
[MAX ]
[nnnn]
Remarks
There are three ways to specify how much SPF/Pro moves when you issue the
command:
1. Issue the command without a scroll amount. In this case the SCROLL
field determines the amount scrolled. The SCROLL field is in the upper
right corner of the screen.
2. Issue the command with a scroll amount. Type the command and the
amount, or type the amount and press the appropriate PF key.
3. Change the SCROLL field and execute step 1.
Note: Scroll amounts can be abbreviated. For example, P for PAGE, M for
MAX, etc.
Example
[F11]
Move right by amount specified in SCROLL field.
RIGHT 8
Move right eight columns.
Type 8 in command field, then press [F11]
Also, move right eight columns.
# 27.47 {SAVE}
Purpose
Saves the current file without terminating the edit session.
Format
SAVE
SAV
S
Remarks
To save the file under a different drive, directory, or name, see the
CREATE command.
The SAVE command replaces the disk based file with the memory based file.
Lines are automatically renumbered if AUTONUM and NUMBER are on.
If SAVE cannot rewrite the data because of an I/O error, or insufficient
space, a message is displayed and an alarm is sounded. You can then
attempt to save the data in another file by taking the following steps:
1. Enter primary command:
CREATE .ZFIRST .ZLAST or REPLACE .ZFIRST .ZLAST
2. The Move/Copy Utility menu should be presented to you. Fill in a new
data set name and press [SPF-Enter]. If the original disk is out of
space, specify a different drive.
Note: "Special" lines ( =PROF>, =MASK>, =TABS>, =BNDS>, ==MSG>, or
=NOTE=) are not saved and do not have to be reset.
# 27.48 {SAVECOUNT}
Purpose
Use this command to cause files being edited to be automatically saved
based on the number of times that [SPF-Enter] has been pressed.
Format
SAVECOUNT nnn
SAVEC
Remarks
If 0 is specified, files being edited are not automatically saved.
If 1 or greater is specified, files being edited are automatically saved
every "nnn" presses of [SPF-Enter].
Same as COUNTSAVE.
# 27.49 {SCOPY}
Purpose
Use this command to copy the current selection to the clipboard.
Format
SCOPY
Remarks
Selections are made with the mouse. The selection is not deleted from the
file. You can subsequently use SPASTE to paste the clipboard contents
into the file.
# 27.50 {SCREATE}
Purpose
Use this command to create an original external file with the contents of
the selection.
Format
SCREATE [ file-name ]
Remarks
Selections are made with the mouse. The selection is not deleted from the
file. If you don't specify a file name, a dialog panel is presented which
enables you to enter the target file name.
If the file already exists, SCREATE will not overwrite it. To overwrite
the file with the selection use SREPLACE.
# 27.51 {SCUT}
Purpose
Use this command to copy the current selection to the clipboard and then
delete it from the file.
Format
SCUT
Remarks
Selections are made with the mouse.
# 27.52 {SDELETE}
Purpose
Use this command to delete the current selection.
Format
SDELETE
Remarks
Selections are made with the mouse. The [DEL] key also deletes the
current selection.
# 27.53 {SORT}
Purpose
Performs two kinds of sorting:
* sorts full records
* sorts individual columns of data without affecting the remainder of the
record
Format
SORT [range] [X ] [sort-field_1 ... sort-field_n]
[NX]
Remarks
If you specify a range, only the lines within that range are sorted. To do
this, label the first and last lines. Then use these labels in a range
specification.
Sort can also be limited to excluded (X) or non-excluded (NX) lines.
Each of the sort fields has the following format:
[A] [start-column[end-column]]
[D]
If "A" is specified (or defaulted), data is ordered in ascending sequence.
If "D" is specified, data is ordered in descending sequence.
In addition to "A" or "D", the columns to be sorted can be specified. If
they are not specified, the default is the current BOUNDS.
Start-column specifies the left-most position and end-column specifies the
right-most position of the sort field. Start-column must precede
end-column. In addition, neither specification can be outside the current
BOUNDS.
The above parameters indicate which columns SPF/Pro should compare when
ordering data. These parameters are common to computer based sorting
programs. There is an aspect of SORT which is unique to SPF/Pro. When the
BOUNDS are set to less than the full record, only the data within the
bounds is sorted. The effect is that the sorted data is re-ordered while
the data to the left or right of the bounds is not. Thus the record
content is changed from its original form.
In the normal case, where the BOUNDS are at their default settings,
SPF/Pro sorts the entire record. In this case, it works much like the SORT
command in operating system.
Warning: SORT is a very powerful command; its use requires care. It is
easy to destroy a file by issuing SORT with the BOUNDS set incorrectly.
Example
Sort full records, columns 5 - 15 inclusive, in ascending order:
BOUNDS
SORT 5 15
Sort full records, columns 1 to right bound, from lines .A to .B inclusive
in descending order:
BOUNDS
SORT D .A .B
Sort full records, major field column 5 to right bound, in descending
order, minor field columns 1 and 2 in ascending order:
BOUNDS
SORT D 5 A 1 2
Sort full records, non-excluded lines only, in ascending order:
BOUNDS
SORT A NX
Sort partial record, columns 30 to 45, in ascending order:
BOUNDS 30 45
SORT
columns 1 - 29, and 46 to end of record are not re-ordered.
Sort full records in ascending order:
SORT
Sort full records in descending order:
SORT D
Sort full records, column 5 to right bound, in ascending order:
SORT 5
Sort full records, column 5 to right bound, in descending order:
SORT 5 D
# 27.54 {SPASTE}
Purpose
Use this command to paste the contents of the clipboard into the file at
the current cursor position.
Format
SPASTE [ INSERT | OVERLAY ]
[ LINE | STREAM | BLOCK ]
Remarks
If no parameters are specified, the contents of the clipboard are pasted
into the file in the same mode as they were SCUT or SCOPYed. If the
clipboard contents were not created by SPF/Pro they are pasted with
"insert" and "stream" modes.
The optional parameters are supplied to allow you to force the paste mode
regardless of the SCUT or SCOPY mode that produced the clipboard contents.
# 27.55 {SPRINT}
Purpose
Use this command to print the current selection.
Format
SPRINT
Remarks
For all selection types, only selected characters are printed.
# 27.56 {SREPLACE}
Purpose
Use this command to create or replace an external file with the contents
of the selection.
Format
SREPLACE [ file-name ]
Remarks
Selections are made with the mouse. The selection is not deleted from the
file. If you don't specify a file name, a dialog panel is presented which
enables you to enter the target file name.
If the file already exists, SREPLACE will overwrite it. To avoid
overwriting the file with the selection, use SCREATE.
# 27.57 {STATS}
Purpose
The STATS command is used to request the generation of statistics (level
stamping) when standard numbering is on.
Format
STATS [ON ]
[OFF]
Remarks
When STATS is on and line numbering is standard (STD), columns 79 and 80
contain a level number. Each time SPF/Pro starts editing such a file, it
finds the largest level number and adds one to it. Unless this number is
overridden by a LEVEL command, it places this new number in the level
number field of any record that is changed or inserted. By using this,
you can tell which records have been updated and relatively when the
update took place.
# 27.58 {STOLOWER}
Purpose
Use this command to convert all the alpha characters in the selection to
lowercase.
Format
STOLOWER
Remarks
Selections are made with the mouse.
# 27.59 {STOUPPER}
Purpose
Use this command to convert all the alpha characters in the selection to
uppercase.
Format
STOUPPER
Remarks
Selections are made with the mouse.
# 27.60 {SXCLUDE}
Purpose
Use this command to exclude all the lines which are touched by the
selection.
Format
SXCLUDE
Remarks
Selections are made with the mouse.
# 27.61 {TABS}
Purpose
Enables or disables logical and hardware tabs. Defines the logical tab
character. All tab stops are defined with the TABS line command. See
page for details.
Format
TABS [ON ] [tab-character]
TAB [OFF] [ STD | ALL ]
Remarks
Set tabs ON to enable logical and hardware tabs. Set tabs OFF to disable
logical and hardware tabs. Software tabs are always ON and do not
interact with the TABS primary command. The tab character is used for
logical tabs only.
For tabs ON, the operation of hardware tabs is determined by the STD and
ALL keywords.
If STD is specified, hardware tab columns which are occupied by text are
ignored. That is when [TAB] is pressed, it skips over any hardware tab
column which contains a non-blank character.
If ALL is specified, when [TAB] is pressed, it stops at all hardware tab
positions regardless of the contents of the line.
If neither STD or ALL is specified, STD is assumed.
# 27.62 {TOP}
Purpose
Use this command to position to the top of the file.
Format
TOP
Remarks
None.
# 27.63 {UNDO}
Purpose
Use this command to undo alterations made to a file during EDIT.
Format
UNDO [ ON | OFF ]
[ nnn | ALL ]
[ CLEAR ]
Remarks
In the normal use of EDIT, you make numerous changes to a file. When undo
processing is on, each change is recorded in a journal which may
subsequently be used to undo a change.
If no parameters are specified, the last recorded alteration is undone.
If a number is specified, the last "nnn" recorded alterations are undone.
If ALL is specified, all recorded alterations are undone.
If ON is specified, UNDO support is activated.
If OFF is specified, UNDO support is de-activated.
When setting UNDO on or off, the state is kept in a file profile variable
associated with the file type of the file being edited. For convenience,
SPF/Pro also supports a global variable which can be used to override the
file profile setting for all file types. You can set the global UNDO
state in Options panel 0.5.
If CLEAR is specified, the UNDO recording area is cleared and a new UNDO
journal is started.
After an UNDO you may want to redo the undone alteration. To redo undone
alterations, see the REDO primary command.
# 27.64 {UNNUM}
Purpose
Turns off NUMBER mode and clears sequence numbers.
Format
UNNUM
UNN
Remarks
This command blanks out STANDARD and COBOL sequence numbers. To blank out
sequence numbers when NUMBER mode is off, first enter the NUMBER command
with the proper options. Then enter the UNNUM command.
Note: This command is valid only when NUMBER mode is on.
# 27.65 {UP}
Purpose
Same as [F7] key. Use this command to move toward the top of the file.
Format
UP [PAGE]
[HALF]
[CSR ]
[DATA]
[MAX ]
[nnnn]
Remarks
There are three ways to specify how much SPF/Pro moves when you issue the
command:
1. Issue the command without a scroll amount. In this case the SCROLL
field determines the amount scrolled. The SCROLL field is in the upper
right corner of the screen.
2. Issue the command with a scroll amount. Type the command and the
amount, or type the amount and press the appropriate PF key.
3. Change the SCROLL field and execute step 1.
Note: Scroll amounts can be abbreviated. For example, P for PAGE, M for
MAX, etc.
Example
[F7]
Move up by amount specified in SCROLL field.
UP 8
Move up eight lines.
Type 8 in command field, then press [F7]
Also, move up eight lines.
# 27.66 {XMACRO}
Purpose
Saves the name of an exit macro in the current edit profile.
Format
XMACRO [name]
[NONE]
Remarks
You can specify either:
name
The name of the exit macro to be executed before exiting a file that
matches this file's type. The XMACRO is executed just before the file
is written to disk after a SAVE or END command.
Specify NONE to reset the XMACRO value.
Example
To set ENDUP as the exit macro:
XMACRO ENDUP
To reset the edit profile to no exit macro:
XMACRO NONE
# 28. {Edit Line Commands}
Line commands provide a more discrete method of dealing with the data in
your file than do the primary commands. They allow a you to add, delete,
repeat, overlay, move, or copy individual lines or blocks of lines. They
can change indentation, exclude or include lines, and position data within
columns.
Line commands are entered in columns 1 through 6 of each display line.
This field is called the sequence number field or the line command area,
depending on your preference.
Single character line commands, such as C, M, and D operate on individual
lines. Double character line commands, such as CC, MM, and DD, operate on
blocks of lines.
A number may follow a line command to indicate the number of times that
the command is to be applied to a line or block. For example, "D" deletes
a single line; "D3" deletes three lines.
Line commands are not applied (executed) until [SPF-Enter] is pressed. So
for example you could repeat a line (with R), delete a different line
(with D) and insert a new line (with I) all at once when [SPF-Enter] is
pressed.
New empty lines are indicated by a sequence number field of all single
quotes (''''''). You can enter line commands over the single quotes.
In text entry mode (see page ), after you have entered all the desired
text and no line numbers exist, press [SPF-Enter]. Unused new lines at the
end of the new text block are deleted and the remaining lines are assigned
sequence numbers. You may then enter line commands as desired.
The following rules apply to all edit line commands:
* Several line commands may be entered at a given time as long as
[SPF-Enter] has not been pressed. After [SPF-Enter] is pressed, line
commands are validity checked; error messages are displayed if
conflicts or ambiguities exist. Line commands are processed from top to
bottom, so it is possible to have only one error message displayed when
multiple errors exist.
* Line commands may be entered at any position in the sequence number
field. Generally, only one or two characters are needed.
* Some line commands are not executed when [SPF-Enter] is pressed. For
example, copy (C) and move (M) commands are not executed unless a
corresponding destination is specified with the after (A) or before (B)
line command.
* Block commands like CC, MM, and DD won't execute until the beginning
and end of the block have been marked.
* The following commands may be entered on the top of data line:
I[n]
Insert "n" blank lines after this line.
A
Move or Copy line[s] after this line.
TE
Start text entry mode.
* The following commands may be entered on the bottom of data line:
B
Move or copy line[s] before this line.
* The [SPF-Enter] key activates all line commands.
* If you have entered a line command which did not execute correctly, and
you decide not to continue with it, you can either type blanks over it,
or use the RESET primary command to reset all pending line commands.
On the detailed command description pages which follow, operands listed
within brackets [ ] are optional. Beneath the name of some commands is an
abbreviated form which may be used instead of the full command name.
# 28.1 {Line Command Summary}
The following table summarizes the edit line commands which are detailed
in the remainder of this chapter.
Command Function
< Data shift left.
<< Block data shift left.
> Data shift right.
>> Block data shift right.
( Column shift left.
(( Block column shift left.
) Column shift right.
)) Block column shift right.
A After.
B Before.
BNDS Display/set bounds.
C Copy.
CC Block copy.
COLS Display columns.
D Delete.
DD Block delete.
F Display first excluded line(s).
I Insert.
L Display last excluded line(s).
LC Set a line to lowercase.
LCC Set a block of lines to lowercase.
M Move.
MM Move block.
MASK Display/set mask.
MD Make a NOTE or MSG line into a data line.
MDD Make a block of NOTE or MSG lines into data lines.
O Overlay.
OO Overlay block.
R Repeat.
RR Repeat block.
S Show structure excluded line(s).
TABS Display/set tabs.
TE Text entry.
TF Text flow.
TJ Text join.
TS Text split.
UC Set a line to uppercase.
UCC Set a block of lines to uppercase.
X Exclude.
XX Exclude block.
. Label assignment.
# 28.1 {< (Data Shift Left)}
Purpose
Shifts a single line to the left without affecting program source labels
or comments.
A common format for computer program source is:
* Labels start in column 1
* Op codes, operands, or reserved words start in any column greater than
one and are separated by single blanks.
* Comments follow op codes, operands, or reserved words and are separated
from them by two or more blanks.
The premise of data shift is that it shifts the op codes, operands, or
reserved words without affecting the labels or comments.
Format
<[number]
Remarks
This command may be specified with or without a number. The number
indicates how many columns to shift the data. The default shift is 2
columns.
Shifting occurs within column boundaries (see Bounds line command on page
for details).
Non-blank characters are never deleted or truncated. If a shift is
requested that would move data beyond the current bounds, the data is
moved only to the current bounds, and an error flag is entered on the
shift line.
The error flag may be deleted by using the RESET primary command.
1. Scanning starts in the left boundary column.
2. The first blank character is found.
3. The next non-blank character is found.
4. The next double blank characters are found.
5. Data from step 3 to 4 are shifted left one column at a time as required
to satisfy the shift request.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
<40031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
<80031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
==ERR> IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
# 28.2 {<< (Block Data Shift Left)}
Purpose
Shifts a block of lines to the left without affecting program source
labels or comments.
Format
<<[number]
Remarks
This command functions identically to the DATA SHIFT LEFT line command
except it operates on a block of lines rather than a single line. It is
necessary to mark both the beginning and end of the block with "<<".
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
<<4031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
<<0033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
<<4031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
<<0033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
==ERR> IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
# 28.3 {> (Data Shift Right)}
Purpose
Shifts a single line to the right without affecting program source labels
or comments.
A common format for computer program source is:
* Labels start in column 1
* Op codes, operands, or reserved words start in any column greater than
one and are separated by single blanks.
* Comments follow op codes, operands, or reserved words and are separated
from them by two or more blanks.
The premise of data shift is that it shifts the op codes, operands, or
reserved words without affecting the labels or comments.
Format
>[number]
Remarks
The command may be specified with or without a number. The number may be
specified on either or both lines, but the largest value is always used if
a conflict exists.
The default shift is two columns.
Shifting occurs within column boundaries (see Bounds line command on page
for details).
Non-blank characters are never deleted or truncated. If a shift is
requested that would move data beyond the current bounds, the data is
moved only to the current bounds, and an error flag is entered on the
shift line.
The error flag may be deleted by using the RESET primary command.
How data shift right works:
1. Scanning starts in the left boundary column.
2. The first blank character is found.
3. The next non-blank character is found.
4. The next double blank characters are found.
5. Data from step 3 to 4 is shifted right one column. One of the two blank
characters found in step 4 is deleted. The above steps are logically
repeated as many times as are required to satisfy the shift request.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
>40032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
>60029 /* Reset all work fields */
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000029 /* Reset all work fields */
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
# 28.4 {>> (Block Data Shift Right)}
Purpose
Shifts a block of lines to the right without affecting program source
labels or comments.
Format
>>[number]
Remarks
This command functions identically to the DATA SHIFT RIGHT line command
except it operates on a block of lines rather than a single line. It is
necessary to mark both the beginning and end of the block with ">>".
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
>>4032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
>>0034 END; /* end if */
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
>>6027 /* Reset all work fields */
000028 /* Reset all work fields */
>>0029 /* Reset all work fields */
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000027 /* Reset all work fields */
000028 /* Reset all work fields */
==ERR> /* Reset all work fields */
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
# 28.5 {( (Column Shift Left)}
Purpose
Shifts the current line to the left without regard to the size or content
of the data.
Format
([number]
Remarks
This command may be specified with or without a number. The default shift
is 2 columns.
Shifting occurs within column boundaries. See the Bounds line command, on
page for details.
Warning: This command shifts only within BOUNDS which may result in loss
of data.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
(50001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
(70001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 g Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
# 28.6 {(( (Block Column Shift Left)}
Purpose
Shifts a block of lines to the left without regard to the size or content
of the data.
Format
(([number]
Remarks
This command functions identically to the COLUMN SHIFT LEFT line command
except it operates on a block of lines rather than a single line. It is
necessary to mark both the beginning and end of the block with "((".
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
((4001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
((0004 and he called for his fiddlers three.
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
((1101 Price Number Cost
000002
000003 $25 3 $ 75
000004 35 2 70
((0005 50 4 100
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Price Cost
000002
000003 $25 $ 75
000004 35 70
000005 50 100
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
((9001 Price Number Cost
000002
000003 $25 3 $ 75
000004 35 2 70
((0005 50 4 100
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Number Cost
000002
000003 3 $ 75
000004 2 70
000005 4 100
# 28.7 {) (Column Shift Right)}
Purpose
Shifts the current line to the right without regard to the size or content
of the data.
Format
)[number]
Remarks
The command may be specified with or without a number. The default shift
is 2 columns.
Shifting occurs within column boundaries. See the Bounds line command, on
page for details.
Warning: This command shifts only within BOUNDS which may result in loss
of data.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
)40001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
)16001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Old King Cole was a merry old
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
# 28.8 {)) (Block Column Shift Right)}
Purpose
Shifts a block of lines to the right without regard to the size or content
of the data.
Format
))[number]
Remarks
This command functions identically to the COLUMN SHIFT RIGHT line command
except it operates on a block of lines rather than a single line. It is
necessary to mark both the beginning and end of the block with "))".
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
))4001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
))0004 and he called for his fiddlers three.
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
))2001 Price Number Cost
000002
000003 $25 3 $ 75
000004 35 2 70
))0005 50 4 100
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Price Number Cost
000002
000003 $25 3 $ 75
000004 35 2 70
000005 50 4 100
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
))8001 Price Number Cost
000002
000003 $25 3 $ 75
000004 35 2 70
))0005 50 4 100
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Price Number
000002
000003 $25 3
000004 35 2
000005 50 4
# 28.9 {A (After)}
Purpose
Acts as a pointer to designate the line after which moved or copied text
is to be placed.
Format
A
Remarks
A is used in conjunction with MOVE/COPY/PASTE primary and line commands to
indicate the destination of the data.
Note: This command is not valid on the bottom of data line, but it is
valid on the top of data line.
Example
A00021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
C00023 SET X-T-CT UP BY 1
000024 ELSE
000025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
000027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET X-T-CT UP BY 1
000023 SET TEMP-INDEX TO X-T-CT
000024 SET X-T-CT UP BY 1
000025 ELSE
000026 PERFORM NNNN-DT-TO-VS-01
000027 MOVE 1 TO DSUB
000028 MOVE DATFLD-BC (DSUB) TO WCCOL
000029 END-IF.
In the above example line 23 is copied after line 21. Note that line 21
was not changed.
# 28.10 {B (Before)}
Purpose
Acts as a pointer to designate the line before which moved or copied text
is to be placed.
Format
B
Remarks
B is used in conjunction with MOVE/COPY/PASTE primary and line commands to
indicate the destination of the data.
Note: This command is not valid on the top of data line, but it is
valid on the bottom of data line.
Example
000020 * This is a part of a dBASE III program
000021 CLEAR
000022 @ 4,15 SAY 'List By:'
000023 @ ROW()+3,20 SAY ' 1 - People names'
B00024 @ ROW()+2,20 SAY ' 2 - Organization names'
M00025 @ ROW()+2,20 SAY ' 3 - Serial number'
000026 @ ROW()+2,20 SAY ' Q - Return to previous menu'
000027 @ ROW()+3,15 SAY 'Press your selection ' ;
000028 GET action PICTURE '!'
000029 READ
Results
000020 * This is a part of a dBASE III program
000021 CLEAR
000022 @ 4,15 SAY 'List By:'
000023 @ ROW()+3,20 SAY ' 1 - People names'
000024 @ ROW()+2,20 SAY ' 3 - Serial number'
000025 @ ROW()+2,20 SAY ' 2 - Organization names'
000026 @ ROW()+2,20 SAY ' Q - Return to previous menu'
000027 @ ROW()+3,15 SAY 'Press your selection ' ;
000028 GET action PICTURE '!'
000029 READ
# 28.11 {BNDS (Bounds)}
Purpose
Displays current column bounds. You can change the bounds by typing over
the "<" and ">" characters on the "=BNDS>" line.
Format
BNDS
BND
Remarks
The left column bound is set at the "<" character. The right column bound
is set at the ">" character. Moving either of these two characters
changes the bounds.
Bounds are used to limit the scope of:
1. Left-shift and right-shift line commands.
2. FIND, CHANGE, and EXCLUDE commands when explicit columns are not
specified.
3. TS (text split), and TF (text flow) line commands.
4. The Overlay line command.
5. Left and right scrolling.
When scrolling, a left scroll stops at the left bound, and a right
scroll stops at the right bound. A subsequent left or right scroll goes
beyond the bounds if they are not at the end of the line.
Use the RESET primary command, or the D line command to remove the =BNDS>
line from the display.
Example
=COLS> ----+----1----+----2----+----3----+----4----+--
BNDS01 Price Number Cost
000002
000003 $25 3 $ 75
000004 35 2 70
000005 50 4 100
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
=BNDS> < >
000001 Price Number Cost
000002
000003 $25 3 $ 75
000004 35 2 70
000005 50 4 100
In the above example, a bounds line is displayed before line 1. The less
than (<) or greater than (>) characters may be moved to redefine the
bounds.
You can also change the bounds with the BOUNDS primary command. For
additional information, see page 294.
# 28.12 {C (Copy)}
Purpose
Copies one or more lines to another location within the current file. It
is also used with CREATE/REPLACE/CUT primary commands to copy lines
between files.
Format
C[number]
Remarks
This command leaves the original line in place, and makes a duplicate at
the new location.
Type B or A on the line where the copied line is to be placed and a C on
the line to be copied.
A number may follow the C to indicate that more than one line is to be
copied. This has the same effect as the Block Copy command.
To see how lines may be copied between files, see the page 306 and page
331.
Example
A00021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
C00023 SET X-T-CT UP BY 1
000024 ELSE
000025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
000027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET X-T-CT UP BY 1
000023 SET TEMP-INDEX TO X-T-CT
000024 SET X-T-CT UP BY 1
000025 ELSE
000026 PERFORM NNNN-DT-TO-VS-01
000027 MOVE 1 TO DSUB
000028 MOVE DATFLD-BC (DSUB) TO WCCOL
000029 END-IF.
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
B00024 ELSE
C30025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
000027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 PERFORM NNNN-DT-TO-VS-01
000025 MOVE 1 TO DSUB
000026 MOVE DATFLD-BC (DSUB) TO WCCOL
000027 ELSE
000028 PERFORM NNNN-DT-TO-VS-01
000029 MOVE 1 TO DSUB
000030 MOVE DATFLD-BC (DSUB) TO WCCOL
000031 END-IF.
# 28.13 {CC (Block Copy)}
Purpose
Copies a block of lines to another position within the current file. It
is also used with CREATE/REPLACE/CUT primary commands to copy lines
between files.
Format
CC
Remarks
This command functions identically to the COPY line command except it
operates on a block of lines rather than a single line. It is necessary
to mark both the beginning and end of the block with "CC".
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
B00024 ELSE
CC0025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
CC0027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 PERFORM NNNN-DT-TO-VS-01
000025 MOVE 1 TO DSUB
000026 MOVE DATFLD-BC (DSUB) TO WCCOL
000027 ELSE
000028 PERFORM NNNN-DT-TO-VS-01
000029 MOVE 1 TO DSUB
000030 MOVE DATFLD-BC (DSUB) TO WCCOL
000031 END-IF.
# 28.14 {COLS (Columns)}
Purpose
Displays a line with column numbers.
Format
COLS
COL
Remarks
Use the RESET primary command, or D line command to to remove the =COLS>
line from the display.
The columns display line is not part of the data and is not saved at END.
Example
COLS01 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
Results
=COLS> ----+----1----+----2----+----3----+----4----+--
000001 Old King Cole was a merry old soul
000002 and a merry old soul was he. He called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
# 28.15 {D (Delete)}
Purpose
Deletes one or more lines from the file.
Format
D[number]
Remarks
D alone deletes a single line.
An optional number following the delete command specifies the number of
consecutive lines to delete. For example, "D3" deletes three lines.
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
D00025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
000027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
000025 MOVE 1 TO DSUB
000026 MOVE DATFLD-BC (DSUB) TO WCCOL
000027 END-IF.
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
D20025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
000027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
000025 MOVE DATFLD-BC (DSUB) TO WCCOL
000026 END-IF.
# 28.16 {DD (Block Delete)}
Purpose
Deletes a block of lines from the file.
Format
DD
Remarks
This command functions identically to the DELETE line command except it
operates on a block of lines rather than a single line. It is necessary
to mark both the beginning and end of the block with "DD".
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
DD0023 SET X-T-CT UP BY 1
000024 ELSE
000025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
DD0027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 END-IF.
# 28.17 {F (First)}
Purpose
Displays the first excluded line, or the first N excluded lines of an
excluded block.
Format
F[number]
Remarks
This command may be specified with or without a number. If no number is
specified, the first line of the excluded block is displayed.
Warning: This command may be validly entered only on the excluded display
line. If it is entered on any other line, an error message is generated.
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
F - - - - - - - - 0003 LINE(S) NOT DISPLAYED
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
000025 PERFORM NNNN-DT-TO-VS-01
- - - - - - - 0002 LINE(S) NOT DISPLAYED
000028 END-IF.
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
F3 - - - - - - - - 0003 LINE(S) NOT DISPLAYED
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
000025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
000027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
# 28.18 {I (Insert)}
Purpose
Inserts one or more temporary blank lines into the file.
Format
I[number]
Remarks
If I is entered without a number, one line is inserted.
If I is entered with a number, the number of lines specified are inserted.
If characters or spaces are entered on the inserted line, and if the
cursor is still in the data portion of the last (or only) inserted line
when [SPF-Enter] is pressed, another new line is automatically inserted
following that line. This allows multiple lines to be entered in a
"continuous insert" mode.
If you want to retain inserted blank lines you must type at least one
character (or blank) on them.
If no characters (or blank) are entered on an inserted line, it is deleted
when [SPF-Enter] is pressed. Use this technique to terminate "continuous
insert".
Example
000010 * This is a dBASE III program
000011 DO CASE
I00012 CASE action = 'Q'
000013 RETURN
000014 CASE action = '1'
000015 CLEAR
000016 DO ndxname
Results
000010 * This is a dBASE III program
000011 DO CASE
000012 CASE action = 'Q'
''''''
000014 RETURN
000015 CASE action = '1'
000016 CLEAR
000017 DO ndxname
Example
000010 /* This is a C program */
I30011 main() {
000012 int sum,x,x;
000013 x = 20;
000014 y = 30;
000015 sum = x + y;
000016 printf("The sum of %d and %d = %d",
000017 x, y, sum);
000018 }
Results
000010 /* This is a C program */
000011 main() {
''''''
''''''
''''''
000015 int sum,x,x;
000016 x = 20;
000017 y = 30;
000018 sum = x + y;
000019 printf("The sum of %d and %d = %d",
000020 x, y, sum);
000021 }
# 28.19 {L (Last)}
Purpose
Displays the last excluded line, or the last N excluded lines of an
excluded block.
Format
L[number]
Remarks
This command may be specified with or without a number. If no number is
specified, the last line of the excluded block is displayed.
Warning: This command may be validly entered only on the excluded line
indicator. If it is entered on any other line, an error message is
displayed.
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
L - - - - - - - - - 00003 LINE(S) NOT DISPLAYED
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
- - - - - - - - - - 00002 LINE(S) NOT DISPLAYED
000027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
Example
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
L3- - - - - - - - - 00003 LINE(S) NOT DISPLAYED
000028 END-IF.
Results
000021 IF X-T-CT < TABLE-SIZ
000022 SET TEMP-INDEX TO X-T-CT
000023 SET X-T-CT UP BY 1
000024 ELSE
000025 PERFORM NNNN-DT-TO-VS-01
000026 MOVE 1 TO DSUB
000027 MOVE DATFLD-BC (DSUB) TO WCCOL
000028 END-IF.
# 28.20 {LC (Lower Case)}
Purpose
Converts alphabetic characters on a line or group of lines to lowercase
letters.
Format
LC[number]
Remarks
This command may be specified with or without a number.
An optional number following the command specifies the number of
consecutive lines to be converted to lowercase letters.
Example
000001 OLD KING COLE WAS A MERRY OLD SOUL
LC0002 AND A MERRY OLD SOUL WAS HE. HE CALLED
000003 FOR HIS CAP AND HE CALLED FOR HIS BOWL
000004 AND HE CALLED FOR HIS FIDDLERS THREE.
Results
000001 OLD KING COLE WAS A MERRY OLD SOUL
000002 and a merry old soul was he. he called
000003 FOR HIS CAP AND HE CALLED FOR HIS BOWL
000004 AND HE CALLED FOR HIS FIDDLERS THREE.
Example
000001 OLD KING COLE WAS A MERRY OLD SOUL
LC2002 AND A MERRY OLD SOUL WAS HE. HE CALLED
000003 FOR HIS CAP AND HE CALLED FOR HIS BOWL
000004 AND HE CALLED FOR HIS FIDDLERS THREE.
Results
000001 OLD KING COLE WAS A MERRY OLD SOUL
000002 and a merry old soul was he. he called
000003 for his cap and he called for his bowl
000004 AND HE CALLED FOR HIS FIDDLERS THREE.
# 28.21 {LCC (Block Lower Case)}
Purpose
Converts alphabetic characters within a block of lines to lowercase
letters.
Format
LCC
Remarks
This command functions identically to the LOWER CASE line command except
it operates on a block of lines rather than a single line. It is
necessary to mark both the beginning and end of the block with "LCC".
Example
LCC001 OLD KING COLE WAS A MERRY OLD SOUL
000002 AND A MERRY OLD SOUL WAS HE. HE CALLED
000003 FOR HIS CAP AND HE CALLED FOR HIS BOWL
LCC004 AND HE CALLED FOR HIS FIDDLERS THREE.
Results
000001 old king cole was a merry old soul
000002 and a merry old soul was he. he called
000003 for his cap and he called for his bowl
000004 and he called for his fiddlers three.
# 28.22 {M (Move)}
Purpose
Moves one or more lines to another location within the same file. It is
also used with CREATE/REPLACE/CUT primary commands to move lines between
files.
Format
M[number]
Remarks
This command deletes the original lines and moves them to a new location.
Type B or A on a line to indicate where the moved line is to be placed.
Type an M on the line to be moved. The line marked with M is moved and
placed before (B) or after (A) the designated line.
A number may follow the M to indicate that more than one line is to be
moved. This has the same effect as the Block Move command.
To see how lines may be copied between files see the page 306 and page
331.
Example
000020 * This is a part of a dBASE III program
000021 CLEAR
000022 @ 4,15 SAY 'List By:'
000023 @ ROW()+3,20 SAY ' 1 - People names'
B00024 @ ROW()+2,20 SAY ' 2 - Organization names'
M00025 @ ROW()+2,20 SAY ' 3 - Serial numbers'
000026 @ ROW()+2,20 SAY ' Q - Return to previous menu'
000027 @ ROW()+3,15 SAY 'Press your selection ' ;
000028 GET action PICTURE '!'
Results
000020 * This is a part of a dBASE III program
000021 CLEAR
000022 @ 4,15 SAY 'List By:'
000023 @ ROW()+3,20 SAY ' 1 - People names'
000024 @ ROW()+2,20 SAY ' 3 - Serial numbers'
000025 @ ROW()+2,20 SAY ' 2 - Organization names'
000026 @ ROW()+2,20 SAY ' Q - Return to previous menu'
000027 @ ROW()+3,15 SAY 'Press your selection ' ;
000028 GET action PICTURE '!'
Example
000020 * This is a part of a dBASE III program
000021 CLEAR
000022 @ 4,15 SAY 'List By:'
M30023 @ ROW()+3,20 SAY ' 1 - People names'
000024 @ ROW()+2,20 SAY ' 2 - Organization names'
000025 @ ROW()+2,20 SAY ' 3 - Serial numbers'
A00026 @ ROW()+2,20 SAY ' Q - Return to previous menu'
000027 @ ROW()+3,15 SAY 'Press your selection ' ;
000028 GET action PICTURE '!'
Results
000020 * This is a part of a dBASE III program
000021 CLEAR
000022 @ 4,15 SAY 'List By:'
000023 @ ROW()+2,20 SAY ' Q - Return to previous menu'
000024 @ ROW()+3,20 SAY ' 1 - People names'
000025 @ ROW()+2,20 SAY ' 3 - Serial numbers'
000026 @ ROW()+2,20 SAY ' 2 - Organization names'
000027 @ ROW()+3,15 SAY 'Press your selection ' ;
000028 GET action PICTURE '!'
# 28.23 {MM (Block Move)}
Purpose
Moves a block of lines to another position within the same file. It is
also used with CREATE/REPLACE/CUT primary commands to move lines between
files.
Format
MM
Remarks
This command functions identically to the MOVE line command except it
operates on a block of lines rather than a single line. It is necessary
to mark both the beginning and end of the block with "MM".
Example
000020 * This is a part of a dBASE III program
000021 CLEAR
000022 @ 4,15 SAY 'List By:'
MM0023 @ ROW()+3,20 SAY ' 1 - People names'
000024 @ ROW()+2,20 SAY ' 2 - Organization names'
MM0025 @ ROW()+2,20 SAY ' 3 - Serial numbers'
A00026 @ ROW()+2,20 SAY ' Q - Return to previous menu'
000027 @ ROW()+3,15 SAY 'Press your selection ' ;
000028 GET action PICTURE '!'
Results
000020 * This is a part of a dBASE III program
000021 CLEAR
000022 @ 4,15 SAY 'List By:'
000023 @ ROW()+2,20 SAY ' Q - Return to previous menu'
000024 @ ROW()+3,20 SAY ' 1 - People names'
000025 @ ROW()+2,20 SAY ' 3 - Serial numbers'
000026 @ ROW()+2,20 SAY ' 2 - Organization names'
000027 @ ROW()+3,15 SAY 'Press your selection ' ;
000028 GET action PICTURE '!'
# 28.24 {MASK (Mask Line)}
Purpose
Allows a user to define a mask to be used in building a new line. The
mask is applied to lines inserted with the Insert (I) line command.
Format
MASK
Remarks
A typical use of Mask would be to pre-load comment delimiters in all new
lines. This would eliminate extra keying.
Until data is entered on a new line, it is considered empty, even though
it contains the mask data. If you wish to retain an empty mask line, you
must enter at least one blank or space on it.
A mask remains in effect (even if it is not displayed) until it is
changed. It is used the next time an edit session is begun.
Note: Only one Mask may be defined. It is used for all file
extensions.
Example
MASK30 ZEROS:
000031 IF WORK = 0 THEN /* Only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=MASK> /* */
000030 ZEROS:
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
The mask setting was entered previously. Now, you can change the mask by
typing directly on the =MASK> line.
Example
=MASK> /* */
I00030 ZEROS:
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=MASK> /* */
000030 ZEROS:
'''''' /* */
000032 IF WORK = 0 THEN /* only if 0 */
000033 SALES = 0; /* zero sales */
000034 CUSTOMER = ''; /* blank customer */
000035 END; /* end if */
The above example shows a new line pre-loaded with comment delimiters.
Example
=MASK> /* */
I30030 ZEROS:
000031 IF WORK = 0 THEN /* only if 0 */
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Results
=MASK> /* */
000030 ZEROS:
'''''' /* */
'''''' /* */
'''''' /* */
000034 IF WORK = 0 THEN /* only if 0 */
000035 SALES = 0; /* zero sales */
000036 CUSTOMER = ''; /* blank customer */
000037 END; /* end if */
# 28.25 {MD (Make Data)}
Purpose
Converts a NOTE or MSG line to a data line.
Format
MD[number]
Remarks
This command may be specified with or without a number.
An optional number following the command specifies the number of
consecutive lines to be converted to data.
Example
000001 OLD KING COLE WAS A MERRY OLD SOUL
MDOTE= Note line to be data.
000002 FOR HIS CAP AND HE CALLED FOR HIS BOWL
000003 AND HE CALLED FOR HIS FIDDLERS THREE.
Results
000001 OLD KING COLE WAS A MERRY OLD SOUL
000002 Note line to be data.
000003 FOR HIS CAP AND HE CALLED FOR HIS BOWL
000004 AND HE CALLED FOR HIS FIDDLERS THREE.
# 28.26 {MDD (Block Make Data)}
Purpose
Converts a block of NOTE or MSG lines to data lines.
Format
MDD
Remarks
This command functions identically to the MAKE DATA line command except it
operates on a block of lines rather than a single line. It is necessary
to mark both the beginning and end of the block with MDD.
Example
000001 OLD KING COLE WAS A MERRY OLD SOUL
MDDTE= Note lines to be data.
=NOTE= Notes line to be data.
MDDTE= Note lines to be data.
000002 FOR HIS CAP AND HE CALLED FOR HIS BOWL
000003 AND HE CALLED FOR HIS FIDDLERS THREE.
Results
000001 OLD KING COLE WAS A MERRY OLD SOUL
000002 Notes line to be data.
000003 Notes line to be data.
000004 Notes line to be data.
000005 FOR HIS CAP AND HE CALLED FOR HIS BOWL
000006 AND HE CALLED FOR HIS FIDDLERS THREE.
# 28.27 {O (Overlay)}
Purpose
Overlays data in one or more lines with the data from one or more lines.
Format
O[number]
Remarks
The line(s) specified by C, Cn, CC (copy), or M, Mn, MM (move), overlay
the line(s) containing the O (overlay) command. Only one line is overlaid
unless a number is specified.
Only those characters that are within the current BOUNDS participate in
the overlay operation. See the BOUNDS line command, on page 381 for
details.
The number of source and receiving lines need not be the same. If there
are more receiving lines, the sources lines are repeated until the
receiving lines are used up. If there are more source lines, the extra
source lines are ignored.
Any blank characters in the receiving lines are overlaid with
corresponding characters from the source lines.
A move request is changed to a copy if characters cannot be overlaid or if
there are more source lines than receiving lines. An error message is
generated.
Example
M00029 /* */
000030 ZEROS:
O30031 IF WORK = 0 THEN
000032 SALES = 0;
000033 CUSTOMER = '';
000034 END;
Results
000029 ZEROS:
000030 IF WORK = 0 THEN /* */
000031 SALES = 0; /* */
000032 CUSTOMER = ''; /* */
000033 END;
Example
O50030 ZEROS:
000031 IF WORK = 0 THEN
000032 SALES = 0;
000033 CUSTOMER = '';
000034 END;
M50035 /* zero work fields */
000036
000037 /* zero sales */
000038 /* blank customer */
000039 /* end if */
Results
000030 ZEROS: /* zero work fields */
000031 IF WORK = 0 THEN
000032 SALES = 0; /* zero sales */
000033 CUSTOMER = ''; /* blank customer */
000034 END; /* end if */
Example
M20030 /* Name */
000031 /* Address */
O40032 John Doe
000033 123 Palm Street
000034 John Smith
000035 456 First Street
Results
000030 John Doe /* Name */
000031 123 Palm Street /* Address */
000032 John Smith /* Name */
000033 456 First Street /* Address */
# 28.28 {OO (Block Overlay)}
Purpose
Overlays data in one or more lines with the data from one or more lines.
Format
OO
Remarks
This command functions identically to the OVERLAY line command except it
operates on a block of lines rather than a single line. It is necessary
to mark both the beginning and end of the block with "OO".
Example
M00029 /* */
000030 ZEROS:
OO0031 IF WORK = 0 THEN
000032 SALES = 0;
OO0033 CUSTOMER = '';
000034 END;
Results
000029 /* */
000030 ZEROS:
000034 IF WORK = 0 THEN /* */
000035 SALES = 0; /* */
000036 CUSTOMER = ''; /* */
000037 END;
Example
OO0001 Quantity Price
000002 1 - 20 $1,000
000003 21 - 50 900
000004 51 - 99 750
OO0005 over 100 500
000006
MM0007 Discount
000008 0%
000009 10%
000010 25%
MM0011 50%
Results
000001 Quantity Price Discount
000002 1 - 20 $1,000 0%
000003 21 - 50 900 10%
000004 51 - 99 750 25%
000005 over 100 500 50%
000006
# 28.29 {R (Repeat)}
Purpose
Duplicates a line in place as many times as specified.
Format
R[number]
Remarks
If no number is specified, the line is duplicated once. If a number is
specified, the line is duplicated as many times as specified by number.
Example
R00001 100 REM THIS IS A BASIC PROGRAM
000002 110 FOR X = 1 TO 100
000003 120 PRINT "THE NUMBER IS "
000004 130 PRINT X
000005 140 Y = 1
000006 150 NEXT X
Results
000001 100 REM THIS IS A BASIC PROGRAM
000002 100 REM THIS IS A BASIC PROGRAM
000003 110 FOR X = 1 TO 100
000004 120 PRINT "THE NUMBER IS "
000005 130 PRINT X
000006 140 Y = 1
000007 150 NEXT X
Example
R50001 100 REM THIS IS A BASIC PROGRAM
000002 110 FOR X = 1 TO 100
000003 120 PRINT "THE NUMBER IS "
000004 130 PRINT X
000005 140 Y = 1
000006 150 NEXT X
Results
000001 100 REM THIS IS A BASIC PROGRAM
000002 100 REM THIS IS A BASIC PROGRAM
000003 100 REM THIS IS A BASIC PROGRAM
000004 100 REM THIS IS A BASIC PROGRAM
000005 100 REM THIS IS A BASIC PROGRAM
000006 100 REM THIS IS A BASIC PROGRAM
000007 110 FOR X = 1 TO 100
000008 120 PRINT "THE NUMBER IS "
000009 130 PRINT X
000010 140 Y = 1
000011 150 NEXT X
# 28.30 {RR (Block Repeat)}
Purpose
Duplicates a block of lines in place as many times as specified.
Format
RR[number]
Remarks
This command functions identically to the REPEAT line command except it
operates on a block of lines rather than a single line. It is necessary
to mark both the beginning and end of the block with "RR".
Example
000001 100 REM
RR0002 110 FOR X = 1 TO 100
000003 120 PRINT "THE NUMBER IS "
000004 130 PRINT X
RR0005 140 NEXT X
Results
000001 100 REM
000002 110 FOR X = 1 TO 100
000003 120 PRINT "THE NUMBER IS "
000004 130 PRINT X
000005 140 NEXT X
000006 110 FOR X = 1 TO 100
000007 120 PRINT "THE NUMBER IS "
000008 130 PRINT X
000009 140 NEXT X
Example
000001 100 REM
RR2002 110 FOR X = 1 TO 100
000003 120 PRINT X
RR0004 130 NEXT X
Results
000001 100 REM
000002 110 FOR X = 1 TO 100
000003 120 PRINT X
000004 130 NEXT X
000005 110 FOR X = 1 TO 100
000006 120 PRINT X
000007 130 NEXT X
000008 110 FOR X = 1 TO 100
000009 120 PRINT X
000010 130 NEXT X
# 28.31 {S (Show)}
Purpose
Displays excluded line(s) based on the indentation hierarchy of those
lines.
Format
S[number]
Remarks
This command may be specified with or without a number.
The line or lines with the least amount of indentation are displayed
first, followed by lines at the next level of indentation and so forth.
Warning: This command may be validly entered only on the excluded display
line. If it is entered on any other line, an error message is generated.
Example
000088 DO CASE
S6- - - - - - - - - 00030 LINE(S) NOT DISPLAYED
000110 ENDCASE
Results
000088 DO CASE
- - - - - - - - - - 00001 LINE(S) NOT DISPLAYED
000090 CASE action = 'X'
- - - - - - - - - - 00003 LINE(S) NOT DISPLAYED
000094 CASE action = 'Q'
- - - - - - - - - - 00003 LINE(S) NOT DISPLAYED
000099 CASE action = '1'
- - - - - - - - - - 00002 LINE(S) NOT DISPLAYED
000102 CASE action = '2'
- - - - - - - - - - 00002 LINE(S) NOT DISPLAYED
000105 CASE action = '3'
- - - - - - - - - - 00002 LINE(S) NOT DISPLAYED
000108 OTHERWISE
- - - - - - - - - - 00001 LINE(S) NOT DISPLAYED
000110 ENDCASE
# 28.32 {TABS (Tab Line)}
Purpose
Displays or modifies the current tab settings.
Format
TABS
TAB
Remarks
There are three types of tabs in SPF/Pro:
hardware
Hardware tab stops are defined with the asterisk (*) character on the
TABS line. Each time the [TAB] key is pressed, the cursor is advanced
to one position to the right of the next hardware tab stop. If the
cursor is in the line command field, it is positioned to column 1.
This function only works when tabs are set ON with the TABS primary
command. See page 357 for details.
logical
When data is entered with an initial logical tab character, it is
positioned to one character to the right of the next hardware tab stop.
This function only works when tabs are set ON and a logical tab
character has been defined with the TABS primary command. See page 357
for details.
software
Software tab stops are defined with the underscore(_) or hyphen (-)
character. Each time [SPF-Enter] is pressed, the cursor is advanced to
the next software tab stop. Software tabs are always ON independent of
the TABS primary command.
Example
In the following example the TABS line command is entered on line 000031.
The clear tabs line is displayed immediately above it. The hardware tab
character asterisk (*) is entered in columns 9, 19, and 29.
=COLS> ----+----1----+----2----+----3----+----4---
=TABS> * * *
000031 /* EXAMPLE SHOWS HARDWARE TAB DEFINITION */
The primary command "TABS ON" is entered. At this point hardware tabs are
both defined and ON.
With this hardware tab definition and starting with the cursor in the line
command field, the cursor is positioned to columns 1, 10, 20, and 30 as
the [TAB] is repeatedly depressed. You can enter data at any point after
positioning the cursor with [TAB].
Example
The next example shows how logical tabs would be used to position data in
place of using [TAB] to do the positioning.
Enter primary command "TABS ON \" to turn tabs ON and define the logical
tab character as backslash (\). With the same hardware tab definition
from the above example, enter the "I" line command on line 000031. When
the empty null line is presented key in "\aaa \bbb \ccc" starting at
column 1. Press [SPF-Enter]. The editor positions the three data strings
one position to the right of the respective hardware tab stops.
=COLS> ----+----1----+----2----+----3----+----4
=TABS> * * *
000031 /* EXAMPLE SHOWS USE OF LOGICAL TABS */
'''''' \aaa \bbb \ccc
Results
=COLS> ----+----1----+----2----+----3----+----4
=TABS> * * *
000031 /* EXAMPLE SHOWS USE OF LOGICAL TABS */
000032 aaa bbb ccc
Example
The next example shows how to define software tabs and use the [SPF-Enter]
key for positioning.
The software tab character hyphen (-) is entered in columns 10, 20, and
30.
With this software tab definition and starting with the cursor in the line
command field, the cursor is positioned to columns 10, 20, and 30 as the
[SPF-Enter] key is repeatedly depressed. You can enter data at any point
after positioning the cursor with the [SPF-Enter] key.
=COLS> ----+----1----+----2----+----3----+----4---
=TABS> - - -
000031 /* EXAMPLE SHOWS SOFTWARE TAB DEFINITION */
# 28.33 {TE (Text Enter)}
Purpose
Opens space for text entry. This mode is generally used for entering text
for publishing applications.
Format
TE
Remarks
When text entry mode is begun, line numbers disappear. You may type
without worry about reaching line end. The cursor skips from the end of
one line to the starting position of the next line automatically. You can
type continuously. When the text reaches the right edge of the data area
it is folded to the next line.
To exit text entry, press [SPF-Enter].
Note: At the end of a page, a new page is automatically displayed and
word wrap occurs.
Note: Tabs are still functional during text entry.
# 28.34 {TF (Text Flow)}
Purpose
Flows the current paragraph of text to fit within defined BOUNDS.
Format
TF[number]
Remarks
This command works in conjunction with the BNDS command, see page 381 for
details.
It is used to restructure paragraphs after deletions, text splits,
insertions etc. The text flow begins on the line that the command is
entered and flows text until an end of paragraph condition is reached.
The end of paragraph is determined by a blank line, a change in
indentation, or the special characters period (.), colon (:), ampersand
(&), less than (<), or form feed (CTRL L) at the beginning of a line.
Text flow restructures a paragraph by removing trailing blanks. It does
not remove leading or embedded blanks. For this reason, it is important to
delete words within a line by using [DEL] rather than by typing over words
with blanks.
Because of this, the first line indent in a paragraph is preserved with
Text Flow.
If number is specified, it is used as a temporary right bound. Paragraph
text is flowed to the extent of this new temporary bound.
Note: If the temporary right bound is outside of the current bounds, it
is ignored and the current bounds are used.
Note: If a word is too large to fit within the current bounds, an error
message is presented.
# 28.35 {TJ (Text Join)}
Purpose
Joins the current and following line. This command is, in effect, the
reverse of the Text Split command.
Format
TJ
Remarks
The text join command operates within the current bounds. Data in the
next line (being appended) that is outside the current bounds is deleted.
Example
TJ0402 The text in the following line
000403 is appended
000404 to the text in the current line.
Results
000402 The text in the following line is appended
000403 to the text in the current line.
# 28.36 {TS (Text Split)}
Purpose
Splits a line of text at the cursor location.
Format
TS[number]
Remarks
Position the cursor where the line is to be split and press [SPF-Enter].
If a number is not specified, only one blank line appears between the
split line segments.
If number is specified, that number of blank lines is inserted between the
split line segments.
The text split command operates within the current bounds and leaves data
outside the bounds unchanged.
If the cursor is outside the bounds, the request is ignored.
Example
000402 If a number parameter is specified,
TS0403 new lines will be inserted between the split
000404 text segments.
Results
000402 If a number parameter is specified,
000403 new
''''''
000405 lines will be inserted between the split
000406 text segments.
# 28.37 {UC (Upper Case)}
Purpose
Converts alphabetic characters on a line or group of lines to uppercase
letters.
Format
UC[number]
Remarks
This command may be specified with or without a number.
An optional number after the command specifies the number of consecutive
lines to be converted to uppercase letters.
Example
UC0022 If a number is specified, that
000023 number of consecutive lines is converted
000024 to uppercase letters. In this way the
000025 number parameter functions in the
000026 same way as does the Block Upper Case
000027 command.
Results
000022 IF A NUMBER IS SPECIFIED, THAT NUMBER
000023 of consecutive lines is converted
000024 to uppercase letters. In this way the
000025 number parameter functions in the
000026 same way as does the Block Upper Case
000027 command.
Example
UC3022 If a number is specified, that number
000023 of consecutive lines is converted
000024 to uppercase letters. In this way the
000025 number parameter functions in the
000026 same way as does the Block Upper Case
000027 command.
Results
000022 IF A NUMBER IS SPECIFIED, THAT NUMBER
000023 OF CONSECUTIVE LINES IS CONVERTED
000024 TO UPPERCASE LETTERS. IN THIS WAY THE
000025 number parameter functions in the
000026 same way as does the Block Upper Case
000027 command.
# 28.38 {UCC (Block Upper Case)}
Purpose
Converts alphabetic characters within a block of lines to uppercase
letters.
Format
UCC
Remarks
This command functions identically to the UC line command except it
operates on a block of lines rather than a single line. It is necessary
to mark both the beginning and end of the block with "UCC".
Example
UCC001 This is the start of the letter.
000002 I think that I would like to change these
UCC003 Lines to all uppercase characters.
Results
000001 THIS IS THE START OF THE LETTER.
000002 I THINK THAT I WOULD LIKE TO CHANGE THESE
000003 LINES TO ALL UPPER CASE CHARACTERS.
# 28.39 {X (Exclude)}
Purpose
Excludes one or more lines from view.
Format
X[number]
Remarks
This command may be specified with or without a number.
An optional number after the command specifies the number of consecutive
lines to be excluded from view.
This command is helpful when trying to view two groups of lines which are
far apart in a file. The lines in between can be excluded from the display
but are not deleted from the file.
The exclude command is often used in conjunction with the FIND and CHANGE
primary commands to limit the scope of a search.
See FIND, CHANGE, and EXCLUDE primary commands for global operations.
Note: Use the RESET primary command redisplay all excluded lines.
Example
000010 /* This is a C program */
000011 main() {
X00012 int sum,x,y;
000013 x = 20;
000014 y = 30;
000015 printf("The sum of %d and %d = %d",
000016 x,y,(x+y));
000017 }
Results
000010 /* This is a C program */
000011 main() {
- - - - - - - - - - 00001 LINE(S) NOT DISPLAYED
000013 x = 20;
000014 y = 30;
000015 printf("The sum of %d and %d = %d",
000016 x,y,(x+y));
000017 }
Example
000010 /* This is a C program */
000011 main() {
X600012 int sum,x,y;
000013 x = 20;
000014 y = 30;
000015 sum = x + y;
000016 printf("The sum of %d and %d = %d",
000017 x, y, sum);
000018 }
Results
000010 /* This is a C program */
000011 main() {
- - - - - - - - - - 00006 LINE(S) NOT DISPLAYED
000018 }
28.40 {XX (Block Exclude)}
Purpose
Excludes a block of lines from viewing.
Format
XX
Remarks
This command functions identically to the EXCLUDE line command except it
operates on a block of lines rather than a single line. It is necessary
to mark both the beginning and end of the block with "XX".
Example
000010 /* This is a C program */
000011 main() {
XX0012 int sum,x,y;
000013 x = 20;
000014 y = 30;
000015 sum = x + y;
000016 printf("The sum of %d and %d = %d",
XX0017 x, y, sum);
000018 }
Results
000010 /* This is a C program */
000011 main() {
- - - - - - - - - - 00006 LINE(S) NOT DISPLAYED
000018 }
# 28.41 {. (DOT, Label Assign)}
Purpose
Assigns a label to a line. Normally labels are assigned to lines so that
later they may be used as range parameters.
Format
.label
Remarks
Labels may be assigned to any non-excluded line.
A label is typed in the line command area. It begins with a period (.),
and is followed by one to five alphabetic characters. You may not begin a
label with the letter "Z". Labels beginning with the letter "Z" are
reserved by the system.
The following system labels are available at all times:
.ZF
The first line of the file.
.ZFIRST
The first line of the file
.ZL
The last line of the file.
.ZLAST
The last line of the file.
.ZCSR
The cursor line.
Labels are not part of the data and are not stored by the system at
END. Therefore, it is not necessary to RESET or clear them.
# 29. {Dialog Development Introduction}
SPF/Pro is designed to support the development of Edit Macros and SPF
Dialogs which are consumed at the department, division, or company wide
level.
In the normal course of events, the individual SPF/Pro end user is not
inclined to develop sophisticated Edit Macros or SPF Dialogs on a broad
basis. The predominant scenario is that of one or more interested and able
developers providing macros and dialogs to their constituency of end
users.
SPF/Pro provides all the functions, features, and run time support needed
by end users to exploit locally developed extensions to the base
environment. Source is provided for all SPF/Pro panels including the
Custom Dialogs for Micro Focus and XDB.
Most ISPF panels developed under MVS will run without alteration on
SPF/Pro. Modifications to these panels to adapt or extend are easily
accomplished. In SPF/Pro we interpret the meaning of many of the MVS ISPF
panel definition components within a GUI paradigm automatically. This
enables the developer's applications to be rendered in a modern style and
with modern behavior without alteration.
# 29.1 {Major New Features}
* New Display Services
- ADDPOP Support
- Source for 390 SPF/Pro panels
- On screen 'popup' command windows
- Extended Selection in Tables
- Dialog Test (Panels)
* Program Authoring Enhancements
- REXX PDS Access API
- Configurable Command Tables
- DM Function PGM(...) and BACKPGM(...) Support
- Improved and extended ISREDIT Support
- Improved and extended ISPEXEC Support
- Dialog Test (Programs)
- Record Level Print Interface
- Extended Table Services to include Directory Services
This manual is divided into three main sections. In the first section we
discuss how to develop an application in SPF/Pro and lead you through the
development of a sample REXX procedure using the ISPEXEC interface and in
the development of an EDIT MACRO using the ISREDIT interface. Along the
way we introduce the tools, such as dialog test and the TTY interface
which have been designed to aid the development process. This section also
discusses in detail the role of the directory structures to ensure that
user developed applications do not collide with SPF/Pro supplied ones.
The dialog development tools such as PDS Support, Dialog Test, Command
Tables, and the TTY interface are described in detail in the second part.
The third section is a reference for the REXX programming language,
ISREDIT, and ISPEXEC commands which SPF/Pro supports. This section is
also complete reference to the panels and commands designed to aid
application development.
# 29.2 {Assumptions}
In this manual we assume that you are familiar with the normal processes
of application development from design and implementation to testing and
debugging. We also assume you have a basic knowledge of REXX. We explain
any uses of REXX which are specific to Command Techn
|