NetBatch Management Programming Manual

Sample Programs
NetBatch Management Programming Manual522462-003
C-43
Sample TAL Program
-- Global declarations
INT .spi^buf[0:((zbat^val^buflen^min+6)/2)];
INT .zbat^val^ssid^init[0:5] := [zspi^val^tandem, zspi^ssn^zbat,
zbat^val^version];
INT work^length[0:Maxfilewords]; -- Common work buffer
STRING work^area = work^length[1];
INT .temp[0:11];
INT .sm[0:66]; -- Startup message buffer word
pointer
STRING .ssm := @sm '<<' 1; -- Startup message buffer byte
pointer
INT recv_chan; -- Channel for $receive
INT out_chan; -- Channel for OUT file
INT schd_chan; -- Channel for Scheduler
-- Error text for system-procedure-call errors
STRING .essget[0:11] := "SSGET Failed";
STRING .essput[0:11] := "SSPUT Failed";
STRING .essinit[0:12] := "SSINIT Failed";
STRING .essnull[0:12] := "SSNULL Failed";
STRING .efile_open_[0:16] := "FILE_OPEN_ Failed";
STRING .ewrite_readx_[0:16] := "WRITEREADX Failed";
STRING .eretcod[0:33] := "RETCODE indicated a NetBatch error";
--
-- Structures definition
STRUCT .job(zbat^ddl^def^job^def); -- Job definition structure
--
-- SYSTEM procedures library
?NOLIST, SOURCE $system.system.extdecs0
?LIST
-------------------------------------------------------------------------
----------------------
-- SEND^SPI function procedure.
-- This function procedure sends a formatted SPI buffer to the
-- scheduler and returns the ERROR or WARNING message (RETCODE)
-- from the scheduler.
-------------------------------------------------------------------------
----------------------
INT PROC SEND^SPI;
BEGIN
INT error;
INT retcode;
-- Write the SPI buffer to the scheduler
CALL WRITEREADX(schd_chan
, spi^buf
, (spi^buf[spi_occurs]+6)
, zbat^val^buflen^min);
IF <> THEN
BEGIN
(continued)