NetBatch Management Programming Manual

Sample Programs
NetBatch Management Programming Manual522462-003
C-47
Sample TAL Program
CALL READX(recv_chan, sm, ($OCCURS(sm)*$LEN(sm)));
CALL FILE_CLOSE_(recv_chan);
-- Convert C-series file name to D-series format
error := OLDFILENAME_TO_FILENAME_(sm[_out], work^area:maxfilebytes,
work^length);
-- Open OUT file
IF error OR (error := FILE_OPEN_(work^area:work^length, out_chan))
THEN
stopwitherror(efile_open_, 16);
-- Open the scheduler
IF (error := FILE_OPEN_(scheduler^name:11, schd_chan)) THEN
stopwitherror(efile_open_, 16);
-- Format the SPI structure and submit the job
error := submit^job;
-- Check if only warnings are returned
IF NOT (error = 0) THEN
stopwitherror(eretcod, 34)
ELSE
BEGIN
IF error := SSGETTKN(spi^buf -- Check if there is a job number in
the buffer
, zbat^tkn^sel^job^number
, jobnumber
, 1) THEN
-- CALL PROCESS_STOP_(,,,2!cc!,error!ti!,,essget:12);
stopwitherror(essget, 12);
-- Job submission output header message
buffer ':=' " " -> @ptr;
CALL WRITE(out_chan, buffer, @ptr '-' @buffer);
buffer ':=' " Job submitted to $ZBAT using SPI" & %H0A0D -> @ptr;
CALL WRITE(out_chan, buffer, @ptr '-' @buffer);
-- Output job number to screen
CALL NUMOUT(ascii^num, jobnumber, 10, 3);
buffer ':=' " Job number : " & ascii^num FOR 3 -
>@ptr;
CALL WRITE(out_chan, buffer, @ptr '-' @buffer);
IF error := SSGETTKN(spi^buf -- Get Job name from SPI buffer
, zbat^tkn^sel^jobname
, ascii^num
, 1) THEN
stopwitherror(essget, 12);
(continued)