Exchange/RJE Manual

User-Exit Procedure
Example Programs
104698 Tandem Computers Incorporated D–27
Page 7 [1] $RJE.JOSHI.UESRC 1991-06-13 13:25:30
SUBPROC LOG^CP^STATUS
254. 003642 2 5 END ; ! OF CASE CP.CP^RSP.STATUS^DETAIL
255. 003704 2 4 CALL WRITE(out^file^num,tbuf,@t'-'@stbuf) ;
256. 003716 2 4 END ! CP.CP^RSP.STATUS^DETAIL < 25 AND POSITIVE
257. 003716 2 3 ELSE ! CP.CP^RSP.STATUS^DETAIL > 24
258. 003717 2 3 BEGIN
259. 003717 2 4 IF cp.cp^rsp.status^detail.<0:7> = %H40
260. 003717 2 4 THEN ! READ CANCELLED?
261. 003724 2 4 BEGIN
262. 003724 2 5 count := cp.cp^rsp.status^detail.<8:15> ; ! GET LINE STATUS
263. 003730 2 5 stbuf ':=' "DETAIL %H40NN - REQUEST CANCELED, LINE STATE =%"
264. 003730 2 5 -> @t ;
265. 003741 2 5 CALL NUMOUT(t,count,8,3) ;
266. 003747 2 5 @t := @t '+' 3 ;
267. 003752 2 5 END
268. 003752 2 4 ELSE
269. 003753 2 4 BEGIN
270. 003753 2 5 IF cp.cp^rsp.status^detail.<0:7> = %H80
271. 003753 2 5 THEN ! PROTOCOL EVENT
272. 003760 2 5 BEGIN
273. 003760 2 6 count := cp.cp^rsp.status^detail.<8:15> ; ! GET EVENT
274. 003764 2 6 stbuf ':=' "DETAIL %H80NN - PROTOCOL EVENT = %" -> @t ;
275. 003775 2 6 CALL NUMOUT(t,count,8,3) ;
276. 004003 2 6 @t := @t '+' 3 ;
277. 004006 2 6 END
278. 004006 2 5 ELSE
279. 004007 2 5 BEGIN
280. 004007 2 6 IF cp.cp^rsp.status^detail.<0:7> = %HC0
281. 004007 2 6 THEN ! MODEM ERROR
282. 004014 2 6 BEGIN
283. 004014 2 7 count := cp.cp^rsp.status^detail.<12:15> ;!MODEM ERROR
284. 004020 2 7 stbuf ':=' "DETAIL %HC00N - MODEM ERROR = " -> @t ;
285. 004031 2 7 CASE count OF
286. 004033 2 7 BEGIN
287. 004033 2 8 1 -> t ':=' "DSR LOSS" -> @t ;
288. 004044 2 8 2 -> t ':=' "CTS LOSS" -> @t ;
289. 004056 2 8 3 -> t ':=' "DCD LOSS" -> @t ;
290. 004070 2 8 OTHERWISE ->
291. 004071 2 8 BEGIN
292. 004071 2 9 CALL NUMOUT(t,count,10,3) ;
293. 004077 2 9 @t := @t '+' 3 ;
294. 004102 2 9 END ;
295. 004102 2 8 END ; ! CASE COUNT OF
296. 004120 2 7 END ! MODEM ERROR
297. 004120 2 6 ELSE
298. 004121 2 6 BEGIN
299. 004121 2 7 stbuf ':=' "STATUS DETAIL = %" -> @ t ;
300. 004132 2 7 CALL NUMOUT(t,cp.cp^rsp.status^detail,8,6) ;
301. 004141 2 7 @t := @t '+' 6 ;
302. 004144 2 7 END ;
303. 004144 2 6 END ; !CP.CP^RSP.STATUS^DETAIL.<0:7> <> %H80
304. 004144 2 5 END ; !CP.CP^RSP.STATUS^DETAIL.<0:7> <> %H40
305. 004144 2 4 CALL WRITE(out^file^num,tbuf,@t'-'@stbuf) ;
306. 004156 2 4 END ; !CP.CP^RSP.STATUS^DETAIL > 24
307. 004156 2 3 END ; !CP.CP^RSP.STATUS^DETAIL <> 22
308. 004156 2 2 END ; !OF SUBPROC LOG^CP^STATUS
309. 004625 1 1