図 52. PLISRTC - 入力データ・セットから出力処理ルーチンへのソート
//OPT14#9 JOB ...
//STEP1 EXEC IBMZCBG
//PLI.SYSIN DD *
EX108: PROC OPTIONS(MAIN);
DCL RETURN_CODE FIXED BIN(31,0);
CALL PLISRTC (' SORT FIELDS=(7,74,CH,A) ',
' RECORD TYPE=F,LENGTH=(80) ',
1048576
RETURN_CODE,
E35X);
SELECT(RETURN_CODE);
WHEN(0) PUT SKIP EDIT
('SORT COMPLETE RETURN_CODE 0') (A);
WHEN(16) PUT SKIP EDIT
('SORT FAILED, RETURN_CODE 16') (A);
WHEN(20) PUT SKIP EDIT
('SORT MESSAGE DATASET MISSING ') (A);
OTHER PUT SKIP EDIT
('INVALID RETURN_CODE = ', RETURN_CODE) (A,F(2));
END /* select */;
CALL PLIRETC (RETURN_CODE);
/*set PL/I return code to reflect success of sort*/
E35X: /* output handling routine prints sorted records*/
PROC (INREC);
DCL INREC CHAR(80);
PUT SKIP EDIT (INREC) (A);
CALL PLIRETC(4); /*request next record from sort*/
END E35X;
END EX108;
/*
//GO.STEPLIB DD DSN=SYS1.SORTLINK,DISP=SHR
//GO.SYSPRINT DD SYSOUT=A
//GO.SYSOUT DD SYSOUT=A
//GO.SORTIN DD *
003329HOOKER S.W. RIVERDALE, SATCHWELL LANE, BACONSFIELD
002886BOOKER R.R. ROTORUA, LINKEDGE LANE, TOBLEY
003077ROOKER & SON, LITTLETON NURSERIES, SHOLTSPAR
059334HOOK E.H. 109 ELMTREE ROAD, GANNET PARK, NORTHAMPTON
073872HOME TAVERN, WESTLEIGH
000931FOREST, IVER, BUCKS
/*
//GO.SORTCNTL DD *
OPTION DYNALLOC=(3380,2),SKIPREC=2
/*