RPGXL [ MPE/iX Commands Reference Manual Volume I ] MPE/iX 5.0 Documentation
MPE/iX Commands Reference Manual Volume I
RPGXL
Compiles an RPG/XL program. 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 RPG/XL is installed on
your system. (Native Mode)
Syntax
RPGXL [textfile][,[objectfile][,[listfile]]] [;INFO=quotedstring]
NOTE This command follows the optional MPE/iX command line syntax.
Refer to "Optional Format for MPE/iX Commands" at the beginning of
this chapter.
Parameters
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 stores 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 overwrites 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, 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 run-time parameter for the compiler. It is a
quoted string that may contain either the word
"VERSION" or "version" and is used to display the
compiler and library VUF number.
NOTE The formal file designators used in this command (RPGTEXT, RPGOBJ,
and RPGLIST) cannot be backreferenced as actual file designators in
the command parameter list. For further information, refer to the
"Implicit FILE Commands for Subsystems" discussion of the FILE
command.
Operation Notes
The RPGXL command compiles an RPG/XL program and stores the object code
in a file on disk. If textfile is not specified, RPG/XL expects the
source program to be entered from your standard input ($STDIN). If you do
not specify listfile, RPG/XL sends the listing to your standard list
device ($STDLIST). If you omit the objectfile parameter, the object code
is saved in the temporary file domain as $OLDPASS. To keep it as a
permanent file, you save $OLDPASS under another name.
NOTE This command is implemented as a command file. If you set the
HPPATH variable to null (SETVAR HPPATH ""), the command file is not
executed, and the command fails.
Use
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 the RESUME command continues the execution.
Examples
The following example compiles an RPG/XL program entered from your
standard input device and stores the object code in the object file
$OLDPASS. The listing is then sent to your standard list device.
RPGXL
The next example compiles an RPG/XL program contained in the disk file
RPGSRC, and stores the object code in the object file MYRPGOBJ. The
program listing is stored in the disk file LISTFILE.
RPGXL RPGSRC,MYRPGOBJ,LISTFILE
NOTE Program development in native mode uses the MPE/iX LINK command not
the MPE V/E PREP command. This produces a significant difference
in the method of linking code.
If you have created an RPG program called MAIN and a FORTRAN subprogram,
for example, 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
Link Editor 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
FTNXL SUB, RLFILE
LINK RLFILE,SOMEPROG
RUN SOMEPROG
Related Information
Commands RPGXLGO, RPGXLLK
Manuals HP RPG/XL Programmer's Guide (30318-60001)
HP RPG/XL Reference Manual (30318-60002)
HP RPG Utilities Reference Manual (30318-60003)
MPE/iX 5.0 Documentation