VERIFY [ HP RPG/XL Utilities-Part 2 RISE ] MPE/iX 5.0 Documentation
HP RPG/XL Utilities-Part 2 RISE
VERIFY
VERIFY compiles a work file, lists a compilation, or prepares a USL file
into a program file.
Form
R[PG]
V[ERIFY] L[IST]
P[REP] [progfile] [;ZERODB] [;PMAP]
[;MAXDATA=segsize] [;STACK=stacksize]
[;DL=dlsize] [;CAP=caplist] [;RL=filename]
[;PATCH=patchsize]
Parameter Explanation
R[PG] Calls the RPG compiler to compile the work file into the
USL file named "$OLDPASS", a system-defined file name.
Afterwards, it causes the newly compiled listing to be
displayed on the screen. Using special function keys,
you can scroll through the file in split screen. The
USL file in $OLDPASS is not created if any serious
compilation errors occur.
L[IST] Displays the last compilation listing completed as a
result of the V[ERIFY] R[PG] command.
P[REP] Calls the Segmenter to prepare a USL file in $OLDPASS to
the program file named "progfile". If "progfile" is
omitted, the program file will default to $OLDPASS.
(During the preparation of the USL file, the Segmenter
uses $NEWPASS as the program file name. Afterwards,
$NEWPASS is renamed $OLDPASS.)
progfile The name of the file onto which the prepared segments
are to be written. If the file named does not exist,
the Segmenter will build a job temporary file for you.
(Note: code segments in a program file cannot lie
across disk extent boundaries. Thus, all segments in
such files must be constructed within one extent. See
the MPE Intrinsics Reference Manual for a discussion of
disk extents.)
ZERODB An indication that the initially-defined DL-DB area, and
uninitialized portions of DB-Q (initial) area will be
initialized to zero. If this parameter is omitted,
these areas are not affected.
PMAP An indication that a listing describing the prepared
program will be produced with the formal filename of
"SEGLIST". If there is no file equation for "SEGLIST",
the listing is printed on your terminal. If the
parameter is omitted, no listing is produced.
MAXDATA= Maximum stack area (Z-DL) size permitted, in words.
segsize This parameter is included if you expect to change the
size of the DL-DB or DB-Z areas during process
execution. If omitted, MPE assumes that these areas
will not be changed.
STACK= The size of the user's initial local data area, Q
stacksize (initial) to Z, ior the stack, in words. This overrides
the stacksize estimated by the Segmeorter, which applies
if the stacksize parameter is omitted. (The default is
a function of estimated stack requirements for each
program unit in the program.) Since it is difficult for
the system to predict the behavior of the stack at
runtime, you may want to override the default by
supplying your own estimate with stacksize.
DL=dlsize The DL-DB area to be initially assigned to the stack.
If the "dlsize" parameter is omitted, a value of zero is
used.
CAP=caplist The capability-class attributes associated with the
caplist user's program; specified as two-character
mnemonics. If more than one mnemonic is specified, each
must be separated from its neighbor by a comma.
The mnemonics are:
* IA = Interactive access.
* BA = Local batch access.
* PH = Process handling.
* DS = Data segment management.
* MR = Multiple resource management.
* PM = Privileged-mode operation.
Users who issue the prepare command can only specify
capabilities that they themselves possess (through
assignment by the Account Manager). If the user does
not specify any capabilities, only IA and BA (if the
user possesses them) will be assigned to this program.
RL=filename The name of the Relocatable Library (RL) to be searched
to satisfy external references during preparation. This
can be any permanent file of type RL. It need not belong
to the log-on group, nor does it have a reserved, local
name. This file yields a single segment that is
incorporated into the segments of the program file
prepared. If "filename" is omitted, no library will be
searched.
PATCH= The number of extra words added to each code segment
patchsize before the Segment Transfer Table to allow room for code
patches to a segment.
For the stacksize, dlsize, and maxdata parameters, a value of -1 denotes
the default (equivalent to omitting the parameter).
NOTE Note that the optional parameters associated with the P[REP]
command can be used in any order. When the Segmenter is executing,
its HP banner and all its responses will appear on your terminal.
Moreover, because RISE's PREP option is exactly the same as the
Segmenter's PREPARE command, the syntax is the same, and delimiters
are necessary between parameters.
Purpose
The VERIFY command has three functions. It calls the RPG compiler to
compile the work file, and when the compilation is finished, displays the
newly compiled file listing. Also, it lists the last compilation listing
produced by the VERIFY command and its RPG parameter. Finally, it calls
the Segmenter to prepare a USL file in $OLDPASS to a program file.
Therefore, you may compile, prep, and execute your RPG source program in
the work file by using the VERIFY RPG, VERIFY PREP, and RUN commands.
You may also use the :MPEcommand to set up any file equations necessary
to execute your program correctly. For instance:
:FILE OUTENTITY =$STDLIST
Related Commands
The special function keys are redefined by the VERIFY RPG and LIST
commands to facilitate management of the compilation listing. The keys
function as follows:
F1 Switch window to split screen--Top or Bottom--or Full
Window.
F2 Display first page of compilation listing.
F3 Display last page.
F4 Find error in compilation listing.
F5 Scroll forwards one page.
F6 Scroll backwards one page.
F7 Scroll forwards 1/2 page.
F8 Scroll backwards 1/2 page.
Softkey F1 allows you to divide the screen up into two fixed portions--a
top and bottom half--or join them in a full page display. Pressing F1
will switch the screen display in the following order: Top Window,
Bottom Window, and back to Full Window. The F1 label indicates what will
be displayed next on the screen if you press F1. In other words, when
Top Window is activated, the label will read Bottom Window. If you press
F1, RISE will respond by activating the Bottom Window.
Futhermore, a dividing line separating the two halves of the screen
indicates the activated half. Up arrows (^) point toward the Top Window;
a line of v's indicates the Bottom Window.
Use of Split Screen
The split screen allows you to view, simultaneously, two parts of the
compilation listing at one time. For example, one window can show error
messages while the other shows the corresponding source line containing
the error.
Special function key F4, the "Find Error" key, is extremely useful when
you use it with Top Window mode. After you press F4, RISE will display
the next RPG source line with errors or warnings in the Top Window while
automatically displaying the corresponding error message at the bottom.
Softkey F4 finds and displays the next source line containing an RPG
error or warning. The search for the error begins after the last line
displayed on the current window. F4 only finds errors for which the RPG
compiler emits an error number, and only on the source line containing
that error.
PRINT: the PRINT command with the RPGLIST parameter will print the
compilation listing offline.
RPG
Execution mode: VERIFY Block mode
LIST
VERIFY PREP Line mode
Examples
The following are legal abbreviations and can be used with the VERIFY
command and its parameters:
V R The RPG compiler will compile the edit file.
V L The last compilation-listing produced by the V[ERIFY]
R[PG] command will be displayed on the screen.
V PREP The segmenter will prepare a USL file in $OLDPASS into a
program file.
In the first example, five lines of SIMCAL are listed on the screen. The
work file containing SIMCAL is then compiled when the VERIFY RPG command
is given, and the results are displayed (1). Note that the Command Mode
window contains a message concerning serious errors and warnings after
the VERIFY RPG command is executed (2).
A similar five-line listing follows (3). However, errors have been
imbedded in these lines for the sake of the example. When these lines
are compiled, the screen again exhibits the compilation, but the message
in the Command Mode window reports on the errors and warnings (4).
>
>L1/5
1 00011H
SIMCAL
2 00012FINPUT IP F DISK
3 00013FOUTPUT O 72 DISK
4 00014IINPUT AA 01 1 CA
5 00015I OR 02 1 CS
(1) >VERIFY RPG
The next example follows the previous one directly. Special function key
#1 (TOP WINDOW) has been pressed, and the x screen is split (1). In the
bottom half of the screen, error and warning message numbers appear
beneath the lines containing the errors (2). Now, if special function
key #4 (FIND ERR+MSG) is pressed, the usefulness of the split screen is
demonstrated. In the second display, the top portion of the screen
contains the compiled source lines and the error and warning numbers (3).
The bottom window contains the numbers and their messages (4). Note that
the up arrows (^^) indicate that the screen is presently in top window
mode.
In the next display, the same information is shown on the screen, but it
is now in bottom window mode, as the down arrows (vv) indicate. Pressing
F1 caused the shift to bottom window mode (5).
In the next example, it is assumed that no serious compilation error
occurred so the user proceeds to prepare and execute. The VERIFY PREP
option is employed, and the Segmenter banner is displayed (1). Next, the
MPE command :SAVE assigns a new file designator to $OLDPASS when it is
made permanent (2). A second MPE command, :LISTF, with the 2 parameter,
brings to the screen file information including file name, file code,
record size, record format, data format (3). The input/output file
equations are given (4), and the RUN command is issued using the new file
designator (5). Again, the calculator is applied (6),nn and a colon,
entered by the user (7), returns the user to RISE (8).
(1) >VERIFY PREP
HP32050A.01.03 SEGMENTER (C) HEWLETT-PACKARD CO. 1979
---
Segmenter completed.
(2) >:SAVE $OLDPASS,SIMPROG
>:LISTF SIMPROG,2
ACCOUNT= SUBSYS GROUP= RPG
FILENAME CODE ------------LOGICAL RECORD--------- ----SPACE----
SIZE TYP EOF LIMIT R/B SECTORS #X MX
(3) SIMPROG PROG 128W FB 12 12 1 13 1 1
(4) >:FILE INPUT=$STDIN
>:FILE OUTPUT=$STDLIST
(5) >RUN SIMPROG
SIMPLE CALCULATOR
(6) ENTER DATA IN THE FORMAT:
C NNNDD NNNDD
A 00111 00222
..... YOUR PROBLEM: 1.11 ADD 2.22 EQUALS 3.3300
ENTER DATA IN THE FORMAT:
(7) C NNNDD NNNDD
:
(8) HP#####X.00.00 RPG INTERACTIVE SYSTEM ENVIRONMENT RISE
(C) HEWLETT-PACKARD CO. 1981 THU, JUN 4, 1981, 2:59 PM
>
In the final example, the VERIFY PREP option is demonstrated again, this
time with two additional parameters, PMAP and MAXDATA. The PMAP parameter
produces a descriptive listing of the file on the screen (1). Following
the listing, an execution message informs the user that the segmenting is
completed (2). The temporary file is made permanent with the use of the
MPE :SAVE command (3), and :LISTF,2 again brings descriptive file
information to the screen (4). PROGFILE is then RUN, and the calculator
is displayed and applied (5).
>V P PROGFILE;PMAP;MAXDATA=10000
(1) HP32050A.01.03 SEGMENTER (C) HEWLETT-PACKARD CO. 1979
---
PROGRAM FILE PROGFILE.RPG.SUBSYS
RPG'01 0
NAME STT CODE ENTRY SEG
RPG'OB 1 0 0
R'OUT 2 1
R'INT 3 1
R'CALT 4 1
R'CALD 5 1
R'CNTL 6 ?
SEGMENT LENGTH 34
RPG'00 1
NAME STT CODE ENTRY SEG
R'OUT 1 0 0
R'EDIT 6 ?
R'LINEC 7 ?
R'CALT 2 574 574
R'CALD 3 600 600
DIVD 10 ?
R'INT 4 766 766
R'ERROR 11 ?
I'0001 5 766 1052
SEGMENT LENGTH 1130
PRIMARY DB 134 INITIAL STACK 1440 CAPABILITY 600
SECONDARY DB 277 INITIAL DL 0 TOTAL CODE 1164
TOTAL DB 433 MAXIMUM DATA 23420 TOTAL RECORDS 14
ELAPSED TIME 00:00:04.673 PROCESSOR TIME 00:00.576
-
(2) Segmenter completed.
(3) >:SAVE PROGFILE
(4) >:LISTF PROGFILE,2
ACCOUNT= SUBSYS GROUP= RPG
FILENAME CODE ---------LOGICAL RECORD--------- ----SPACE----
SIZE TYP EOF LIMIT R/B SECTORS #X MX
PROGFILE PROG 128W FB 12 12 1 13 1 1
>RUN PROGFILE
(5) SIMPLE CALCULATOR
ENTER DATA IN THE FORMAT:
C NNNDD NNNDD
S 22222 11111
..... YOUR PROBLEM: 222.22 SUB 111.11 EQUALS 111.1100
ENTER DATA IN THE FORMAT:
C NNNDD NNNDD
:
HP#####X.00.00 RPG INTERACTIVE SYSTEM ENVIRONMENT RISE
(C) HEWLETT-PACKARD CO. 1981 THU, JUN 4, 1981, 3:02 PM
>
MPE/iX 5.0 Documentation