Generated from C.60.01 /SYS/PUB/CICAT last modified on Thu Jan 11 09:18:52 2001
Compiles an HP RPG/XL program.
HP RPG/XL is not part of the 900 Series HP 3000 Computer System
Fundamental Operating Software and must be purchased separately.
This command is recognized only if HP RPG/XL is installed on your
system. (NM)
RPGXL [textfile][,[objectfile][,[listfile]]]
[;INFO=quotedstring]
This command follows the optional MPE/iX command line syntax.
textfile Actual file designator of the input file from which
the source program is read. This can be any ASCII
input file. Formal file designator is RPGTEXT.
Default is $STDIN.
objectfile Actual file designator of the object file to which
the object code is stored. This file is stored in
binary form and has a file code of 1461 or NMOBJ.
Its formal file designator is RPGOBJ. If the
objectfile parameter is omitted, the object code is
saved to the temporary file $OLDPASS.
If you specify objectfile, the compiler will store
the object file in a permanent file of the correct
size and type, and with the name you specified. If
a file of the same name already exists, the object
code will overwrite that file. If the compiler
issues an error message telling you that a new or
existing object file you are trying to compile to is
too small, you will have to build the object file
with a larger size and recompile to it. You may use
the MPE/iX SAVE command to store $OLDPASS as a
permanent file under another name.
listfile Actual file designator of the file to which the
program listing is written. This can be any ASCII
output file. Formal file designator is RPGLIST.
Default is $STDLIST.
quotedstring A parameter for the compiler. It is a quoted string
that may contain the word "VERSION" or "version".
It is used to display the compiler and library VUF
number.
The formal file designators used in this command (RPGTEXT, RPGOBJ, RPGLIST) cannot be backreferenced as actual file designators in the command parameter list.
The RPGXL command compiles an HP RPG/XL program and
stores the object code in a source file on disk. If
textfile is not specified, MPE expects the source program to
be entered from your standard input ($STDIN). If you do not
specify listfile, MPE/iX sends the listing to your standard
list device ($STDLIST) and identifies it by the formal file
designator, RPGLIST. If you omit the objectfile parameter,
the object code is saved in the file domain as $OLDPASS. To
keep it as a permanent file, you save $OLDPASS under another
name.
This command may be issued from a session, job, or
program. It may not be used in BREAK. Pressing [Break]
suspends the execution of this command. Entering RESUME
continues the execution.
This command is implemented as a command file. If you set the HPPATH variable to null (SETVAR HPPATH ""), the command file will not be executed, and the command will fail.
The following example compiles an HP RPG/XL program entered from your
standard input device and stores the object program in the object file
$OLDPASS. The listing then sent to your standard list device
RPGXL
The next example compiles an HP RPG/XL program contained in the disk
file RPGSRC, and stores the object program in the object file MYRPGOBJ.
The program listing is stored in the disk file LISTFILE.
RPGXL RPGSRC,MYRPGOBJ,LISTFILE
Program development in the Native Mode of MPE/iX uses the new LINK
command in place of the MPE V/E PREP command. This produces a
significant change in the method of linking code that you must take into
account.
If you have created an RPG program called MAIN and a FORTRAN subprogram
called SUB, each contained in a separate file, you might choose to
handle it this way in MPE V/E
RPG MAIN, SOMEUSL
FTN SUB, SOMEUSL
PREP SOMEUSL, SOMEPROG
RUN SOMEPROG
The second command appends the code from SUB to SOMEUSL.
However, LINK (in MPE/iX Native Mode) does not append SUB.
On MPE/iX, you must compile the source files into separate
object files and then use the LinkEditor to link the two
object files into the program file, as in this example
RPGXL MAIN, OBJMAIN
FTNXL SUB, OBJSUB
LINK from=objmain,objsub;to=someprog
RUN SOMEPROG
However, if an NMRL is used instead of an NMOBJ, the above
can be simplified to the following:
BUILD RLFILE;DISC=10000;CODE=NMRL
RPGXL MAIN, RLFILE
RPGXL SUB, RLFILE
LINK RLFILE, SOMEPROG
RUN SOMEPROG
Commands: RPGXLGO, RPGXLLK
Manuals : HP RPG/XL Reference Manual (30318-60002)
HP RPG/XL Utilities Reference Manual (30318-60003)
Back to Main Index