Exchange/SNA Manual

Send/Receive Program Example
Example Programs
E–8 104700 Tandem Computers Incorporated
Page 8 [1] $RJE.EXCHAPPL.EXAPPL 1991-06-04 13:36:52
EXCHANGE/SNA PROGRAMMATIC EXAMPLE
324. 000507 1 4 CALL STOP;
325. 000514 1 4 END;
326. 000514 1 3 ! set carriage control !
327. 000514 1 3 IF sbuffer[1] <> "/"
328. 000514 1 3 THEN
329. 000520 1 3 BEGIN
330. 000520 1 4 IF sbuffer[1] = "S"
331. 000520 1 4 THEN
332. 000524 1 4 CALL CONTROL (out^fnum, forms^control, 18)
333. 000535 1 4 ELSE
334. 000536 1 4 IF sbuffer[1] = "T"
335. 000536 1 4 THEN
336. 000542 1 4 CALL CONTROL (out^fnum, forms^control, 19)
337. 000551 1 4 ELSE
338. 000552 1 4 IF sbuffer[1] = "A"
339. 000552 1 4 THEN
340. 000556 1 4 CALL CONTROL (out^fnum, forms^control, 0)
341. 000565 1 4 ELSE
342. 000566 1 4 BEGIN
343. 000566 1 5 SCAN vfu^channels UNTIL sbuffer[1];
344. 000573 1 5 IF NOT $CARRY
345. 000573 1 5 THEN
346. 000574 1 5 CALL CONTROL (out^fnum,forms^control,sbuffer.<8:15> - 65);
347. 000605 1 5 END;
348. 000605 1 4 END;
349. 000605 1 3 END;
350. 000605 1 2 END UNTIL error = 1; ! exit if EOF !
351. 000610 1 1
352. 000610 1 1 ! close the line server !
353. 000610 1 1 CALL CLOSE (server^fnum);
354. 000615 1 1 IF <>
355. 000615 1 1 THEN
356. 000616 1 1 BEGIN
357. 000616 1 2 CALL FILEINFO (out^fnum, error);
358. 000627 1 2 sbuffer ':=' ["CLOSE ATTEMPT FAILED--ERROR: "] -> @sp;
359. 000640 1 2 write^count := @sp '-' @sbuffer;
360. 000644 1 2 CALL NUMOUT (sbuffer[write^count-3], error, 10, 3);
361. 000654 1 2 CALL WRITE (term^fnum, ibuffer, write^count);
362. 000664 1 2 CALL STOP;
363. 000671 1 2 END;
364. 000671 1 1 sbuffer ':=' ["RECEIVE TEST COMPLETED OK"] -> @sp;
365. 000702 1 1 write^count := @sp '-' @sbuffer;
366. 000706 1 1 CALL WRITE (term^fnum, ibuffer, write^count);
367. 000716 1 1 IF <> THEN CALL DEBUG;
368. 000720 1 1 RETURN;
369. 000721 1 1 END;