PROGRAM PRINT.MAP.EXEC * COMMON local.md.file,map.file,remote.md.file COMMON key.stack * PROMPT '' * OPEN 'MD' TO local.md.file THEN OPEN 'PROGRAM.MAP' TO map.file THEN GOSUB 1000 END ELSE CRT 'No MD access' END END ELSE CRT 'No MD access' END * GOTO 9999 * 1000 * * INPUT acct.name INPUT routine.name CRT acct.name:'/':routine.name * key.stack = '' map.code = acct.name:'*':routine.name port.no = OCONV('','U50BB') port.no = FIELD(port.no,' ',1) * catalog.md.name = FIELD(map.code,'*',1) q.rec = 'Q' q.rec<2> = catalog.md.name q.key = '$CP$':port.no q.key.ok = 1 * READU xxx FROM local.md.file,q.key THEN q.key.ok = xxx<1>[1,1]#'D' q.key.ok = q.key.ok AND xxx<1>[1,1]#'v' AND xxx<1>[1,1]#'P' END IF q.key.ok THEN WRITE q.rec ON local.md.file,q.key END RELEASE local.md.file,q.key * IF q.key.ok THEN OPEN q.key TO remote.md.file THEN CALL SET.PRINT.SUB('P','N',0,87,'','','','') PRINTER ON HEADING \Page 'P'\:SPACE(80):\'TL'Execution tree for \:routine.name:\, as running in \:acct.name:\'CLL'\ print.level = 0 print.level<2> = 0 print.level<3> = 1 CALL PRINT.MAP.LEVEL(map.code,print.level,0) PRINT CHAR(12): PRINTER OFF PRINTER CLOSE END READU xxx FROM local.md.file,q.key THEN DELETE local.md.file,q.key END ELSE RELEASE local.md.file,q.key END END * RETURN * 9999 *