IBM OS/390 User Manual

Page of 673
15.5.2.9 SORT TECHNIQUES
The user can specify a particular sort technique:
PEER
Peerage sort
BALN
Balanced
CRCX
Criss-cross
OSCL
Oscillating
POLY
Polyphase
The sort call is, therefore, little different to that of DOS PL/I. In all cases, reading
the Programmers
′ 
Guide for the appropriate version of the sort is recommended.
15.6 Checkpoint-Restart in PL/I
15.6.1 PLICKPT
Whereas the DOS checkpoint authorizes only manual restart with operator
intervention, in MVS it is possible to request it by means of JCL and if the
program lends itself to automatic restart, it will restart at the last step or the last
checkpoint.
There are always four parameters to be supplied:
CALL PLICKPT (pl,p2,p3,p4); (DOS and MVS)
but the third has functional differences. In DOS the parameter defines the
physical and logical unit on which the checkpoints will be written (SYS00x..,33xx).
In MVS this defines the checkpoint organization (sequential or partitioned). For
the other parameters, there is little or no difference:
P1: DLBL in DOS, DDNAME in MVS.
P2: Name to be given to the checkpoint by the operating system. This
name will be specified in control statement on a deferred restart.
P4: Return code returned by the checkpoint routines after execution.
The values of these return codes are compatible between the two
compilers.
15.6.2 PLIREST
An additional function offered by MVS is available in PL/I; automatic restart. This
is possible thanks to a new function of the MVS PL/I optimizer: PLIREST. This
includes use of ABEND U4092. As long as this code is in the list of eligible
ABEND codes specified at system generation, an automatic restart will be
possible. If there is to be automatic restart, the operating system must be able to
recognize an abnormal end. With PL/I intercepting program checks, the end of
execution appears to the system as 
normal
′.
Thus the function of PLIREST is to
induce an ABEND. It is, therefore. necessary to code some instructions of the
type:
IF ONCODE= xxx THEN DO;
...........:
...........:
CALL PLIREST;
END;
On restart, control will be returned to PL/I after the instruction CALL PLICKPT
(.......). On testing the return code, the programmer will be able to tell if he has a
restart or after writing a checkpoint.
342
VSE to OS/390 Migration Workbook