PASCAL Program Using TSOLNK to Invoke a CLIST
Figure 1. PASCAL Program
Demonstrating the Use of TSOLNK to Invoke a CLIST
(*******************************************************************)
(* *)
(* THIS PASCAL PROGRAM WILL INTERFACE WITH THE TSO SERVICE *)
(* FACILITY. THIS PROGRAM WILL EXECUTE A CLIST WITH MEMBER NAME, *)
(* MYCLIST. THE CLIST LIBRARY CONTAINING MYCLIST HAS ALREADY *)
(* BEEN ALLOCATED TO FILE SYSPROC. THIS PROGRAM DOES ITS *)
(* OWN I/O AFTER THE TSO/E COMMAND IS EXECUTED TO DISPLAY *)
(* RETURN CODES, THE USER SHOULD ALLOCATE FILE "FILEOUT" *)
(* TO THE TERMINAL. *)
(* *)
(* *)
(*******************************************************************)
PROGRAM TSOINTER;
TYPE
PA4=PACKED ARRAY (.1..4.) OF CHAR;
PA80=PACKED ARRAY (.1..80.) OF CHAR;
(*******************************************************************)
(* *)
(* SET UP CALL TO TSOLNK - THE TSO SERVICE FACILITY. *)
(* WITH PARAMETER LIST. *)
(* *)
(*******************************************************************)
PROCEDURE TSOLNK( VAR PARM1:PA4;
VAR PARM2:PA80;
VAR PARM3:INTEGER;
VAR PARM4:INTEGER;
VAR PARM5:INTEGER;
VAR PARM6:INTEGER);
FORTRAN; (* THIS KEYWORD IS REQUIRED TO ESTABLISH LINKAGE TO TSF *)
VAR
PARM1:PA4; (* WORD OF CONTROL BITS *)
PARM2:PA80; (* COMMAND BUFFER *)
PARM3:INTEGER; (* LENGTH OF COMMAND *)
PARM4:INTEGER; (* FUNCTION RETURN CODE *)
PARM5:INTEGER; (* TSO SERVICE FACILITY REASON CODE *)
PARM6:INTEGER; (* FUNCTION ABEND CODE *)
FILEOUT:TEXT; (* DECLARE OUTPUT FILE NAME *)
BEGIN
PARM1(.1.):=CHR(0); (* ZERO OUT *)
PARM1(.2.):=CHR(0); (* ZERO OUT BYTE *)
PARM1(.3.):=CHR(1); (* SPECIFY DUMP *)
PARM1(.4.):=CHR(5); (* SPECIFY CLIST TO BE EXECUTED *)
PARM2:='MYCLIST'; (* FILL IN COMMAND BUFFER *)
PARM3:=7; (* SPECIFY COMMAND LENGTH *)
PARM4:=0; (* ZERO TSO/E FUNCTION RETURN CODE *)
PARM5:=0; (* ZERO TSO SERVICE FACILITY REASON CODE *)
PARM6:=0; (* ZERO TSO/E FUNCTION ABEND CODE *)
TSOLNK(PARM1,
PARM2,
PARM3,
PARM4,
PARM5,
PARM6); (* INTERFACE WITH TSO SERVICE FACILITY *)
WRITELN(FILEOUT, 'THE FUNCTION RETURN CODE IS ',PARM4);
(* PRINT OUT FUNCTION RETURN CODE *)
WRITELN(FILEOUT, ' THE TSR REASON CODE IS ',PARM5);
(* PRINT OUT TSR REASON CODE *)
WRITELN(FILEOUT, 'THE FUNCTION ABEND CODE IS ',PARM6);
(* PRINT OUT FUNCTION ABEND CODE *)
END.