source: IHS-VA_UTILITIES-XB/trunk/XBDIR.m@ 836

Last change on this file since 836 was 642, checked in by Sam Habiel, 15 years ago

Modified directory structure; moved routines.

File size: 1.6 KB
Line 
1XBDIR ; IHS/ADC/GTH - DIR INTERFACE ; [ 02/07/97 3:02 PM ]
2 ;;4.0;XB;;Jul 20, 2009;Build 2
3 ;
4 ; The purpose of routine XBDIR is to provide interface
5 ; methodology for a call to ^DIR, to ensure correct handling
6 ; of variables, and to provide for the expressiveness of an
7 ; extrinsic function.
8 ;
9 ; There is no requirement to use the entry point, below.
10 ;
11 ; The format of the call is to SET a local variable to the
12 ; output of the call to DIR^XBDIR(), which will be Y at the
13 ; bottom of this routine, or, less likely, WRITE the value.
14 ;
15 ; An example of the call is:
16 ; S %=$$DIR^XBDIR(<actual_parameter_list>)
17 ; where the <actual_parameter_list> is:
18 ;(DIR(0),DIR("A"),DIR("B"),DIR("T"),DIR("?"),DIR("??"),<skip>)
19 ; where <skip> is the number of lines to skip before the call
20 ; to ^DIR.
21 ;
22 ; Examples:
23 ;
24 ; S %=$$DIR^XBDIR("N^1:2","Select report method",2,"","Produ
25 ; ce report by FY or Dates","^D HELP^<your_routine>",300,2)
26 ;
27 ; S <namespace>FY=$$DIR^XBDIR("NO","Object Class Code Summar
28 ; y for FISCAL YEAR ",FY,$G(DTIME,500),"Enter a FOUR DIGIT F
29 ; ISCAL YEAR","^D SB1^<your_routine>")
30 ;
31 ;
32DIR(O,A,B,T,Q,H,R) ;PEP - Extrinsic interface to ^DIR.
33 I '$L($G(O)) Q -1
34 NEW DA,DIR
35 S DIR(0)=O
36 I $D(A) D
37 . I $L($G(A)) S DIR("A")=A
38 . I $L($O(A(""))) S O="" F S O=$O(A(O)) Q:'$L(O) S DIR("A",O)=A(O)
39 .Q
40 I $L($G(B)) S DIR("B")=B
41 I $G(T) S DIR("T")=T
42 I $D(Q) D
43 . I $L($G(Q)) S DIR("?")=Q
44 . I $L($O(Q(""))) S O="" F S O=$O(Q(O)) Q:'$L(O) S DIR("?",O)=Q(O)
45 .Q
46 I $L($G(H)) S DIR("??")=H
47 I $G(R) F A=1:1:R W !
48 KILL O,A,B,T,Q,H,R,DTOUT,DUOUT,DIRUT,DIROUT
49 D ^DIR
50 Q Y
51 ;
Note: See TracBrowser for help on using the repository browser.