Exchange/RJE Manual

Send/Receive Program Example
Example Programs
D–6 104698 Tandem Computers Incorporated
Page 7 [1] $RJE.EXCHAPPL.RJEPROG 1991-06-17 11:05:47
CREATE^LINE^SERVER
247. 000210 1 4 END;
248. 000211 1 CE2 !2! BEGIN
249. 000211 1 4 sbuffer ':=' ["FILE MANAGEMENT ERROR: "] -> @sp;
250. 000222 1 4 write^count := @sp '-' @sbuffer;
251. 000226 1 4 CALL NUMOUT (sbuffer[write^count-4], new^proc^error.<8:15>,10,4);
252. 000237 1 4 END;
253. 000240 1 CE3 !3! BEGIN
254. 000240 1 4 sbuffer ':=' ["UNABLE TO ALLOCATE MAP"] -> @sp;
255. 000251 1 4 write^count := @sp '-' @sbuffer;
256. 000255 1 4 END;
257. 000256 1 CE4 !4! BEGIN
258. 000256 1 4 sbuffer ':=' ["UNABLE TO ALLOCATE VIRTUAL DISC SPACE"] -> @sp;
259. 000267 1 4 write^count := @sp '-' @sbuffer;
260. 000273 1 4 END;
261. 000274 1 CE5 !5! BEGIN
262. 000274 1 4 sbuffer ':=' ["ILLEGAL FILE FORMAT"] -> @sp;
263. 000305 1 4 write^count := @sp '-' @sbuffer;
264. 000311 1 4 END;
265. 000312 1 CE6 !6! BEGIN
266. 000312 1 4 sbuffer ':=' ["UNLICENSED PRIVILEGED PROGRAM"] -> @sp;
267. 000323 1 4 write^count := @sp '-' @sbuffer;
268. 000327 1 4 END;
269. 000331 1 CE7 !7! BEGIN
270. 000331 1 4 sbuffer ':=' ["PROCESS NAME ERROR: "] -> @sp;
271. 000342 1 4 write^count := @sp '-' @sbuffer;
272. 000346 1 4 CALL NUMOUT (sbuffer[write^count-4], new^proc^error.<8:15>,10,4);
273. 000362 1 4 END;
274. 000363 1 CE8 OTHERWISE
275. 000363 1 3 BEGIN
276. 000363 1 4 sbuffer ':=' ["PROCESS ERROR UNDEFINED"] -> @sp;
277. 000374 1 4 write^count := @sp '-' @sbuffer;
278. 000400 1 4 END;
279. 000400 1 3
280. 000400 1 3 END; ! case index handling
281. 000421 1 2 CALL end^it^all (ibuffer, write^count);
282. 000427 1 2 end^loop := 1;
283. 000431 1 2 RETURN;
284. 000432 1 2 END; ! error handling
285. 000432 1 1
286. 000432 1 1 server^open^name ':=' server^proc^name for 3
287. 000432 1 1 & " "
288. 000432 1 1 & server^open^name[3] FOR 8;
289. 000450 1 1
290. 000450 1 1 ! OPEN line server process name $LNSRV !
291. 000450 1 1 CALL OPEN (server^open^name, server^fnum); ! single open; wait i/o
292. 000460 1 1 IF <>
293. 000460 1 1 THEN
294. 000461 1 1 BEGIN
295. 000461 1 2 CALL FILEINFO (server^fnum, error); ! use -1 if open fails !
296. 000472 1 2 sbuffer ':=' ["OPEN ATTEMPT FAILED -- ERROR: "] -> @sp;
297. 000503 1 2 write^count := @sp '-' @sbuffer;
298. 000507 1 2 CALL NUMOUT (sbuffer[write^count-3], error, 10, 3);
299. 000517 1 2 CALL end^it^all (ibuffer, write^count);
300. 000525 1 2 end^loop := 1;
301. 000527 1 2 RETURN;
302. 000530 1 2 END;
303. 000530 1 1