Exchange/RJE Manual
Send/Receive Program Example
Example Programs
D–14 104698 Tandem Computers Incorporated
Page 15 [1] $RJE.EXCHAPPL.RJEPROG 1991-06-17 11:05:47
RECEIVE TEST
638. 000215 1 1 ! set RECEIVE parameters -- normal and translate to ASCII !
639. 000215 1 1 CALL SETMODE (server^fnum
640. 000215 1 1 , function^43
641. 000215 1 1 , normal^data+translate
642. 000215 1 1 , null);
643. 000224 1 1 IF <>
644. 000224 1 1 THEN
645. 000225 1 1 BEGIN
646. 000225 1 2 CALL FILEINFO (server^fnum, error);
647. 000236 1 2 sbuffer ':=' ["SET RECEIVE PARAMS FAILED--ERROR: "] ->@sp;
648. 000247 1 2 write^count := @sp '-' @sbuffer;
649. 000253 1 2 CALL NUMOUT (sbuffer[write^count-3], error, 10, 3);
650. 000263 1 2 CALL end^it^all (ibuffer, write^count, server^fnum);
651. 000271 1 2 end^loop := 1;
652. 000273 1 2 RETURN end^loop;
653. 000275 1 2 END;
654. 000275 1 1
655. 000275 1 1 ! receive some records !
656. 000275 1 1 DO
657. 000275 1 1 BEGIN
658. 000275 1 2 CALL WRITEREAD (server^fnum, ibuffer, null, read^count, count^read);
659. 000306 1 2 IF <>
660. 000306 1 2 THEN
661. 000307 1 2 BEGIN
662. 000307 1 3 CALL FILEINFO (server^fnum, error);
663. 000320 1 3 IF error =1
664. 000320 1 3 THEN
665. 000323 1 3 BEGIN
666. 000323 1 4 sbuffer ':=' ["EOF -- RECEIVED #### RECORDS"] ->@sp;
667. 000334 1 4 write^count := @sp '-' @sbuffer;
668. 000340 1 4 CALL NUMOUT (sbuffer[write^count-12], records, 10, 4);
669. 000350 1 4 CALL end^it^all (ibuffer, write^count, server^fnum);
670. 000356 1 4 END
671. 000356 1 3 ELSE
672. 000357 1 3 IF error <> 162 and error <> 140
673. 000357 1 3 THEN
674. 000365 1 3 BEGIN
675. 000365 1 4 sbuffer ':=' ["READ ATTEMPT FAILED -- ERROR: "] ->@sp;
676. 000376 1 4 write^count := @sp '-' @sbuffer;
677. 000402 1 4 CALL NUMOUT (sbuffer[write^count-3], error, 10, 3);
678. 000412 1 4 CALL end^it^all (ibuffer, write^count, server^fnum);
679. 000420 1 4 end^loop := 1;
680. 000422 1 4 RETURN end^loop;
681. 000424 1 4 END;
682. 000424 1 3
683. 000424 1 3 IF error =140
684. 000424 1 3 THEN
685. 000427 1 3 BEGIN
686. 000427 1 4 sbuffer ':=' ["MODEM ERROR: "] ->@sp;
687. 000440 1 4 write^count := @sp '-' @sbuffer;
688. 000444 1 4 CALL NUMOUT (sbuffer[write^count-3], error, 10, 3);
689. 000454 1 4 CALL end^it^all (ibuffer, write^count, server^fnum);
690. 000462 1 4 end^loop := 1;
691. 000464 1 4 RETURN end^loop;
692. 000467 1 4 END;
693. 000467 1 3
694. 000467 1 3 IF error =162