IBM System 360 User Manual page 89

Operating system: time sharing option terminal
Hide thumbs Also See for System 360:
Table of Contents

Advertisement

command will reallocate i t with the DDNAME "SYSIN."
This data set is
always OLD; no BLOCK or SPACE values have to be supplied.
The data set
name will be formed from the program name supplied by the EXEC command,
followed by the characters ".PLI".
Two periods are necessary in the
model command, since the first one indicates the following characters
are to be concatenated to the supplied value.
Records 3 through 5
similarly allocate and assign standard names to the data sets to hold
the program listing and the object program.
Since these are new data
sets, the BLOCK and SPACE values must be supplied.
Records
6
and
7
allocate the two utility, or temporary work, data sets the compiler
needs.
No data set name is specified, so a system-generated name will
be assigned to them, and the data sets will automatically be deleted by
a
~'REE
command.
All the other data sets will be kept and cataloged.
To
use the same procedure again for the same program, the user should enter
DELETE commands for SYSIN and SYSPRINT.
Record 8 invokes the PL/I (F) compiler by its load module name, and
passes to it the list of options to control execution.
When the
compiler completes processing, the FREE command in record
9
releases all
the data sets except the object module.
Figure 14,.3 shows how the procedure might be used from the terminal.
At 1 is the EXEC command invoking the procedure..
The LIST keyword on
the command specifies that each command is to be printed out at the
terminal as it is executed.
Note that the name supplied with the EXEC
command has been filled
in
as part of the data set name field
in
the
ALLOCATE commands.
'I'he system continues to list commands through
line
8, then notifies the user i t is again ready to accept commands from the
terminal with the READY message
in line
9.
The user enters the LOADGO
command to bring his compiled object program into storage for execution.
r----------------------------------------------------------------------,
1
exec plif 'exp' list
2
ALLOCATE DA'l'ASET(EXP .• PLI) FILE (SYSIN)
3
ALLOCATE DATASET(EXP.LIST) FlLE(SYSPRINT) BLOCK(125) SPACE(300,100)
4
ALLOCATE DATASET(EXP.OBJ) FILE(SYSLIN) BLOCK(80) SPACE(250,100)
5
ALLOCATE FILE(SYSUT1) BLOCK(1024) SPACE(60,60)
6
ALLOCATE FILE(SYSUT3) BLOCK(80) SPACE(250,lOO)
7
CALL 'SYS1.LINKLIB(IEMAA)' 'LIST,ATR,XREF,STMT,MACRO'
8
FREE FILECSYSUT1,SYSUT3,SYSIN,SYSPRINT)
9
READY
10 allocate dataset(*) file(sysin)
11 READY
12 allocate dataset(*) file(sysout)
13 READY
14 loadgo exp.obj pl1lib
l ________ - - - - -________________________________________________________ _
Figure 14.3.
Use of a Command Procedure
If the procedure is a member of the command procedure library, the
user can use the EXEC command implicitly, as shown
in
Figure 14.4.
When
the system does not find "PLIF" defined
in the command library, it looks
for the command procedure in the command procedure library.
The
individual commands are not displayed at the terminal.
When the
procedure completes, the READY message is displayed, and the user can
load his program for execution.
r------. . . . -,
Iplif expl
I
READY
I
L ____ - -__ J
Figure 14.4.
Implicit use of Procedure
Using and Writing "Command Procedures
85.2

Advertisement

Table of Contents
loading

Table of Contents