Exchange/SNA Manual
Send/Receive Program Example
Example Programs
E–4 104700 Tandem Computers Incorporated
Page 4 [1] $RJE.EXCHAPPL.EXAPPL 1991-06-04 13:36:52
EXCHANGE/SNA PROGRAMMATIC EXAMPLE
132. 000000 0 0 ! INITIALIZE opens $RECEIVE, reads the startup message, and gets
133. 000000 0 0 ! the line server name from the startup message.
134. 000000 0 0
135. 000000 0 0 PROC initialize;
136. 000000 1 0
137. 000000 1 0 BEGIN
138. 000000 1 1
139. 000000 1 1 INT length;
140. 000000 1 1
141. 000000 1 1 ! open $RECEIVE !
142. 000000 1 1 CALL OPEN (recv^name, recv^fnum);
143. 000011 1 1 IF < THEN CALL DEBUG;
144. 000013 1 1
145. 000013 1 1 ! read $RECEIVE !
146. 000013 1 1 CALL READ (recv^fnum, startmsg, $LEN(startmsg));
147. 000023 1 1 IF <> THEN CALL DEBUG;
148. 000025 1 1
149. 000025 1 1 ! close $RECEIVE
150. 000025 1 1 CALL CLOSE (recv^fnum);
151. 000032 1 1
152. 000032 1 1 ! open the home terminal !
153. 000032 1 1 CALL MYTERM (term^name);
154. 000035 1 1 CALL OPEN (term^name, term^fnum);
155. 000045 1 1 IF <> THEN CALL DEBUG;
156. 000047 1 1
157. 000047 1 1 ! get the line server's name
158. 000047 1 1 length := FNAMEEXPAND (startmsg.params, server^file^name, startmsg.default);
159. 000062 1 1 IF length = 0
160. 000062 1 1 THEN
161. 000064 1 1 BEGIN
162. 000064 1 2 sbuffer ':=' ["INVALID EXCHANGE/SNA LINE SERVER NAME"] -> @sp;
163. 000075 1 2 write^count := @sp '-' @sbuffer;
164. 000101 1 2 CALL WRITE (term^fnum, ibuffer, write^count);
165. 000111 1 2 CALL STOP;
166. 000116 1 2 END;
167. 000116 1 1 END;