Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XBXTSS

XBXTSS.m

Go to the documentation of this file.
  1. XBXTSS ;OHPRD-TUCSON/BRJ;EXTRACT AND TABLE SUBSCRIPTS
  1. ;;2.6;IHS UTILITIES;;JUN 28, 1993
  1. ; X=SUBSCRIPT LIST ENCLOSED IN PARENTHESES PASSED BY CALLER
  1. ; Y IS RETURNED AS:
  1. ; Y=0 X VALUE NOT A PROPER SUBSCRIPT FORMAT
  1. ; OR (SOME KIND OF ERROR ENCOUNTERED)
  1. ; Y=n n=NUMBER OF SUBSCRIPTS IN X
  1. ; Y(n)=value ARRAY OF SUBSCRIPTS
  1. ; n=SUBSCRIPT POSITION
  1. ; value=SUBSCRIPT VALUE
  1. EN ; ENTRY
  1. S $ZT="ZT" ; SET ERROR TRAP IN CASE OF BAD VALUE IN X
  1. K ^XBXTSS,Y ; REMOVE POSSIBLE GARBAGE
  1. S @("^XBXTSS"_X)="" ; SET DUMMY GLOBAL NODE
  1. ; USE NAKED REFERENCE TO HOP DOWN SUBSCRIPTS AND STACK THEM IN Y
  1. S XBSS=$O(^XBXTSS("")) ; GET FIRST SUBSCRIPT - SET NAKED FOR NEXT LINE
  1. F Y=1:1 S Y(Y)=XBSS,XBSS=$O(^(XBSS,"")) Q:XBSS="" ;STACK SUBSCRIPTS IN Y(Y)
  1. K XBSS,^XBXTSS ; CLEANUP
  1. Q ; RETURN TO CALLER
  1. ZT ; TRAP ERRORS RETURN Y=0
  1. S $ZE="",$ZT=""
  1. K Y
  1. S Y=0 ; RETURN ERROR TO CALLER
  1. Q