Last change
on this file since 856 was 642, checked in by Sam Habiel, 15 years ago |
Modified directory structure; moved routines.
|
File size:
949 bytes
|
Rev | Line | |
---|
[641] | 1 | XBXTSS ;OHPRD-TUCSON/BRJ;EXTRACT AND TABLE SUBSCRIPTS
|
---|
| 2 | ;;4.0;XB;;Jul 20, 2009;Build 2
|
---|
| 3 | ; X=SUBSCRIPT LIST ENCLOSED IN PARENTHESES PASSED BY CALLER
|
---|
| 4 | ; Y IS RETURNED AS:
|
---|
| 5 | ; Y=0 X VALUE NOT A PROPER SUBSCRIPT FORMAT
|
---|
| 6 | ; OR (SOME KIND OF ERROR ENCOUNTERED)
|
---|
| 7 | ; Y=n n=NUMBER OF SUBSCRIPTS IN X
|
---|
| 8 | ; Y(n)=value ARRAY OF SUBSCRIPTS
|
---|
| 9 | ; n=SUBSCRIPT POSITION
|
---|
| 10 | ; value=SUBSCRIPT VALUE
|
---|
| 11 | EN ; ENTRY
|
---|
| 12 | S $ZT="ZT" ; SET ERROR TRAP IN CASE OF BAD VALUE IN X
|
---|
| 13 | K ^XBXTSS,Y ; REMOVE POSSIBLE GARBAGE
|
---|
| 14 | S @("^XBXTSS"_X)="" ; SET DUMMY GLOBAL NODE
|
---|
| 15 | ; USE NAKED REFERENCE TO HOP DOWN SUBSCRIPTS AND STACK THEM IN Y
|
---|
| 16 | S XBSS=$O(^XBXTSS("")) ; GET FIRST SUBSCRIPT - SET NAKED FOR NEXT LINE
|
---|
| 17 | F Y=1:1 S Y(Y)=XBSS,XBSS=$O(^(XBSS,"")) Q:XBSS="" ;STACK SUBSCRIPTS IN Y(Y)
|
---|
| 18 | K XBSS,^XBXTSS ; CLEANUP
|
---|
| 19 | Q ; RETURN TO CALLER
|
---|
| 20 | ZT ; TRAP ERRORS RETURN Y=0
|
---|
| 21 | S $ZE="",$ZT=""
|
---|
| 22 | K Y
|
---|
| 23 | S Y=0 ; RETURN ERROR TO CALLER
|
---|
| 24 | Q
|
---|
Note:
See
TracBrowser
for help on using the repository browser.